Commit 3258f23d authored by lenz@mysql.com's avatar lenz@mysql.com

- Updated OS/2 port with files provided by Yuri Dario <mc6530@mclink.it>

  from TeamOS/2 Italy
- removed some obsolete files on Yuri's request
- Added missing os2 related files outside the os2 subdirectory
  to the distribution
parent c6204862
No related merge requests found
......@@ -2264,7 +2264,7 @@ AC_OUTPUT(Makefile extra/Makefile mysys/Makefile isam/Makefile \
strings/Makefile regex/Makefile heap/Makefile \
bdb/Makefile \
myisam/Makefile myisammrg/Makefile \
man/Makefile os2/Makefile \
man/Makefile os2/Makefile os2/include/Makefile os2/include/sys/Makefile \
readline/Makefile libmysql_r/Makefile libmysql/Makefile client/Makefile \
sql/Makefile sql/share/Makefile \
merge/Makefile dbug/Makefile scripts/Makefile \
......
......@@ -18,11 +18,11 @@
BUILT_SOURCES = mysql_version.h m_ctype.h my_config.h
pkginclude_HEADERS = dbug.h m_string.h my_sys.h mysql.h mysql_com.h \
mysqld_error.h my_list.h \
my_pthread.h my_no_pthread.h raid.h errmsg.h \
my_pthread.h my_no_pthread.h raid.h errmsg.h \
my_global.h my_net.h \
sslopt-case.h sslopt-longopts.h sslopt-usage.h \
sslopt-vars.h $(BUILT_SOURCES)
noinst_HEADERS = global.h config-win.h \
noinst_HEADERS = global.h config-win.h config-os2.h\
nisam.h heap.h merge.h my_bitmap.h\
myisam.h myisampack.h myisammrg.h ft_global.h\
my_dir.h mysys_err.h my_base.h \
......
......@@ -26,6 +26,7 @@
#include <os2.h>
#include <math.h>
#include <io.h>
#include <types.h>
/* Define to name of system eg solaris*/
#define SYSTEM_TYPE "IBM OS/2 Warp"
......@@ -55,6 +56,8 @@
#define FILE_BINARY O_BINARY /* my_fopen in binary mode */
#define S_IROTH S_IREAD /* for my_lib */
#define CANT_DELETE_OPEN_FILES /* saves open files in a list, for delayed delete */
#define O_NONBLOCK 0x10
#define NO_OPEN_3 /* For my_create() */
......@@ -84,7 +87,7 @@
#define F_WRLCK 2 /* Write lock. */
#define F_UNLCK 0 /* Remove lock. */
#define S_IFMT 0xF000 /* Mask for file type */
#define S_IFMT 0x17000 /* Mask for file type */
#define F_TO_EOF 0L /* Param to lockf() to lock rest of file */
#define HUGE_PTR
......@@ -268,7 +271,7 @@ typedef unsigned long long os_off_t;
/* #undef HAVE_NONPOSIX_PTHREAD_MUTEX_INIT */
/* READLINE: */
#define HAVE_POSIX_SIGNALS 1
#define HAVE_POSIX_SIGNALS 0
/* sigwait with one argument */
/* #undef HAVE_NONPOSIX_SIGWAIT */
......
......@@ -21,7 +21,10 @@ INCLUDES = @MT_INCLUDES@ -I$(srcdir)/../include -I../include -I.. -I$(srcdir)
pkglib_LIBRARIES = libmysys.a
LDADD = libmysys.a ../dbug/libdbug.a \
../strings/libmystrings.a
noinst_HEADERS = mysys_priv.h my_static.h
noinst_HEADERS = mysys_priv.h my_static.h \
my_os2cond.c my_os2dirsrch.c my_os2dirsrch.h \
my_os2dlfcn.c my_os2file64.c my_os2mutex.c \
my_os2thread.c my_os2tls.c
libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c\
mf_path.c mf_loadpath.c\
my_open.c my_create.c my_seek.c my_read.c \
......
......@@ -22,6 +22,7 @@ void _OS2errno( APIRET rc);
longlong _lseek64( int fd, longlong offset, int seektype);
int _lock64( int fd, int locktype, my_off_t start,
my_off_t length, myf MyFlags);
int _sopen64( const char *name, int oflag, int shflag, int mask);
//
// this class is used to define a global c++ variable, that
......@@ -191,8 +192,17 @@ inline _SetFileLocksL(HFILE hFile,
ULONG timeout,
ULONG flags)
{
if (_DosSetFileLocksL)
return _DosSetFileLocksL( hFile, pflUnlock, pflLock, timeout, flags);
if (_DosSetFileLocksL) {
APIRET rc;
rc = _DosSetFileLocksL( hFile, pflUnlock, pflLock, timeout, flags);
// on FAT/HPFS/LAN a INVALID_PARAMETER is returned, seems that
// only JFS can handle >2GB ranges.
if (rc != 87)
return rc;
// got INVALID_PARAMETER, fallback to standard call
}
FILELOCK flUnlock = { pflUnlock->lOffset, pflUnlock->lRange };
FILELOCK flLock = { pflLock->lOffset, pflLock->lRange };
......@@ -254,7 +264,7 @@ int _lock64( int fd, int locktype, my_off_t start,
return(-1);
}
int _sopen( const char *name, int oflag, int shflag, int mask)
int sopen( const char *name, int oflag, int shflag, int mask)
{
int fail_errno;
APIRET rc = 0;
......
......@@ -53,6 +53,7 @@ void win_pthread_init(void)
static pthread_handler_decl(pthread_start,param)
{
DBUG_ENTER("pthread_start");
pthread_handler func=((struct pthread_map *) param)->func;
void *func_param=((struct pthread_map *) param)->param;
my_thread_init(); /* Will always succeed in windows */
......@@ -60,8 +61,10 @@ static pthread_handler_decl(pthread_start,param)
win_pthread_self=((struct pthread_map *) param)->pthreadself;
pthread_mutex_unlock(&THR_LOCK_thread);
free((char*) param); /* Free param from create */
pthread_exit((void*) (*func)(func_param));
return 0; /* Safety */
//pthread_exit((void*) (*func)(func_param));
(*func)(func_param);
DBUG_RETURN(0);
//return 0; /* Safety */
}
......
File added
......@@ -4,7 +4,7 @@ REM I'm using resources for BLDLEVEL info, because VA4 linker has the bad
REM feature of using versionstring content for padding files.
REM To set fixpak level: -P"fixpak level"
SET MYSQL_VERSION=3.23.42
SET MYSQL_BUILD=1
SET MYSQL_VERSION=3.23.50
SET MYSQL_BUILD=B1
BldLevelInf -V%MYSQL_VERSION% -N"MySQL AB, Yuri Dario" -D"MySQL %MYSQL_VERSION% for OS/2 - Build %MYSQL_BUILD%" -Len BldLevel.rc
RCDATA 1 { "@#MySQL AB, Yuri Dario:3.23.42#@##1## 10 Sep 2001 11:57:17 paperino::en::::@@MySQL 3.23.42 for OS/2 - Build 1" }
RCDATA 1 { "@#MySQL AB, Yuri Dario:3.23.50#@##1## 24 Jun 2002 22:42:20 paperino::en::::@@MySQL 3.23.50 for OS/2 - Build B1" }
2002/05/02
- now libinit is automatically called on client dll startup
2002/01/27
- fixed console output for get_password
2002/01/20
- back-ported fix for fulltext indexes (wrong report by myisamchk)
2001/11/21
- MySQL 3.32.42 build 3 released.
2001/11/19
- got GNU Readline to compile with VAC++, now console has a working
history.
2001/11/10
- fixed file locking on non-JFS disks; DosSetFileLocksL does not
support ranges > 2GB on non-JFS disks.
2001/09/16
- fixed creation directory of temporary files
- enabled cached list file for deleting temp open files
......@@ -30,4 +51,3 @@
2001/05/19
- new TLS code, fixed parser crashes and many other problems.
- fixed pthread_cond_timedwait, now handle manager expires
......@@ -16,14 +16,13 @@
## Process this file with automake to create Makefile.in
EXTRA_DIST = BldLevel.cmd BldLevel.rc BldLevelInf.cmd ChangeLog.os2 \
MySQL-All.icc MySQL-Client.icc MySQL-Client.irs \
MySQL-Lib.icc MySQL-Opt.icc MySQL-ReadLine.icc \
MySQL-Source.icc MySQL-Sql.icc MySQL-Util.icc MySQL-Util.irs \
MySQL-binlog.icc MySQL-binlog.irs MySQL-sql.irs ReadMe.txt \
build-all.cmd build-all.log mysql-inf.wis mysql.base \
mysql.ih mysql.wis mysqlalt.wis readme.os2 rint.cmd rint.obj \
rint.s
EXTRA_DIST = BldLevel.RES BldLevel.cmd BldLevel.rc \
BldLevelInf.cmd ChangeLog.os2 MySQL-Client.icc \
MySQL-Opt.icc MySQL-Source.icc MySQL-Sql.icc \
MySQL-Sql.irs MySQL-Util.icc MySQL-Util.irs \
ReadMe.txt build-all.cmd mysql-inf.wis \
mysql.wis mysqlalt.wis rint.cmd rint.obj rint.s
SUBDIRS = include
# Don't update the files from bitkeeper
%::SCCS/s.%
// create directories
for dir in "..\\bin", "..\\lib", "..\\obj", "..\\obj\\zlib", "..\\obj\\readline" {
run "if not exist "dir" mkdir "dir
}
// build sequence
run "vacbld MySQL-Lib.icc -showprogress=10 -showwarning"
run "vacbld MySQL-Client.icc -showprogress=10 -showwarning"
run "vacbld MySQL-Sql.icc -showprogress=10 -showwarning"
// need only for utilities and test applications
run "vacbld MySQL-Util.icc -showprogress=10 -showwarning"
......@@ -43,11 +43,13 @@ option ProjectOptions = MySQLOptions
// target source files
source type('cpp') "..\\client\\mysql.cc"
source BldLevelInfo
option define("HAVE_STRING_H", ), define("HAVE_CONFIG_H", )
{
source GnuReadline
}
}
}
option file(genobject, "..\\OBJ\\READLINE\\")
{
target "..\\bin\\mysqladmin.exe"
{
// optimized precompiled headers
......@@ -59,7 +61,6 @@ option ProjectOptions = MySQLOptions
source type('cpp') "..\\client\\mysqladmin.c"
source BldLevelInfo
}
}
target "..\\bin\\mysqldump.exe"
{
......
This diff is collapsed.
// disable code inlining when building static libs
InlineCode = "no"
// include common options
include "MySQL-Opt.icc"
include "MySQL-Source.icc"
option ProjectOptions = MySQLOptions
{
option file(genobject, "..\\OBJ\\ZLIB\\")
{
target "..\\lib\\common.lib"
{
// optimized precompiled headers
option macros('global', 'yes')
{
source type('cpp') client_pch //, 'sql_string.h'
}
// target source files
source zlib
if debug_build {
source type('cpp') dbug
}
source type('cpp') heap
//source type('cpp') merge
source type('cpp') my_sys
source type('cpp') my_sys_cli
source type('cpp') my_sys_sql
source type('cpp') strings
}
}
/*
option file(genobject, "..\\OBJ\\READLINE\\")
{
target "..\\lib\\readline.lib"
{
// optimized precompiled headers
option macros('global', 'yes')
{
source type('cpp') client_pch //, 'sql_string.h'
}
// target source files
source readline
}
}
*/
target "..\\lib\\myisam.lib"
{
// optimized precompiled headers
option macros('global', 'yes')
{
source type('cpp') client_pch //, 'sql_string.h'
}
// target source files
source type('cpp') myisam
}
target "..\\lib\\isam.lib"
{
// optimized precompiled headers
option macros('global', 'yes')
{
source type('cpp') client_pch //, 'sql_string.h'
}
// target source files
source type('cpp') isam
}
}
// set to 1 to enable debug code
debug_build = 0
// set to zlib relative directory name
zlib_dir = '../../zlib-1.1.4'
// common options
option BaseOptions = link(defaultlibsname, "tcpip32.lib")
, link(libsearchpath, "..\\lib\\")
......@@ -9,6 +12,7 @@ option BaseOptions = link(defaultlibsname, "tcpip32.lib")
, link(padding, no)
, link(linkwithmultithreadlib, "yes")
, link(linkwithsharedlib, "no")
, link(stack, 131072, 131072)
, gen(initauto, "yes")
, define("__MT__", )
, define("HAVE_BSD_SIGNALS", )
......@@ -19,11 +23,12 @@ option BaseOptions = link(defaultlibsname, "tcpip32.lib")
, define("USE_TLS", )
, lang(signedchars, yes)
, incl(searchpath, "..")
, incl(searchpath, "include")
, incl(searchpath, "..\\include")
, incl(searchpath, "..\\my_sys")
, incl(searchpath, "..\\regex")
, incl(searchpath, "..\\sql")
, incl(searchpath, "..\\..\\zlib-1.1.3")
, incl(searchpath, zlib_dir)
, incl(searchpath, "..\\..\\ufc")
, incl(searchpath, "..\\os2")
......
// disable code inlining when building static libs
InlineCode = "no"
// include common options
include "MySQL-Opt.icc"
include "MySQL-Source.icc"
option ProjectOptions = MySQLOptions
{
option file(genobject, "..\\OBJ\\READLINE\\")
{
target "..\\lib\\readline.lib"
{
// optimized precompiled headers
option macros('global', 'yes')
{
source type('cpp') client_pch //, 'sql_string.h'
}
// target source files
source readline
}
}
}
......@@ -30,7 +30,7 @@ group server_global_pch =
'm_string.h', 'm_ctype.h',
'myisam.h', 'myisampack.h', '.\myisam\myisamdef.h',
'sql_string.h', 'item.h', 'unireg.h',
'field.h', 'sql_lex.h', 'sql_list.h',
'field.h', 'sql_lex.h', 'sql_list.h', 'sql_repl.h',
'md5.h', 'sql_acl.h', 'slave.h',
'ha_myisam.h', 'procedure.h', 'sql_select.h',
'errmsg.h', 't_ctype.h', 'direct.h',
......@@ -57,12 +57,20 @@ group mysqlclientlib =
"..\\libmysql\\violite.c"
group zlib =
"..\\..\\zlib-1.1.3\\compress.c", "..\\..\\zlib-1.1.3\\crc32.c",
"..\\..\\zlib-1.1.3\\deflate.c", "..\\..\\zlib-1.1.3\\gzio.c", "..\\..\\zlib-1.1.3\\infblock.c",
"..\\..\\zlib-1.1.3\\infcodes.c", "..\\..\\zlib-1.1.3\\inffast.c",
"..\\..\\zlib-1.1.3\\inflate.c", "..\\..\\zlib-1.1.3\\inftrees.c",
"..\\..\\zlib-1.1.3\\infutil.c", "..\\..\\zlib-1.1.3\\trees.c", "..\\..\\zlib-1.1.3\\uncompr.c",
"..\\..\\zlib-1.1.3\\zutil.c", "..\\..\\zlib-1.1.3\\adler32.c"
zlib_dir "/compress.c",
zlib_dir "/crc32.c",
zlib_dir "/deflate.c",
zlib_dir "/gzio.c",
zlib_dir "/infblock.c",
zlib_dir "/infcodes.c",
zlib_dir "/inffast.c",
zlib_dir "/inflate.c",
zlib_dir "/inftrees.c",
zlib_dir "/infutil.c",
zlib_dir "/trees.c",
zlib_dir "/uncompr.c",
zlib_dir "/zutil.c",
zlib_dir "/adler32.c"
group ufc =
"..\\..\\ufc\\crypt.c",
......@@ -118,6 +126,7 @@ group sql =
"..\\sql\\sql_class.cc",
"..\\sql\\sql_crypt.cc",
"..\\sql\\sql_db.cc",
"..\\sql\\sql_do.cc",
"..\\sql\\sql_delete.cc",
"..\\sql\\sql_insert.cc",
"..\\sql\\sql_lex.cc",
......@@ -308,24 +317,32 @@ group strings =
group dbug = "..\\dbug\\dbug.c", "..\\dbug\\factorial.c", "..\\dbug\\sanity.c"
group readline = "..\\readline\\bind.c", "..\\readline\\callback.c",
"..\\readline\\complete.c", "..\\readline\\display.c",
//"..\\readline\\emacs_keymap.c",
"..\\readline\\funmap.c", "..\\readline\\histexpand.c",
"..\\readline\\histfile.c", "..\\readline\\history.c",
"..\\readline\\histsearch.c", "..\\readline\\input.c",
"..\\readline\\isearch.c", "..\\readline\\keymaps.c",
"..\\readline\\kill.c", "..\\readline\\macro.c",
"..\\readline\\nls.c", "..\\readline\\parens.c",
"..\\readline\\readline.c", "..\\readline\\rltty.c",
"..\\readline\\search.c", "..\\readline\\shell.c",
"..\\readline\\signals.c", "..\\readline\\terminal.c",
"..\\readline\\tilde.c", "..\\readline\\undo.c",
"..\\readline\\util.c",
//"..\\readline\\vi_keymap.c",
"..\\readline\\vi_mode.c", "..\\readline\\xmalloc.c"
group regex = "..\\regex\\regcomp.c", "..\\regex\\regerror.c",
"..\\regex\\regexec.c", "..\\regex\\regfree.c", "..\\regex\\reginit.c"
group BldLevelInfo = 'os2\BldLevel.rc'
group GnuReadline =
"..\\readline\\bind.c",
"..\\readline\\callback.c",
"..\\readline\\complete.c",
"..\\readline\\display.c",
"..\\readline\\funmap.c",
"..\\readline\\histexpand.c", "..\\readline\\histfile.c",
"..\\readline\\history.c", "..\\readline\\histsearch.c",
"..\\readline\\input.c", "..\\readline\\isearch.c",
"..\\readline\\keymaps.c",
"..\\readline\\kill.c",
"..\\readline\\macro.c",
"..\\readline\\nls.c", "..\\readline\\parens.c",
"..\\readline\\readline.c",
"..\\readline\\rltty.c",
"..\\readline\\search.c",
"..\\readline\\shell.c",
"..\\readline\\signals.c",
"..\\readline\\terminal.c",
"..\\readline\\tilde.c",
"..\\readline\\undo.c",
"..\\readline\\util.c",
"..\\readline\\vi_mode.c",
"..\\readline\\xmalloc.c"
31 Run Specifications: Version 1.1
45 E:\rd\mysql\vacpp-3.23.40\bin\mysqlbinlog.exe
40 E:\rd\MySQL\vacpp-3.23.50\bin\mysqld.exe
1
0
0
......
......@@ -153,6 +153,7 @@ option ProjectOptions = MySQLOptions
}
}
*/
target "..\\bin\\test\\insert_test.exe"
{
// optimized precompiled headers
......@@ -179,4 +180,4 @@ option ProjectOptions = MySQLOptions
}
run after sources('..\bin\gen_lex_hash.exe') targets('..\sql\lex_hash.h')
'..\bin\gen_lex_has.exe > ..\sql\lex_hash.h'
'cd ..\bin & ..\bin\gen_lex_hash.exe > ..\sql\lex_hash.h'
This diff is collapsed.
// disable code inlining when building static libs
InlineCode = "no"
// include common options
include "MySQL-Opt.icc"
include "MySQL-Source.icc"
option ProjectOptions = MySQLOptions
, define( "MYSQL_SERVER", "")
, link(defaultlibsname, "common.lib")
, link(defaultlibsname, "myisam.lib")
, link(defaultlibsname, "isam.lib")
, link(defaultlibsname, "mysql.lib")
{
option define( "MYSQL_SERVER", "")
{
target "..\\bin\\mysqlbinlog.exe"
{
// optimized precompiled headers
option macros('global', 'yes')
{
source type('cpp') 'os2.h'
source type('cpp') 'errno.h', 'nerrno.h'
source type('cpp') 'config-os2.h', 'mysql_com.h'
/*
source type('cpp')
'global.h', 'my_base.h', 'config-os2.h',
'my_dir.h', 'my_sys.h', 'mysql.h',
'my_bitmap.h', 'violite.h',
'mysql_priv.h',
'm_string.h'
*/
}
// target source files
source type('cpp')
"..\\sql\\mysqlbinlog.cc"
option macros('global', 'yes')
{
source type('cpp') 'sys/stat.h'
}
source type('cpp') "..\\sql\\mini_client.cc"
option macros('global', 'yes')
{
source type('cpp') 'os2.h'
source type('cpp') 'math.h'
source type('cpp') 'stdio.h'
source type('cpp') 'stdlib.h'
source type('cpp') 'stddef.h'
source type('cpp') 'limits.h'
source type('cpp') 'sys/types.h'
source type('cpp') 'sys/time.h'
source type('cpp') 'types.h'
source type('cpp') 'stdarg.h'
source type('cpp') 'string.h'
}
source type('cpp') "..\\sql\\net_serv.cc",
"..\\sql\\mini_client_errors.c"
option macros('global', 'yes')
{
source type('cpp') 'assert.h'
}
source type('cpp') "..\\sql\\violite.c",
"..\\sql\\password.c"
//"..\\sql\\thr_malloc.cc"
}
}
}
31 Run Specifications: Version 1.1
40 E:\rd\mysql\vacpp-3.23.40\bin\mysqld.exe
1
0
0
5 Local
0
40 E:\rd\mysql\vacpp-3.23.40\bin\mysqld.exe
1
0
0
5 Local
0
......@@ -6,7 +6,6 @@ Welcome to the latest port of MySQL for OS/2 and eComStation.
Modules included in this build:
- protocol data compression
- transaction support
- perl BDB/BDI support (not in this package)
- Library and header files for C/CPP developers included
......@@ -24,7 +23,7 @@ some files may be in the public domain.
The latest information about MySQL can be found at: http://www.mysql.com
To get the latest information about this port please subscribe to our
newsgroup/mailinglist mysql2 at www.egroups.com.
newsgroup/mailinglist mysql2 at groups.yahoo.com.
To see what MySQL can do, take a look at the features section in the
manual. For future plans see the TODO appendix in the manual.
......@@ -58,7 +57,7 @@ Prerequisite:
OS/2 Warp Server for e-Business,
eComStation 1.0 (prev 1/2 OK)
- TCPIP 4.x installed (requires 32-bit tcpip stack)
- WarpIN installer 0.9.14 (ftp://ftp.os2.org/xworkplace/warpin-0-9-14.exe)
- WarpIN installer 0.9.16 (ftp://ftp.os2.org/xworkplace/warpin-0-9-16.exe)
Note: probably some fixpak level is required on both Warp3&Warp4 to
support >2GB file sizes.
......@@ -67,7 +66,7 @@ Save the installation archives into a temporary folder and double click
on the main package; otherwise you can drop the mysql package in your
WarpIN object or type
WARPIN MYSQL-3-23-??-BLD1.WPI
WARPIN MYSQL-3-23-??-B1.WPI
from the command line.
The configuration file for MySQL is named my.cnf and it is placed into
......@@ -75,9 +74,9 @@ your %ETC% directory. Usually it located into the boot driver under
x:\MPTN\ETC
If the installation detect an existing configuration file, this will be
renamed to my.cnf.bak; your current settings aren't migrated to current
installation. This file is not deleted by uninstall process.
If the installation detect an existing configuration file, it will not be
overwritten, keeping you settings; see x:\...\mysql\data\my.cnf.sample
for new settings. This file is not deleted by uninstall process.
Startup options for MySQL daemon could be added there.
As default, client connections uses data compression: if you don't like it,
......@@ -93,6 +92,19 @@ default into mysql\bin together with client applications. Copy it to your
x:\OS2\DLL or another directory in your LIBPATH to run command line
utilities from every place.
See documentation for manuals installation.
New features
------------
With build 4, the sql daemon supports a new option
--preload-client-dll
that enables preloading of mysql.dll and mysqlu.dll directly by the
server. This way, client programs doesn't need to have the dll's in
the current libpath.
Documentation
-------------
......@@ -102,7 +114,7 @@ INF documentation (requires OS/2 view or NewView).
The PDF documentation is found in
MYSQL-3-23-42-PDF.WPI
MYSQL-3-23-??-PDF.WPI
and the INF documentation is found in
......@@ -115,6 +127,9 @@ The INF documentation could contain errors because of semi-automatic
translation from texi original. Also it is not updated as the latest PDF
manual (sorry, but conversion from texi to ipf requires quite a lot of
work).
To install the manuals, their WPI must be placed in the same directory
of the main WPI package: once the main package installation is started,
new install options will be available (inf or pdf manual).
Support
......@@ -136,6 +151,7 @@ Since this software is ported for free, donations are welcome!
You can get also an extended support, which is not free and subject to
custom rates.
Ask in the mailing list for details.
At least, a post card is welcome!
Know problems
......@@ -161,8 +177,20 @@ All questions that are specific to the OS2/eComStation version should
be posted to this list! Please remember to include all relevant
information that may help solve your problem.
Building MySQL (VAC++ 4)
------------------------
Place zlib-1.1.4 at the same level of mysql-3.23.50
Place ufc lib at the same level of mysql-3.23.50
Add the following files:
include\config-os2.h
include\mysql_version.h
mysys\my_os2*.*
Get the following files from Windows source distribution:
strings\ctype_extra_sources.c
libmysql\dll.c
Apply file and patches found in the src\ directory (if exists).
Create the following subdirectories
......
......@@ -5,7 +5,6 @@ mkdir ..\lib
mkdir ..\obj
mkdir ..\obj\zlib
vacbld MySQL-Lib.icc -showprogress=10 -showwarning >> build-all.log
vacbld MySQL-Client.icc -showprogress=10 -showwarning >> build-all.log
vacbld MySQL-Sql.icc -showprogress=10 -showwarning >> build-all.log
vacbld MySQL-Util.icc -showprogress=10 -showwarning >> build-all.log
Item 237 of 47475 (0%) ... source file ..\mysys\list.c
Item 4357 of 29226 (15%) ... source region "extern int _Optlink _spawnve(int, const char *, const char ..."
Item 10021 of 16290 (62%) ... initializer [0x7319920] for uchar to_upper_latin1[]
Item 11487 of 15248 (75%) ... kernel-provided extension source file \rd\mysql\zlib-1.1.3\crc32.c
Item 12920 of 15380 (84%) ... body of function [0x6dca980] int my_strcoll_czech(const uchar *, const uchar *)
Item 13952 of 16411 (85%) ... output object file E:\rd\mysql\vacpp-3.23.33\os2\ft_search.obj
Item 14083 of 16542 (85%) ... publish library or executable marker
Item 1278 of 16668 (8%) ... source region "typedef STARTDATA *PSTARTDATA;"
Item 6013 of 8617 (70%) ... kernel-provided extension source file \rd\mysql\zlib-1.1.3\trees.c
Item 6962 of 8581 (81%) ... initializer [0x229bf00] for const char @485 (static target)[23] "Failed in mysql_init()"
Item 7519 of 9019 (83%) ... initializer [0x2337bc0] for const char @630 (static target)[20] "No query specified
"
Item 8502 of 10001 (85%) ... publish library or executable marker
Item 182 of 49201 (0%) ... source file ..\myisam\mi_statrec.c
Item 2136 of 46089 (5%) ... source region "class Item_sum_udf_float :public Item_udf_sum { public: Item_sum_udf_float ..."
Item 11112 of 25912 (43%) ... source region "extern uint _nisam_get_key(N_KEYDEF *keyinfo ..."
Item 13919 of 24304 (57%) ... initializer [0x1ec6f10] for const short yypgoto[]
Item 15179 of 23800 (64%) ... kernel-provided extension source file \rd\mysql\zlib-1.1.3\trees.c
Item 17342 of 24056 (72%) ... initializer [0x29d1180] for __vftType __vft10Field_date5Field[46]
Item 17912 of 24406 (73%) ... body of function [0x1d1df40] void Item_func_case::print(String *)
Item 18247 of 24721 (74%) ... template instantiation (0x2b9dd20) of declaration of class I_List<thread_info> (2b9dc20)
Item 18775 of 25165 (75%) ... initializer [0x2c45600] for __vftType __vft18Item_func_get_lock4Item[34]
Item 19066 of 25369 (75%) ... initializer [0x2c800d0] for const char @2105 (static target)[22] "parser stack overflow"
Item 19395 of 25535 (76%) ... body of function [0x171eef0] db_type ha_checktype(db_type)
Item 19682 of 25654 (77%) ... body of function [0x17f1860] void kill_mysql()
Item 20070 of 25717 (78%) ... body of function [0x183e570] Item *create_func_date_format(Item *, Item *)
Item 20541 of 25764 (80%) ... body of function [0x1802b40] uint acl_get(const char *, const char *, const char *, const char *, const char *)
Item 21017 of 25874 (81%) ... body of function [0x2c55180] String *field_str::get_max_arg(String *)
Item 21406 of 25988 (82%) ... initializer [0x372d950] for const char @2567 (static target)[7] "%s(%d)"
Item 22411 of 25867 (87%) ... body of function [0x161b160] Item_func_udf_int::Item_func_udf_int(udf_func *)
Item 23345 of 25805 (90%) ... initializer [0x3447840] for const char @2709 (static target)[27] "waiting for handler insert"
Item 23783 of 26226 (91%) ... initializer [0x39a95b0] for const char @2766 (static target)[25] "Creating delayed handler"
Item 24887 of 27330 (91%) ... body of function [0x2b075a0] Item_load_file::~Item_load_file()
Item 25018 of 27461 (91%) ... body of function [0x2cf5e50] Item_sum::Item_sum()
Item 25267 of 27710 (91%) ... body of function [0x1c93d80] bool select_export::send_data(List<Item> &)
Item 25484 of 27927 (91%) ... body of function [0x116e840] Item *create_func_ascii(Item *)
Item 3212 of 9073 (35%) ... source region "extern int _mi_cmp_static_record(MI_INFO *info,const byte ..."
Item 7171 of 8564 (84%) ... code csect _test_handle from library E:\bin\IBMCPP40\LIB\CPPRMS40.LIB
Item 8345 of 9738 (86%) ... target E:\rd\mysql\vacpp-3.23.33\os2\..\bin\test\testhash.exe
# Copyright (C) 2002 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
## Process this file with automake to create Makefile.in
EXTRA_DIST = config.h pwd.h sgtty.h termio.h
SUBDIRS = sys
# Don't update the files from bitkeeper
%::SCCS/s.%
#include <config-os2.h>
#include <types.h>
#undef HAVE_POSIX_SIGNALS
#undef HAVE_BSD_SIGNALS
#define TERMIO_TTY_DRIVER
#define ScreenCols() 80
#define ScreenRows() 25
#define tputs(a,b,c) puts(a)
#define kbhit _kbhit
//#define _read_kbd(a, b, c) _kbhit()
/* dummy */
/* dummy */
# Copyright (C) 2002 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
## Process this file with automake to create Makefile.in
EXTRA_DIST = file.h
# Don't update the files from bitkeeper
%::SCCS/s.%
/* dummy */
/* sys/termio.h (emx+gcc) */
#ifndef _SYS_TERMIO_H
#define _SYS_TERMIO_H
#if defined (__cplusplus)
extern "C" {
#endif
/* Request codes */
#if !defined (TCGETA)
#define TCGETA 1
#define TCSETA 2
#define TCSETAW 3
#define TCSETAF 4
#define TCFLSH 5
#define TCSBRK 6
#define TCXONC 7
#endif
/* c_cc indexes */
#if !defined (VINTR) /* Symbols common to termio.h and termios.h */
#define VINTR 0
#define VQUIT 1
#define VERASE 2
#define VKILL 3
#define VEOF 4
#define VEOL 5
#define VMIN 6
#define VTIME 7
#endif
#define NCC 8 /* Number of the above */
/* c_iflag, emx ignores most of the following bits */
#if !defined (IGNBRK) /* Symbols common to termio.h and termios.h */
#define IGNBRK 0x0001
#define BRKINT 0x0002
#define IGNPAR 0x0004
#define PARMRK 0x0008
#define INPCK 0x0010
#define ISTRIP 0x0020
#define INLCR 0x0040
#define IGNCR 0x0080
#define ICRNL 0x0100
#define IUCLC 0x0200
#define IXON 0x0400
#define IXANY 0x0800
#define IXOFF 0x1000
#define IDELETE 0x8000 /* Extension (emx) */
#endif
/* c_oflag, emx ignores all of the following bits */
#if !defined (OPOST) /* Symbols common to termio.h and termios.h */
#define OPOST 0x0001
#endif
#define OLCUC 0x0002
#define ONLCR 0x0004
#define OCRNL 0x0008
#define ONOCR 0x0010
#define ONLRET 0x0020
#define OFILL 0x0040
#define OFDEL 0x0080
#define NLDLY 0x0100 /* Mask */
#define NL0 0x0000
#define NL1 0x0100
#define CRDLY 0x0600 /* Mask */
#define CR0 0x0000
#define CR1 0x0200
#define CR2 0x0400
#define CR3 0x0600
#define TABDLY 0x1800 /* Mask */
#define TAB0 0x0000
#define TAB1 0x0800
#define TAB2 0x1000
#define TAB3 0x1800
#define BSDLY 0x2000 /* Mask */
#define BS0 0x0000
#define BS1 0x2000
#define VTDLY 0x4000 /* Mask */
#define VT0 0x0000
#define VT1 0x4000
#define FFDLY 0x8000 /* Mask */
#define FF0 0x0000
#define FF1 0x8000
/* c_cflag, emx ignores all of the following bits */
#if !defined (CBAUD)
#define CBAUD 0x000f /* Mask */
#endif
#if !defined (B0) /* Symbols common to termio.h and termios.h */
#define B0 0x0000
#define B50 0x0001
#define B75 0x0002
#define B110 0x0003
#define B134 0x0004
#define B150 0x0005
#define B200 0x0006
#define B300 0x0007
#define B600 0x0008
#define B1200 0x0009
#define B1800 0x000a
#define B2400 0x000b
#define B4800 0x000c
#define B9600 0x000d
#define B19200 0x000e
#define B38400 0x000f
#define CSIZE 0x0030 /* Mask */
#define CS5 0x0000
#define CS6 0x0010
#define CS7 0x0020
#define CS8 0x0030
#define CSTOPB 0x0040
#define CREAD 0x0080
#define PARENB 0x0100
#define PARODD 0x0200
#define HUPCL 0x0400
#define CLOCAL 0x0800
#define LOBLK 0x1000
#endif
/* c_lflag, emx ignores some of the following bits */
#if !defined (ISIG) /* Symbols common to termio.h and termios.h */
#define ISIG 0x0001
#define ICANON 0x0002
#define XCASE 0x0004
#define ECHO 0x0008
#define ECHOE 0x0010
#define ECHOK 0x0020
#define ECHONL 0x0040
#define NOFLSH 0x0080
#define IDEFAULT 0x8000 /* Extension (emx) */
#endif
struct termio
{
unsigned int c_iflag;
unsigned int c_oflag;
unsigned int c_cflag;
unsigned int c_lflag;
unsigned int c_line;
unsigned char c_cc[NCC];
};
#if defined (__cplusplus)
}
#endif
#endif /* not _SYS_TERMIO_H */
#include "mysql.ih"
<WARPIN VERSION <$WARPIN_VERSION>>
<HEAD>
<PCK INDEX=1
PACKAGEID="TCX Datakonsult AB\MySQL for OS/2\SQL Database Engine\<$MySQL\Ver>"
TARGET="?:\usr\local\mysql" BASE
TITLE="SQL Database Engine"
EXECUTE="$(1)\bootstrap.cmd [bootstrap]"
CONFIG.SYS="SET EMXOPT=-h1024 | UNIQUE(-h)"
CREATEOBJECT="WPFolder|MySQL <$MySQL.Ver>|<WP_DESKTOP>|OBJECTID=<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_FOLDER>"
CREATEOBJECT="WPProgram|Console|<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_FOLDER>|EXENAME=$(1)\bin\mysql.exe;STARTUPDIR=$(1)\bin;ICONFILE=$(1)\bin\icons\mysql-client.ico;OBJECTID=<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_CONSOLE>;"
CREATEOBJECT="WPProgram|Start server|<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_FOLDER>|EXENAME=$(1)\bin\mysqld.exe;ICONFILE=$(1)\bin\icons\mysql-startserver.ico;OBJECTID=<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_START>;"
CREATEOBJECT="WPProgram|Shutdown server|<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_FOLDER>|EXENAME=$(1)\bin\mysqladmin.exe;STARTUPDIR=$(1)\bin;PARAMETERS=-u root shutdown;ICONFILE=$(1)\bin\icons\mysql-shutdownserver.ico;OBJECTID=<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_SHUTDOWN>;"
CREATEOBJECT="WPProgram|Readme first|<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_FOLDER>|EXENAME=e.exe;PARAMETERS=$(1)\readme.os2;OBJECTID=<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_README>;"
SELECT
>This package will install MySQL for OS/2 SQL engine
</PCK>
<PCK INDEX=2
PACKAGEID="TCX Datakonsult AB\MySQL for OS/2\Developement Kit\<$MySQL\Ver>"
TARGET="?:\usr\local\mysql"
TITLE="Developement Kit"
SELECT
>This package will install MySQL for OS/2 sdk
</PCK>
<PCK INDEX=3
PACKAGEID="TCX Datakonsult AB\MySQL for OS/2\PDF manual\<$MySQL\Ver>"
TARGET="?:\usr\local\mysql"
TITLE="PDF manual"
EXTERNAL="mysql-3-23-28-gamma-pdf.wpi"
CREATEOBJECT="WPShadow|PDF Manual|<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_FOLDER>|SHADOWID=$(1)\docs\manual.pdf"
SELECT
>This package will install MySQL for OS/2 documentation
</PCK>
<PCK INDEX=4
PACKAGEID="TCX Datakonsult AB\MySQL for OS/2\INF manual\<$MySQL\Ver>"
TARGET="?:\usr\local\mysql"
TITLE="INF manual"
EXTERNAL="mysql-3-23-28-gamma-inf.wpi"
CREATEOBJECT="WPProgram|MySQL Manual|<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_FOLDER>|EXENAME=view.exe;PARAMETERS=$(1)\docs\manual.inf;ICONFILE=$(1)\bin\icons\mysql-manual.ico;OBJECTID=<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_INFMANUAL>;"
SELECT
>This package will install MySQL for OS/2 documentation
</PCK>
<PCK INDEX=5
PACKAGEID="TCX Datakonsult AB\MySQL for OS/2\Test suite\<$MySQL\Ver>"
TARGET="?:\usr\local\mysql"
TITLE="Test suite"
EXTERNAL="mysql-<$MySQL-Ver>-test.wpi"
CREATEOBJECT="WPProgram|Run MySQL Test Suite|<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_FOLDER>|EXENAME=$(5)\mysql-test\mysql-test.cmd;PARAMETERS=$(1)\docs\manual.inf;ICONFILE=$(1)\bin\icons\mysql-manual.ico;OBJECTID=<MYSQL_<$MySQL.Major>_<$MySQL.Minor>_TESTSUITE>;"
SELECT
>This package will install MySQL for OS/2 test suite
</PCK>
</HEAD>
<!-- Here come the different pages. They are linked by
the <NEXTBUTTON> tags, which must have a target.
Each page must have a TYPE= attribute, which tells
WarpIn what will be visible on that page. -->
<BODY>
<!-- page1: introduction ->>
<PAGE INDEX=1 TYPE=README>
<TEXT>
</TEXT>
<NEXTBUTTON TARGET=2>~Next</NEXTBUTTON>
<README FORMAT=HTML>
<P>Welcome to the latest port of MySQL for <B>OS/2 and eComStation</B>.
<P>You are about to install <B>MySQL <$MySQL.Ver></B>
<BR>
<BR>
<P>Select "Next" to continue.
<P>Select "Cancel" to abort installation.
</README>
</PAGE>
<!-- show readme.os2 -->
<PAGE INDEX=2 TYPE=README>
<NEXTBUTTON TARGET=3>~Next</NEXTBUTTON>
<TEXT>
</TEXT>
<README FORMAT=PLAIN EXTRACTFROMPCK="1">readme.os2</README>
</PAGE>
<!-- show GPL license -->
<PAGE INDEX=3 TYPE=README>
<NEXTBUTTON TARGET=4>~I agree</NEXTBUTTON>
<TEXT>
By pressing the "I agree" button, you agree to all terms and conditions to the below licence agreement.
</TEXT>
<README FORMAT=HTML EXTRACTFROMPCK="1">license.htm</README>
</PAGE>
<!-- The TYPE=CONTAINER will list the packages which can be installed. -->
<PAGE INDEX=4 TYPE=CONTAINER>
<NEXTBUTTON TARGET=5>~Next</NEXTBUTTON>
<TEXT>
Please select the packages which are to be installed. You may change the target paths for the packages.
</TEXT>
</PAGE>
<!-- Here's another TYPE=TEXT page before we install.
The special target "0" indicates that after this page we
should start installation.
Note that the TYPE=INSTALL page (which we had in Alpha #3)
is no longer supported. -->
<PAGE INDEX=5 TYPE=TEXT>
<NEXTBUTTON TARGET=0>I~nstall</NEXTBUTTON>
<TEXT>
Press "Install" to begin installing this archive.</TEXT>
</PAGE>
</BODY>
</WARPIN>
#define WARPIN_VERSION "0.9.12"
#define MySQL.Major 3
#define MySQL.Minor 23
#define MySQL.Rev 40
#define MySQL\VER 3\23\40
#define MySQL.VER 3.23.40
#define MySQL-VER 3-23-40
MySQL 3.23.40 for OS/2 Warp build 1
====================================================
Contents
--------
Welcome to the latest port of MySQL for OS/2 and eComStation.
Modules included in this build:
- protocol data compression
- transaction support
- perl BDB/BDI support (not in this package)
- Library and header files for C/CPP developers included
This package has been built using IBM VAC++ 4.0
The MySQL server is distributed under the GPL license. Please refer to
the file COPYING for the license information.
The MySQL client library is distributed under the LGPL license.
Please refer to the file COPYING for the license information.
Most of the MySQL clients are distributed under the GPL license, but
some files may be in the public domain.
The latest information about MySQL can be found at: http://www.mysql.com
To get the latest information about this port please subscribe to our
newsgroup/mailinglist mysql2 at www.egroups.com.
To see what MySQL can do, take a look at the features section in the
manual. For future plans see the TODO appendix in the manual.
New features/bug fixes history is in the news appendix in the manual.
For the currently known bugs/misfeatures (known errors) see the bugs
appendix in the manual. The OS/2 section contains notes that are
specific to the MySQL OS/2 and eComStation version.
Please note that MySQL is a constantly moving target. New builds for
Linux are made available every week. This port may therefore be a few
minor versions after the latest Linux/Win32 builds but its generally
more stable than the "latest and greates" port.
MySQL is brought to you by: TcX DataKonsult AB & MySQL Finland AB
This port is brought to you by:
Yuri Dario <mc6530@mclink.it>, development, porting
Timo Maier <tam@gmx.de>, documentation, testing
John M Alfredsson <jma@jmast.se>, documentation, testing
Installation
------------
Prerequisite:
- OS/2 Warp 3 with FP ?? or later,
OS/2 Warp 4 with FP ?? or later,
OS/2 Warp Server for e-Business,
eComStation 1.0 (prev 1/2 OK)
- TCPIP 4.x installed (requires 32-bit tcpip stack)
- WarpIN installer 0.9.12 (ftp://ftp.os2.org/xworkplace/warpin-0-9-12.zip)
Note: probably some fixpak level is required on both Warp3&Warp4 to
support >2GB file sizes.
Save the installation archives into a temporary folder and double click
on the main package; otherwise you can drop the mysql package in your
WarpIN object or type
WARPIN MYSQL-3-23-??-B1.WPI
from the command line.
The configuration file for MySQL is named my.cnf and it is placed into
your %ETC% directory. Usually it located into the boot driver under
x:\MPTN\ETC
If the installation detect an existing configuration file, this will be
renamed to my.cnf.bak; your current settings aren't migrated to current
installation. This file is not deleted by uninstall process.
Startup options for MySQL daemon could be added there.
As default, client connections uses data compression: if you don't like it,
remove the following from your %ETC%\my.cnf
[client]
compress
The server switches automatically compression mode on client request.
SMP systems: while my developement system is a SMP one, and here MySQL seems
to run fine with two processors enabled, keep in mind that both EMX runtime
and current thread model are not SMP safe.
This release comes with DLL client library MYSQL.DLL: it is installed by
default into mysql\bin together with client applications. Copy it to your
x:\OS2\DLL or another directory in your LIBPATH to run command line
utilities from every place.
Documentation
-------------
Documentation is provided in separate files. You can use either
the PDF documentation (requires Adobe Acrobat Reader) or the
INF documentation (requires OS/2 view or NewView).
The PDF documentation is found in MYSQL-3-23-28-PDF.WPI and
the INF documentation is found in MYSQL-3-23-28-INF.WPI
The latest documentation can always be downloaded from
http://www.mysql.com. However this documentation may
no fully apply to this port.
The INF documentation could contain errors because of semi-automatic
translation from texi original.
Support
-------
Since MySQL is a OpenSource freeware product there are no
formal support options available.
Please subscribe to mysql2 at www.egroups.com to get in contact
with other users using this port.
http://www.egroups.com/group/mysql2
This newsgroup/mailinglist is the official "home" of this port.
Know problems
-------------
alter_table.test and show_check are failing, reporting a different status
message: actually seems only a different text, no bugs in table checking.
Apache/2 + PHP
--------------
To avoid problems with different socket when you use PHP and Apache
webserver, get the PHP4 module from the Apache Server for OS/2 homepage
http://silk.apana.org.au/apache/
Developing MySQL
----------------
If you want to help us develop MySQL for OS2/eComStation please join
the mysql2 mailinglist at www.egroups.com and ask for help to set up
your environment!
All questions that are specific to the OS2/eComStation version should
be posted to this list! Please remember to include all relevant
information that may help solve your problem.
Building MySQL (EMX)
--------------------
NOTE: these instructions are outdated
db-3.2.x: before compiling MySQL, you need to setup Berkeley DB. Untar
the distribution, enter dist directory and run
attrib -r * /s
sh -c s_config
to create proper aclocal macros and configure headers.
In the src directory you will find patches used to build this release
of MySQL.
You can run 'sh -c config.status' to create current makefiles without
running autoconf & configure.
apply previous patches (if not already included)
sh -c autoconf (upgrade scripts)
sh -c configure.os2 (config system)
edit config.status:
s%@MYSQL_UNIX_ADDR@%\\socket\\MySQL%g
s%@LN_CP_F@%cp.exe%g
replace -O2 -m486 with -mpentiumpro
sh -c config.status (upgrade makefiles again)
edit libmysql\Makefile
remove all occurences of -Zexe
replace libmysqlclient with libmysql (case sensitive search)
edit client\Makefile
replace libmysqlclient with libmysql (case sensitive search)
make
After config.status, you have to edit include\mysql_version.h and correct
the socket definition (\\socket\\MySQL is correct).
If you go with configure, you have to change LN_CP_F macro from 'ln -s' to
'cp' and correct all makefiles (sh -c config.status will do it).
No preview for this file type
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