diff options
Diffstat (limited to 'netware/nwbootstrap')
-rwxr-xr-x | netware/nwbootstrap | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/netware/nwbootstrap b/netware/nwbootstrap new file mode 100755 index 00000000000..3e4b03de0f5 --- /dev/null +++ b/netware/nwbootstrap @@ -0,0 +1,145 @@ +#! /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" + + |