--- deliantra/Deliantra-Client/util/build 2011/12/31 04:23:42 1.1 +++ deliantra/Deliantra-Client/util/build 2012/01/04 14:23:41 1.5 @@ -1,5 +1,72 @@ #!/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" + + cd /root/src || exit + for host in vm osx105; do + ( + cvsfind $mods + echo Urlader/liblzf/lzfP.h + echo Urlader/liblzf/lzf_c_best.c + echo Urlader/liblzf/lzf_d.c + echo Urlader/bin/urlader-gen + ) | 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 + upd make /usr/bin/perl linux32 + upd make /opt/local/bin/perl osx105 + upd nmake /c/perl/bin/perl windows +fi + +############################################################################# +# gather + mkdir -p dist util/build.linux util/build.osx