#!/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 util/build.windows