summaryrefslogtreecommitdiff
path: root/win
diff options
context:
space:
mode:
Diffstat (limited to 'win')
-rw-r--r--win/Makefile.am21
-rw-r--r--win/README35
-rw-r--r--win/config-handlerton.js171
-rw-r--r--win/config-version.js142
-rw-r--r--win/configure.js94
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");
+}