mariadb/win/README

87 lines
3.3 KiB
Text
Raw Normal View History

Additional files for cmake support CMakeLists.txt: New BitKeeper file ``CMakeLists.txt'' bdb/CMakeLists.txt: New BitKeeper file ``bdb/CMakeLists.txt'' client/CMakeLists.txt: New BitKeeper file ``client/CMakeLists.txt'' dbug/CMakeLists.txt: New BitKeeper file ``dbug/CMakeLists.txt'' extra/CMakeLists.txt: New BitKeeper file ``extra/CMakeLists.txt'' extra/yassl/CMakeLists.txt: New BitKeeper file ``extra/yassl/CMakeLists.txt'' extra/yassl/taocrypt/CMakeLists.txt: New BitKeeper file ``extra/yassl/taocrypt/CMakeLists.txt'' heap/CMakeLists.txt: New BitKeeper file ``heap/CMakeLists.txt'' innobase/CMakeLists.txt: New BitKeeper file ``innobase/CMakeLists.txt'' libmysql/CMakeLists.txt: New BitKeeper file ``libmysql/CMakeLists.txt'' myisam/CMakeLists.txt: New BitKeeper file ``myisam/CMakeLists.txt'' myisammrg/CMakeLists.txt: New BitKeeper file ``myisammrg/CMakeLists.txt'' mysys/CMakeLists.txt: New BitKeeper file ``mysys/CMakeLists.txt'' regex/CMakeLists.txt: New BitKeeper file ``regex/CMakeLists.txt'' server-tools/CMakeLists.txt: New BitKeeper file ``server-tools/CMakeLists.txt'' server-tools/instance-manager/CMakeLists.txt: New BitKeeper file ``server-tools/instance-manager/CMakeLists.txt'' sql/CMakeLists.txt: New BitKeeper file ``sql/CMakeLists.txt'' sql/examples/CMakeLists.txt: New BitKeeper file ``sql/examples/CMakeLists.txt'' strings/CMakeLists.txt: New BitKeeper file ``strings/CMakeLists.txt'' tests/CMakeLists.txt: New BitKeeper file ``tests/CMakeLists.txt'' vio/CMakeLists.txt: New BitKeeper file ``vio/CMakeLists.txt'' win/Makefile.am: New BitKeeper file ``win/Makefile.am'' win/README: New BitKeeper file ``win/README'' win/build-vs71.bat: New BitKeeper file ``win/build-vs71.bat'' win/build-vs8.bat: New BitKeeper file ``win/build-vs8.bat'' win/build-vs8_x64.bat: New BitKeeper file ``win/build-vs8_x64.bat'' win/configure.js: New BitKeeper file ``win/configure.js'' zlib/CMakeLists.txt: New BitKeeper file ``zlib/CMakeLists.txt''
2006-08-31 19:52:42 +02:00
Windows building readme
======================================
----------------IMPORTANT----------------------------
This readme outlines the instructions for building
MySQL for Windows staring from version 5.0.
This readme does not apply to MySQL versions 5.1
or ealier.
-----------------------------------------------------
The Windows build system uses a tool named CMake to generate build files for
a variety of project systems. This tool is combined with a set of jscript
files to enable building of MySQL for Windows directly out of a bk clone.
The steps required are below.
Step 1
------
Download and install CMake. It can be downloaded from http://www.cmake.org.
Once it is installed, modify your path to make sure you can execute
the cmake binary.
Step 2
------
Download and install bison for Windows. It can be downloaded from
http://gnuwin32.sourceforge.net/packages/bison.htm. Please download using
the link named "Complete package, excluding sources". This includes an
installer that will install bison. After the installer finishes, modify
your path so that you can execute bison.
Step 3
------
Clone your bk tree to any location you like.
Step 4
------
From the root of your bk clone, execute the command: win\configure <options>.
The options right now are
WITH_INNOBASE_STORAGE_ENGINE Enable particular storage engines
WITH_ARCHIVE_STORAGE_ENGINE
WITH_BERKELEY_STORAGE_ENGINE
WITH_BLACKHOLE_STORAGE_ENGINE
WITH_EXAMPLE_STORAGE_ENGINE
WITH_FEDERATED_STORAGE_ENGINE
WITH_INNOBASE_STORAGE_ENGINE
__NT__ Enable named pipe support
MYSQL_SERVER_SUFFIX=<suffix> Server suffix, default none
COMPILATION_COMMENT=<comment> Server comment, default "Source distribution"
MYSQL_TCP_PORT=<port> Server port, default 3306
WL #3670: Compile-time option to remove GRANT-related startup options - configure --disable-grant-options defines DISABLE_GRANT_OPTIONS - configure.js/cmake also updated - if DISABLE_GRANT_OPTIONS is defined, mysqld no longer recognizes: --bootstrap --init-file --skip-grant-tables Scripts which rely on those three options are modified to check the environment for MYSQLD_BOOTSTRAP; it should be set to the full path of a mysqld which does handle those options. For example: $ export MYSQLD_BOOTSTRAP $ MYSQLD_BOOTSTRAP=/path/to/full/MySQL/bin/mysqld $ mysql_install_db $ make test configure.in: WL#3670 Add --disable-grant-options mysql-test/install_test_db.sh: Add MYSQLD_BOOTSTRAP env variable, to enable test suite to work even if mysqld does not accept --bootstrap or --skip-grant-tables. mysql-test/mysql-test-run.pl: Add MYSQLD_BOOTSTRAP env variable, to enable test suite to work even if mysqld does not accept --bootstrap or --skip-grant-tables. mysql-test/mysql_test_run_new.c: Mention need for MYSQLD_BOOTSTRAP in a comment, in case this needs to be used with a mysqld which does not accept the --bootstrap option. scripts/mysql_install_db.sh: Add MYSQLD_BOOTSTRAP env variable, to enable mysqld_install_db to work even if mysqld does not accept --bootstrap or --skip-grant-tables. sql/CMakeLists.txt: Add DISABLE_GRANT_OPTIONS define sql/mysqld.cc: Add DISABLE_GRANT_OPTIONS define, which removes the --bootstrap, --init-file, and --skip-grant-tables options win/README: Document the DISABLE_GRANT_OPTIONS define win/configure.js: Handle DISABLE_GRANT_OPTIONS
2007-01-09 19:22:01 -07:00
DISABLE_GRANT_OPTIONS Disables the use of --init-file and --skip-grant-tables
options of mysqld.exe
Bug#24732 Executables do not include Vista manifests - Added script to generate application specific manifest. - Added new CMake MACRO to add customer build events which will first generate a manifest and then embeds that manifest into an executable. BitKeeper/etc/ignore: Bug#24732 Executables do not include Vista manifests - Revise ignore rules to disallow auto-generated cmake files but to allow custom macros defined in a .cmake file. CMakeLists.txt: Bug#24732 Executables do not include Vista manifests - Added logic for EMBED_MANIFESTS configuration option. client/CMakeLists.txt: Bug#24732 Executables do not include Vista manifests - Embed manifest with custom CMake MACRO for client executables. extra/CMakeLists.txt: Bug#24732 Executables do not include Vista manifests - Embed manifest with custom CMake MACRO for my_print_default executable. libmysql/CMakeLists.txt: Bug#24732 Executables do not include Vista manifests - Embed manifest with custom CMake MACRO for myTest executable. myisam/CMakeLists.txt: Bug#24732 Executables do not include Vista manifests - Embed manifest with custom CMake MACRO for myisam executables. server-tools/instance-manager/CMakeLists.txt: Bug#24732 Executables do not include Vista manifests - Embed manifest with custom CMake MACRO for mysqlmanager executable. sql/CMakeLists.txt: Bug#24732 Executables do not include Vista manifests - Embed manifest with custom CMake MACRO for mysqld executable. win/README: Bug#24732 Executables do not include Vista manifests - Added new configuration option documentation. win/configure.js: Bug#24732 Executables do not include Vista manifests - Added new EMBED_MANIFESTS configuration option. win/create_manifest.js: Bug#24732 Executables do not include Vista manifests - Manifest generator. This script generates a basic manifest. win/mysql_manifest.cmake: Bug#24732 Executables do not include Vista manifests - Define new CMake MACRO for adding Windows manifests to executables.
2007-04-23 15:41:24 -04:00
EMBED_MANIFESTS Embed custom manifests into final exes, otherwise VS
default will be used. (Note - This option should only be
used by MySQL AB.)
WL #3670: Compile-time option to remove GRANT-related startup options - configure --disable-grant-options defines DISABLE_GRANT_OPTIONS - configure.js/cmake also updated - if DISABLE_GRANT_OPTIONS is defined, mysqld no longer recognizes: --bootstrap --init-file --skip-grant-tables Scripts which rely on those three options are modified to check the environment for MYSQLD_BOOTSTRAP; it should be set to the full path of a mysqld which does handle those options. For example: $ export MYSQLD_BOOTSTRAP $ MYSQLD_BOOTSTRAP=/path/to/full/MySQL/bin/mysqld $ mysql_install_db $ make test configure.in: WL#3670 Add --disable-grant-options mysql-test/install_test_db.sh: Add MYSQLD_BOOTSTRAP env variable, to enable test suite to work even if mysqld does not accept --bootstrap or --skip-grant-tables. mysql-test/mysql-test-run.pl: Add MYSQLD_BOOTSTRAP env variable, to enable test suite to work even if mysqld does not accept --bootstrap or --skip-grant-tables. mysql-test/mysql_test_run_new.c: Mention need for MYSQLD_BOOTSTRAP in a comment, in case this needs to be used with a mysqld which does not accept the --bootstrap option. scripts/mysql_install_db.sh: Add MYSQLD_BOOTSTRAP env variable, to enable mysqld_install_db to work even if mysqld does not accept --bootstrap or --skip-grant-tables. sql/CMakeLists.txt: Add DISABLE_GRANT_OPTIONS define sql/mysqld.cc: Add DISABLE_GRANT_OPTIONS define, which removes the --bootstrap, --init-file, and --skip-grant-tables options win/README: Document the DISABLE_GRANT_OPTIONS define win/configure.js: Handle DISABLE_GRANT_OPTIONS
2007-01-09 19:22:01 -07:00
Additional files for cmake support CMakeLists.txt: New BitKeeper file ``CMakeLists.txt'' bdb/CMakeLists.txt: New BitKeeper file ``bdb/CMakeLists.txt'' client/CMakeLists.txt: New BitKeeper file ``client/CMakeLists.txt'' dbug/CMakeLists.txt: New BitKeeper file ``dbug/CMakeLists.txt'' extra/CMakeLists.txt: New BitKeeper file ``extra/CMakeLists.txt'' extra/yassl/CMakeLists.txt: New BitKeeper file ``extra/yassl/CMakeLists.txt'' extra/yassl/taocrypt/CMakeLists.txt: New BitKeeper file ``extra/yassl/taocrypt/CMakeLists.txt'' heap/CMakeLists.txt: New BitKeeper file ``heap/CMakeLists.txt'' innobase/CMakeLists.txt: New BitKeeper file ``innobase/CMakeLists.txt'' libmysql/CMakeLists.txt: New BitKeeper file ``libmysql/CMakeLists.txt'' myisam/CMakeLists.txt: New BitKeeper file ``myisam/CMakeLists.txt'' myisammrg/CMakeLists.txt: New BitKeeper file ``myisammrg/CMakeLists.txt'' mysys/CMakeLists.txt: New BitKeeper file ``mysys/CMakeLists.txt'' regex/CMakeLists.txt: New BitKeeper file ``regex/CMakeLists.txt'' server-tools/CMakeLists.txt: New BitKeeper file ``server-tools/CMakeLists.txt'' server-tools/instance-manager/CMakeLists.txt: New BitKeeper file ``server-tools/instance-manager/CMakeLists.txt'' sql/CMakeLists.txt: New BitKeeper file ``sql/CMakeLists.txt'' sql/examples/CMakeLists.txt: New BitKeeper file ``sql/examples/CMakeLists.txt'' strings/CMakeLists.txt: New BitKeeper file ``strings/CMakeLists.txt'' tests/CMakeLists.txt: New BitKeeper file ``tests/CMakeLists.txt'' vio/CMakeLists.txt: New BitKeeper file ``vio/CMakeLists.txt'' win/Makefile.am: New BitKeeper file ``win/Makefile.am'' win/README: New BitKeeper file ``win/README'' win/build-vs71.bat: New BitKeeper file ``win/build-vs71.bat'' win/build-vs8.bat: New BitKeeper file ``win/build-vs8.bat'' win/build-vs8_x64.bat: New BitKeeper file ``win/build-vs8_x64.bat'' win/configure.js: New BitKeeper file ``win/configure.js'' zlib/CMakeLists.txt: New BitKeeper file ``zlib/CMakeLists.txt''
2006-08-31 19:52:42 +02:00
So the command line could look like:
CMakeLists.txt, README, configure.js Several adjustments to make client libraries pass the link test on both win32 and winx64, Visual Studio 2003 and 2005 (bug#30118) win/README: - Removed references to PARTITION engine, 5.1 only win/configure.js: - Removed references to PARTITION engine, 5.1 only extra/CMakeLists.txt: Use the special 'debug' list element to mark that "dbug" library is only to be linked against if build type "Debug". myisam/CMakeLists.txt: Use the special 'debug' list element to mark that "dbug" library is only to be linked against if build type "Debug". scripts/CMakeLists.txt: Use the special 'debug' list element to mark that "dbug" library is only to be linked against if build type "Debug". server-tools/instance-manager/CMakeLists.txt: Use the special 'debug' list element to mark that "dbug" library is only to be linked against if build type "Debug". sql/CMakeLists.txt: Use the special 'debug' list element to mark that "dbug" library is only to be linked against if build type "Debug". mysys/CMakeLists.txt: Restored include path to "mysys" itself dbug/CMakeLists.txt: Changed to optionally be included to give a file list only extra/yassl/CMakeLists.txt: Changed to optionally be included to give a file list only extra/yassl/taocrypt/CMakeLists.txt: Changed to optionally be included to give a file list only zlib/CMakeLists.txt: Changed to optionally be included to give a file list only libmysql/CMakeLists.txt: For compatibility with Visual Studio 2005, list all files that are to be part of the library build, i.e. libraries can't be built from other libraries. Set SOURCE_SUBLIBS and include the file listings from "zlib", "dbug", "taocrypt" and "yassl"
2007-08-03 21:51:37 +02:00
win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_ARCHIVE_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-my-suffix
Additional files for cmake support CMakeLists.txt: New BitKeeper file ``CMakeLists.txt'' bdb/CMakeLists.txt: New BitKeeper file ``bdb/CMakeLists.txt'' client/CMakeLists.txt: New BitKeeper file ``client/CMakeLists.txt'' dbug/CMakeLists.txt: New BitKeeper file ``dbug/CMakeLists.txt'' extra/CMakeLists.txt: New BitKeeper file ``extra/CMakeLists.txt'' extra/yassl/CMakeLists.txt: New BitKeeper file ``extra/yassl/CMakeLists.txt'' extra/yassl/taocrypt/CMakeLists.txt: New BitKeeper file ``extra/yassl/taocrypt/CMakeLists.txt'' heap/CMakeLists.txt: New BitKeeper file ``heap/CMakeLists.txt'' innobase/CMakeLists.txt: New BitKeeper file ``innobase/CMakeLists.txt'' libmysql/CMakeLists.txt: New BitKeeper file ``libmysql/CMakeLists.txt'' myisam/CMakeLists.txt: New BitKeeper file ``myisam/CMakeLists.txt'' myisammrg/CMakeLists.txt: New BitKeeper file ``myisammrg/CMakeLists.txt'' mysys/CMakeLists.txt: New BitKeeper file ``mysys/CMakeLists.txt'' regex/CMakeLists.txt: New BitKeeper file ``regex/CMakeLists.txt'' server-tools/CMakeLists.txt: New BitKeeper file ``server-tools/CMakeLists.txt'' server-tools/instance-manager/CMakeLists.txt: New BitKeeper file ``server-tools/instance-manager/CMakeLists.txt'' sql/CMakeLists.txt: New BitKeeper file ``sql/CMakeLists.txt'' sql/examples/CMakeLists.txt: New BitKeeper file ``sql/examples/CMakeLists.txt'' strings/CMakeLists.txt: New BitKeeper file ``strings/CMakeLists.txt'' tests/CMakeLists.txt: New BitKeeper file ``tests/CMakeLists.txt'' vio/CMakeLists.txt: New BitKeeper file ``vio/CMakeLists.txt'' win/Makefile.am: New BitKeeper file ``win/Makefile.am'' win/README: New BitKeeper file ``win/README'' win/build-vs71.bat: New BitKeeper file ``win/build-vs71.bat'' win/build-vs8.bat: New BitKeeper file ``win/build-vs8.bat'' win/build-vs8_x64.bat: New BitKeeper file ``win/build-vs8_x64.bat'' win/configure.js: New BitKeeper file ``win/configure.js'' zlib/CMakeLists.txt: New BitKeeper file ``zlib/CMakeLists.txt''
2006-08-31 19:52:42 +02:00
Step 5
------
From the root of your bk clone, execute one of the batch files to generate the type
of project files you desire.
For Visual Studio 8, do win\build-vs8.
For Visual Studio 7.1, do win\build-vs71.
We will support building with nmake in the near future.
Step 6
------
From the root of your bk clone, start your build.
For Visual Studio, simply execute mysql.sln. This will start the IDE and you can
click the build solution menu option.
Current issues
--------------
1. After changing configuration (eg. adding or removing a storage engine), it
may be necessary to clean the build tree to remove any stale objects.
2. To use Visual C++ Express Edition you also need to install the Platform SDK.
Please see this link: http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
At step 4 you only need to add the libraries advapi32.lib and user32.lib to
the file "corewin_express.vsprops" in order to avoid link errors.