Several Netware specific fixes.

parent 065f8066
......@@ -2548,9 +2548,12 @@ AC_SUBST(CC)
AC_SUBST(GXX)
# Set configuration options for make_binary_distribution
CONF_ARGS=
case $SYSTEM_TYPE in
*netware*)
MAKE_BINARY_DISTRIBUTION_OPTIONS=--no-strip
CONF_ARGS=--host="$MACHINE_TYPE-$SYSTEM_TYPE"
;;
*)
MAKE_BINARY_DISTRIBUTION_OPTIONS=
......@@ -2558,7 +2561,7 @@ case $SYSTEM_TYPE in
esac
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
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
......
......@@ -19,6 +19,14 @@
#ifndef _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 */
#include <unistd.h>
#include <stdio.h>
......@@ -35,6 +43,12 @@
#include <pthread.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
extern "C" {
#endif
......@@ -65,6 +79,13 @@ extern "C" {
#undef HAVE_STPCPY
/* 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 */
#ifdef HAVE_OPENSSL
#define HAVE_CRYPT 1
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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"
......
......@@ -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..."
......
......@@ -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; \
......
......@@ -55,6 +55,7 @@ bool skip_first_param;
#define ARG_BUF 10
#define TRY_MAX 5
#define NULL (char) 0
#ifdef __NETWARE__
#define strstr(A,B) strindex(A,B)
......
......@@ -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,6 +1303,7 @@ int main(int argc, char **argv)
if (log_fd) fclose(log_fd);
// keep results up
if (!autoclose)
pressanykey();
return 0;
......
......@@ -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 \
extra/resolveip$BS extra/my_print_defaults$BS \
extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \
myisam/myisamchk$BS myisam/myisampack$BS myisam/myisamlog$BS \
myisam/myisam_ftdump$BS \
storage/myisam/myisamchk$BS storage/myisam/myisampack$BS \
storage/myisam/myisamlog$BS storage/myisam/myisam_ftdump$BS \
sql/mysqld$BS sql/mysql_tzinfo_to_sql$BS \
server-tools/instance-manager/mysqlmanager$BS \
client/mysql$BS client/mysqlshow$BS client/mysqladmin$BS \
......
......@@ -134,6 +134,13 @@ int deny_severity = LOG_WARNING;
#define zVOLSTATE_DEACTIVE 2
#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/vm.h>
#include <library.h>
......@@ -3305,6 +3312,10 @@ server.");
mysql_bin_log.purge_logs_before_date(purge_time);
}
#endif
#ifdef __NETWARE__
/* Increasing stacksize of threads on NetWare */
pthread_attr_setstacksize(&connection_attrib, NW_THD_STACKSIZE);
#endif
if (opt_myisam_log)
(void) mi_log(1);
......@@ -3538,7 +3549,6 @@ int main(int argc, char **argv)
#endif
#ifdef __NETWARE__
/* Increasing stacksize of threads on NetWare */
pthread_attr_setstacksize(&connection_attrib, NW_THD_STACKSIZE);
#endif
......
......@@ -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",
&delayed_queue_size);
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",
&expire_logs_days);
sys_var_bool_ptr sys_flush("flush", &myisam_flush);
......
......@@ -2264,6 +2264,7 @@ THD::binlog_prepare_pending_rows_event(TABLE* table, uint32 serv_id,
return pending; /* This is the current pending event */
}
#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION
/*
Instansiate the versions we need, we have -fno-implicit-template as
compiling option.
......@@ -2282,6 +2283,7 @@ template Rows_log_event*
THD::binlog_prepare_pending_rows_event(TABLE*, uint32, MY_BITMAP const*,
my_size_t colcnt, my_size_t, bool,
Update_rows_log_event *);
#endif
static char const*
field_type_name(enum_field_types type)
{
......
......@@ -156,6 +156,15 @@ os_thread_create(
"InnoDB: Error: pthread_attr_setstacksize returned %d\n", ret);
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
os_mutex_enter(os_sync_mutex);
os_thread_count++;
......
......@@ -84,6 +84,7 @@ int mi_lock_database(MI_INFO *info, int lock_type)
(uint) 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->concurrent_insert)
......@@ -92,6 +93,7 @@ int mi_lock_database(MI_INFO *info, int lock_type)
if (info->s->concurrent_insert)
rw_unlock(&info->s->mmap_lock);
}
#endif
share->state.process= share->last_process=share->this_process;
share->state.unique= info->last_unique= info->this_unique;
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