ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/util/build
(Generate patch)

Comparing deliantra/Deliantra-Client/util/build (file contents):
Revision 1.12 by root, Wed Jan 18 15:31:52 2012 UTC vs.
Revision 1.16 by root, Fri Jan 27 23:13:38 2012 UTC

1#!/bin/sh 1#!/bin/sh
2
3# perl-strip strips Time::HiRes to {use 5.006} which 5.10.1 cannot pasre, but 5.8 and 5.12 can
4
5# 1. build
6# 2. gendist
7# 3. ota_publish
8
9if [ "$1" ]; then
10 eval "do_$1=1"
11else
12 do_l32=1
13 do_l64=1
14 do_osx=1
15 do_win=1
16fi
2 17
3############################################################################# 18#############################################################################
4# copy and install modules 19# copy and install modules
5 20
6if ! [ "$SKIP_INSTALL" ] ; then 21if ! [ "$SKIP_INSTALL" ] ; then
7 cpan="Win32::Exe Pod::POM LWP" 22 cpan="Win32::Exe Pod::POM LWP PPI Getopt::Long"
8 cpan=""
9 mods="common-sense Guard JSON-XS AnyEvent EV BDB Coro Compress-LZF" 23 mods="common-sense Guard JSON-XS AnyEvent EV BDB Coro Compress-LZF"
10 mods="$mods IO-AIO AnyEvent-AIO AnyEvent-BDB Perl-LibExtractor Urlader" 24 mods="$mods IO-AIO AnyEvent-AIO AnyEvent-BDB Perl-Strip Perl-LibExtractor Urlader"
11 mods="$mods deliantra/Deliantra deliantra/Deliantra-Client" 25 mods="$mods deliantra/Deliantra deliantra/Deliantra-Client"
12 26
13 for host in vm osx105; do 27 cpan=""
28
29 copy_to() {
30 host="$1"; shift
31
14 ( 32 (
15 cd /root/src 33 cd /root/src
16 cvsfind $mods 34 cvsfind $mods
17 echo Urlader/liblzf/lzfP.h 35 echo Urlader/liblzf/lzfP.h
18 echo Urlader/liblzf/lzf_c_best.c 36 echo Urlader/liblzf/lzf_c_best.c
19 echo Urlader/liblzf/lzf_d.c 37 echo Urlader/liblzf/lzf_d.c
20 ) | rsync --files-from=- -aessh /root/src $host:src/. || exit 38 ) | rsync --files-from=- -aessh /root/src --chmod=a+rwX $host:src/. || exit
21 done 39 }
22 40
23 osx105() { ssh osx105 "$1"; } 41 osx105() { ssh osx105 "$1"; }
24 linux32() { s32 bash -c "$1"; } 42 linux32() { s32 bash -c "$1"; }
25 linux64() { s64 bash -c "$1"; } 43 linux64() { s64 bash -c "$1"; }
26 windows() { ssh vm ". .setenv; $1"; } 44 windows() { ssh vm ". .setenv; $1"; }
28 upd() { 46 upd() {
29 MAKE="$1"; shift 47 MAKE="$1"; shift
30 PERL="$1"; shift 48 PERL="$1"; shift
31 echo "building on platform <$@>" 49 echo "building on platform <$@>"
32 "$@" ' 50 "$@" '
33 cpan '"$cpan"' </dev/null >log 2>&1 || { cat log; exit 68; } 51 if [ "'"$cpan"'" ]; then
52 '"$PERL"' -MCPAN -e "CPAN::Shell->notest (install => @ARGV)" '"$cpan"' </dev/null >log 2>&1 || { cat log; exit 68; }
53 fi
54 export EV_EVENTFD=0
55 export EV_INOTIFY=0
56 export EV_SIGNALFD=0
34 for mod in '"$mods"'; do 57 for mod in '"$mods"'; do
35 echo building $mod 58 echo building $mod
36 cd /root/src/$mod || exit 69 59 cd /root/src/$mod || exit 69
37 rm -rf blib 60 rm -rf blib
38 '$PERL' Makefile.PL </dev/null >/dev/null 2>&1 61 '$PERL' Makefile.PL </dev/null >/dev/null 2>&1
53 fi 76 fi
54 rm -f log 77 rm -f log
55 '$MAKE' clean >/dev/null 78 '$MAKE' clean >/dev/null
56 true 79 true
57 done 80 done
58 ' || exit 81 ' || touch errorflag
59 } 82 }
60 83
61 ( ( upd make /usr/bin/perl linux64 ) >log.linux64 2>&1; cat log.linux64 ) & 84 [ "$do_l64" ] && ( ( upd make /usr/bin/perl linux64 ) >log.linux64 2>&1; cat log.linux64 ) &
62 ( ( upd make /opt/local/bin/perl osx105 ) >log.osx105 2>&1; cat log.osx105 ) & 85 [ "$do_osx" ] && ( copy_to osx105; ( upd make /opt/local/bin/perl osx105 ) >log.osx105 2>&1; cat log.osx105 ) &
63 ( ( upd nmake /c/perl/bin/perl windows ) >log.windows 2>&1; cat log.windows ) & 86 [ "$do_win" ] && ( copy_to vm ; ( upd nmake /c/perl/bin/perl windows ) >log.windows 2>&1; cat log.windows ) &
64 87
65 wait 88 wait
66 89
67 # can't run parallel to 64 bit 90 # can't run parallel to 64 bit
68 ( ( upd make /usr/bin/perl linux32 ) >log.linux32 2>&1; cat log.linux32 ) & 91 [ "$do_l32" ] && ( ( upd make /usr/bin/perl linux32 ) >log.linux32 2>&1; cat log.linux32 ) &
69 92
70 wait 93 wait
71 94
72 rm -f log.* 95 rm -f log.*
73fi 96fi
74 97
98if rm errorflag 2>/dev/null; then
99 echo prebuild error
100 exit
101fi
102
75############################################################################# 103#############################################################################
76# gather 104# gather
77 105
78mkdir -p dist 106mkdir -p dist
79util/build.linux 107[ "$do_l32" -o "$do_l64" ] && util/build.linux
80util/build.osx 108[ "$do_osx" ] && util/build.osx
81util/build.windows 109[ "$do_win" ] && util/build.windows
82 110
111util/checkdiff --show
112

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines