From d497966a18acd0a9fa58615ebb8ba67cbebc89fc Mon Sep 17 00:00:00 2001
From: unknown <jani@ua141d10.elisa.omakaista.fi>
Date: Thu, 2 Feb 2006 16:22:31 +0200
Subject: Several Netware specific fixes.

configure.in:
  To configure InnoDB for cross compilation.
include/config-netware.h:
  NetWare specific change to fix the compilation errors caused by event.h
  NetWare specific change required for WINE PATH and for new versions LibC(Jun 05)
  and zlib(1.2.3)
netware/BUILD/compile-AUTOTOOLS:
  Netware specific change reflecting the change in source code
  directory structure.
netware/BUILD/compile-linux-tools:
  Netware specific change to fix the location where gen_lex_hash
  gets created. Fixed also directory structure reflecting changes.
netware/BUILD/compile-netware-END:
  Netware specific change for creating mysqld_error.h
netware/BUILD/mwenv:
  Netware specific change required for WINE PATH and for
  new versions LibC(Jun 05) and zlib(1.2.3).
netware/BUILD/nwbootstrap:
  NetWare Specific change to produce absoulte path for XDC file.
netware/Makefile.am:
  Netware specific changes to fix to match new
  directory structure.
netware/my_manage.h:
  Netware specific change required for WINE PATH and for new versions
  LibC(Jun 05) and zlib(1.2.3).
netware/mysql_test_run.c:
  Netware specific change, added --autoclose option for mysql_test_run.nlm.
scripts/make_binary_distribution.sh:
  Fix to reflect change in directory structure.
sql/mysqld.cc:
  Stacksize change for Netware.
  Netware specific change to fix the compilation errors caused by event.h
sql/set_var.cc:
  Minor indending related fix.
sql/sql_class.cc:
  Added #ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION macro.
storage/innobase/os/os0thread.c:
  Netware specific change to increase the thread stack size.
storage/myisam/mi_locking.c:
  Enclosed MMAP related code under HAVE_MMAP preprocessor directive.
---
 netware/BUILD/compile-AUTOTOOLS   |  2 +-
 netware/BUILD/compile-linux-tools |  8 ++++----
 netware/BUILD/compile-netware-END |  5 ++---
 netware/BUILD/mwenv               |  6 +++---
 netware/BUILD/nwbootstrap         | 10 ++++++++--
 netware/Makefile.am               | 11 +++++++----
 netware/my_manage.h               |  3 ++-
 netware/mysql_test_run.c          | 19 +++++++++++++------
 8 files changed, 40 insertions(+), 24 deletions(-)

(limited to 'netware')

diff --git a/netware/BUILD/compile-AUTOTOOLS b/netware/BUILD/compile-AUTOTOOLS
index 57213b1b3d0..20e506aa683 100755
--- a/netware/BUILD/compile-AUTOTOOLS
+++ b/netware/BUILD/compile-AUTOTOOLS
@@ -6,7 +6,7 @@
 # stop on errors
 set -e
 
