#! /bin/sh -ex d=`pwd` libs=$d/9libs-1.0.tar.gz wily=$d/wily-9libs.tar.gz prefix=$d/inst MAKE=${MAKE:-make} export MAKE libs_dir=`basename $libs .tar.gz` wily_dir=`basename $wily .tar.gz` # ignore user's options, so we get close to clean build CONFIG_SITE=/does/not/exist export CONFIG_SITE check_runnable () { if $1/wily -h 2>&1 | grep 'wily.*ncolumns.*tabsize.*command' >/dev/null then : else echo wily executable couldn\'t be run exit fi } # first build 9libs normally, and install it so wily builds will spot it mkdir $prefix mkdir build cd build gzip -dc $libs | tar xf - cd $libs_dir ./configure --prefix=$prefix $* $MAKE $MAKE install cd $d rm -rf build # build wily, telling it where 9libs is installed mkdir build cd build gzip -dc $wily | tar xf - cd $wily_dir ./configure --prefix=$prefix $* $MAKE LD_LIBRARY_PATH=$prefix/lib export LD_LIBRARY_PATH check_runnable ./wily unset LD_LIBRARY_PATH cd $d rm -rf build # build each distribution with separate src and build dir mkdir build cd build gzip -dc $libs | tar xf - mkdir build cd build ../$libs_dir/configure $* $MAKE cd $d rm -rf build mkdir build cd build gzip -dc $wily | tar xf - mkdir build cd build ../$wily_dir/configure --prefix=$prefix $* $MAKE LD_LIBRARY_PATH=$prefix/lib export LD_LIBRARY_PATH check_runnable ./wily unset LD_LIBRARY_PATH cd $d rm -rf build # we're done with the installed copy of 9libs now rm -rf $prefix # build both together, wily inside 9libs mkdir build cd build gzip -dc $libs | tar xf - cd $libs_dir gzip -dc $wily | tar xf - ./configure $* $MAKE check_runnable ./$wily_dir/wily cd $d rm -rf build # build both together, wily inside 9libs, separate src and build mkdir build cd build gzip -dc $libs | tar xf - cd $libs_dir gzip -dc $wily | tar xf - cd $d/build mkdir build cd build ../$libs_dir/configure $* $MAKE check_runnable ./$wily_dir/wily cd $d rm -rf build # build both together, wily and 9libs separate mkdir build cd build gzip -dc $libs | tar xf - gzip -dc $wily | tar xf - cd $libs_dir ./configure $* $MAKE cd ../$wily_dir ./configure $* $MAKE check_runnable ./wily cd $d rm -rf build # build both together, separate src and build mkdir build cd build gzip -dc $libs | tar xf - gzip -dc $wily | tar xf - mkdir build build/$libs_dir build/$wily_dir cd build/$libs_dir ../../$libs_dir/configure $* $MAKE cd ../$wily_dir ../../$wily_dir/configure $* $MAKE check_runnable ./wily cd $d rm -rf build # build 9libs, install, build wily and install mkdir $prefix mkdir build cd build gzip -dc $libs | tar xf - cd $libs_dir ./configure --prefix=$prefix $* $MAKE install cd .. rm -rf $libs_dir gzip -dc $wily | tar xf - cd $wily_dir ./configure --prefix=$prefix $* $MAKE install LD_LIBRARY_PATH=$prefix/lib export LD_LIBRARY_PATH check_runnable $prefix/bin unset LD_LIBRARY_PATH cd $d rm -rf build $prefix # build 9libs and wily, install mkdir $prefix mkdir build cd build gzip -dc $libs | tar xf - cd $libs_dir gzip -dc $wily | tar xf - ./configure --prefix=$prefix $* $MAKE install LD_LIBRARY_PATH=$prefix/lib export LD_LIBRARY_PATH check_runnable $prefix/bin unset LD_LIBRARY_PATH cd $d rm -rf build $prefix # build 9libs; install binaries and shared files separately; same for wily mkdir $prefix mkdir build cd build gzip -dc $libs | tar xf - cd $libs_dir ./configure --prefix=$prefix/share --exec-prefix=$prefix/arch $* $MAKE install cd .. rm -rf $libs_dir gzip -dc $wily | tar xf - cd $wily_dir ./configure --prefix=$prefix/share --exec-prefix=$prefix/arch $* $MAKE install LD_LIBRARY_PATH=$prefix/arch/lib export LD_LIBRARY_PATH check_runnable $prefix/arch/bin unset LD_LIBRARY_PATH cd $d rm -rf build $prefix