Several Netware specific fixes.

parent 065f8066
...@@ -2548,9 +2548,12 @@ AC_SUBST(CC) ...@@ -2548,9 +2548,12 @@ AC_SUBST(CC)
AC_SUBST(GXX) AC_SUBST(GXX)
# Set configuration options for make_binary_distribution # Set configuration options for make_binary_distribution
CONF_ARGS=
case $SYSTEM_TYPE in case $SYSTEM_TYPE in
*netware*) *netware*)
MAKE_BINARY_DISTRIBUTION_OPTIONS=--no-strip MAKE_BINARY_DISTRIBUTION_OPTIONS=--no-strip
CONF_ARGS=--host="$MACHINE_TYPE-$SYSTEM_TYPE"
;; ;;
*) *)
MAKE_BINARY_DISTRIBUTION_OPTIONS= MAKE_BINARY_DISTRIBUTION_OPTIONS=
...@@ -2558,7 +2561,7 @@ case $SYSTEM_TYPE in ...@@ -2558,7 +2561,7 @@ case $SYSTEM_TYPE in
esac esac
for CONF in $other_configures; do for CONF in $other_configures; do
(cd `dirname $CONF`; ./`basename $CONF` --build=$build_alias) (cd `dirname $CONF`; ./`basename $CONF` $CONF_ARGS --build=$build_alias)
done done
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS) AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
......
...@@ -19,6 +19,14 @@ ...@@ -19,6 +19,14 @@
#ifndef _config_netware_h #ifndef _config_netware_h
#define _config_netware_h #define _config_netware_h
#define __event_h__
#define _EVENT_H_
/*
These two #define(s) are needed as both libc of NetWare and MySQL have
files named event.h which causes compilation errors.
*/
/* required headers */ /* required headers */
#include <unistd.h> #include <unistd.h>
#include <stdio.h> #include <stdio.h>
...@@ -35,6 +43,12 @@ ...@@ -35,6 +43,12 @@
#include <pthread.h> #include <pthread.h>
#include <termios.h> #include <termios.h>
#undef _EVENT_H_
/*
This #undef exists here because both libc of NetWare and MySQL have
files named event.h which causes compilation errors.
*/
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
...@@ -65,6 +79,13 @@ extern "C" { ...@@ -65,6 +79,13 @@ extern "C" {
#undef HAVE_STPCPY #undef HAVE_STPCPY
/* changes end */ /* changes end */
/* Changes made to make use of LibC-June-2005 for building purpose */
#undef HAVE_GETPASS
#undef HAVE_GETRLIMIT
#undef HAVE_GETRUSAGE
#undef HAVE_INITGROUPS
/* Changes end - LibC-June-2005 */
/* no libc crypt() function */ /* no libc crypt() function */
#ifdef HAVE_OPENSSL #ifdef HAVE_OPENSSL
#define HAVE_CRYPT 1 #define HAVE_CRYPT 1
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
# stop on errors # stop on errors
set -e set -e
for package in . ./innobase for package in . ./storage/innobase
do do
(cd $package (cd $package
rm -rf config.cache autom4te.cache rm -rf config.cache autom4te.cache
......
...@@ -37,11 +37,11 @@ make ...@@ -37,11 +37,11 @@ make
(cd dbug; make libdbug.a) (cd dbug; make libdbug.a)
(cd strings; make libmystrings.a) (cd strings; make libmystrings.a)
(cd mysys; make libmysys.a) (cd mysys; make libmysys.a)
(cd heap; make libheap.a) (cd storage/heap; make libheap.a)
(cd vio; make libvio.a) (cd vio; make libvio.a)
(cd regex; make libregex.a) (cd regex; make libregex.a)
(cd myisam; make libmyisam.a) (cd storage/myisam; make libmyisam.a)
(cd myisammrg; make libmyisammrg.a) (cd storage/myisammrg; make libmyisammrg.a)
(cd extra; make comp_err) (cd extra; make comp_err)
(cd libmysql; make conf_to_src) (cd libmysql; make conf_to_src)
(cd libmysql_r; make conf_to_src) (cd libmysql_r; make conf_to_src)
...@@ -57,7 +57,7 @@ make ...@@ -57,7 +57,7 @@ make
cp extra/comp_err extra/comp_err.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/conf_to_src.linux
#cp libmysql_r/conf_to_src libmysql_r/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 cp strings/conf_to_src strings/conf_to_src.linux
# Delete mysql_version.h # Delete mysql_version.h
......
...@@ -22,9 +22,8 @@ rm -rf Makefile.in.bk ...@@ -22,9 +22,8 @@ rm -rf Makefile.in.bk
. $path/compile-AUTOTOOLS . $path/compile-AUTOTOOLS
# For NetWare there is no comp_err but comp_err.linux # 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/comp_err\$(EXEEXT)/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 mv extra/Makefile.am.$$ extra/Makefile.am
rm extra/Makefile.am.$$
# configure # configure
./configure $base_configs $extra_configs ./configure $base_configs $extra_configs
......
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
# This values are normally changed by the nwbootstrap script # This values are normally changed by the nwbootstrap script
# the default is "F:/mydev" # 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 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.1.4;$MYDEV/openssl;$MYDEV/mysql-VERSION/netware/BUILD" 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 MWNWx86LibraryFiles="libcpre.o;libc.imp;netware.imp;mwcrtl.lib;mwcpp.lib;libz.a;neb.imp;zPublics.imp;knetware.imp"
export WINEPATH="$MYDEV/mw/bin" export WINEPATH="$MYDEV/mw/bin"
......
...@@ -160,6 +160,11 @@ sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \ ...@@ -160,6 +160,11 @@ sed -e "s;WINE_BUILD_DIR;$wine_build_dir;g" \
-e "s;VERSION;$version;g" $mwenv.org > $mwenv -e "s;VERSION;$version;g" $mwenv.org > $mwenv
chmod +rwx $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 # edit the def file versions
echo "updating *.def file versions..." echo "updating *.def file versions..."
nlm_version=`echo "$version" | sed -e "s;\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*;\1, \2, \3;"` 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 ...@@ -167,13 +172,14 @@ nlm_version=`echo "$version" | sed -e "s;\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*;\1
for file in ./netware/*.def for file in ./netware/*.def
do do
mv -f $file $file.org 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 rm $file.org
done done
# create the libmysql.imp file in netware folder from libmysql/libmysql.def # create the libmysql.imp file in netware folder from libmysql/libmysql.def
# file # 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 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 # build linux tools
echo "compiling linux tools..." echo "compiling linux tools..."
......
...@@ -30,13 +30,16 @@ netware_build_files = client/mysql.def client/mysqladmin.def \ ...@@ -30,13 +30,16 @@ netware_build_files = client/mysql.def client/mysqladmin.def \
client/mysqldump.def client/mysqlimport.def \ client/mysqldump.def client/mysqlimport.def \
client/mysqlshow.def client/mysqltest.def \ client/mysqlshow.def client/mysqltest.def \
client/mysqlslap.def \ client/mysqlslap.def \
sql/mysqld.def extra/mysql_waitpid.def \
extra/mysql_install.def extra/my_print_defaults.def \ extra/mysql_install.def extra/my_print_defaults.def \
extra/perror.def extra/replace.def \ extra/perror.def extra/replace.def \
extra/resolveip.def extra/comp_err.def \ extra/resolveip.def extra/comp_err.def \
libmysqld/libmysqld.def myisam/myisamchk.def \ extra/resolve_stack_dump.def \
myisam/myisamlog.def myisam/myisampack.def \ libmysqld/libmysqld.def \
sql/mysqld.def extra/mysql_waitpid.def \ storage/myisam/myisamchk.def \
extra/resolve_stack_dump.def myisam/myisam_ftdump.def storage/myisam/myisamlog.def \
storage/myisam/myisampack.def \
storage/myisam/myisam_ftdump.def
link_sources: link_sources:
set -x; \ set -x; \
......
...@@ -55,6 +55,7 @@ bool skip_first_param; ...@@ -55,6 +55,7 @@ bool skip_first_param;
#define ARG_BUF 10 #define ARG_BUF 10
#define TRY_MAX 5 #define TRY_MAX 5
#define NULL (char) 0
#ifdef __NETWARE__ #ifdef __NETWARE__
#define strstr(A,B) strindex(A,B) #define strstr(A,B) strindex(A,B)
......
...@@ -1189,7 +1189,7 @@ void setup(char *file) ...@@ -1189,7 +1189,7 @@ void setup(char *file)
******************************************************************************/ ******************************************************************************/
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int is_ignore_list = 0; int is_ignore_list= 0, autoclose= 0, individual_execution= 0;
// setup // setup
setup(argv[0]); setup(argv[0]);
...@@ -1236,16 +1236,22 @@ int main(int argc, char **argv) ...@@ -1236,16 +1236,22 @@ int main(int argc, char **argv)
{ {
int i; int i;
// single test
single_test = TRUE;
for (i = 1 + is_ignore_list; i < argc; i++) 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 given test
run_test(argv[i]); run_test(argv[i]);
} }
} }
else if (!individual_execution)
{ {
// run all tests // run all tests
DIR *dir = opendir(test_dir); DIR *dir = opendir(test_dir);
...@@ -1297,6 +1303,7 @@ int main(int argc, char **argv) ...@@ -1297,6 +1303,7 @@ int main(int argc, char **argv)
if (log_fd) fclose(log_fd); if (log_fd) fclose(log_fd);
// keep results up // keep results up
if (!autoclose)
pressanykey(); pressanykey();
return 0; return 0;
......
...@@ -129,8 +129,8 @@ copyfileto $BASE COPYING COPYING.LIB README Docs/INSTALL-BINARY \ ...@@ -129,8 +129,8 @@ copyfileto $BASE COPYING COPYING.LIB README Docs/INSTALL-BINARY \
BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
extra/resolveip$BS extra/my_print_defaults$BS \ extra/resolveip$BS extra/my_print_defaults$BS \
extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \ extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \
myisam/myisamchk$BS myisam/myisampack$BS myisam/myisamlog$BS \ storage/myisam/myisamchk$BS storage/myisam/myisampack$BS \
myisam/myisam_ftdump$BS \ storage/myisam/myisamlog$BS storage/myisam/myisam_ftdump$BS \
sql/mysqld$BS sql/mysql_tzinfo_to_sql$BS \ sql/mysqld$BS sql/mysql_tzinfo_to_sql$BS \
server-tools/instance-manager/mysqlmanager$BS \ server-tools/instance-manager/mysqlmanager$BS \
client/mysql$BS client/mysqlshow$BS client/mysqladmin$BS \ client/mysql$BS client/mysqlshow$BS client/mysqladmin$BS \
......
...@@ -134,6 +134,13 @@ int deny_severity = LOG_WARNING; ...@@ -134,6 +134,13 @@ int deny_severity = LOG_WARNING;
#define zVOLSTATE_DEACTIVE 2 #define zVOLSTATE_DEACTIVE 2
#define zVOLSTATE_MAINTENANCE 3 #define zVOLSTATE_MAINTENANCE 3
#undef __event_h__
#include <../include/event.h>
/*
This #undef exists here because both libc of NetWare and MySQL have
files named event.h which causes compilation errors.
*/
#include <nks/netware.h> #include <nks/netware.h>
#include <nks/vm.h> #include <nks/vm.h>
#include <library.h> #include <library.h>
...@@ -3305,6 +3312,10 @@ server."); ...@@ -3305,6 +3312,10 @@ server.");
mysql_bin_log.purge_logs_before_date(purge_time); mysql_bin_log.purge_logs_before_date(purge_time);
} }
#endif #endif
#ifdef __NETWARE__
/* Increasing stacksize of threads on NetWare */
pthread_attr_setstacksize(&connection_attrib, NW_THD_STACKSIZE);
#endif
if (opt_myisam_log) if (opt_myisam_log)
(void) mi_log(1); (void) mi_log(1);
...@@ -3538,7 +3549,6 @@ int main(int argc, char **argv) ...@@ -3538,7 +3549,6 @@ int main(int argc, char **argv)
#endif #endif
#ifdef __NETWARE__ #ifdef __NETWARE__
/* Increasing stacksize of threads on NetWare */ /* Increasing stacksize of threads on NetWare */
pthread_attr_setstacksize(&connection_attrib, NW_THD_STACKSIZE); pthread_attr_setstacksize(&connection_attrib, NW_THD_STACKSIZE);
#endif #endif
......
...@@ -216,7 +216,8 @@ sys_var_long_ptr sys_delayed_insert_timeout("delayed_insert_timeout", ...@@ -216,7 +216,8 @@ sys_var_long_ptr sys_delayed_insert_timeout("delayed_insert_timeout",
sys_var_long_ptr sys_delayed_queue_size("delayed_queue_size", sys_var_long_ptr sys_delayed_queue_size("delayed_queue_size",
&delayed_queue_size); &delayed_queue_size);
sys_var_event_executor sys_event_executor("event_scheduler", sys_var_event_executor sys_event_executor("event_scheduler",
(my_bool *)&event_executor_running_global_var); (my_bool *)
&event_executor_running_global_var);
sys_var_long_ptr sys_expire_logs_days("expire_logs_days", sys_var_long_ptr sys_expire_logs_days("expire_logs_days",
&expire_logs_days); &expire_logs_days);
sys_var_bool_ptr sys_flush("flush", &myisam_flush); sys_var_bool_ptr sys_flush("flush", &myisam_flush);
......
...@@ -2264,6 +2264,7 @@ THD::binlog_prepare_pending_rows_event(TABLE* table, uint32 serv_id, ...@@ -2264,6 +2264,7 @@ THD::binlog_prepare_pending_rows_event(TABLE* table, uint32 serv_id,
return pending; /* This is the current pending event */ return pending; /* This is the current pending event */
} }
#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION
/* /*
Instansiate the versions we need, we have -fno-implicit-template as Instansiate the versions we need, we have -fno-implicit-template as
compiling option. compiling option.
...@@ -2282,6 +2283,7 @@ template Rows_log_event* ...@@ -2282,6 +2283,7 @@ template Rows_log_event*
THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*, THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
my_size_t colcnt, my_size_t, bool, my_size_t colcnt, my_size_t, bool,
Update_rows_log_event *); Update_rows_log_event *);
#endif
static char const* static char const*
field_type_name(enum_field_types type) field_type_name(enum_field_types type)
{ {
......
...@@ -156,6 +156,15 @@ os_thread_create( ...@@ -156,6 +156,15 @@ os_thread_create(
"InnoDB: Error: pthread_attr_setstacksize returned %d\n", ret); "InnoDB: Error: pthread_attr_setstacksize returned %d\n", ret);
exit(1); exit(1);
} }
#endif
#ifdef __NETWARE__
ret = pthread_attr_setstacksize(&attr,
(size_t)NW_THD_STACKSIZE);
if (ret) {
fprintf(stderr,
"InnoDB: Error: pthread_attr_setstacksize returned %d\n", ret);
exit(1);
}
#endif #endif
os_mutex_enter(os_sync_mutex); os_mutex_enter(os_sync_mutex);
os_thread_count++; os_thread_count++;
......
...@@ -84,6 +84,7 @@ int mi_lock_database(MI_INFO *info, int lock_type) ...@@ -84,6 +84,7 @@ int mi_lock_database(MI_INFO *info, int lock_type)
(uint) share->changed, share->w_locks)); (uint) share->changed, share->w_locks));
if (share->changed && !share->w_locks) if (share->changed && !share->w_locks)
{ {
#ifdef HAVE_MMAP
if (info->s->mmaped_length != info->s->state.state.data_file_length) if (info->s->mmaped_length != info->s->state.state.data_file_length)
{ {
if (info->s->concurrent_insert) if (info->s->concurrent_insert)
...@@ -92,6 +93,7 @@ int mi_lock_database(MI_INFO *info, int lock_type) ...@@ -92,6 +93,7 @@ int mi_lock_database(MI_INFO *info, int lock_type)
if (info->s->concurrent_insert) if (info->s->concurrent_insert)
rw_unlock(&info->s->mmap_lock); rw_unlock(&info->s->mmap_lock);
} }
#endif
share->state.process= share->last_process=share->this_process; share->state.process= share->last_process=share->this_process;
share->state.unique= info->last_unique= info->this_unique; share->state.unique= info->last_unique= info->this_unique;
share->state.update_count= info->last_loop= ++info->this_loop; share->state.update_count= info->last_loop= ++info->this_loop;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment