mariadb/win/configure.js

322 lines
11 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 14:52:16 +01:00
// Configure.js
Many files: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header Added GPL copyright text my_vle.h, rpl_utility.h, my_vle.c, base64-t.c, rpl_utility.cc: Changed copyright header formatting some plugin_example.c, daemon_example.c: Added "Copyright (C) 2006 MySQL AB" to GPL header CMakeLists.txt: Added GPL copyright text client/CMakeLists.txt: Added GPL copyright text dbug/CMakeLists.txt: Added GPL copyright text extra/CMakeLists.txt: Added GPL copyright text extra/yassl/CMakeLists.txt: Added GPL copyright text extra/yassl/taocrypt/CMakeLists.txt: Added GPL copyright text libmysql/CMakeLists.txt: Added GPL copyright text libmysqld/CMakeLists.txt: Added GPL copyright text libmysqld/examples/CMakeLists.txt: Added GPL copyright text mysys/CMakeLists.txt: Added GPL copyright text regex/CMakeLists.txt: Added GPL copyright text server-tools/instance-manager/CMakeLists.txt: Added GPL copyright text sql/CMakeLists.txt: Added GPL copyright text storage/archive/CMakeLists.txt: Added GPL copyright text storage/blackhole/CMakeLists.txt: Added GPL copyright text storage/csv/CMakeLists.txt: Added GPL copyright text storage/example/CMakeLists.txt: Added GPL copyright text storage/federated/CMakeLists.txt: Added GPL copyright text storage/heap/CMakeLists.txt: Added GPL copyright text storage/innobase/CMakeLists.txt: Added GPL copyright text storage/myisam/CMakeLists.txt: Added GPL copyright text storage/myisammrg/CMakeLists.txt: Added GPL copyright text strings/CMakeLists.txt: Added GPL copyright text tests/CMakeLists.txt: Added GPL copyright text vio/CMakeLists.txt: Added GPL copyright text zlib/CMakeLists.txt: Added GPL copyright text include/my_vle.h: Changed copyright header formatting some mysys/my_vle.c: Changed copyright header formatting some plugin/daemon_example/daemon_example.c: Added "Copyright (C) 2006 MySQL AB" to GPL header plugin/fulltext/plugin_example.c: Added "Copyright (C) 2006 MySQL AB" to GPL header plugin/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/authors.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/contributors.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/item_xmlfunc.cc: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/partition_element.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/partition_info.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/rpl_injector.cc: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/rpl_injector.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/sql_binlog.cc: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/sql_servers.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/archive/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/blackhole/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/csv/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/example/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/federated/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header win/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/rpl_utility.cc: Changed copyright header formatting some sql/rpl_utility.h: Changed copyright header formatting some unittest/mysys/base64-t.c: Changed copyright header formatting some include/my_uctype.h: Added GPL copyright text plugin/daemon_example/Makefile.am: Added GPL copyright text plugin/fulltext/Makefile.am: Added GPL copyright text scripts/make_win_bin_dist: Added GPL copyright text server-tools/instance-manager/user_management_commands.cc: Added GPL copyright text sql/sql_builtin.cc.in: Added GPL copyright text sql/sql_show.h: Added GPL copyright text storage/archive/archive_test.c: Added GPL copyright text storage/ndb/src/kernel/blocks/dbtup/test_varpage.cpp: Added GPL copyright text storage/ndb/src/kernel/blocks/diskpage.cpp: Added GPL copyright text storage/ndb/src/kernel/vm/Rope.cpp: Added GPL copyright text storage/ndb/src/mgmsrv/ParamInfo.hpp: Added GPL copyright text strings/uctypedump.c: Added GPL copyright text unittest/Makefile.am: Added GPL copyright text unittest/examples/Makefile.am: Added GPL copyright text unittest/examples/core-t.c: Added GPL copyright text unittest/examples/no_plan-t.c: Added GPL copyright text unittest/examples/simple-t.c: Added GPL copyright text unittest/examples/skip-t.c: Added GPL copyright text unittest/examples/skip_all-t.c: Added GPL copyright text unittest/examples/todo-t.c: Added GPL copyright text unittest/mysys/Makefile.am: Added GPL copyright text unittest/mytap/Makefile.am: Added GPL copyright text unittest/mytap/t/Makefile.am: Added GPL copyright text unittest/mytap/t/basic-t.c: Added GPL copyright text unittest/unit.pl: Added GPL copyright text win/build-vs71.bat: Added GPL copyright text win/build-vs8.bat: Added GPL copyright text win/configure.js: Added GPL copyright text
2006-12-31 02:29:11 +01:00
//
// Copyright (C) 2006 MySQL 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; version 2 of the License.
//
// 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
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 14:52:16 +01:00
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 14:52:16 +01: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 actual_port = 0;
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 14:52:16 +01:00
for (i=0; i < args.Count(); i++)
{
var parts = args.Item(i).split('=');
switch (parts[0])
{
case "CYBOZU":
case "EMBED_MANIFESTS":
case "EXTRA_DEBUG":
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js: Additional changes for bug#29903 - Changed to do embedded build part as normal build, when WITH_EMBEDDED_SERVER is set. - Allow both normal and debug build with embedded. - Build static embedded library by pointing out all source and compile it all, i.e. not building libraries from libraries, not portable. - Let embedded use generated files from the "sql" directory, added dependencies to make sure built before embedded. - Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only linked in when debug target is used. - Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as others can't depend on it, not defined at configure time. Instead set the output file name. - Created work around for bug in CMake 2.4.6 and output names, to set the "mysqld<suffix>.pdb" name to the same base name. - Set the correct manifest "name" (patch by iggy) CMakeLists.txt: Changes for embedded and Windows libmysql/CMakeLists.txt: Changes for embedded and Windows libmysqld/CMakeLists.txt: Changes for embedded and Windows libmysqld/examples/CMakeLists.txt: Changes for embedded and Windows mysys/CMakeLists.txt: Changes for embedded and Windows regex/CMakeLists.txt: Changes for embedded and Windows server-tools/instance-manager/CMakeLists.txt: Changes for embedded and Windows sql/CMakeLists.txt: Changes for embedded and Windows storage/archive/CMakeLists.txt: Changes for embedded and Windows storage/blackhole/CMakeLists.txt: Changes for embedded and Windows storage/csv/CMakeLists.txt: Changes for embedded and Windows storage/example/CMakeLists.txt: Changes for embedded and Windows storage/federated/CMakeLists.txt: Changes for embedded and Windows storage/heap/CMakeLists.txt: Changes for embedded and Windows storage/innobase/CMakeLists.txt: Changes for embedded and Windows storage/myisam/CMakeLists.txt: Changes for embedded and Windows storage/myisammrg/CMakeLists.txt: Changes for embedded and Windows strings/CMakeLists.txt: Changes for embedded and Windows vio/CMakeLists.txt: Changes for embedded and Windows win/README: Changes for embedded and Windows win/configure.js: Changes for embedded and Windows win/mysql_manifest.cmake: Changes for embedded and Windows
2007-08-06 23:16:01 +02:00
case "WITH_EMBEDDED_SERVER":
case "WITHOUT_MARIA_TEMP_TABLES":
configfile.WriteLine("SET (" + args.Item(i) + " TRUE)");
break;
case "MYSQL_SERVER_SUFFIX":
case "MYSQLD_EXE_SUFFIX":
configfile.WriteLine("SET (" + parts[0] + " \""
+ parts[1] + "\")");
break;
case "COMPILATION_COMMENT":
default_comment = parts[1];
break;
case "MYSQL_TCP_PORT":
actual_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 14:52:16 +01:00
}
if (actual_port == 0)
{
// if we actually defaulted (as opposed to the pathological case of
// --with-tcp-port=<MYSQL_TCP_PORT_DEFAULT> which might in theory
// happen if whole batch of servers was built from a script), set
// the default to zero to indicate that; we don't lose information
// that way, because 0 obviously indicates that we can get the
// default value from MYSQL_TCP_PORT. this seems really evil, but
// testing for MYSQL_TCP_PORT==MYSQL_TCP_PORT_DEFAULT would make a
// a port of MYSQL_TCP_PORT_DEFAULT magic even if the builder did not
// intend it to mean "use the default, in fact, look up a good default
// from /etc/services if you can", but really, really meant 3306 when
// they passed in 3306. When they pass in a specific value, let them
// have it; don't second guess user and think we know better, this will
// just make people cross. this makes the the logic work like this
// (which is complicated enough):
//
// - if a port was set during build, use that as a default.
//
// - otherwise, try to look up a port in /etc/services; if that fails,
// use MYSQL_TCP_PORT_DEFAULT (at the time of this writing 3306)
//
// - allow the MYSQL_TCP_PORT environment variable to override that.
//
// - allow command-line parameters to override all of the above.
//
// the top-most MYSQL_TCP_PORT_DEFAULT is read from win/configure.js,
// so don't mess with that.
actual_port = default_port;
default_port = 0;
}
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 \"" + default_port + "\")");
configfile.WriteLine("SET (MYSQL_TCP_PORT \"" + actual_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) + "\")");
var engineOptions = ParsePlugins();
for (option in engineOptions)
{
configfile.WriteLine("SET(" + engineOptions[option] + " 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 14:52:16 +01: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 14:52:16 +01: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 14:52:16 +01: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;
}
function PluginConfig(isGroup, include)
{
this.isGroup = isGroup;
this.include = include;
}
// Parse command line arguments specific to plugins (aka storage engines).
//
// --with-plugin-PLUGIN, --with-plugins=group, --with-plugins=PLUGIN[,PLUGIN...]
// --without-plugin-PLUGIN is supported.
//
// Legacy option WITH_<PLUGIN>_STORAGE_ENGINE is supported as well.
// The function returns string array with elements like WITH_SOME_STORAGE_ENGINE
// or WITHOUT_SOME_STORAGE_ENGINE.
//
// This function handles groups, for example effect of specifying --with-plugins=max
// is the same as --with-plugins==archive,federated,falcon,innobase...
function ParsePlugins()
{
var config = new Array();
config["DEFAULT"] = new PluginConfig(true,true);
// Parse command line parameters
for (i=0; i< WScript.Arguments.length;i++)
{
var option = WScript.Arguments.Item(i);
var match = /WITH_(\w+)_STORAGE_ENGINE/.exec(option);
if (match == null)
match = /--with-plugin-(\w+)/.exec(option);
if (match != null)
{
config[match[1].toUpperCase()] = new PluginConfig(false,true);
continue;
}
match = /WITHOUT_(\w+)_STORAGE_ENGINE/.exec(option);
if (match == null)
match = /--without-plugin-(\w+)/.exec(option);
if (match != null)
{
config[match[1].toUpperCase()] =
new PluginConfig(false,false);
continue;
}
match = /--with-plugins=([\w,\-_]+)/.exec(option);
if(match != null)
{
var plugins = match[1].split(",");
for(var key in plugins)
{
config[plugins[key].toUpperCase()] =
new PluginConfig(null,true);
}
continue;
}
match = /--without-plugins=([\w,\-_]+)/.exec(option);
if(match != null)
{
var plugins = match[1].split(",");
for(var key in plugins)
config[plugins[key].toUpperCase()] =
new PluginConfig(null, false);
continue;
}
}
// Read plugin definitions, find out groups plugins belong to.
var fc = new Enumerator(fso.GetFolder("storage").SubFolders);
for (;!fc.atEnd(); fc.moveNext())
{
var subfolder = fc.item();
var name = subfolder.name.toUpperCase();
// Handle case where storage engine was already specified by name in
// --with-plugins or --without-plugins.
if (config[name] != undefined)
{
config[name].isGroup = false;
continue;
}
config[name] = new PluginConfig(false,null);
// Handle groups. For each plugin, find out which group it belongs to
// If this group was specified on command line for inclusion/exclusion,
// then include/exclude the plugin.
filename = subfolder +"\\plug.in";
if (fso.FileExists(filename))
{
var content = fso.OpenTextFile(filename, ForReading).ReadAll();
var match =
/MYSQL_STORAGE_ENGINE([ ]*)[\(]([^\)]+)[\)]/.exec(content);
if (match== null)
continue;
match = /\[[\w,\-_]+\][\s]?\)/.exec(match[0]);
if (match == null)
continue;
groups = match[0].split(/[\,\(\)\[\] ]/);
for (var key in groups)
{
var group = groups[key].toUpperCase();
if (config[group] != undefined)
{
config[group].isGroup = true;
if (config[group].include != null)
{
config[name].include = config[group].include;
break;
}
}
}
}
}
var arr = new Array();
for(key in config)
{
var eng = config[key];
if(eng.isGroup != undefined && !eng.isGroup && eng.include != undefined)
{
if (fso.FolderExists("storage\\"+key) || key=="PARTITION")
{
arr[arr.length] = eng.include?
"WITH_"+key+"_STORAGE_ENGINE":"WITHOUT_"+key+"_STORAGE_ENGINE";
}
}
}
return arr;
}