--- deliantra/Deliantra-Client/util/build 2011/12/31 04:23:42 1.1 +++ deliantra/Deliantra-Client/util/build 2012/01/07 19:29:58 1.10 @@ -1,6 +1,81 @@ #!/bin/sh +############################################################################# +# copy and install modules + +if ! [ "$SKIP_INSTALL" ] ; then + cpan="Win32::Exe Pod::POM LWP" + cpan="" + mods="common-sense Guard JSON-XS AnyEvent EV BDB Coro Compress-LZF IO-AIO Urlader deliantra/Deliantra deliantra/Deliantra-Client" + #mods="deliantra/Deliantra-Client" + + for host in vm osx105; do + ( + cd /root/src + cvsfind $mods + echo Urlader/liblzf/lzfP.h + echo Urlader/liblzf/lzf_c_best.c + echo Urlader/liblzf/lzf_d.c + ) | rsync --files-from=- -aessh /root/src $host:src/. || exit + done + + osx105() { ssh osx105 "$1"; } + linux32() { s32 bash -c "$1"; } + linux64() { s64 bash -c "$1"; } + windows() { ssh vm ". .setenv; $1"; } + + upd() { + MAKE="$1"; shift + PERL="$1"; shift + echo "building on platform <$@>" + "$@" ' + cpan '"$cpan"' log 2>&1 || { cat log; exit 68; } + for mod in '"$mods"'; do + echo building $mod + cd /root/src/$mod || exit 69 + rm -rf blib + '$PERL' Makefile.PL /dev/null 2>&1 + '$MAKE' clean >/dev/null + '$PERL' Makefile.PL log 2>&1 + if + { + '$PERL' Makefile.PL && + '$MAKE' install + } >log 2>&1 /dev/null + true + done + ' || exit + } + + ( ( upd make /usr/bin/perl linux64 ) >log.linux64 2>&1; cat log.linux64 ) & + ( ( upd make /opt/local/bin/perl osx105 ) >log.osx105 2>&1; cat log.osx105 ) & + ( ( upd nmake /c/perl/bin/perl windows ) >log.windows 2>&1; cat log.windows ) & + + wait + + # can't run parallel to 64 bit + ( ( upd make /usr/bin/perl linux32 ) >log.linux32 2>&1; cat log.linux32 ) & + + wait + + rm -f log.* +fi + +############################################################################# +# gather + mkdir -p dist util/build.linux util/build.osx util/build.windows +