From 630b0b877937cfd564251a66d2e0166182bff4ff Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Tue, 4 Oct 2011 15:41:52 +0200 Subject: support for plugins on windows CMakeLists.txt: 1. add -DSAFEMALLOC -DSAFE_MUTEX in the top-level CMakeLists.txt don't force plugins to copy-paste these lines in their CMakeLists.txt 2.1 search plugin/* for plugins (not only storage/*), 2.2 recognize MYSQL_PLUGIN (not only MYSQL_STORAGE_ENGINE), 2.3 extract library names from the plug.in (don't force library names to be ha_.dll and .lib) include/mysql/plugin.h: define MYSQL_PLUGIN_EXPORT appropriately (backport from 5.5) libmysqld/CMakeLists.txt: remove unnecessary workaround plugin/fulltext/CMakeLists.txt: build fulltext example plugin on windows storage/maria/CMakeLists.txt: The library is called libmaria_s.lib, not maria.lib storage/maria/unittest/CMakeLists.txt: The library is called libmaria_s.lib, not maria.lib storage/myisam/CMakeLists.txt: The library is called libmyisam_s.lib, not myisam.lib storage/mysql_storage_engine.cmake: introduce MYSQL_PLUGIN macro. don't force library names to be ha_.dll and .lib storage/xtradb/CMakeLists.txt: remove a condition from include win/README: don't use deprecated syntax win/configure-mariadb.sh: don't use deprecated syntax win/configure.js: 1. support MYSQL_PLUGIN in addition to MYSQL_STORAGE_ENGINE. 2. support plugin/* in addition to storage/* --- win/README | 12 +++++------- win/configure-mariadb.bat | 3 ++- win/configure-mariadb.sh | 16 ++++------------ win/configure.js | 8 ++++---- 4 files changed, 15 insertions(+), 24 deletions(-) (limited to 'win') diff --git a/win/README b/win/README index 916f64913ac..8ae611ec746 100644 --- a/win/README +++ b/win/README @@ -51,12 +51,10 @@ win\configure The options right now are: - WITH_INNOBASE_STORAGE_ENGINE Enable particular storage engines - WITH_PARTITION_STORAGE_ENGINE - WITH_ARCHIVE_STORAGE_ENGINE - WITH_BLACKHOLE_STORAGE_ENGINE - WITH_EXAMPLE_STORAGE_ENGINE - WITH_FEDERATED_STORAGE_ENGINE + --with-plugin-XXX Enable particular plugin or plugins + --with-plugins=XXX,YYY,... + --with-plugins=GROUP GROUP can be, for example, "max" or "max-no-ndb" + --without-plugin-XXX Disable particular plugin __NT__ Enable named pipe support MYSQL_SERVER_SUFFIX= Server suffix, default none COMPILATION_COMMENT= Server comment, default "Source distribution" @@ -70,7 +68,7 @@ The options right now are: So the command line could look like: -win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro +win\configure --with-plugin-innobase --with-plugin-partition MYSQL_SERVER_SUFFIX=-pro Step 6 ------ diff --git a/win/configure-mariadb.bat b/win/configure-mariadb.bat index 834d73732b8..158d22c9aca 100644 --- a/win/configure-mariadb.bat +++ b/win/configure-mariadb.bat @@ -5,4 +5,5 @@ cscript win\configure.js ^ WITH_PARTITION_STORAGE_ENGINE ^ WITH_MARIA_STORAGE_ENGINE ^ WITH_PBXT_STORAGE_ENGINE ^ - WITH_XTRADB_STORAGE_ENGINE + WITH_XTRADB_STORAGE_ENGINE ^ + WITH_FEEDBACK_STORAGE_ENGINE diff --git a/win/configure-mariadb.sh b/win/configure-mariadb.sh index b3433ee568f..c6324bfd259 100644 --- a/win/configure-mariadb.sh +++ b/win/configure-mariadb.sh @@ -7,17 +7,9 @@ set -e -cscript win/configure.js \ - WITH_ARCHIVE_STORAGE_ENGINE \ - WITH_BLACKHOLE_STORAGE_ENGINE \ - WITH_CSV_STORAGE_ENGINE \ - WITH_EXAMPLE_STORAGE_ENGINE \ - WITH_FEDERATEDX_STORAGE_ENGINE \ - WITH_MERGE_STORAGE_ENGINE \ - WITH_PARTITION_STORAGE_ENGINE \ - WITH_MARIA_STORAGE_ENGINE \ - WITH_PBXT_STORAGE_ENGINE \ - WITH_XTRADB_STORAGE_ENGINE \ +cscript win/configure.js --with-plugin-archive --with-plugin-blackhole \ + --with-plugin-csv --with-plugin-example --with-plugin-federatedx \ + --with-plugin-merge --with-plugin-partition --with-plugin-maria \ + --with-plugin-pbxt --with-plugin-xtradb --with-plugin-feedback \ WITH_EMBEDDED_SERVER - diff --git a/win/configure.js b/win/configure.js index 0b3157a7d2a..04659ef633a 100644 --- a/win/configure.js +++ b/win/configure.js @@ -126,7 +126,7 @@ try var engineOptions = ParsePlugins(); for (option in engineOptions) { - configfile.WriteLine("SET(" + engineOptions[option] + " TRUE)"); + configfile.WriteLine("SET (" + engineOptions[option] + " TRUE)"); } configfile.Close(); @@ -302,7 +302,7 @@ function ParsePlugins() { var content = fso.OpenTextFile(filename, ForReading).ReadAll(); var match = - /MYSQL_STORAGE_ENGINE([ ]*)[\(]([^\)]+)[\)]/.exec(content); + /MYSQL_(PLUGIN|STORAGE_ENGINE)([ ]*)[\(]([^\)]+)[\)]/.exec(content); if (match== null) continue; match = /\[[\w,\-_]+\][\s]?\)/.exec(match[0]); @@ -329,9 +329,9 @@ function ParsePlugins() for(key in config) { var eng = config[key]; - if(eng.isGroup != undefined && !eng.isGroup && eng.include != undefined) + if(eng.isGroup != undefined && !eng.isGroup && eng.include != undefined) { - if (fso.FolderExists("storage\\"+key) || key=="PARTITION") + if (fso.FolderExists("storage\\"+key) || fso.FolderExists("plugin\\"+key) || key=="PARTITION") { arr[arr.length] = eng.include? "WITH_"+key+"_STORAGE_ENGINE":"WITHOUT_"+key+"_STORAGE_ENGINE"; -- cgit v1.2.1