mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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.
This commit is contained in:
@ -1,8 +1,10 @@
|
|||||||
PROJECT(MySql)
|
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)
|
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
|
# in some places we use DBUG_OFF
|
||||||
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D 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")
|
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")
|
ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D _CRT_SECURE_NO_DEPRECATE")
|
||||||
|
|
||||||
SUBDIRS(vio dbug strings regex mysys extra/yassl extra/yassl/taocrypt extra
|
ADD_SUBDIRECTORY(vio)
|
||||||
zlib storage/heap storage/myisam storage/myisammrg client
|
ADD_SUBDIRECTORY(dbug)
|
||||||
${se_subdirs} sql server-tools/instance-manager libmysql tests)
|
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)
|
||||||
|
@ -24,11 +24,13 @@ IF(WITH_ARCHIVE_STORAGE_ENGINE)
|
|||||||
ADD_DEFINITIONS(-D WITH_ARCHIVE_STORAGE_ENGINE)
|
ADD_DEFINITIONS(-D WITH_ARCHIVE_STORAGE_ENGINE)
|
||||||
SET (mysql_se_htons "${mysql_se_htons}, &archive_hton")
|
SET (mysql_se_htons "${mysql_se_htons}, &archive_hton")
|
||||||
SET (mysql_se_decls "${mysql_se_decls}, 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)
|
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
|
||||||
IF(WITH_BLACKHOLE_STORAGE_ENGINE)
|
IF(WITH_BLACKHOLE_STORAGE_ENGINE)
|
||||||
ADD_DEFINITIONS(-D WITH_BLACKHOLE_STORAGE_ENGINE)
|
ADD_DEFINITIONS(-D WITH_BLACKHOLE_STORAGE_ENGINE)
|
||||||
SET (mysql_se_htons "${mysql_se_htons}, &blackhole_hton")
|
SET (mysql_se_htons "${mysql_se_htons}, &blackhole_hton")
|
||||||
SET (mysql_se_decls "${mysql_se_decls}, 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)
|
ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
|
||||||
IF(WITH_EXAMPLE_STORAGE_ENGINE)
|
IF(WITH_EXAMPLE_STORAGE_ENGINE)
|
||||||
ADD_DEFINITIONS(-D 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)
|
ADD_DEFINITIONS(-D WITH_PARTITION_STORAGE_ENGINE)
|
||||||
SET (mysql_se_htons "${mysql_se_htons}, &partition_hton")
|
SET (mysql_se_htons "${mysql_se_htons}, &partition_hton")
|
||||||
SET (mysql_se_decls "${mysql_se_decls}, 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)
|
ENDIF(WITH_PARTITION_STORAGE_ENGINE)
|
||||||
IF(WITH_FEDERATED_STORAGE_ENGINE)
|
IF(WITH_FEDERATED_STORAGE_ENGINE)
|
||||||
ADD_DEFINITIONS(-D WITH_FEDERATED_STORAGE_ENGINE)
|
ADD_DEFINITIONS(-D WITH_FEDERATED_STORAGE_ENGINE)
|
||||||
SET (mysql_se_htons "${mysql_se_htons}, &federated_hton")
|
SET (mysql_se_htons "${mysql_se_htons}, &federated_hton")
|
||||||
SET (mysql_se_decls "${mysql_se_decls}, 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)
|
ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
|
||||||
IF(WITH_BERKELEY_STORAGE_ENGINE)
|
IF(WITH_BERKELEY_STORAGE_ENGINE)
|
||||||
ADD_DEFINITIONS(-D WITH_BERKELEY_STORAGE_ENGINE)
|
ADD_DEFINITIONS(-D WITH_BERKELEY_STORAGE_ENGINE)
|
||||||
SET (mysql_se_htons "${mysql_se_htons}, &berkeley_hton")
|
SET (mysql_se_htons "${mysql_se_htons}, &berkeley_hton")
|
||||||
SET (mysql_se_decls "${mysql_se_decls}, 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)
|
ENDIF(WITH_BERKELEY_STORAGE_ENGINE)
|
||||||
IF(__NT__)
|
IF(__NT__)
|
||||||
ADD_DEFINITIONS(-D __NT__)
|
ADD_DEFINITIONS(-D __NT__)
|
||||||
ENDIF(__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)
|
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)
|
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
|
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
|
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
|
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
|
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
|
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}/include/mysql_version.h
|
||||||
${PROJECT_SOURCE_DIR}/sql/handlerton.cc
|
${PROJECT_SOURCE_DIR}/sql/handlerton.cc
|
||||||
${PROJECT_SOURCE_DIR}/sql/lex_hash.h)
|
${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)
|
ADD_DEPENDENCIES(mysqld GenError)
|
||||||
|
|
||||||
# Sql Parser custom command
|
# Sql Parser custom command
|
||||||
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
114
win/configure.js
114
win/configure.js
@ -6,39 +6,69 @@ ForAppending = 8;
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// first we attempt to open the main configure.in file
|
|
||||||
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
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);
|
var configfile = fso.CreateTextFile("win\\configure.data", true);
|
||||||
for (i=0; i < args.Count(); i++)
|
for (i=0; i < args.Count(); i++)
|
||||||
{
|
{
|
||||||
var parts = args.Item(i).split('=');
|
var parts = args.Item(i).split('=');
|
||||||
switch (parts[0])
|
switch (parts[0])
|
||||||
{
|
{
|
||||||
case "WITH_ARCHIVE_STORAGE_ENGINE":
|
case "WITH_ARCHIVE_STORAGE_ENGINE":
|
||||||
case "WITH_BERKELEY_STORAGE_ENGINE":
|
case "WITH_BERKELEY_STORAGE_ENGINE":
|
||||||
case "WITH_BLACKHOLE_STORAGE_ENGINE":
|
case "WITH_BLACKHOLE_STORAGE_ENGINE":
|
||||||
case "WITH_EXAMPLE_STORAGE_ENGINE":
|
case "WITH_EXAMPLE_STORAGE_ENGINE":
|
||||||
case "WITH_FEDERATED_STORAGE_ENGINE":
|
case "WITH_FEDERATED_STORAGE_ENGINE":
|
||||||
case "WITH_INNOBASE_STORAGE_ENGINE":
|
case "WITH_INNOBASE_STORAGE_ENGINE":
|
||||||
case "WITH_PARTITION_STORAGE_ENGINE":
|
case "WITH_PARTITION_STORAGE_ENGINE":
|
||||||
case "__NT__":
|
case "__NT__":
|
||||||
line = "SET (" + args.Item(i) + " TRUE)";
|
case "CYBOZU":
|
||||||
break;
|
configfile.WriteLine("SET (" + args.Item(i) + " TRUE)");
|
||||||
case "MYSQL_SERVER_SUFFIX":
|
break;
|
||||||
case "COMPILATION_COMMENT":
|
case "MYSQL_SERVER_SUFFIX":
|
||||||
case "MYSQL_TCP_PORT":
|
configfile.WriteLine("SET (" + parts[0] + " \""
|
||||||
line = "SET (" + parts[0] + " " + parts[1] + ")";
|
+ parts[1] + "\")");
|
||||||
break;
|
break;
|
||||||
}
|
case "COMPILATION_COMMENT":
|
||||||
|
default_comment = parts[1];
|
||||||
configfile.WriteLine(line);
|
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();
|
configfile.Close();
|
||||||
|
|
||||||
fso = null;
|
//ConfigureBDB();
|
||||||
|
|
||||||
|
fso = null;
|
||||||
|
|
||||||
WScript.Echo("done!");
|
WScript.Echo("done!");
|
||||||
}
|
}
|
||||||
@ -54,9 +84,9 @@ function GetValue(str, key)
|
|||||||
pos += key.length + 1;
|
pos += key.length + 1;
|
||||||
var end = str.indexOf("\n", pos);
|
var end = str.indexOf("\n", pos);
|
||||||
if (str.charAt(pos) == "\"")
|
if (str.charAt(pos) == "\"")
|
||||||
pos++;
|
pos++;
|
||||||
if (str.charAt(end-1) == "\"")
|
if (str.charAt(end-1) == "\"")
|
||||||
end--;
|
end--;
|
||||||
return str.substring(pos, end);
|
return str.substring(pos, end);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,3 +136,31 @@ function GetVersionId(version)
|
|||||||
return id;
|
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");
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user