summaryrefslogtreecommitdiff
path: root/win
diff options
context:
space:
mode:
authorunknown <knielsen@mysql.com>2006-03-23 16:34:52 +0100
committerunknown <knielsen@mysql.com>2006-03-23 16:34:52 +0100
commitf19b2c0a000ddec74a0cc673f94a7b3a3118c27b (patch)
tree468e4f62dd1d5957ac25e9aac949adb6580182e1 /win
parente29144b4b5bedd1239c0045f73316a42eda1521d (diff)
downloadmariadb-git-f19b2c0a000ddec74a0cc673f94a7b3a3118c27b.tar.gz
Updated CMake stuff to handle the configurations needed for release
builds. cmakelists.txt: Get the correct options for storage engines and defines from config-version.js. mysys/cmakelists.txt: Set USE_TLS only for release builds, as it crashes in debug builds. sql/cmakelists.txt: Fix build options to only include the configured storage engines. sql/mysqld.cc: Fix dummy innodb declarations, otherwise non-innodb build fails. storage/bdb/cmakelists.txt: Create cmakelists.txt for BDB. win/README: Update with new configure.js options. win/config-handlerton.js: Extend with more storage engines. win/config-version.js: Extend to handle storage engines and other configuration parameters.
Diffstat (limited to 'win')
-rw-r--r--win/README35
-rw-r--r--win/config-handlerton.js29
-rw-r--r--win/config-version.js89
3 files changed, 133 insertions, 20 deletions
diff --git a/win/README b/win/README
index 27c7e5c5762..dcd65516abe 100644
--- a/win/README
+++ b/win/README
@@ -34,12 +34,25 @@ Clone your bk tree to any location you like.
Step 4
------
From the root of your bk clone, execute the command: win\configure <options>.
-The options right now are WITH_INNODB and WITH_PARTITION. So the command line
-would look like:
-
-win\configure WITH_INNODB WITH_PARTITION
-
-These are the only two flags supported right now. Others will come later.
+The options right now are
+
+ WITH_INNOBASE_STORAGE_ENGINE Enable particular storage engines
+ WITH_PARTITION_STORAGE_ENGINE
+ WITH_ARCHIVE_STORAGE_ENGINE
+ WITH_BERKELEY_STORAGE_ENGINE
+ WITH_BLACKHOLE_STORAGE_ENGINE
+ WITH_EXAMPLE_STORAGE_ENGINE
+ WITH_FEDERATED_STORAGE_ENGINE
+ WITH_INNOBASE_STORAGE_ENGINE
+ __NT__ Enable named pipe support
+ MYSQL_SERVER_SUFFIX=<suffix> Server suffix, default none
+ COMPILATION_COMMENT=<comment> Server comment, default "Source distribution"
+ MYSQL_TCP_PORT=<port> Server port, default 3306
+ CYBOZU
+
+So the command line could look like:
+
+win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro
Step 5
------
@@ -60,11 +73,5 @@ click the build solution menu option.
Current issues
--------------
-1. Not all configurations are currently available. i.e. Classic, Pro, Max.
-Currently, only debug and release are available. This will change in the near
-future.
-
-2. The definitions set for features (partitioning, blackhole, etc) are not
-changed based on the options given with configure. This will soon be fixed
-as well.
-
+1. After changing configuration (eg. adding or removing a storage engine), it
+may be necessary to clean the build tree to remove any stale objects.
diff --git a/win/config-handlerton.js b/win/config-handlerton.js
index fd668fa3ec0..1c20767695a 100644
--- a/win/config-handlerton.js
+++ b/win/config-handlerton.js
@@ -17,16 +17,41 @@ try
while (! datafile.AtEndOfStream)
{
var line = datafile.ReadLine();
- if (line == "WITH_INNODB")
+ if (line == "WITH_INNOBASE_STORAGE_ENGINE")
{
extern_line += ",innobase_hton";
address_line += ",&innobase_hton";
}
- else if (line == "WITH_PARTITION")
+ 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();
diff --git a/win/config-version.js b/win/config-version.js
index 4c895bcf515..689069c3030 100644
--- a/win/config-version.js
+++ b/win/config-version.js
@@ -9,11 +9,91 @@ 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("done!");
+ WScript.Echo("DEFINITIONS@" + defs + "@");
+ WScript.Echo("HANDLERTONS@" + htons + "@");
+ WScript.Echo("DEPENDS@" + depends + "@");
+ WScript.Echo("SUBDIRS@" + subdirs + "@");
}
catch (e)
{
@@ -63,10 +143,11 @@ function ConfigureMySqlVersion()
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"));
+ 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@", '');
- mysqlin = mysqlin.replace("@COMPILATION_COMMENT@", 'Source distribution');
+ mysqlin = mysqlin.replace("@MYSQL_SERVER_SUFFIX@", server_suffix);
+ mysqlin = mysqlin.replace("@COMPILATION_COMMENT@", server_comment);
var version = GetVersion(configureIn);