summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <knielsen@mysql.com>2006-03-28 13:49:29 +0200
committerunknown <knielsen@mysql.com>2006-03-28 13:49:29 +0200
commit99d603c91d592937048738d4f07ba16f6e8b99cd (patch)
tree0ab6436926b8e47727166a5e1e772a27d418c910
parentfb36d9180649d699519555ff2ce338b8144b9dbd (diff)
downloadmariadb-git-99d603c91d592937048738d4f07ba16f6e8b99cd.tar.gz
Clean up CMake configuration following review.
BitKeeper/deleted/.del-config-version.js~b31bb5a8: Delete: win/config-version.js BitKeeper/deleted/.del-config-handlerton.js~553d3402: Delete: win/config-handlerton.js cmakelists.txt: Clean up configuration, better integration with CMake. sql/cmakelists.txt: Only build ha_xxx.cc for configured storage engines. Only link with configured storage engine projects. win/configure.js: Move the task of config-version.js into configure.js.
-rw-r--r--cmakelists.txt36
-rw-r--r--sql/cmakelists.txt27
-rw-r--r--win/config-handlerton.js196
-rw-r--r--win/config-version.js223
-rw-r--r--win/configure.js114
5 files changed, 143 insertions, 453 deletions
diff --git a/cmakelists.txt b/cmakelists.txt
index 5ed5069fb46..21a68752b32 100644
--- a/cmakelists.txt
+++ b/cmakelists.txt
@@ -1,8 +1,10 @@
PROJECT(MySql)
-EXEC_PROGRAM(cscript.exe win ARGS config-version.js OUT_VARIABLE out)
+# This reads user configuration, generated by configure.js.
INCLUDE(win/configure.data)
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in ${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY)
+
# in some places we use DBUG_OFF
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D DBUG_OFF")
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D DBUG_OFF")
@@ -32,6 +34,32 @@ ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visu
ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D _CRT_SECURE_NO_DEPRECATE")
-SUBDIRS(vio dbug strings regex mysys extra/yassl extra/yassl/taocrypt extra
- zlib storage/heap storage/myisam storage/myisammrg client
- ${se_subdirs} sql server-tools/instance-manager libmysql tests)
+ADD_SUBDIRECTORY(vio)
+ADD_SUBDIRECTORY(dbug)
+ADD_SUBDIRECTORY(strings)
+ADD_SUBDIRECTORY(regex)
+ADD_SUBDIRECTORY(mysys)
+ADD_SUBDIRECTORY(extra/yassl)
+ADD_SUBDIRECTORY(extra/yassl/taocrypt)
+ADD_SUBDIRECTORY(extra)
+ADD_SUBDIRECTORY(zlib)
+ADD_SUBDIRECTORY(storage/heap)
+ADD_SUBDIRECTORY(storage/myisam)
+ADD_SUBDIRECTORY(storage/myisammrg)
+ADD_SUBDIRECTORY(client)
+IF(WITH_ARCHIVE_STORAGE_ENGINE)
+ ADD_SUBDIRECTORY(storage/archive)
+ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
+IF(WITH_BERKELEY_STORAGE_ENGINE)
+ ADD_SUBDIRECTORY(storage/bdb)
+ENDIF(WITH_BERKELEY_STORAGE_ENGINE)
+IF(WITH_EXAMPLE_STORAGE_ENGINE)
+ ADD_SUBDIRECTORY(storage/example)
+ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
+IF(WITH_INNOBASE_STORAGE_ENGINE)
+ ADD_SUBDIRECTORY(storage/innobase)
+ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
+ADD_SUBDIRECTORY(sql)
+ADD_SUBDIRECTORY(server-tools/instance-manager)
+ADD_SUBDIRECTORY(libmysql)
+ADD_SUBDIRECTORY(tests)
diff --git a/sql/cmakelists.txt b/sql/cmakelists.txt
index 81b4c3de10e..82268feba69 100644
--- a/sql/cmakelists.txt
+++ b/sql/cmakelists.txt
@@ -24,11 +24,13 @@ IF(WITH_ARCHIVE_STORAGE_ENGINE)
ADD_DEFINITIONS(-D WITH_ARCHIVE_STORAGE_ENGINE)
SET (mysql_se_htons "${mysql_se_htons}, &archive_hton")
SET (mysql_se_decls "${mysql_se_decls}, archive_hton")
+ SET (mysql_se_ha_src "${mysql_se_ha_src} ha_archive.cc")
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
IF(WITH_BLACKHOLE_STORAGE_ENGINE)
ADD_DEFINITIONS(-D WITH_BLACKHOLE_STORAGE_ENGINE)
SET (mysql_se_htons "${mysql_se_htons}, &blackhole_hton")
SET (mysql_se_decls "${mysql_se_decls}, blackhole_hton")
+ SET (mysql_se_ha_src "${mysql_se_ha_src} ha_blackhole.cc")
ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
IF(WITH_EXAMPLE_STORAGE_ENGINE)
ADD_DEFINITIONS(-D WITH_EXAMPLE_STORAGE_ENGINE)
@@ -44,27 +46,35 @@ IF(WITH_PARTITION_STORAGE_ENGINE)
ADD_DEFINITIONS(-D WITH_PARTITION_STORAGE_ENGINE)
SET (mysql_se_htons "${mysql_se_htons}, &partition_hton")
SET (mysql_se_decls "${mysql_se_decls}, partition_hton")
+ SET (mysql_se_ha_src "${mysql_se_ha_src} ha_innodb.cc")
+ SET (mysql_se_ha_src "${mysql_se_ha_src} ha_partition.cc")
ENDIF(WITH_PARTITION_STORAGE_ENGINE)
IF(WITH_FEDERATED_STORAGE_ENGINE)
ADD_DEFINITIONS(-D WITH_FEDERATED_STORAGE_ENGINE)
SET (mysql_se_htons "${mysql_se_htons}, &federated_hton")
SET (mysql_se_decls "${mysql_se_decls}, federated_hton")
+ SET (mysql_se_ha_src "${mysql_se_ha_src} ha_federated.cc")
ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
IF(WITH_BERKELEY_STORAGE_ENGINE)
ADD_DEFINITIONS(-D WITH_BERKELEY_STORAGE_ENGINE)
SET (mysql_se_htons "${mysql_se_htons}, &berkeley_hton")
SET (mysql_se_decls "${mysql_se_decls}, berkeley_hton")
+ SET (mysql_se_ha_src "${mysql_se_ha_src} ha_berkeley.cc")
ENDIF(WITH_BERKELEY_STORAGE_ENGINE)
IF(__NT__)
ADD_DEFINITIONS(-D __NT__)
ENDIF(__NT__)
+IF(CYBOZU)
+ ADD_DEFINITIONS(-D CYBOZU)
+ENDIF(CYBOZU)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/handlerton.cc.in ${CMAKE_SOURCE_DIR}/sql/handlerton.cc @ONLY)
ADD_DEFINITIONS(-DHAVE_ROW_BASED_REPLICATION -DMYSQL_SERVER -D_CONSOLE -DHAVE_DLOPEN)
+SEPARATE_ARGUMENTS(mysql_se_ha_src)
ADD_EXECUTABLE(mysqld ../sql-common/client.c derror.cc des_key_file.cc discover.cc ../libmysql/errmsg.c field.cc
field_conv.cc filesort.cc gstream.cc ha_heap.cc ha_myisam.cc ha_myisammrg.cc
- ${handlertons} handler.cc hash_filo.cc hash_filo.h hostname.cc
+ ${mysql_se_ha_src} handler.cc hash_filo.cc hash_filo.h hostname.cc
init.cc item.cc item_buff.cc item_cmpfunc.cc item_create.cc item_func.cc item_geofunc.cc
item_row.cc item_strfunc.cc item_subselect.cc item_sum.cc item_timefunc.cc item_uniq.cc
key.cc log.cc lock.cc log_event.cc message.rc message.h mf_iocache.cc
@@ -89,7 +99,20 @@ ADD_EXECUTABLE(mysqld ../sql-common/client.c derror.cc des_key_file.cc discover.
${PROJECT_SOURCE_DIR}/include/mysql_version.h
${PROJECT_SOURCE_DIR}/sql/handlerton.cc
${PROJECT_SOURCE_DIR}/sql/lex_hash.h)
-TARGET_LINK_LIBRARIES(mysqld heap myisam myisammrg ${se_deps} mysys yassl zlib dbug yassl taocrypt strings vio regex wsock32)
+TARGET_LINK_LIBRARIES(mysqld heap myisam myisammrg mysys yassl zlib dbug yassl taocrypt strings vio regex wsock32)
+IF(WITH_ARCHIVE_STORAGE_ENGINE)
+ TARGET_LINK_LIBRARIES(mysqld archive)
+ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
+IF(WITH_EXAMPLE_STORAGE_ENGINE)
+ TARGET_LINK_LIBRARIES(mysqld example)
+ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
+IF(WITH_INNOBASE_STORAGE_ENGINE)
+ TARGET_LINK_LIBRARIES(mysqld innobase)
+ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
+IF(WITH_BERKELEY_STORAGE_ENGINE)
+ TARGET_LINK_LIBRARIES(mysqld bdb)
+ENDIF(WITH_BERKELEY_STORAGE_ENGINE)
+
ADD_DEPENDENCIES(mysqld GenError)
# Sql Parser custom command
diff --git a/win/config-handlerton.js b/win/config-handlerton.js
deleted file mode 100644
index 1c20767695a..00000000000
--- a/win/config-handlerton.js
+++ /dev/null
@@ -1,196 +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_INNOBASE_STORAGE_ENGINE")
- {
- extern_line += ",innobase_hton";
- address_line += ",&innobase_hton";
- }
- else if (line == "WITH_PARTITION_STORAGE_ENGINE")
- {
- extern_line += ",partition_hton";
- address_line += ",&partition_hton";
- }
- else if (line == "WITH_ARCHIVE_STORAGE_ENGINE")
- {
- extern_line += ",archive_hton";
- address_line += ",&archive_hton";
- }
- else if (line == "WITH_BERKELEY_STORAGE_ENGINE")
- {
- extern_line += ",berkeley_hton";
- address_line += ",&berkeley_hton";
- }
- else if (line == "WITH_BLACKHOLE_STORAGE_ENGINE")
- {
- extern_line += ",blackhole_hton";
- address_line += ",&blackhole_hton";
- }
- else if (line == "WITH_EXAMPLE_STORAGE_ENGINE")
- {
- extern_line += ",example_hton";
- address_line += ",&example_hton";
- }
- else if (line == "WITH_FEDERATED_STORAGE_ENGINE")
- {
- extern_line += ",federated_hton";
- address_line += ",&federated_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 689069c3030..00000000000
--- a/win/config-version.js
+++ /dev/null
@@ -1,223 +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
-
- // Find any configured MYSQL_SERVER_SUFFIX.
- // Find any extra preprocessor definitions.
- var datafile = fso.OpenTextFile(args.Item(0), ForReading);
- var server_suffix = '';
- var server_comment = 'Source distribution';
- var server_port = '';
- var defs = '';
- var htons = '';
- var subdirs = '';
- var depends = '';
- while (! datafile.AtEndOfStream)
- {
- var line = datafile.ReadLine();
- if (line.indexOf("MYSQL_SERVER_SUFFIX=") == 0)
- {
- server_suffix = line.substring(20, line.length);
- }
- else if (line.indexOf("COMPILATION_COMMENT=") == 0)
- {
- server_comment = line.substring(20, line.length);
- }
- else if (line.indexOf("MYSQL_TCP_PORT=") == 0)
- {
- server_port = line.substring(15, line.length);
- }
- else if (line == "WITH_ARCHIVE_STORAGE_ENGINE")
- {
- defs += " -D" + line;
- htons += " ha_archive.cc";
- subdirs += " storage/archive";
- depends += " archive";
- }
- else if (line == "WITH_BERKELEY_STORAGE_ENGINE")
- {
- defs += " -D" + line;
- htons += " ha_berkeley.cc";
- subdirs += " storage/bdb";
- depends += " bdb";
- }
- else if (line == "WITH_BLACKHOLE_STORAGE_ENGINE")
- {
- defs += " -D" + line;
- htons += " ha_blackhole.cc";
- }
- else if (line == "WITH_EXAMPLE_STORAGE_ENGINE")
- {
- defs += " -D" + line;
- subdirs += " storage/example";
- depends += " example";
- }
- else if (line == "WITH_FEDERATED_STORAGE_ENGINE")
- {
- defs += " -D" + line;
- htons += " ha_federated.cc";
- }
- else if (line == "WITH_INNOBASE_STORAGE_ENGINE")
- {
- defs += " -D" + line;
- htons += " ha_innodb.cc";
- subdirs += " storage/innobase";
- depends += " innobase";
- }
- else if (line == "WITH_PARTITION_STORAGE_ENGINE")
- {
- defs += " -D" + line;
- htons += " ha_partition.cc";
- }
- else if (line == "__NT__" ||
- line == "CYBOZU" ||
- line.indexOf("LICENSE=") == 0) {
- defs += " -D" + line;
- }
- }
- datafile.Close();
-
- ConfigureMySqlVersion();
- //ConfigureBDB();
- fso = null;
-
- WScript.Echo("DEFINITIONS@" + defs + "@");
- WScript.Echo("HANDLERTONS@" + htons + "@");
- WScript.Echo("DEPENDS@" + depends + "@");
- WScript.Echo("SUBDIRS@" + subdirs + "@");
-}
-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"));
- if (server_port == '') { server_port = GetValue(configureIn, "MYSQL_TCP_PORT_DEFAULT"); }
- mysqlin = mysqlin.replace("@MYSQL_TCP_PORT@", server_port);
- mysqlin = mysqlin.replace("@MYSQL_UNIX_ADDR@", GetValue(configureIn, "MYSQL_UNIX_ADDR_DEFAULT"));
- mysqlin = mysqlin.replace("@MYSQL_SERVER_SUFFIX@", server_suffix);
- mysqlin = mysqlin.replace("@COMPILATION_COMMENT@", server_comment);
-
-
- 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 263b4fe7da0..ef90ce982a6 100644
--- a/win/configure.js
+++ b/win/configure.js
@@ -6,39 +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++)
{
- 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__":
- line = "SET (" + args.Item(i) + " TRUE)";
- break;
- case "MYSQL_SERVER_SUFFIX":
- case "COMPILATION_COMMENT":
- case "MYSQL_TCP_PORT":
- line = "SET (" + parts[0] + " " + parts[1] + ")";
- break;
- }
-
- configfile.WriteLine(line);
+ 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!");
}
@@ -54,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);
}
@@ -106,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");
+}