From 61f280a9785e8fa049ca3dc1cf23dbd07cbae6fd Mon Sep 17 00:00:00 2001 From: "greg@mysql.com" <> Date: Mon, 3 Mar 2003 23:04:36 -0500 Subject: New build scripts for NetWare --- netware/BUILD/compile-AUTOTOOLS | 16 ++++ netware/BUILD/compile-linux-tools | 52 +++++++++++ netware/BUILD/compile-netware-END | 35 +++++++ netware/BUILD/compile-netware-START | 23 +++++ netware/BUILD/compile-netware-all | 8 ++ netware/BUILD/compile-netware-debug | 15 +++ netware/BUILD/compile-netware-standard | 14 +++ netware/BUILD/mwasmnlm | 5 + netware/BUILD/mwccnlm | 7 ++ netware/BUILD/mwenv | 29 ++++++ netware/BUILD/mwldnlm | 5 + netware/BUILD/nwbootstrap | 166 +++++++++++++++++++++++++++++++++ netware/mw/mwasmnlm | 5 - netware/mw/mwccnlm | 7 -- netware/mw/mwenv | 12 --- netware/mw/mwldnlm | 5 - 16 files changed, 375 insertions(+), 29 deletions(-) create mode 100644 netware/BUILD/compile-AUTOTOOLS create mode 100644 netware/BUILD/compile-linux-tools create mode 100644 netware/BUILD/compile-netware-END create mode 100644 netware/BUILD/compile-netware-START create mode 100644 netware/BUILD/compile-netware-all create mode 100644 netware/BUILD/compile-netware-debug create mode 100644 netware/BUILD/compile-netware-standard create mode 100644 netware/BUILD/mwasmnlm create mode 100644 netware/BUILD/mwccnlm create mode 100644 netware/BUILD/mwenv create mode 100644 netware/BUILD/mwldnlm create mode 100644 netware/BUILD/nwbootstrap delete mode 100644 netware/mw/mwasmnlm delete mode 100644 netware/mw/mwccnlm delete mode 100644 netware/mw/mwenv delete mode 100644 netware/mw/mwldnlm (limited to 'netware') diff --git a/netware/BUILD/compile-AUTOTOOLS b/netware/BUILD/compile-AUTOTOOLS new file mode 100644 index 00000000000..0688ea5aaca --- /dev/null +++ b/netware/BUILD/compile-AUTOTOOLS @@ -0,0 +1,16 @@ +#! /bin/sh + +for package in . ./innobase +do + (cd $package + rm -rf config.cache autom4te.cache + aclocal + autoheader + libtoolize --force + aclocal + automake --add-missing --force-missing + autoconf) +done + +#rm -rf ./bdb/build_unix/config.cache ./bdb/dist/autom4te.cache +#(cd ./bdb/dist && sh s_all) diff --git a/netware/BUILD/compile-linux-tools b/netware/BUILD/compile-linux-tools new file mode 100644 index 00000000000..598be96ab66 --- /dev/null +++ b/netware/BUILD/compile-linux-tools @@ -0,0 +1,52 @@ +#! /bin/sh + +#debug +#set -x + +if test ! -r ./sql/mysqld.cc +then + echo "you must start from the top source directory" + exit 1 +fi + +path=`dirname $0` + +# clean +if test -e "Makefile"; then make -k clean; fi + +# remove files +rm -f NEW-RPMS/* +rm -f */.deps/*.P +rm -f */*.linux + +# run autotools +. $path/compile-AUTOTOOLS + +# configure +./configure --without-innodb --without-docs + +# build tools only +make clean config.h +(cd dbug; make libdbug.a) +(cd strings; make libmystrings.a) +(cd mysys; make libmysys.a) +(cd heap; make libheap.a) +(cd vio; make libvio.a) +(cd regex; make libregex.a) +(cd isam; make libnisam.a) +(cd merge; make libmerge.a) +(cd myisam; make libmyisam.a) +(cd myisammrg; make libmyisammrg.a) +(cd extra; make comp_err) +(cd libmysql; make conf_to_src) +(cd libmysql_r; make conf_to_src) +(cd sql; make gen_lex_hash) +(cd strings; make conf_to_src) + +# copying required linux tools +cp extra/comp_err extra/comp_err.linux +cp libmysql/conf_to_src libmysql/conf_to_src.linux +cp libmysql_r/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 + diff --git a/netware/BUILD/compile-netware-END b/netware/BUILD/compile-netware-END new file mode 100644 index 00000000000..beb15fbeda3 --- /dev/null +++ b/netware/BUILD/compile-netware-END @@ -0,0 +1,35 @@ +#! /bin/sh + +path=`dirname $0` + +# clean +if test -e "Makefile"; then make -k clean; fi + +# remove files +rm -f NEW-RPMS/* +rm -f */.deps/*.P +rm -rf Makefile.in.bk + +# Metrowerks enviornment +. $path/mwenv + +# run auto tools +. $path/compile-AUTOTOOLS + +# configure +./configure $base_configs $extra_configs + +# make +make clean bin-dist + +# mark the build +for file in *.tar.gz +do + if (expr "$file" : "mysql-[1-9].*" > /dev/null) + then + new_file=`echo $file | sed -e "s/mysql-/mysql-$suffix-/"` + if test -e "$new_file"; then mv -f $new_file $new_file.old; fi + mv $file $new_file + fi +done + diff --git a/netware/BUILD/compile-netware-START b/netware/BUILD/compile-netware-START new file mode 100644 index 00000000000..2941d8868e4 --- /dev/null +++ b/netware/BUILD/compile-netware-START @@ -0,0 +1,23 @@ +#! /bin/sh + +#debug +#set -x + +if test ! -r ./sql/mysqld.cc +then + echo "you must start from the top source directory" + exit 1 +fi + +path=`dirname $0` + +# stop on errors +set -e + +base_configs=" \ + --host=i686-pc-netware \ + --enable-local-infile \ + --with-extra-charsets=all \ + --prefix=N:/mysql \ + " + diff --git a/netware/BUILD/compile-netware-all b/netware/BUILD/compile-netware-all new file mode 100644 index 00000000000..f8dea0f7583 --- /dev/null +++ b/netware/BUILD/compile-netware-all @@ -0,0 +1,8 @@ +#! /bin/sh + +path=`dirname $0` + +$path/compile-netware-standard +$path/compile-netware-debug +#$path/compile-netware-max +#$path/compile-netware-max-debug diff --git a/netware/BUILD/compile-netware-debug b/netware/BUILD/compile-netware-debug new file mode 100644 index 00000000000..2cd292c82fd --- /dev/null +++ b/netware/BUILD/compile-netware-debug @@ -0,0 +1,15 @@ +#! /bin/sh + +path=`dirname $0` +. $path/compile-netware-START + +suffix="debug" + +extra_configs=" \ + --with-innodb \ + --with-debug=full \ + " + +. $path/compile-netware-END + + diff --git a/netware/BUILD/compile-netware-standard b/netware/BUILD/compile-netware-standard new file mode 100644 index 00000000000..c09337b5fe0 --- /dev/null +++ b/netware/BUILD/compile-netware-standard @@ -0,0 +1,14 @@ +#! /bin/sh + +path=`dirname $0` +. $path/compile-netware-START + +suffix="standard" + +extra_configs=" \ + --with-innodb + " + +. $path/compile-netware-END + + diff --git a/netware/BUILD/mwasmnlm b/netware/BUILD/mwasmnlm new file mode 100644 index 00000000000..c3501112aa5 --- /dev/null +++ b/netware/BUILD/mwasmnlm @@ -0,0 +1,5 @@ +#! /bin/sh + +args=" $*" + +wine --debugmsg -all -- mwasmnlm $args diff --git a/netware/BUILD/mwccnlm b/netware/BUILD/mwccnlm new file mode 100644 index 00000000000..9e989485bd9 --- /dev/null +++ b/netware/BUILD/mwccnlm @@ -0,0 +1,7 @@ +#! /bin/sh + +# mwccnlm is having a hard time understanding "-I./../include" +# convert it to "-I../include" +args=" "`echo $* | sed -e 's/-I.\/../-I../g'` + +wine --debugmsg -all -- mwccnlm $args diff --git a/netware/BUILD/mwenv b/netware/BUILD/mwenv new file mode 100644 index 00000000000..d2b64409c88 --- /dev/null +++ b/netware/BUILD/mwenv @@ -0,0 +1,29 @@ +#! /bin/sh + +# WINE_BUILD_DIR, BUILD_DIR, and VERSION must be changed before compiling +# This values are normally changed by the nwbootstrap script + +# the default for WINE_BUILD_DIR is "F:/mydev" +export MYDEV="WINE_BUILD_DIR" + +export MWCNWx86Includes="$MYDEV/libc/include" +export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib" +export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib" + +export WINEPATH="$MYDEV/mw/bin" + +# the default for BUILD_DIR is "$HOME/mydev" +export PATH="$PATH:BUILD_DIR/mysql-VERSION/netware/BUILD" + +export AR='mwldnlm' +export AR_FLAGS='-type library -o' +export AS='mwasmnlm' +export CC='mwccnlm -gccincludes' +export CFLAGS='-dialect c -proc 686 -bool on -relax_pointers -DUSE_OLD_FUNCTIONS' +export CXX='mwccnlm -gccincludes' +export CXXFLAGS='-dialect c++ -proc 686 -bool on -relax_pointers' +export LD='mwldnlm' +export LDFLAGS='-entry _LibCPrelude -exit _LibCPostlude -flags pseudopreemption' +export RANLIB=: +export STRIP=: + diff --git a/netware/BUILD/mwldnlm b/netware/BUILD/mwldnlm new file mode 100644 index 00000000000..7ad2872ccbb --- /dev/null +++ b/netware/BUILD/mwldnlm @@ -0,0 +1,5 @@ +#! /bin/sh + +args=" $*" + +wine --debugmsg -all -- mwldnlm $args diff --git a/netware/BUILD/nwbootstrap b/netware/BUILD/nwbootstrap new file mode 100644 index 00000000000..a8ed956811e --- /dev/null +++ b/netware/BUILD/nwbootstrap @@ -0,0 +1,166 @@ +#! /bin/sh + +# debug +#set -x + +path=`dirname $0` + +# stop on errors +set -e + +# repository direcotry +repo_dir=`pwd` + +# build direcotry +build_dir="$HOME/mydev" +wine_build_dir="F:/mydev" + +# doc directory +doc_dir="$repo_dir/../mysqldoc" + +# init +target_dir="" +temp_dir="" +revision="" +rev="" +build="" +mwenv="" + +# show usage +show_usage() +{ + cat << EOF + +usage: nwbootstrap [options] + +Exports a revision of the BitKeeper tree (nwbootstrap must be run inside a +directory of the BitKeeper tree to be used). Creates the ChangeLog file. +Adds the latest manual.texi from the mysqldoc BitKeeper tree. Builds the +Linux tools required for cross-platform builds. Optionally, builds the +binary distributions for NetWare. + +options: + +--build= Build the binary distributions for NetWare, + where is "standard", "debug", or "all" + (default is to not build a binary distribution) + +--build-dir= Export the BitKeeper tree to the directroy + (default is "$build_dir") + +--doc-dir= Use the mysqldoc BitKeeper tree located in the + directory + (default is parallel to current BitKeeper tree) + +--help Show this help information + +--revision= Export the BitKeeper tree as of revision + (default is the latest revision) + +--wine-build-dir= Use the WINE directory , which should + correspond to the --build-dir directory + (default is "$wine_build_dir") + +examples: + + nwbootstrap + + nwbootstrap --revision=1.1594 --build=all + + nwbootstrap --build-dir=/home/jdoe/dev --wine-build-dir=F:/dev + + +EOF + exit 0; +} + +# parse arguments +for arg do + case "$arg" in + --build-dir=*) build_dir=`echo "$arg" | sed -e "s;--build-dir=;;"` ;; + --wine-build-dir=*) wine_build_dir=`echo "$arg" | sed -e "s;--wine-build-dir=;;"` ;; + --revision=*) revision=`echo "$arg" | sed -e "s;--revision=;;"` ;; + --build=*) build=`echo "$arg" | sed -e "s;--build=;;"` ;; + --doc-dir=*) doc_dir=`echo "$arg" | sed -e "s;--doc-dir=;;"` ;; + *) show_usage ;; + esac +done + +echo "starting build..." + +# check for bk and repo_dir +bk help > /dev/null +repo_dir=`bk root $repo_dir` +cd $repo_dir +doc_dir="$repo_dir/../mysqldoc" + +# build temporary directory +temp_dir="$build_dir/mysql-$$.tmp" + +# export the bk tree +command="bk export"; +if test $revision; then command="$command -r$revision"; fi +command="$command $temp_dir" +echo "exporting $repo_dir..." +$command + +# determine version +version=`grep -e "AM_INIT_AUTOMAKE(mysql, .*)" < $temp_dir/configure.in | sed -e "s/AM_INIT_AUTOMAKE(mysql, \(.*\))/\1/"` +echo "version: $version" + +# build target directory +target_dir="$build_dir/mysql-$version" + +# delete any old target +if test -d $target_dir.old; then rm -rf $target_dir.old; fi + +# rename old target +if test -d $target_dir; then mv -f $target_dir $target_dir.old; fi + +# rename directory to use version +mv $temp_dir $target_dir + +# create ChangeLog +if test $revision +then + rev=`bk changes -r..$revision -t -d':REV:' -n | head -2 | tail -1` +else + rev=`bk changes -t -d':REV:' -n | head -1` +fi + +echo "creating ChangeLog..." +bk changes -v -r$rev > $target_dir/ChangeLog + +# add the latest manual +if test -d $doc_dir +then + echo "adding the latest manual..." + install -m 644 $doc_dir/Docs/{manual,reservedwords}.texi $target_dir/Docs/ +fi + +# make files writeable +cd $target_dir +chmod -R u+rw,g+rw . + +# edit the mvenv file +mwenv="./netware/BUILD/mwenv" +mv -f $mwenv $mwenv.org +sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \ + -e "s;BUILD_DIR;$build_dir;g" \ + -e "s;VERSION;$version;g" $mwenv.org > $mwenv +chmod +rwx $mwenv + +# build linux tools +echo "compiling linux tools..." +./netware/BUILD/compile-linux-tools + +# compile +if test $build +then + echo "compiling $build..." + ./netware/BUILD/compile-netware-$build +fi + +echo "done" + + diff --git a/netware/mw/mwasmnlm b/netware/mw/mwasmnlm deleted file mode 100644 index c3501112aa5..00000000000 --- a/netware/mw/mwasmnlm +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh - -args=" $*" - -wine --debugmsg -all -- mwasmnlm $args diff --git a/netware/mw/mwccnlm b/netware/mw/mwccnlm deleted file mode 100644 index 9e989485bd9..00000000000 --- a/netware/mw/mwccnlm +++ /dev/null @@ -1,7 +0,0 @@ -#! /bin/sh - -# mwccnlm is having a hard time understanding "-I./../include" -# convert it to "-I../include" -args=" "`echo $* | sed -e 's/-I.\/../-I../g'` - -wine --debugmsg -all -- mwccnlm $args diff --git a/netware/mw/mwenv b/netware/mw/mwenv deleted file mode 100644 index b82dbdc0c7f..00000000000 --- a/netware/mw/mwenv +++ /dev/null @@ -1,12 +0,0 @@ -#! /bin/sh - -export MYDEV="F:/mysql" - -export MWCNWx86Includes="$MYDEV/libc/include" -export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib" -export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib" - -export WINEPATH="$MYDEV/mw/bin" - -export PATH="$PATH:$HOME/mysql/mysql-4.0/netware/mw" - diff --git a/netware/mw/mwldnlm b/netware/mw/mwldnlm deleted file mode 100644 index 7ad2872ccbb..00000000000 --- a/netware/mw/mwldnlm +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh - -args=" $*" - -wine --debugmsg -all -- mwldnlm $args -- cgit v1.2.1