summaryrefslogtreecommitdiff
path: root/netware/nwbootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'netware/nwbootstrap')
-rwxr-xr-xnetware/nwbootstrap145
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"
+
+