mariadb/win/configure.js
unknown 8f4477281e Additional files for cmake support
CMakeLists.txt:
  New BitKeeper file ``CMakeLists.txt''
bdb/CMakeLists.txt:
  New BitKeeper file ``bdb/CMakeLists.txt''
client/CMakeLists.txt:
  New BitKeeper file ``client/CMakeLists.txt''
dbug/CMakeLists.txt:
  New BitKeeper file ``dbug/CMakeLists.txt''
extra/CMakeLists.txt:
  New BitKeeper file ``extra/CMakeLists.txt''
extra/yassl/CMakeLists.txt:
  New BitKeeper file ``extra/yassl/CMakeLists.txt''
extra/yassl/taocrypt/CMakeLists.txt:
  New BitKeeper file ``extra/yassl/taocrypt/CMakeLists.txt''
heap/CMakeLists.txt:
  New BitKeeper file ``heap/CMakeLists.txt''
innobase/CMakeLists.txt:
  New BitKeeper file ``innobase/CMakeLists.txt''
libmysql/CMakeLists.txt:
  New BitKeeper file ``libmysql/CMakeLists.txt''
myisam/CMakeLists.txt:
  New BitKeeper file ``myisam/CMakeLists.txt''
myisammrg/CMakeLists.txt:
  New BitKeeper file ``myisammrg/CMakeLists.txt''
mysys/CMakeLists.txt:
  New BitKeeper file ``mysys/CMakeLists.txt''
regex/CMakeLists.txt:
  New BitKeeper file ``regex/CMakeLists.txt''
server-tools/CMakeLists.txt:
  New BitKeeper file ``server-tools/CMakeLists.txt''
server-tools/instance-manager/CMakeLists.txt:
  New BitKeeper file ``server-tools/instance-manager/CMakeLists.txt''
sql/CMakeLists.txt:
  New BitKeeper file ``sql/CMakeLists.txt''
sql/examples/CMakeLists.txt:
  New BitKeeper file ``sql/examples/CMakeLists.txt''
strings/CMakeLists.txt:
  New BitKeeper file ``strings/CMakeLists.txt''
tests/CMakeLists.txt:
  New BitKeeper file ``tests/CMakeLists.txt''
vio/CMakeLists.txt:
  New BitKeeper file ``vio/CMakeLists.txt''
win/Makefile.am:
  New BitKeeper file ``win/Makefile.am''
win/README:
  New BitKeeper file ``win/README''
win/build-vs71.bat:
  New BitKeeper file ``win/build-vs71.bat''
win/build-vs8.bat:
  New BitKeeper file ``win/build-vs8.bat''
win/build-vs8_x64.bat:
  New BitKeeper file ``win/build-vs8_x64.bat''
win/configure.js:
  New BitKeeper file ``win/configure.js''
zlib/CMakeLists.txt:
  New BitKeeper file ``zlib/CMakeLists.txt''
2006-08-31 19:52:42 +02:00

166 lines
5.4 KiB
JavaScript
Executable file

// Configure.js
ForReading = 1;
ForWriting = 2;
ForAppending = 8;
try
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
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__":
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();
//ConfigureBDB();
fso = null;
WScript.Echo("done!");
}
catch (e)
{
WScript.Echo("Error: " + e.description);
}
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;
}
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");
}