diff options
Diffstat (limited to 'win')
-rw-r--r-- | win/Makefile.am | 21 | ||||
-rw-r--r-- | win/README | 35 | ||||
-rw-r--r-- | win/config-handlerton.js | 171 | ||||
-rw-r--r-- | win/config-version.js | 142 | ||||
-rw-r--r-- | win/configure.js | 94 |
5 files changed, 128 insertions, 335 deletions
diff --git a/win/Makefile.am b/win/Makefile.am new file mode 100644 index 00000000000..2f4aa626a93 --- /dev/null +++ b/win/Makefile.am @@ -0,0 +1,21 @@ +# Copyright (C) 2006 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 = build-vs71.bat build-vs8.bat configure.js README + +# Don't update the files from bitkeeper +%::SCCS/s.% diff --git a/win/README b/win/README index 27c7e5c5762..dcd65516abe 100644 --- a/win/README +++ b/win/README @@ -34,12 +34,25 @@ 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_INNODB and WITH_PARTITION. So the command line -would look like: - -win\configure WITH_INNODB WITH_PARTITION - -These are the only two flags supported right now. Others will come later. +The options right now are + + WITH_INNOBASE_STORAGE_ENGINE Enable particular storage engines + WITH_PARTITION_STORAGE_ENGINE + 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 + CYBOZU + +So the command line could look like: + +win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro Step 5 ------ @@ -60,11 +73,5 @@ click the build solution menu option. Current issues -------------- -1. Not all configurations are currently available. i.e. Classic, Pro, Max. -Currently, only debug and release are available. This will change in the near -future. - -2. The definitions set for features (partitioning, blackhole, etc) are not -changed based on the options given with configure. This will soon be fixed -as well. - +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. diff --git a/win/config-handlerton.js b/win/config-handlerton.js deleted file mode 100644 index fd668fa3ec0..00000000000 --- a/win/config-handlerton.js +++ /dev/null @@ -1,171 +0,0 @@ -// Configure.js - -ForReading = 1; -ForWriting = 2; -ForAppending = 8; - -try -{ - // first we attempt to open the main configure.in file - var fso = new ActiveXObject("Scripting.FileSystemObject"); - - var args = WScript.Arguments - - var datafile = fso.OpenTextFile(args.Item(0), ForReading); - var extern_line = ''; - var address_line = ''; - while (! datafile.AtEndOfStream) - { - var line = datafile.ReadLine(); - if (line == "WITH_INNODB") - { - extern_line += ",innobase_hton"; - address_line += ",&innobase_hton"; - } - else if (line == "WITH_PARTITION") - { - extern_line += ",partition_hton"; - address_line += ",&partition_hton"; - } - } - datafile.Close(); - - var infile = fso.OpenTextFile("..\\sql\\handlerton.cc.in", ForReading); - var infile_contents = infile.ReadAll(); - infile.Close(); - infile_contents = infile_contents.replace("@mysql_se_decls@", extern_line); - infile_contents = infile_contents.replace("@mysql_se_htons@", address_line); - - var outfile = fso.CreateTextFile("..\\sql\\handlerton.cc", true) - outfile.Write(infile_contents); - outfile.Close(); - - fso = null; - - WScript.Echo("done!"); -} -catch (e) -{ - WScript.Echo("Error: " + e.description); -} - -function ConfigureBDB() -{ - // read in the Unix configure.in file - var dbIncTS = fso.OpenTextFile("..\\bdb\\dbinc\\db.in", ForReading); - var dbIn = dbIncTS.ReadAll(); - dbIncTS.Close(); - - dbIn = dbIn.replace("@DB_VERSION_MAJOR@", "$DB_VERSION_MAJOR"); - dbIn = dbIn.replace("@DB_VERSION_MINOR@", "$DB_VERSION_MINOR"); - dbIn = dbIn.replace("@DB_VERSION_PATCH@", "$DB_VERSION_PATCH"); - dbIn = dbIn.replace("@DB_VERSION_STRING@", "$DB_VERSION_STRING"); - - dbIn = dbIn.replace("@u_int8_decl@", "typedef unsigned char u_int8_t;"); - dbIn = dbIn.replace("@int16_decl@", "typedef short int16_t;"); - dbIn = dbIn.replace("@u_int16_decl@", "typedef unsigned short u_int16_t;"); - dbIn = dbIn.replace("@int32_decl@", "typedef int int32_t;"); - dbIn = dbIn.replace("@u_int32_decl@", "typedef unsigned int u_int32_t;"); - - dbIn = dbIn.replace("@u_char_decl@", "{\r\n#if !defined(_WINSOCKAPI_)\r\n" + - "typedef unsigned char u_char;"); - dbIn = dbIn.replace("@u_short_decl@", "typedef unsigned short u_short;"); - dbIn = dbIn.replace("@u_int_decl@", "typedef unsigned int u_int;"); - dbIn = dbIn.replace("@u_long_decl@", "typedef unsigned long u_long;"); - - dbIn = dbIn.replace("@ssize_t_decl@", "#endif\r\n#if defined(_WIN64)\r\n" + - "typedef __int64 ssize_t;\r\n#else\r\n" + - "typedef int ssize_t;\r\n#endif"); -} - -function ConfigureMySqlVersion() -{ - // read in the Unix configure.in file - var configureInTS = fso.OpenTextFile("..\\configure.in", ForReading); - var configureIn = configureInTS.ReadAll(); - configureInTS.Close(); - - // read in the mysql_version.h.in file - var mysqlTS = fso.OpenTextFile("..\\include\\mysql_version.h.in", ForReading); - var mysqlin = mysqlTS.ReadAll(); - mysqlTS.Close(); - - mysqlin = mysqlin.replace("@PROTOCOL_VERSION@", GetValue(configureIn, "PROTOCOL_VERSION")); - mysqlin = mysqlin.replace("@DOT_FRM_VERSION@", GetValue(configureIn, "DOT_FRM_VERSION")); - mysqlin = mysqlin.replace("@MYSQL_TCP_PORT@", GetValue(configureIn, "MYSQL_TCP_PORT_DEFAULT")); - mysqlin = mysqlin.replace("@MYSQL_UNIX_ADDR@", GetValue(configureIn, "MYSQL_UNIX_ADDR_DEFAULT")); - mysqlin = mysqlin.replace("@MYSQL_SERVER_SUFFIX@", ''); - mysqlin = mysqlin.replace("@COMPILATION_COMMENT@", 'Source distribution'); - - - var version = GetVersion(configureIn); - mysqlin = mysqlin.replace("@VERSION@", version); - mysqlin = mysqlin.replace("@MYSQL_BASE_VERSION@", GetBaseVersion(version)); - mysqlin = mysqlin.replace("@MYSQL_VERSION_ID@", GetVersionId(version)); - - - var mysqlfile = fso.CreateTextFile("..\\include\\mysql_version.h", true); - mysqlfile.Write(mysqlin); - mysqlfile.Close(); - -} - -function GetValue(str, key) -{ - var pos = str.indexOf(key+'='); - if (pos == -1) return null; - pos += key.length + 1; - var end = str.indexOf("\n", pos); - if (str.charAt(pos) == "\"") - pos++; - if (str.charAt(end-1) == "\"") - end--; - return str.substring(pos, end); -} - -function GetVersion(str) -{ - var key = "AM_INIT_AUTOMAKE(mysql, "; - var pos = str.indexOf(key); //5.0.6-beta) - if (pos == -1) return null; - pos += key.length; - var end = str.indexOf(")", pos); - if (end == -1) return null; - return str.substring(pos, end); -} - -function GetBaseVersion(version) -{ - var dot = version.indexOf("."); - if (dot == -1) return null; - dot = version.indexOf(".", dot+1); - if (dot == -1) dot = version.length; - return version.substring(0, dot); -} - -function GetVersionId(version) -{ - var dot = version.indexOf("."); - if (dot == -1) return null; - var major = parseInt(version.substring(0, dot), 10); - - dot++; - var nextdot = version.indexOf(".", dot); - if (nextdot == -1) return null; - var minor = parseInt(version.substring(dot, nextdot), 10); - dot = nextdot+1; - - var stop = version.indexOf("-", dot); - if (stop == -1) stop = version.length; - var build = parseInt(version.substring(dot, stop), 10); - - var id = major; - if (minor < 10) - id += '0'; - id += minor; - if (build < 10) - id += '0'; - id += build; - return id; -} - diff --git a/win/config-version.js b/win/config-version.js deleted file mode 100644 index 4c895bcf515..00000000000 --- a/win/config-version.js +++ /dev/null @@ -1,142 +0,0 @@ -// Configure.js - -ForReading = 1; -ForWriting = 2; -ForAppending = 8; - -try -{ - // first we attempt to open the main configure.in file - var fso = new ActiveXObject("Scripting.FileSystemObject"); - - ConfigureMySqlVersion(); - //ConfigureBDB(); - fso = null; - - WScript.Echo("done!"); -} -catch (e) -{ - WScript.Echo("Error: " + e.description); -} - -function ConfigureBDB() -{ - // read in the Unix configure.in file - var dbIncTS = fso.OpenTextFile("..\\bdb\\dbinc\\db.in", ForReading); - var dbIn = dbIncTS.ReadAll(); - dbIncTS.Close(); - - dbIn = dbIn.replace("@DB_VERSION_MAJOR@", "$DB_VERSION_MAJOR"); - dbIn = dbIn.replace("@DB_VERSION_MINOR@", "$DB_VERSION_MINOR"); - dbIn = dbIn.replace("@DB_VERSION_PATCH@", "$DB_VERSION_PATCH"); - dbIn = dbIn.replace("@DB_VERSION_STRING@", "$DB_VERSION_STRING"); - - dbIn = dbIn.replace("@u_int8_decl@", "typedef unsigned char u_int8_t;"); - dbIn = dbIn.replace("@int16_decl@", "typedef short int16_t;"); - dbIn = dbIn.replace("@u_int16_decl@", "typedef unsigned short u_int16_t;"); - dbIn = dbIn.replace("@int32_decl@", "typedef int int32_t;"); - dbIn = dbIn.replace("@u_int32_decl@", "typedef unsigned int u_int32_t;"); - - dbIn = dbIn.replace("@u_char_decl@", "{\r\n#if !defined(_WINSOCKAPI_)\r\n" + - "typedef unsigned char u_char;"); - dbIn = dbIn.replace("@u_short_decl@", "typedef unsigned short u_short;"); - dbIn = dbIn.replace("@u_int_decl@", "typedef unsigned int u_int;"); - dbIn = dbIn.replace("@u_long_decl@", "typedef unsigned long u_long;"); - - dbIn = dbIn.replace("@ssize_t_decl@", "#endif\r\n#if defined(_WIN64)\r\n" + - "typedef __int64 ssize_t;\r\n#else\r\n" + - "typedef int ssize_t;\r\n#endif"); -} - -function ConfigureMySqlVersion() -{ - // read in the Unix configure.in file - var configureInTS = fso.OpenTextFile("..\\configure.in", ForReading); - var configureIn = configureInTS.ReadAll(); - configureInTS.Close(); - - // read in the mysql_version.h.in file - var mysqlTS = fso.OpenTextFile("..\\include\\mysql_version.h.in", ForReading); - var mysqlin = mysqlTS.ReadAll(); - mysqlTS.Close(); - - mysqlin = mysqlin.replace("@PROTOCOL_VERSION@", GetValue(configureIn, "PROTOCOL_VERSION")); - mysqlin = mysqlin.replace("@DOT_FRM_VERSION@", GetValue(configureIn, "DOT_FRM_VERSION")); - mysqlin = mysqlin.replace("@MYSQL_TCP_PORT@", GetValue(configureIn, "MYSQL_TCP_PORT_DEFAULT")); - mysqlin = mysqlin.replace("@MYSQL_UNIX_ADDR@", GetValue(configureIn, "MYSQL_UNIX_ADDR_DEFAULT")); - mysqlin = mysqlin.replace("@MYSQL_SERVER_SUFFIX@", ''); - mysqlin = mysqlin.replace("@COMPILATION_COMMENT@", 'Source distribution'); - - - var version = GetVersion(configureIn); - mysqlin = mysqlin.replace("@VERSION@", version); - mysqlin = mysqlin.replace("@MYSQL_BASE_VERSION@", GetBaseVersion(version)); - mysqlin = mysqlin.replace("@MYSQL_VERSION_ID@", GetVersionId(version)); - - - var mysqlfile = fso.CreateTextFile("..\\include\\mysql_version.h", true); - mysqlfile.Write(mysqlin); - mysqlfile.Close(); - -} - -function GetValue(str, key) -{ - var pos = str.indexOf(key+'='); - if (pos == -1) return null; - pos += key.length + 1; - var end = str.indexOf("\n", pos); - if (str.charAt(pos) == "\"") - pos++; - if (str.charAt(end-1) == "\"") - end--; - return str.substring(pos, end); -} - -function GetVersion(str) -{ - var key = "AM_INIT_AUTOMAKE(mysql, "; - var pos = str.indexOf(key); //5.0.6-beta) - if (pos == -1) return null; - pos += key.length; - var end = str.indexOf(")", pos); - if (end == -1) return null; - return str.substring(pos, end); -} - -function GetBaseVersion(version) -{ - var dot = version.indexOf("."); - if (dot == -1) return null; - dot = version.indexOf(".", dot+1); - if (dot == -1) dot = version.length; - return version.substring(0, dot); -} - -function GetVersionId(version) -{ - var dot = version.indexOf("."); - if (dot == -1) return null; - var major = parseInt(version.substring(0, dot), 10); - - dot++; - var nextdot = version.indexOf(".", dot); - if (nextdot == -1) return null; - var minor = parseInt(version.substring(dot, nextdot), 10); - dot = nextdot+1; - - var stop = version.indexOf("-", dot); - if (stop == -1) stop = version.length; - var build = parseInt(version.substring(dot, stop), 10); - - var id = major; - if (minor < 10) - id += '0'; - id += minor; - if (build < 10) - id += '0'; - id += build; - return id; -} - diff --git a/win/configure.js b/win/configure.js index b1c269d4eed..ef90ce982a6 100644 --- a/win/configure.js +++ b/win/configure.js @@ -6,19 +6,69 @@ ForAppending = 8; try { - // first we attempt to open the main configure.in file var fso = new ActiveXObject("Scripting.FileSystemObject"); + + var args = WScript.Arguments - var args = WScript.Arguments - + // read in the Unix configure.in file + var configureInTS = fso.OpenTextFile("configure.in", ForReading); + var configureIn = configureInTS.ReadAll(); + configureInTS.Close(); + var default_comment = "Source distribution"; + var default_port = GetValue(configureIn, "MYSQL_TCP_PORT_DEFAULT"); + var configfile = fso.CreateTextFile("win\\configure.data", true); for (i=0; i < args.Count(); i++) { - configfile.WriteLine(args.Item(i)); + var parts = args.Item(i).split('='); + switch (parts[0]) + { + case "WITH_ARCHIVE_STORAGE_ENGINE": + case "WITH_BERKELEY_STORAGE_ENGINE": + case "WITH_BLACKHOLE_STORAGE_ENGINE": + case "WITH_EXAMPLE_STORAGE_ENGINE": + case "WITH_FEDERATED_STORAGE_ENGINE": + case "WITH_INNOBASE_STORAGE_ENGINE": + case "WITH_PARTITION_STORAGE_ENGINE": + case "__NT__": + case "CYBOZU": + configfile.WriteLine("SET (" + args.Item(i) + " TRUE)"); + break; + case "MYSQL_SERVER_SUFFIX": + configfile.WriteLine("SET (" + parts[0] + " \"" + + parts[1] + "\")"); + break; + case "COMPILATION_COMMENT": + default_comment = parts[1]; + break; + case "MYSQL_TCP_PORT": + default_port = parts[1]; + break; + } } + + configfile.WriteLine("SET (COMPILATION_COMMENT \"" + + default_comment + "\")"); + + configfile.WriteLine("SET (PROTOCOL_VERSION \"" + + GetValue(configureIn, "PROTOCOL_VERSION") + "\")"); + configfile.WriteLine("SET (DOT_FRM_VERSION \"" + + GetValue(configureIn, "DOT_FRM_VERSION") + "\")"); + configfile.WriteLine("SET (MYSQL_TCP_PORT \"" + default_port + "\")"); + configfile.WriteLine("SET (MYSQL_UNIX_ADDR \"" + + GetValue(configureIn, "MYSQL_UNIX_ADDR_DEFAULT") + "\")"); + var version = GetVersion(configureIn); + configfile.WriteLine("SET (VERSION \"" + version + "\")"); + configfile.WriteLine("SET (MYSQL_BASE_VERSION \"" + + GetBaseVersion(version) + "\")"); + configfile.WriteLine("SET (MYSQL_VERSION_ID \"" + + GetVersionId(version) + "\")"); + configfile.Close(); - fso = null; + //ConfigureBDB(); + + fso = null; WScript.Echo("done!"); } @@ -34,9 +84,9 @@ function GetValue(str, key) pos += key.length + 1; var end = str.indexOf("\n", pos); if (str.charAt(pos) == "\"") - pos++; - if (str.charAt(end-1) == "\"") - end--; + pos++; + if (str.charAt(end-1) == "\"") + end--; return str.substring(pos, end); } @@ -86,3 +136,31 @@ function GetVersionId(version) return id; } +function ConfigureBDB() +{ + // read in the Unix configure.in file + var dbIncTS = fso.OpenTextFile("..\\bdb\\dbinc\\db.in", ForReading); + var dbIn = dbIncTS.ReadAll(); + dbIncTS.Close(); + + dbIn = dbIn.replace("@DB_VERSION_MAJOR@", "$DB_VERSION_MAJOR"); + dbIn = dbIn.replace("@DB_VERSION_MINOR@", "$DB_VERSION_MINOR"); + dbIn = dbIn.replace("@DB_VERSION_PATCH@", "$DB_VERSION_PATCH"); + dbIn = dbIn.replace("@DB_VERSION_STRING@", "$DB_VERSION_STRING"); + + dbIn = dbIn.replace("@u_int8_decl@", "typedef unsigned char u_int8_t;"); + dbIn = dbIn.replace("@int16_decl@", "typedef short int16_t;"); + dbIn = dbIn.replace("@u_int16_decl@", "typedef unsigned short u_int16_t;"); + dbIn = dbIn.replace("@int32_decl@", "typedef int int32_t;"); + dbIn = dbIn.replace("@u_int32_decl@", "typedef unsigned int u_int32_t;"); + + dbIn = dbIn.replace("@u_char_decl@", "{\r\n#if !defined(_WINSOCKAPI_)\r\n" + + "typedef unsigned char u_char;"); + dbIn = dbIn.replace("@u_short_decl@", "typedef unsigned short u_short;"); + dbIn = dbIn.replace("@u_int_decl@", "typedef unsigned int u_int;"); + dbIn = dbIn.replace("@u_long_decl@", "typedef unsigned long u_long;"); + + dbIn = dbIn.replace("@ssize_t_decl@", "#endif\r\n#if defined(_WIN64)\r\n" + + "typedef __int64 ssize_t;\r\n#else\r\n" + + "typedef int ssize_t;\r\n#endif"); +} |