Commit 53f6e8bc authored by Sunanda Menon's avatar Sunanda Menon

#57746: Win directory of source distribution - out-of-date files / support for new files

( Based on review comments)
parent a9a6cd13
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.
For relevant information, please refer to http://forge.mysql.com/wiki/CMake
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
------
One of the nice CMake features is "out-of-source" build support, which
means not building in the source directory, but in dedicated build
directory. This keeps the source directory clean and allows for more than
single build tree for the same source tree (e.g debug and release, 32 and
64 bit etc). We'll create subdirectory "bld" in the source directory for
this purpose. Clone your bzr tree to any location you like.
Step 5
------
From the root of your installation directory use cmake . -L to see the
various configuration parameters.
So the command line could look like:
cmake .. -G "target" -DWITH_INNOBASE_STORAGE_ENGINE=1
The recommended way of configuring would be to use -DBUILD_CONFIG=mysql_release
to build binaries exactly the same as the official MySQL releases.
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 start building the sources, please remove the old build area
created from an earlier run and start afresh.
C:\> del bld
C:\> md bld
C:\> cd bld
C:\> cmake .. -G "target name" -DBUILD_CONFIG=mysql_release
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"
Visual Studio 10 (64 bit) "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.
Alternatively, you could start the build from command line as follows
devenv mysql.sln /build relwithdebinfo
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.
For relevant information and/or for building binaries from source distribution,
please refer to http://forge.mysql.com/wiki/CMake
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