mariadb/win/configure.js

135 lines
4 KiB
JavaScript
Raw Normal View History

initial cmake fileset. It is not production ready but stable enough to start working with win/build-vs71.bat: batch file to build project files for Visual Studio 2003 win/build-vs8.bat: batch file to build project files for Visual Studio 2005 win/cmakefiles/base: cmakefile that will later be moved into the target directory win/cmakefiles/bdb: cmakefile that will later be moved into the target directory win/cmakefiles/client: cmakefile that will later be moved into the target directory win/cmakefiles/dbug: cmakefile that will later be moved into the target directory win/cmakefiles/deploy.bat: cmakefile that will later be moved into the target directory win/cmakefiles/extra: cmakefile that will later be moved into the target directory win/cmakefiles/heap: cmakefile that will later be moved into the target directory win/cmakefiles/innobase: cmakefile that will later be moved into the target directory win/cmakefiles/myisam: cmakefile that will later be moved into the target directory win/cmakefiles/myisammrg: cmakefile that will later be moved into the target directory win/cmakefiles/mysys: cmakefile that will later be moved into the target directory win/cmakefiles/regex: cmakefile that will later be moved into the target directory win/cmakefiles/sql: cmakefile that will later be moved into the target directory win/cmakefiles/strings: cmakefile that will later be moved into the target directory win/cmakefiles/taocrypt: cmakefile that will later be moved into the target directory win/cmakefiles/vio: cmakefile that will later be moved into the target directory win/cmakefiles/yassl: cmakefile that will later be moved into the target directory win/cmakefiles/zlib: cmakefile that will later be moved into the target directory win/config-handlerton.js: javascript file for updating handlerton.cc based on configure options win/config-version.js: javascript file for updating mysql_version.h based on configure.in data win/configure.js: basic configure javascript
2006-01-31 07:52:16 -06:00
// Configure.js
ForReading = 1;
ForWriting = 2;
ForAppending = 8;
try
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var args = WScript.Arguments
initial cmake fileset. It is not production ready but stable enough to start working with win/build-vs71.bat: batch file to build project files for Visual Studio 2003 win/build-vs8.bat: batch file to build project files for Visual Studio 2005 win/cmakefiles/base: cmakefile that will later be moved into the target directory win/cmakefiles/bdb: cmakefile that will later be moved into the target directory win/cmakefiles/client: cmakefile that will later be moved into the target directory win/cmakefiles/dbug: cmakefile that will later be moved into the target directory win/cmakefiles/deploy.bat: cmakefile that will later be moved into the target directory win/cmakefiles/extra: cmakefile that will later be moved into the target directory win/cmakefiles/heap: cmakefile that will later be moved into the target directory win/cmakefiles/innobase: cmakefile that will later be moved into the target directory win/cmakefiles/myisam: cmakefile that will later be moved into the target directory win/cmakefiles/myisammrg: cmakefile that will later be moved into the target directory win/cmakefiles/mysys: cmakefile that will later be moved into the target directory win/cmakefiles/regex: cmakefile that will later be moved into the target directory win/cmakefiles/sql: cmakefile that will later be moved into the target directory win/cmakefiles/strings: cmakefile that will later be moved into the target directory win/cmakefiles/taocrypt: cmakefile that will later be moved into the target directory win/cmakefiles/vio: cmakefile that will later be moved into the target directory win/cmakefiles/yassl: cmakefile that will later be moved into the target directory win/cmakefiles/zlib: cmakefile that will later be moved into the target directory win/config-handlerton.js: javascript file for updating handlerton.cc based on configure options win/config-version.js: javascript file for updating mysql_version.h based on configure.in data win/configure.js: basic configure javascript
2006-01-31 07:52:16 -06:00
// 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);
initial cmake fileset. It is not production ready but stable enough to start working with win/build-vs71.bat: batch file to build project files for Visual Studio 2003 win/build-vs8.bat: batch file to build project files for Visual Studio 2005 win/cmakefiles/base: cmakefile that will later be moved into the target directory win/cmakefiles/bdb: cmakefile that will later be moved into the target directory win/cmakefiles/client: cmakefile that will later be moved into the target directory win/cmakefiles/dbug: cmakefile that will later be moved into the target directory win/cmakefiles/deploy.bat: cmakefile that will later be moved into the target directory win/cmakefiles/extra: cmakefile that will later be moved into the target directory win/cmakefiles/heap: cmakefile that will later be moved into the target directory win/cmakefiles/innobase: cmakefile that will later be moved into the target directory win/cmakefiles/myisam: cmakefile that will later be moved into the target directory win/cmakefiles/myisammrg: cmakefile that will later be moved into the target directory win/cmakefiles/mysys: cmakefile that will later be moved into the target directory win/cmakefiles/regex: cmakefile that will later be moved into the target directory win/cmakefiles/sql: cmakefile that will later be moved into the target directory win/cmakefiles/strings: cmakefile that will later be moved into the target directory win/cmakefiles/taocrypt: cmakefile that will later be moved into the target directory win/cmakefiles/vio: cmakefile that will later be moved into the target directory win/cmakefiles/yassl: cmakefile that will later be moved into the target directory win/cmakefiles/zlib: cmakefile that will later be moved into the target directory win/config-handlerton.js: javascript file for updating handlerton.cc based on configure options win/config-version.js: javascript file for updating mysql_version.h based on configure.in data win/configure.js: basic configure javascript
2006-01-31 07:52:16 -06:00
for (i=0; i < args.Count(); i++)
{
var parts = args.Item(i).split('=');
switch (parts[0])
{
case "WITH_ARCHIVE_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;
}
initial cmake fileset. It is not production ready but stable enough to start working with win/build-vs71.bat: batch file to build project files for Visual Studio 2003 win/build-vs8.bat: batch file to build project files for Visual Studio 2005 win/cmakefiles/base: cmakefile that will later be moved into the target directory win/cmakefiles/bdb: cmakefile that will later be moved into the target directory win/cmakefiles/client: cmakefile that will later be moved into the target directory win/cmakefiles/dbug: cmakefile that will later be moved into the target directory win/cmakefiles/deploy.bat: cmakefile that will later be moved into the target directory win/cmakefiles/extra: cmakefile that will later be moved into the target directory win/cmakefiles/heap: cmakefile that will later be moved into the target directory win/cmakefiles/innobase: cmakefile that will later be moved into the target directory win/cmakefiles/myisam: cmakefile that will later be moved into the target directory win/cmakefiles/myisammrg: cmakefile that will later be moved into the target directory win/cmakefiles/mysys: cmakefile that will later be moved into the target directory win/cmakefiles/regex: cmakefile that will later be moved into the target directory win/cmakefiles/sql: cmakefile that will later be moved into the target directory win/cmakefiles/strings: cmakefile that will later be moved into the target directory win/cmakefiles/taocrypt: cmakefile that will later be moved into the target directory win/cmakefiles/vio: cmakefile that will later be moved into the target directory win/cmakefiles/yassl: cmakefile that will later be moved into the target directory win/cmakefiles/zlib: cmakefile that will later be moved into the target directory win/config-handlerton.js: javascript file for updating handlerton.cc based on configure options win/config-version.js: javascript file for updating mysql_version.h based on configure.in data win/configure.js: basic configure javascript
2006-01-31 07:52:16 -06:00
}
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) + "\")");
initial cmake fileset. It is not production ready but stable enough to start working with win/build-vs71.bat: batch file to build project files for Visual Studio 2003 win/build-vs8.bat: batch file to build project files for Visual Studio 2005 win/cmakefiles/base: cmakefile that will later be moved into the target directory win/cmakefiles/bdb: cmakefile that will later be moved into the target directory win/cmakefiles/client: cmakefile that will later be moved into the target directory win/cmakefiles/dbug: cmakefile that will later be moved into the target directory win/cmakefiles/deploy.bat: cmakefile that will later be moved into the target directory win/cmakefiles/extra: cmakefile that will later be moved into the target directory win/cmakefiles/heap: cmakefile that will later be moved into the target directory win/cmakefiles/innobase: cmakefile that will later be moved into the target directory win/cmakefiles/myisam: cmakefile that will later be moved into the target directory win/cmakefiles/myisammrg: cmakefile that will later be moved into the target directory win/cmakefiles/mysys: cmakefile that will later be moved into the target directory win/cmakefiles/regex: cmakefile that will later be moved into the target directory win/cmakefiles/sql: cmakefile that will later be moved into the target directory win/cmakefiles/strings: cmakefile that will later be moved into the target directory win/cmakefiles/taocrypt: cmakefile that will later be moved into the target directory win/cmakefiles/vio: cmakefile that will later be moved into the target directory win/cmakefiles/yassl: cmakefile that will later be moved into the target directory win/cmakefiles/zlib: cmakefile that will later be moved into the target directory win/config-handlerton.js: javascript file for updating handlerton.cc based on configure options win/config-version.js: javascript file for updating mysql_version.h based on configure.in data win/configure.js: basic configure javascript
2006-01-31 07:52:16 -06:00
configfile.Close();
fso = null;
initial cmake fileset. It is not production ready but stable enough to start working with win/build-vs71.bat: batch file to build project files for Visual Studio 2003 win/build-vs8.bat: batch file to build project files for Visual Studio 2005 win/cmakefiles/base: cmakefile that will later be moved into the target directory win/cmakefiles/bdb: cmakefile that will later be moved into the target directory win/cmakefiles/client: cmakefile that will later be moved into the target directory win/cmakefiles/dbug: cmakefile that will later be moved into the target directory win/cmakefiles/deploy.bat: cmakefile that will later be moved into the target directory win/cmakefiles/extra: cmakefile that will later be moved into the target directory win/cmakefiles/heap: cmakefile that will later be moved into the target directory win/cmakefiles/innobase: cmakefile that will later be moved into the target directory win/cmakefiles/myisam: cmakefile that will later be moved into the target directory win/cmakefiles/myisammrg: cmakefile that will later be moved into the target directory win/cmakefiles/mysys: cmakefile that will later be moved into the target directory win/cmakefiles/regex: cmakefile that will later be moved into the target directory win/cmakefiles/sql: cmakefile that will later be moved into the target directory win/cmakefiles/strings: cmakefile that will later be moved into the target directory win/cmakefiles/taocrypt: cmakefile that will later be moved into the target directory win/cmakefiles/vio: cmakefile that will later be moved into the target directory win/cmakefiles/yassl: cmakefile that will later be moved into the target directory win/cmakefiles/zlib: cmakefile that will later be moved into the target directory win/config-handlerton.js: javascript file for updating handlerton.cc based on configure options win/config-version.js: javascript file for updating mysql_version.h based on configure.in data win/configure.js: basic configure javascript
2006-01-31 07:52:16 -06:00
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--;
initial cmake fileset. It is not production ready but stable enough to start working with win/build-vs71.bat: batch file to build project files for Visual Studio 2003 win/build-vs8.bat: batch file to build project files for Visual Studio 2005 win/cmakefiles/base: cmakefile that will later be moved into the target directory win/cmakefiles/bdb: cmakefile that will later be moved into the target directory win/cmakefiles/client: cmakefile that will later be moved into the target directory win/cmakefiles/dbug: cmakefile that will later be moved into the target directory win/cmakefiles/deploy.bat: cmakefile that will later be moved into the target directory win/cmakefiles/extra: cmakefile that will later be moved into the target directory win/cmakefiles/heap: cmakefile that will later be moved into the target directory win/cmakefiles/innobase: cmakefile that will later be moved into the target directory win/cmakefiles/myisam: cmakefile that will later be moved into the target directory win/cmakefiles/myisammrg: cmakefile that will later be moved into the target directory win/cmakefiles/mysys: cmakefile that will later be moved into the target directory win/cmakefiles/regex: cmakefile that will later be moved into the target directory win/cmakefiles/sql: cmakefile that will later be moved into the target directory win/cmakefiles/strings: cmakefile that will later be moved into the target directory win/cmakefiles/taocrypt: cmakefile that will later be moved into the target directory win/cmakefiles/vio: cmakefile that will later be moved into the target directory win/cmakefiles/yassl: cmakefile that will later be moved into the target directory win/cmakefiles/zlib: cmakefile that will later be moved into the target directory win/config-handlerton.js: javascript file for updating handlerton.cc based on configure options win/config-version.js: javascript file for updating mysql_version.h based on configure.in data win/configure.js: basic configure javascript
2006-01-31 07:52:16 -06:00
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;
}