-for package in . ./innobase
+for package in . ./storage/innobase
 do
 	(cd $package
 	rm -rf config.cache autom4te.cache
diff --git a/netware/BUILD/compile-linux-tools b/netware/BUILD/compile-linux-tools
index fab92b8d4df..02c11998365 100755
--- a/netware/BUILD/compile-linux-tools
+++ b/netware/BUILD/compile-linux-tools
@@ -37,11 +37,11 @@ make
 (cd dbug; make libdbug.a)
 (cd strings; make libmystrings.a)
 (cd mysys; make libmysys.a)
-(cd heap; make libheap.a)
+(cd storage/heap; make libheap.a)
 (cd vio; make libvio.a)
 (cd regex; make libregex.a)
-(cd myisam; make libmyisam.a)
-(cd myisammrg; make libmyisammrg.a)
+(cd storage/myisam; make libmyisam.a)
+(cd storage/myisammrg; make libmyisammrg.a)
 (cd extra; make comp_err)
 (cd libmysql; make conf_to_src)
 (cd libmysql_r; make conf_to_src)
@@ -57,7 +57,7 @@ make
 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/.libs/gen_lex_hash sql/gen_lex_hash.linux
+cp sql/gen_lex_hash sql/gen_lex_hash.linux
 cp strings/conf_to_src strings/conf_to_src.linux
 
 # Delete mysql_version.h
diff --git a/netware/BUILD/compile-netware-END b/netware/BUILD/compile-netware-END
index f7da0d9596e..0bb4e808b63 100755
--- a/netware/BUILD/compile-netware-END
+++ b/netware/BUILD/compile-netware-END
@@ -22,9 +22,8 @@ rm -rf Makefile.in.bk
 . $path/compile-AUTOTOOLS
 
 # For NetWare there is no comp_err but comp_err.linux
-sed -e "s/comp_err/comp_err.linux/g" extra/Makefile.am > extra/Makefile.am.$$
-sed -e "s/replace comp_err.linux/replace comp_err/g" extra/Makefile.am.$$ > extra/Makefile.am
-rm extra/Makefile.am.$$
+sed -e "s/comp_err\$(EXEEXT)/comp_err.linux/g" extra/Makefile.am > extra/Makefile.am.$$
+mv extra/Makefile.am.$$ extra/Makefile.am
 
 # configure
 ./configure $base_configs $extra_configs
diff --git a/netware/BUILD/mwenv b/netware/BUILD/mwenv
index fa52568fcd6..b88b6347668 100755
--- a/netware/BUILD/mwenv
+++ b/netware/BUILD/mwenv
@@ -4,10 +4,10 @@
 # This values are normally changed by the nwbootstrap script
 
 # the default is "F:/mydev"
-export MYDEV="F:/mydev"
+export MYDEV=WINE_BUILD_DIR
 
-export MWCNWx86Includes="$MYDEV/libc/include;$MYDEV/fs64/headers;$MYDEV/zlib-1.1.4;$MYDEV/mysql-VERSION/include;$MYDEV"
-export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib;$MYDEV/fs64/imports;$MYDEV/zlib-1.1.4;$MYDEV/openssl;$MYDEV/mysql-VERSION/netware/BUILD"
+export MWCNWx86Includes="$MYDEV/libc/include;$MYDEV/fs64/headers;$MYDEV/zlib-1.2.3;$MYDEV/mysql-VERSION/include;$MYDEV"
+export MWNWx86Libraries="$MYDEV/libc/imports;$MYDEV/mw/lib;$MYDEV/fs64/imports;$MYDEV/zlib-1.2.3;$MYDEV/openssl;$MYDEV/mysql-VERSION/netware/BUILD"
 export MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib;libz.a;neb.imp;zPublics.imp;knetware.imp"
 
 export WINEPATH="$MYDEV/mw/bin"
diff --git a/netware/BUILD/nwbootstrap b/netware/BUILD/nwbootstrap
index 48ff2a49667..22e1569e7ca 100755
--- a/netware/BUILD/nwbootstrap
+++ b/netware/BUILD/nwbootstrap
@@ -160,6 +160,11 @@ sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \
   -e "s;VERSION;$version;g" $mwenv.org > $mwenv
 chmod +rwx $mwenv
 
+PWD=`pwd`
+SRC_DIR=`grep "^export MYDEV=" $mwenv | cut -d'=' -f2 | \
+           sed -e 's;";;g' -e "s;^;echo ;g" -e "s;$;/\`basename $PWD\`;g" | /bin/sh`
+
+
 # edit the def file versions
 echo "updating *.def file versions..."
 nlm_version=`echo "$version" | sed -e "s;\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*;\1, \2, \3;"`
@@ -167,13 +172,14 @@ nlm_version=`echo "$version" | sed -e "s;\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*;\1
 for file in ./netware/*.def
 do
   mv -f $file $file.org
-  sed -e "s;VERSION.*;VERSION $nlm_version;g" $file.org > $file
+  sed -e "s;VERSION.*;VERSION $nlm_version;g" \
+      -e "s;XDCDATA.*;XDCDATA $SRC_DIR/netware/mysql.xdc;g" $file.org > $file
   rm $file.org
 done
 
 # create the libmysql.imp file in netware folder from libmysql/libmysql.def
 # file
-echo "generating llibmysql.imp file..."
+echo "generating libmysql.imp file..."
 awk 'BEGIN{x=0;}  END{printf("\n");} x==1 {printf(" %s",$1); x++; next} x>1 {printf(",\n %s", $1);next} /EXPORTS/{x=1}' libmysql/libmysql.def > netware/libmysql.imp
 # build linux tools
 echo "compiling linux tools..."
diff --git a/netware/Makefile.am b/netware/Makefile.am
index fdf4023aef2..e1c2eedc2b7 100644
--- a/netware/Makefile.am
+++ b/netware/Makefile.am
@@ -30,13 +30,16 @@ netware_build_files =           client/mysql.def client/mysqladmin.def \
                                 client/mysqldump.def client/mysqlimport.def \
                                 client/mysqlshow.def client/mysqltest.def \
                                 client/mysqlslap.def \
+                                sql/mysqld.def extra/mysql_waitpid.def \
                                 extra/mysql_install.def extra/my_print_defaults.def \
                                 extra/perror.def extra/replace.def \
                                 extra/resolveip.def extra/comp_err.def \
-                                libmysqld/libmysqld.def myisam/myisamchk.def \
-                                myisam/myisamlog.def myisam/myisampack.def \
-                                sql/mysqld.def extra/mysql_waitpid.def \
-                                extra/resolve_stack_dump.def myisam/myisam_ftdump.def
+                                extra/resolve_stack_dump.def \
+                                libmysqld/libmysqld.def \
+                                storage/myisam/myisamchk.def \
+                                storage/myisam/myisamlog.def \
+                                storage/myisam/myisampack.def \
+                                storage/myisam/myisam_ftdump.def
 
 link_sources:
 	set -x; \
diff --git a/netware/my_manage.h b/netware/my_manage.h
index 480eefbe55a..360f2f104be 100644
--- a/netware/my_manage.h
+++ b/netware/my_manage.h
@@ -54,7 +54,8 @@ bool skip_first_param;
 
 
 #define ARG_BUF			10
-#define TRY_MAX			5
+#define TRY_MAX			 5
+#define NULL              (char) 0
 
 #ifdef __NETWARE__
 #define strstr(A,B) strindex(A,B)
diff --git a/netware/mysql_test_run.c b/netware/mysql_test_run.c
index 6bab2f0149c..9b02f897a60 100644
--- a/netware/mysql_test_run.c
+++ b/netware/mysql_test_run.c
@@ -1189,7 +1189,7 @@ void setup(char *file)
 ******************************************************************************/
 int main(int argc, char **argv)
 {
-  int is_ignore_list = 0;
+  int is_ignore_list= 0, autoclose= 0, individual_execution= 0;
   // setup
   setup(argv[0]);
   
@@ -1236,16 +1236,22 @@ int main(int argc, char **argv)
   {
     int i;
 
-    // single test
-    single_test = TRUE;
-
     for (i = 1 + is_ignore_list; i < argc; i++)
     {
+      if (!strncasecmp(argv[i], "--autoclose", 11))
+      {
+        autoclose= 1;
+        continue;
+      }
+      // single test
+      single_test= TRUE;
+      individual_execution= 1;
+
       // run given test
       run_test(argv[i]);
     }
   }
-  else
+  if (!individual_execution)
   {
     // run all tests
     DIR *dir = opendir(test_dir);
@@ -1297,7 +1303,8 @@ int main(int argc, char **argv)
   if (log_fd) fclose(log_fd);
 
   // keep results up
-  pressanykey();
+  if (!autoclose)
+    pressanykey();
 
   return 0;
 }
-- 
cgit v1.2.1