#! /bin/sh # show executed commands # set -x # stop on errors set -e BD=`pwd` build=0 build_debug=0 skip_linux=0 # parse arguments for arg do case "$arg" in --build) build=1 ;; --build-debug) build_debug=1 ;; --skip-linux) skip_linux=1 ;; *) echo "$0: unrecognized option: $arg" ;; esac done # run the auto tools autotools() { for package in $BD $BD/innobase do echo "cd $package" cd $package rm -f config.cache echo "aclocal" aclocal echo "autoheader" autoheader echo "libtoolize --force" libtoolize --force echo "aclocal" aclocal echo "automake --add-missing --force-missing" automake --add-missing --force-missing echo "autoconf" autoconf done cd $BD } # check the source direcotry echo "looking for \"$BD/sql/mysqld.cc\"..." if test ! -r ./sql/mysqld.cc then echo "./netware/nwbootstrap must be started from the top source directory" exit 1 fi # clean # make -j 2 -k distclean rm -f NEW-RPMS/* rm -f */.deps/*.P # make files writeable chmod -R u+rw,g+rw . # skip linux? if test $skip_linux -ne 1 then echo "starting linux build..." echo "autotools..." autotools echo "configuring for linux..." ./configure --without-docs --without-innodb echo "building for linux..." make clean all echo "copying required linux binaries..." rm -f */*.linux cp extra/comp_err extra/comp_err.linux cp libmysql/conf_to_src libmysql/conf_to_src.linux cp libmysql/conf_to_src libmysql_r/conf_to_src.linux cp sql/gen_lex_hash sql/gen_lex_hash.linux cp strings/conf_to_src strings/conf_to_src.linux echo "cleaning linux build..." make clean distclean fi echo "starting netware build..." # remove stale Makefile.in.bk files rm -rf Makefile.in.bk # start mw enviornment chmod +x ./netware/nwconfigure chmod +x ./netware/mw/mwenv chmod +x ./netware/mw/mwasmnlm chmod +x ./netware/mw/mwccnlm chmod +x ./netware/mw/mwldnlm . ./netware/mw/mwenv # link nwconfigure rm -f ./nwconfigure ln ./netware/nwconfigure ./nwconfigure # save old builds from previous run if test -e *.tar.gz then rm -f *.tar.gz.old rename .tar.gz .tar.gz.old *.tar.gz fi echo "autotools..." autotools # debug build if test $build_debug -eq 1 then echo "configuring for netware (debug)..." ./nwconfigure --with-debug=full echo "building for netware (debug)..." make clean bin-dist # mark the debug build rename .tar.gz -debug.tar.gz *.tar.gz fi # release build if test $build -eq 1 then echo "configuring for netware..." ./nwconfigure echo "building for netware..." make clean bin-dist fi echo "done"