summaryrefslogtreecommitdiff
path: root/netware
diff options
context:
space:
mode:
authorgreg@mysql.com <>2003-03-03 23:04:36 -0500
committergreg@mysql.com <>2003-03-03 23:04:36 -0500
commit61f280a9785e8fa049ca3dc1cf23dbd07cbae6fd (patch)
tree7358046cedc3b7efaa5946e9a18388465420626d /netware
parent8fb09059c1a2856f683a6112baf5c8ea22b3441a (diff)
downloadmariadb-git-61f280a9785e8fa049ca3dc1cf23dbd07cbae6fd.tar.gz
New build scripts for NetWare
Diffstat (limited to 'netware')
-rw-r--r--netware/BUILD/compile-AUTOTOOLS16
-rw-r--r--netware/BUILD/compile-linux-tools52
-rw-r--r--netware/BUILD/compile-netware-END35
-rw-r--r--netware/BUILD/compile-netware-START23
-rw-r--r--netware/BUILD/compile-netware-all8
-rw-r--r--netware/BUILD/compile-netware-debug15
-rw-r--r--netware/BUILD/compile-netware-standard14
-rw-r--r--netware/BUILD/mwasmnlm (renamed from netware/mw/mwasmnlm)0
-rw-r--r--netware/BUILD/mwccnlm (renamed from netware/mw/mwccnlm)0
-rw-r--r--netware/BUILD/mwenv29
-rw-r--r--netware/BUILD/mwldnlm (renamed from netware/mw/mwldnlm)0
-rw-r--r--netware/BUILD/nwbootstrap166
-rw-r--r--netware/mw/mwenv12
13 files changed, 358 insertions, 12 deletions
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/mw/mwasmnlm b/netware/BUILD/mwasmnlm
index c3501112aa5..c3501112aa5 100644
--- a/netware/mw/mwasmnlm
+++ b/netware/BUILD/mwasmnlm
diff --git a/netware/mw/mwccnlm b/netware/BUILD/mwccnlm
index 9e989485bd9..9e989485bd9 100644
--- a/netware/mw/mwccnlm
+++ b/netware/BUILD/mwccnlm
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/mw/mwldnlm b/netware/BUILD/mwldnlm
index 7ad2872ccbb..7ad2872ccbb 100644
--- a/netware/mw/mwldnlm
+++ b/netware/BUILD/mwldnlm
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=<opt> Build the binary distributions for NetWare,
+ where <opt> is "standard", "debug", or "all"
+ (default is to not build a binary distribution)
+
+--build-dir=<dir> Export the BitKeeper tree to the <dir> directroy
+ (default is "$build_dir")
+
+--doc-dir=<dir> Use the mysqldoc BitKeeper tree located in the
+ <dir> directory
+ (default is parallel to current BitKeeper tree)
+
+--help Show this help information
+
+--revision=<rev> Export the BitKeeper tree as of revision <rev>
+ (default is the latest revision)
+
+--wine-build-dir=<dir> Use the WINE directory <dir>, 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/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"
-