mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
.. | ||
configure.js | ||
create_def_file.js | ||
create_manifest.js | ||
Makefile.am | ||
mysql_manifest.cmake | ||
README |
Windows building readme ====================================== ----------------IMPORTANT---------------------------- This readme outlines the instructions for building MySQL for Windows staring from version 5.1. This readme does not apply to MySQL versions 5.0 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 bzr clone. The steps required are below. Step 1: ------- Install a Windows C++ compiler. If you don't have one, you can use the free compiler "Visual C++ 2005 express edition", which from Cmake point of view is same as Visual studio 8: http://msdn.microsoft.com/vstudio/express/ Step 2 ------ 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 3 ------ 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. (As an alternative you can take the sql_yacc.yy and sql_yacc.h files from a matching mysql tar distribution and drop them into the sql directory just before you start the build) Step 4 ------ Clone your bzr tree to any location you like. Step 5 ------ From the root of your installation directory, execute the command: win\configure <options> The options right now are: WITH_INNOBASE_STORAGE_ENGINE Enable particular storage engines WITH_PARTITION_STORAGE_ENGINE WITH_ARCHIVE_STORAGE_ENGINE WITH_BLACKHOLE_STORAGE_ENGINE WITH_EXAMPLE_STORAGE_ENGINE WITH_FEDERATED_STORAGE_ENGINE __NT__ Enable named pipe support WITHOUT_ATOMICS Do not use atomic instructions MYSQL_SERVER_SUFFIX=<suffix> Server suffix, default none COMPILATION_COMMENT=<comment> Server comment, default "Source distribution" MYSQL_TCP_PORT=<port> Server port, default 3306 CYBOZU Default character set is UTF8 EMBED_MANIFESTS Embed custom manifests into final exes, otherwise VS default will be used. (Note - This option should only be used by MySQL AB.) WITH_EMBEDDED_SERVER Configure solution to produce libmysqld.dll and the static mysqlserver.lib So the command line could look like: win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro Step 6 ------ From the root of your installation directory/bzr clone, you can use cmake to compile the sources.Use cmake --help when necessary. Before you run cmake with changed settings (compiler, system libraries, options, ...), make sure you delete the CMakeCache.txt generated by your previous run. C:\>del CMakeCache.txt C:\>cmake . -G "target name" For Example: To generate the Win64 project files using Visual Studio 9, you would run cmake . -G "Visual Studio 9 2008 Win64" Other target names supported using CMake 2.6 patch 4 are: Visual Studio 7 "Visual Studio 7 .NET 2003" Visual Studio 8 "Visual Studio 8 2005" Visual Studio 8 (64 bit) "Visual Studio 8 2005 Win64" Visual Studio 9 "Visual Studio 9 2008" Visual Studio 9 (64 bit) "Visual Studio 9 2008 Win64" For generating project files using Visual Studio 10, you need CMake 2.8 or higher and corresponding target names are Visual Studio 10 Visual Studio 10 Win64 Step 7 ------ From the root of your bzr clone, start your build. For Visual Studio, 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 5 you only need to add the libraries advapi32.lib and user32.lib to the file "corewin_express.vsprops" in order to avoid link errors.