diff options
author | unknown <acurtis@xiphis.org> | 2006-04-24 13:36:15 -0700 |
---|---|---|
committer | unknown <acurtis@xiphis.org> | 2006-04-24 13:36:15 -0700 |
commit | 1260bc887358d3fc4c060b21eb1c755c3f5dee69 (patch) | |
tree | 8d426c8740820381d4c07c02035f4a4bf29c2fa3 /config | |
parent | 3f63edb362e89df761e575842ac39ef4c86a664c (diff) | |
parent | 5521b1bb9e5c7fb086feb9c731873b5874ccce0a (diff) | |
download | mariadb-git-1260bc887358d3fc4c060b21eb1c755c3f5dee69.tar.gz |
Merge xiphis.org:/home/antony/work2/wl3201.3
into xiphis.org:/home/antony/work2/wl3201.merge
BUILD/SETUP.sh:
Auto merged
libmysqld/Makefile.am:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/partition_info.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/archive/ha_archive.cc:
Auto merged
storage/archive/ha_archive.h:
Auto merged
storage/example/ha_example.cc:
Auto merged
Makefile.am:
Merge for WL#3201, some post-merge fixes will be required.
configure.in:
Merge for WL#3201
plugin/Makefile.am:
Merge for WL#3201
storage/innobase/Makefile.am:
Merge for WL#3201
Diffstat (limited to 'config')
-rw-r--r-- | config/ac-macros/ha_archive.m4 | 29 | ||||
-rw-r--r-- | config/ac-macros/ha_berkeley.m4 | 3 | ||||
-rw-r--r-- | config/ac-macros/ha_blackhole.m4 | 29 | ||||
-rw-r--r-- | config/ac-macros/ha_example.m4 | 30 | ||||
-rw-r--r-- | config/ac-macros/ha_federated.m4 | 29 | ||||
-rw-r--r-- | config/ac-macros/ha_innodb.m4 | 77 | ||||
-rw-r--r-- | config/ac-macros/ha_ndbcluster.m4 | 5 | ||||
-rw-r--r-- | config/ac-macros/ha_partition.m4 | 33 | ||||
-rw-r--r-- | config/ac-macros/ha_tina.m4 | 29 | ||||
-rw-r--r-- | config/ac-macros/plugins.m4 | 665 | ||||
-rw-r--r-- | config/ac-macros/storage.m4 | 55 |
11 files changed, 666 insertions, 318 deletions
diff --git a/config/ac-macros/ha_archive.m4 b/config/ac-macros/ha_archive.m4 deleted file mode 100644 index 2d2558ea600..00000000000 --- a/config/ac-macros/ha_archive.m4 +++ /dev/null @@ -1,29 +0,0 @@ -dnl --------------------------------------------------------------------------- -dnl Macro: MYSQL_CHECK_ARCHIVEDB -dnl Sets HAVE_ARCHIVE_DB if --with-archive-storage-engine is used -dnl --------------------------------------------------------------------------- -AC_DEFUN([MYSQL_CHECK_ARCHIVEDB], [ - AC_ARG_WITH([archive-storage-engine], - [ - --with-archive-storage-engine - Enable the Archive Storage Engine], - [archivedb="$withval"], - [archivedb=no]) - AC_MSG_CHECKING([for archive storage engine]) - - case "$archivedb" in - yes ) - AC_DEFINE([HAVE_ARCHIVE_DB], [1], [Builds Archive Storage Engine]) - AC_MSG_RESULT([yes]) - [archivedb=yes] - ;; - * ) - AC_MSG_RESULT([no]) - [archivedb=no] - ;; - esac - -]) -dnl --------------------------------------------------------------------------- -dnl END OF MYSQL_CHECK_ARCHIVE SECTION -dnl --------------------------------------------------------------------------- diff --git a/config/ac-macros/ha_berkeley.m4 b/config/ac-macros/ha_berkeley.m4 index 183a622dfc9..c389077ea8b 100644 --- a/config/ac-macros/ha_berkeley.m4 +++ b/config/ac-macros/ha_berkeley.m4 @@ -120,12 +120,9 @@ AC_DEFUN([MYSQL_SETUP_BERKELEY_DB], [ sh $rel_srcdir/$bdb/dist/configure $bdb_conf_flags) || \ AC_MSG_ERROR([could not configure Berkeley DB]) - mysql_se_libs="$mysql_se_libs $bdb_libs_with_path" - AC_SUBST(bdb_includes) AC_SUBST(bdb_libs) AC_SUBST(bdb_libs_with_path) - AC_CONFIG_FILES(storage/bdb/Makefile) ]) AC_DEFUN([MYSQL_CHECK_INSTALLED_BDB], [ diff --git a/config/ac-macros/ha_blackhole.m4 b/config/ac-macros/ha_blackhole.m4 deleted file mode 100644 index cc4d360f5a8..00000000000 --- a/config/ac-macros/ha_blackhole.m4 +++ /dev/null @@ -1,29 +0,0 @@ -dnl --------------------------------------------------------------------------- -dnl Macro: MYSQL_CHECK_BLACKHOLEDB -dnl Sets HAVE_BLACKHOLE_DB if --with-blackhole-storage-engine is used -dnl --------------------------------------------------------------------------- -AC_DEFUN([MYSQL_CHECK_BLACKHOLEDB], [ - AC_ARG_WITH([blackhole-storage-engine], - [ - --with-blackhole-storage-engine - Enable the Blackhole Storage Engine], - [blackholedb="$withval"], - [blackholedb=no]) - AC_MSG_CHECKING([for blackhole storage engine]) - - case "$blackholedb" in - yes ) - AC_DEFINE([HAVE_BLACKHOLE_DB], [1], [Builds Blackhole Storage Engine]) - AC_MSG_RESULT([yes]) - [blackholedb=yes] - ;; - * ) - AC_MSG_RESULT([no]) - [blackholedb=no] - ;; - esac - -]) -dnl --------------------------------------------------------------------------- -dnl END OF MYSQL_CHECK_BLACKHOLE SECTION -dnl --------------------------------------------------------------------------- diff --git a/config/ac-macros/ha_example.m4 b/config/ac-macros/ha_example.m4 deleted file mode 100644 index f8067931ce6..00000000000 --- a/config/ac-macros/ha_example.m4 +++ /dev/null @@ -1,30 +0,0 @@ -dnl --------------------------------------------------------------------------- -dnl Macro: MYSQL_CHECK_EXAMPLEDB -dnl Sets HAVE_EXAMPLE_DB if --with-example-storage-engine is used -dnl --------------------------------------------------------------------------- -AC_DEFUN([MYSQL_CHECK_EXAMPLEDB], [ - AC_ARG_WITH([example-storage-engine], - [ - --with-example-storage-engine - Enable the Example Storage Engine], - [exampledb="$withval"], - [exampledb=no]) - AC_MSG_CHECKING([for example storage engine]) - - case "$exampledb" in - yes ) - AC_DEFINE([HAVE_EXAMPLE_DB], [1], [Builds Example DB]) - AC_MSG_RESULT([yes]) - [exampledb=yes] - ;; - * ) - AC_MSG_RESULT([no]) - [exampledb=no] - ;; - esac - -]) -dnl --------------------------------------------------------------------------- -dnl END OF MYSQL_CHECK_EXAMPLE SECTION -dnl --------------------------------------------------------------------------- - diff --git a/config/ac-macros/ha_federated.m4 b/config/ac-macros/ha_federated.m4 deleted file mode 100644 index 5c991f31666..00000000000 --- a/config/ac-macros/ha_federated.m4 +++ /dev/null @@ -1,29 +0,0 @@ -dnl --------------------------------------------------------------------------- -dnl Macro: MYSQL_CHECK_FEDERATED -dnl Sets HAVE_FEDERATED if --with-federated-storage-engine is used -dnl --------------------------------------------------------------------------- -AC_DEFUN([MYSQL_CHECK_FEDERATED], [ - AC_ARG_WITH([federated-storage-engine], - [ - --with-federated-storage-engine - Enable the MySQL Federated Storage Engine], - [federateddb="$withval"], - [federateddb=no]) - AC_MSG_CHECKING([for MySQL federated storage engine]) - - case "$federateddb" in - yes ) - AC_DEFINE([HAVE_FEDERATED_DB], [1], [Define to enable Federated Handler]) - AC_MSG_RESULT([yes]) - [federateddb=yes] - ;; - * ) - AC_MSG_RESULT([no]) - [federateddb=no] - ;; - esac - -]) -dnl --------------------------------------------------------------------------- -dnl END OF MYSQL_CHECK_FEDERATED SECTION -dnl --------------------------------------------------------------------------- diff --git a/config/ac-macros/ha_innodb.m4 b/config/ac-macros/ha_innodb.m4 deleted file mode 100644 index 287b77c8851..00000000000 --- a/config/ac-macros/ha_innodb.m4 +++ /dev/null @@ -1,77 +0,0 @@ -dnl --------------------------------------------------------------------------- -dnl Macro: MYSQL_CHECK_INNODB -dnl Sets HAVE_INNOBASE_DB if --with-innodb is used -dnl --------------------------------------------------------------------------- - -AC_DEFUN([MYSQL_CHECK_INNODB], [ - AC_ARG_WITH([innodb], - [ - --without-innodb Do not include the InnoDB table handler], - [innodb="$withval"], - [innodb=yes]) - - AC_MSG_CHECKING([for Innodb]) - - have_innodb=no - innodb_includes= - innodb_libs= - case "$innodb" in - yes ) - AC_MSG_RESULT([Using Innodb]) - AC_DEFINE([HAVE_INNOBASE_DB], [1], [Using Innobase DB]) - have_innodb="yes" - innodb_includes="-I\$(top_builddir)/innobase/include" - innodb_system_libs="" -dnl Some libs are listed several times, in order for gcc to sort out -dnl circular references. - innodb_libs="\ - \$(top_builddir)/storage/innobase/usr/libusr.a\ - \$(top_builddir)/storage/innobase/srv/libsrv.a\ - \$(top_builddir)/storage/innobase/dict/libdict.a\ - \$(top_builddir)/storage/innobase/que/libque.a\ - \$(top_builddir)/storage/innobase/srv/libsrv.a\ - \$(top_builddir)/storage/innobase/ibuf/libibuf.a\ - \$(top_builddir)/storage/innobase/row/librow.a\ - \$(top_builddir)/storage/innobase/pars/libpars.a\ - \$(top_builddir)/storage/innobase/btr/libbtr.a\ - \$(top_builddir)/storage/innobase/trx/libtrx.a\ - \$(top_builddir)/storage/innobase/read/libread.a\ - \$(top_builddir)/storage/innobase/usr/libusr.a\ - \$(top_builddir)/storage/innobase/buf/libbuf.a\ - \$(top_builddir)/storage/innobase/ibuf/libibuf.a\ - \$(top_builddir)/storage/innobase/eval/libeval.a\ - \$(top_builddir)/storage/innobase/log/liblog.a\ - \$(top_builddir)/storage/innobase/fsp/libfsp.a\ - \$(top_builddir)/storage/innobase/fut/libfut.a\ - \$(top_builddir)/storage/innobase/fil/libfil.a\ - \$(top_builddir)/storage/innobase/lock/liblock.a\ - \$(top_builddir)/storage/innobase/mtr/libmtr.a\ - \$(top_builddir)/storage/innobase/page/libpage.a\ - \$(top_builddir)/storage/innobase/rem/librem.a\ - \$(top_builddir)/storage/innobase/thr/libthr.a\ - \$(top_builddir)/storage/innobase/sync/libsync.a\ - \$(top_builddir)/storage/innobase/data/libdata.a\ - \$(top_builddir)/storage/innobase/mach/libmach.a\ - \$(top_builddir)/storage/innobase/ha/libha.a\ - \$(top_builddir)/storage/innobase/dyn/libdyn.a\ - \$(top_builddir)/storage/innobase/mem/libmem.a\ - \$(top_builddir)/storage/innobase/sync/libsync.a\ - \$(top_builddir)/storage/innobase/ut/libut.a\ - \$(top_builddir)/storage/innobase/os/libos.a\ - \$(top_builddir)/storage/innobase/ut/libut.a" - - AC_CHECK_LIB(rt, aio_read, [innodb_system_libs="-lrt"]) - ;; - * ) - AC_MSG_RESULT([Not using Innodb]) - ;; - esac - - AC_SUBST(innodb_includes) - AC_SUBST(innodb_libs) - AC_SUBST(innodb_system_libs) -]) - -dnl --------------------------------------------------------------------------- -dnl END OF MYSQL_CHECK_INNODB SECTION -dnl --------------------------------------------------------------------------- diff --git a/config/ac-macros/ha_ndbcluster.m4 b/config/ac-macros/ha_ndbcluster.m4 index 8e839d8fee9..c7e163e065f 100644 --- a/config/ac-macros/ha_ndbcluster.m4 +++ b/config/ac-macros/ha_ndbcluster.m4 @@ -191,7 +191,6 @@ AC_DEFUN([MYSQL_SETUP_NDBCLUSTER], [ ndbcluster_libs="\$(top_builddir)/storage/ndb/src/.libs/libndbclient.a" ndbcluster_system_libs="" ndb_mgmclient_libs="\$(top_builddir)/storage/ndb/src/mgmclient/libndbmgmclient.la" - mysql_se_objs="$mysql_se_objs ha_ndbcluster_binlog.o" MYSQL_CHECK_NDB_OPTIONS NDBCLUSTER_WORKAROUNDS @@ -282,9 +281,6 @@ AC_DEFUN([MYSQL_SETUP_NDBCLUSTER], [ ndb_bin_am_ldflags="" fi - mysql_se_libs="$mysql_se_libs $ndbcluster_libs $ndbcluster_system_libs" - mysql_se_libs="$mysql_se_libs $NDB_SCI_LIBS" - AC_SUBST(NDB_VERSION_MAJOR) AC_SUBST(NDB_VERSION_MINOR) AC_SUBST(NDB_VERSION_BUILD) @@ -302,6 +298,7 @@ AC_DEFUN([MYSQL_SETUP_NDBCLUSTER], [ AC_SUBST(ndbcluster_libs) AC_SUBST(ndbcluster_system_libs) AC_SUBST(ndb_mgmclient_libs) + AC_SUBST(NDB_SCI_LIBS) AC_SUBST(ndb_transporter_opt_objs) AC_SUBST(ndb_port) diff --git a/config/ac-macros/ha_partition.m4 b/config/ac-macros/ha_partition.m4 deleted file mode 100644 index 1ce7dedc5f3..00000000000 --- a/config/ac-macros/ha_partition.m4 +++ /dev/null @@ -1,33 +0,0 @@ -dnl --------------------------------------------------------------------------- -dnl Macro: MYSQL_CHECK_PARTITIONDB -dnl Sets HAVE_PARTITION_DB if --with-partition is used -dnl --------------------------------------------------------------------------- -AC_DEFUN([MYSQL_CHECK_PARTITIONDB], [ - AC_ARG_WITH([partition], - [ - --with-partition - Enable the Partition Storage Engine], - [partitiondb="$withval"], - [partitiondb=no]) - AC_MSG_CHECKING([for partition]) - -dnl case "$partitiondb" in -dnl yes ) -dnl AC_DEFINE([HAVE_PARTITION_DB], [1], [Builds Partition DB]) -dnl AC_MSG_RESULT([yes]) -dnl [partitiondb=yes] -dnl ;; -dnl * ) -dnl AC_MSG_RESULT([no]) -dnl [partitiondb=no] -dnl ;; -dnl esac - AC_DEFINE([HAVE_PARTITION_DB], [1], [Builds Partition DB]) - AC_MSG_RESULT([yes]) - [partitiondb=yes] - -]) -dnl --------------------------------------------------------------------------- -dnl END OF MYSQL_CHECK_PARTITION SECTION -dnl --------------------------------------------------------------------------- - diff --git a/config/ac-macros/ha_tina.m4 b/config/ac-macros/ha_tina.m4 deleted file mode 100644 index fe6e382ce20..00000000000 --- a/config/ac-macros/ha_tina.m4 +++ /dev/null @@ -1,29 +0,0 @@ -dnl --------------------------------------------------------------------------- -dnl Macro: MYSQL_CHECK_CSVDB -dnl Sets HAVE_CSV_DB if --with-csv-storage-engine is used -dnl --------------------------------------------------------------------------- -AC_DEFUN([MYSQL_CHECK_CSVDB], [ - AC_ARG_WITH([csv-storage-engine], - [ - --with-csv-storage-engine - Enable the CSV Storage Engine], - [csvdb="$withval"], - [csvdb=no]) - AC_MSG_CHECKING([for csv storage engine]) - - case "$csvdb" in - yes ) - AC_DEFINE([HAVE_CSV_DB], [1], [Builds the CSV Storage Engine]) - AC_MSG_RESULT([yes]) - [csvdb=yes] - ;; - * ) - AC_MSG_RESULT([no]) - [csvdb=no] - ;; - esac - -]) -dnl --------------------------------------------------------------------------- -dnl END OF MYSQL_CHECK_CSV SECTION -dnl --------------------------------------------------------------------------- diff --git a/config/ac-macros/plugins.m4 b/config/ac-macros/plugins.m4 new file mode 100644 index 00000000000..20d7e2cc11c --- /dev/null +++ b/config/ac-macros/plugins.m4 @@ -0,0 +1,665 @@ +dnl =========================================================================== +dnl Support for plugable mysql server modules +dnl =========================================================================== +dnl +dnl WorkLog#3201 +dnl +dnl Framework for pluggable static and dynamic modules for mysql +dnl +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_MODULE +dnl +dnl Syntax: +dnl MYSQL_MODULE([name],[Plugin module name], +dnl [Plugin module description], +dnl [group,group...]) +dnl +dnl What it does: +dnl First declaration for a plugin module (mandatory). +dnl Adds module as member to configuration groups (if specified) +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_MODULE],[ dnl + _MYSQL_MODULE( + [$1], + [__MYSQL_MODULE_]AS_TR_CPP([$1])[__], + m4_default([$2], [$1 plugin]), + m4_default([$3], [plugin for $1]), + m4_default([$4], []), + ) dnl +]) + +AC_DEFUN([_MYSQL_MODULE],[ dnl + m4_ifdef([$2], [ dnl + AC_FATAL([[Duplicate MYSQL_MODULE declaration for ]][$3]) dnl + ],[ dnl + m4_define([$2], [$1]) dnl + _MYSQL_PLUGAPPEND([__mysql_plugin_list__],[$1]) dnl + m4_define([MYSQL_MODULE_NAME_]AS_TR_CPP([$1]), [$3]) dnl + m4_define([MYSQL_MODULE_DESC_]AS_TR_CPP([$1]), [$4]) dnl + ifelse([$5], [], [], [ dnl + _MYSQL_PLUGAPPEND_OPTS([$1], $5) dnl + ]) dnl + ]) dnl +]) + + +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_STORAGE_ENGINE +dnl +dnl What it does: +dnl Short cut for storage engine declarations +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_STORAGE_ENGINE],[ dnl + MYSQL_MODULE([$1], [$3], [$4], [[$5]]) dnl + MYSQL_MODULE_DEFINE([$1], [WITH_]AS_TR_CPP([$1])[_STORAGE_ENGINE]) dnl + ifelse([$2],[no],[],[ dnl + _MYSQL_LEGACY_STORAGE_ENGINE([$1],m4_default([$2], [$1-storage-engine])) dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_LEGACY_STORAGE_ENGINE],[ +if test "[${with_]m4_bpatsubst($2, -, _)[+set}]" = set; then + [with_module_]m4_bpatsubst($1, -, _)="[$with_]m4_bpatsubst($2, -, _)" +fi dnl +]) + + +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_MODULE_DEFINE +dnl +dnl What it does: +dnl When a plugin module is to be statically linked, define the C macro +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_MODULE_DEFINE],[ dnl + REQUIRE_PLUGIN([$1]) dnl + m4_define([MYSQL_MODULE_DEFINE_]AS_TR_CPP([$1]), [$2]) dnl +]) + + +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_MODULE_DIRECTORY +dnl +dnl What it does: +dnl Adds a directory to the build process +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_MODULE_DIRECTORY],[ dnl + REQUIRE_PLUGIN([$1]) dnl + m4_define([MYSQL_MODULE_DIRECTORY_]AS_TR_CPP([$1]), [$2]) dnl +]) + + +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_MODULE_STATIC +dnl +dnl What it does: +dnl Declare the name for the static library +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_MODULE_STATIC],[ dnl + REQUIRE_PLUGIN([$1]) dnl + m4_define([MYSQL_MODULE_STATIC_]AS_TR_CPP([$1]), [$2]) dnl +]) + + +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_MODULE_DYNAMIC +dnl +dnl What it does: +dnl Declare the name for the shared library +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_MODULE_DYNAMIC],[ dnl + REQUIRE_PLUGIN([$1]) dnl + m4_define([MYSQL_MODULE_DYNAMIC_]AS_TR_CPP([$1]), [$2]) dnl +]) + + +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_MODULE_MANDATORY +dnl +dnl What it does: +dnl Marks the specified plugin as a mandatory module +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_MODULE_MANDATORY],[ dnl + REQUIRE_PLUGIN([$1]) dnl + _MYSQL_MODULE_MANDATORY([$1], + [MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]) + ) dnl +]) + +AC_DEFUN([_MYSQL_MODULE_MANDATORY],[ dnl + m4_define([$2], [yes]) dnl + m4_ifdef([$3], [ dnl + AC_WARNING([syntax],[Mandatory plugin $1 has been disabled]) dnl + m4_undefine([$2]) dnl + ]) dnl +]) + + +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_MODULE_DISABLED +dnl +dnl What it does: +dnl Marks the specified plugin as a disabled module +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_MODULE_DISABLED],[ dnl + REQUIRE_PLUGIN([$1]) dnl + _MYSQL_MODULE_DISABLED([$1], + [MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]), + [MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1]) + ) dnl +]) + +AC_DEFUN([_MYSQL_MODULE_DISABLED],[ dnl + m4_define([$2], [yes]) dnl + m4_ifdef([$3], [ dnl + AC_FATAL([attempt to disable mandatory plugin $1]) dnl + m4_undefine([$2]) dnl + ]) dnl +]) + + +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_MODULE_DEPENDS +dnl +dnl What it does: +dnl Enables other modules neccessary for this module +dnl Dependency checking is not recursive so if any +dnl required module requires further modules, list them +dnl here too! +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_MODULE_DEPENDS],[ dnl + REQUIRE_PLUGIN([$1]) dnl + ifelse($#, 0, [], $#, 1, [ dnl + AC_FATAL([[bad number of arguments]]) dnl + ], $#, 2, [ dnl + _MYSQL_MODULE_DEPEND([$1],[$2]) dnl + ],[ dnl + _MYSQL_MODULE_DEPEND([$1],[$2]) dnl + MYSQL_MODULE_DEPENDS([$1], m4_shift(m4_shift($@))) dnl + ]) +]) + +AC_DEFUN([_MYSQL_MODULE_DEPEND],[ dnl + REQUIRE_PLUGIN([$2]) dnl + _MYSQL_PLUGAPPEND([__mysql_plugdepends_$1__],[$2]) dnl +]) + + +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_MODULE_ACTIONS +dnl +dnl What it does: +dnl Declares additional actions required to configure the module +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_MODULE_ACTIONS],[ dnl + REQUIRE_PLUGIN([$1]) dnl + m4_ifdef([$2],[ dnl + m4_define([MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]),m4_defn([$2])) dnl + ],[ dnl + m4_define([MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]), [$2]) dnl + ]) +]) + + +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_CONFIGURE_PLUGINS +dnl +dnl What it does: +dnl Called last, emits all required shell code to configure the modules +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_CONFIGURE_PLUGINS],[ dnl + m4_ifdef([__mysql_plugin_configured__],[ dnl + AC_FATAL([cannot call [MYSQL_CONFIGURE_PLUGINS] multiple times]) dnl + ],[ dnl + m4_define([__mysql_plugin_configured__],[done]) dnl + m4_ifdef([__mysql_plugin_list__],[ dnl + _MYSQL_CHECK_PLUGIN_ARGS([$1]) + _MYSQL_CONFIGURE_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,])) + _MYSQL_DO_PLUGIN_ACTIONS(m4_bpatsubst(__mysql_plugin_list__, :, [,])) + ]) dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_CONFIGURE_PLUGINS],[ dnl + ifelse($#, 0, [], $#, 1, [ dnl + _MYSQL_CHECK_PLUGIN([$1]) dnl + ],[ dnl + _MYSQL_CHECK_PLUGIN([$1]) dnl + _MYSQL_CONFIGURE_PLUGINS(m4_shift($@)) dnl + ]) +]) + +AC_DEFUN([_MYSQL_CHECK_PLUGIN],[ dnl + _DO_MYSQL_CHECK_PLUGIN( + [$1], + [$1-plugin], + [MYSQL_MODULE_NAME_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DESC_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DEFINE_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DIRECTORY_]AS_TR_CPP([$1]), + [MYSQL_MODULE_STATIC_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DYNAMIC_]AS_TR_CPP([$1]), + [MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]), + [MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]) + ) dnl +]) + +AC_DEFUN([_DO_MYSQL_CHECK_PLUGIN],[ dnl + m4_ifdef([$5],[ dnl + AH_TEMPLATE($5, [Include ]$4[ into mysqld]) + ]) + AC_MSG_CHECKING([whether to use ]$3) dnl + m4_ifdef([$10],[ + if test "[$mysql_module_]m4_bpatsubst([$1], -, _)" = yes -a \ + "[$with_module_]m4_bpatsubst([$1], -, _)" != no -o \ + "[$with_module_]m4_bpatsubst([$1], -, _)" = yes; then + AC_MSG_ERROR([disabled]) + fi + AC_MSG_RESULT([no]) dnl + ],[ dnl + m4_ifdef([$9],[ + if test "[$with_module_]m4_bpatsubst([$1], -, _)" = no; then + AC_MSG_ERROR([cannot disable mandatory module]) + fi + [mysql_module_]m4_bpatsubst([$1], -, _)=yes dnl + ]) + if test "[$with_module_]m4_bpatsubst([$1], -, _)" != no; then + if test "[$mysql_module_]m4_bpatsubst([$1], -, _)" != yes -a \ + "[$with_module_]m4_bpatsubst([$1], -, _)" != yes; then dnl + m4_ifdef([$8],[ dnl + m4_ifdef([$6],[ + mysql_plugin_dirs="$mysql_plugin_dirs $6" dnl + ]) + AC_SUBST([plugin_]m4_bpatsubst([$1], -, _)[_shared_target], "$8") + AC_SUBST([plugin_]m4_bpatsubst([$1], -, _)[_static_target], [""]) + [with_module_]m4_bpatsubst([$1], -, _)=yes + AC_MSG_RESULT([plugin]) dnl + ],[ + [with_module_]m4_bpatsubst([$1], -, _)=no + AC_MSG_RESULT([no]) dnl + ]) + else dnl + m4_ifdef([$7],[ + ifelse(m4_bregexp($7, [^lib[^.]+\.a$]), -2, [ dnl + m4_ifdef([$6],[ + mysql_plugin_dirs="$mysql_plugin_dirs $6" + mysql_plugin_libs="$mysql_plugin_libs -L[\$(top_builddir)]/$6" dnl + ]) + mysql_plugin_libs="$mysql_plugin_libs dnl +[-l]m4_bregexp($7, [^lib\([^.]+\)], [\1])" dnl + ], m4_bregexp($7, [^\\\$]), 0, [ dnl + m4_ifdef([$6],[ + mysql_plugin_dirs="$mysql_plugin_dirs $6" dnl + ]) + mysql_plugin_libs="$mysql_plugin_libs $7" dnl + ], [ dnl + m4_ifdef([$6],[ + mysql_plugin_dirs="$mysql_plugin_dirs $6" + mysql_plugin_libs="$mysql_plugin_libs \$(top_builddir)/$6/$7" dnl + ],[ + mysql_plugin_libs="$mysql_plugin_libs $7" dnl + ]) dnl + ]) dnl + m4_ifdef([$5],[ + AC_DEFINE($5) dnl + ]) + AC_SUBST([plugin_]m4_bpatsubst([$1], -, _)[_static_target], "$7") + AC_SUBST([plugin_]m4_bpatsubst([$1], -, _)[_shared_target], [""]) dnl + ],[ dnl + m4_ifdef([$6],[ + AC_FATAL([plugin directory specified without library for ]$3) dnl + ],[ dnl + m4_ifdef([$5],[ + AC_DEFINE($5) + AC_SUBST([plugin_]m4_bpatsubst([$1], -, _)[_static_target], ["yes"]) + AC_SUBST([plugin_]m4_bpatsubst([$1], -, _)[_shared_target], [""]) dnl + ]) dnl + ]) dnl + ]) + mysql_plugin_defs="$mysql_plugin_defs, [builtin_]m4_bpatsubst([$2], -, _)" + [with_module_]m4_bpatsubst([$1], -, _)=yes + AC_MSG_RESULT([yes]) + fi + else + AC_MSG_RESULT([no]) + fi dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_DO_PLUGIN_ACTIONS],[ dnl + ifelse($#, 0, [], $#, 1, [ dnl + _MYSQL_PLUGIN_ACTIONS([$1]) dnl + ],[ dnl + _MYSQL_PLUGIN_ACTIONS([$1]) dnl + _MYSQL_DO_PLUGIN_ACTIONS(m4_shift($@)) dnl + ]) +]) + +AC_DEFUN([_MYSQL_PLUGIN_ACTIONS],[ dnl + _DO_MYSQL_PLUGIN_ACTIONS( + [$1], + [$1-plugin], + [MYSQL_MODULE_NAME_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DESC_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DEFINE_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DIRECTORY_]AS_TR_CPP([$1]), + [MYSQL_MODULE_STATIC_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DYNAMIC_]AS_TR_CPP([$1]), + [MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]), + [MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]) + ) dnl +]) + + +AC_DEFUN([_DO_MYSQL_PLUGIN_ACTIONS],[ dnl + m4_ifdef([$10], [], [ + if test "[$with_module_]m4_bpatsubst([$1], -, _)" = yes; then + if test -z "[$plugin_]m4_bpatsubst([$1], -, _)[_static_target]" -a \ + -z "[$plugin_]m4_bpatsubst([$1], -, _)[_shared_target]"; then + AC_MSG_ERROR([thats strange, $1 failed sanity check]) + fi + $11 + fi dnl + ]) dnl +]) + + + +dnl =========================================================================== +dnl Private helper macros +dnl =========================================================================== + + +AC_DEFUN([REQUIRE_PLUGIN],[ dnl + _REQUIRE_PLUGIN([$1], [__MYSQL_MODULE_]AS_TR_CPP([$1])[__]) dnl +]) + +define([_REQUIRE_PLUGIN],[ dnl + ifdef([$2],[ dnl + ifelse($2, [$1], [], [ dnl + AC_FATAL([[Misspelt MYSQL_MODULE declaration for ]][$1]) dnl + ]) dnl + ],[ dnl + AC_FATAL([[Missing MYSQL_MODULE declaration for ]][$1]) dnl + ]) +]) + + +dnl --------------------------------------------------------------------------- + + +AC_DEFUN([_MYSQL_MODULE_META_CHECK], [ifelse($#, 0, [], $#, 1, dnl +[_MYSQL_CHECK_PLUGIN_META([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__]) dnl +], dnl +[_MYSQL_CHECK_PLUGIN_META([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__]) dnl +_MYSQL_MODULE_META_CHECK(m4_shift($@))]) dnl +]) + +AC_DEFUN([_MYSQL_CHECK_PLUGIN_META], [ + [$1] ) dnl +m4_ifdef([$2], [ + mysql_modules='m4_bpatsubst($2, :, [ ])' dnl +],[ + mysql_modules='' dnl +]) + ;; dnl +]) + + +dnl --------------------------------------------------------------------------- + + +AC_DEFUN([_MYSQL_PLUGAPPEND],[ dnl + m4_ifdef([$1],[ dnl + m4_define([__plugin_append_tmp__], m4_defn([$1])) dnl + m4_undefine([$1]) dnl + m4_define([$1], __plugin_append_tmp__[:$2]) dnl + m4_undefine([__plugin_append_tmp__]) dnl + ],[ dnl + m4_define([$1], [$2]) dnl + $3 dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_PLUGAPPEND_OPTS],[ dnl + ifelse($#, 0, [], $#, 1, [ dnl + AC_FATAL([[bad number of args]]) + ], $#, 2, [ dnl + _MYSQL_PLUGAPPEND_OPTONE([$1],[$2]) dnl + ],[ dnl + _MYSQL_PLUGAPPEND_OPTONE([$1],[$2]) dnl + _MYSQL_PLUGAPPEND_OPTS([$1], m4_shift(m4_shift($@))) + ]) +]) + +AC_DEFUN([_MYSQL_PLUGAPPEND_OPTONE],[ dnl + ifelse([$2], [all], [ dnl + AC_FATAL([[protected plugin group: all]]) dnl + ],[ dnl + ifelse([$2], [none], [ dnl + AC_FATAL([[protected plugin group: none]]) dnl + ],[ dnl + _MYSQL_PLUGAPPEND([__mysql_$1_configs__],[$2]) dnl + _MYSQL_PLUGAPPEND([__mysql_]m4_bpatsubst($2, -, _)[_plugins__],[$1], [ dnl + _MYSQL_PLUGAPPEND([__mysql_metaplugin_list__],[$2]) dnl + ]) dnl + ]) dnl + ]) dnl +]) + + +dnl --------------------------------------------------------------------------- + + +AC_DEFUN([MYSQL_LIST_PLUGINS],[ dnl + m4_ifdef([__mysql_plugin_list__],[ dnl + _MYSQL_LIST_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,])) dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_LIST_PLUGINS],[ dnl + ifelse($#, 0, [], $#, 1, [ dnl + MYSQL_SHOW_PLUGIN([$1]) dnl + ],[ dnl + MYSQL_SHOW_PLUGIN([$1]) dnl + _MYSQL_LIST_PLUGINS(m4_shift($@)) dnl + ]) dnl +]) + +AC_DEFUN([MYSQL_SHOW_PLUGIN],[ dnl + _MYSQL_SHOW_PLUGIN( + [$1], + [$1-plugin], + [MYSQL_MODULE_NAME_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DESC_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DEFINE_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DIRECTORY_]AS_TR_CPP([$1]), + [MYSQL_MODULE_STATIC_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DYNAMIC_]AS_TR_CPP([$1]), + [MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1]), + [MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]), + [MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]), + __mysql_[$1]_configs__, + ) +]) + +AC_DEFUN([_MYSQL_SHOW_PLUGIN],[ + === Plug-in: $3 === + Module Name: [$1] + Description: $4 + Supports build: _PLUGIN_BUILD_TYPE([$7],[$8]) dnl +m4_ifdef([$12],[ + Configurations: m4_bpatsubst($12, :, [, ])]) dnl +m4_ifdef([$10],[ + Status: disabled], [ dnl +m4_ifdef([$9],[ + Status: mandatory])])]) + +AC_DEFUN([_PLUGIN_BUILD_TYPE], dnl +[m4_ifdef([$1],[ifelse($1,[no],[],[static ]m4_ifdef([$2],[and dnl +]))])[]m4_ifdef([$2],[dynamic],[m4_ifdef([$1],[],[static])])]) + + +dnl --------------------------------------------------------------------------- + + +AC_DEFUN([_MYSQL_MODULE_ARGS_CHECK],[ dnl + ifelse($#, 0, [], $#, 1, [ dnl + _MYSQL_CHECK_PLUGIN_ARG([$1], + [MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]), + [MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1])) dnl + ],[ dnl + _MYSQL_CHECK_PLUGIN_ARG([$1], + [MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]), + [MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1])) dnl + _MYSQL_MODULE_ARGS_CHECK(m4_shift($@)) dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_CHECK_PLUGIN_ARG],[ dnl + m4_ifdef([$3], [], [m4_define([$3],[ ])]) + [$1] ) dnl + m4_ifdef([$2],[ + AC_MSG_ERROR([plugin $1 is disabled]) dnl + ],[ + [mysql_module_]m4_bpatsubst([$1], -, _)=yes dnl + ]) + ;; dnl +]) + +AC_DEFUN([_MYSQL_SANE_VARS], [ dnl + ifelse($#, 0, [], $#, 1, [ dnl + _MYSQL_SANEVAR([$1]) dnl + ],[ dnl + _MYSQL_SANEVAR([$1]) dnl + _MYSQL_SANE_VARS(m4_shift($@)) dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_SANEVAR], [ + test -z "[$mysql_module_]m4_bpatsubst([$1], -, _)" && dnl +[mysql_module_]m4_bpatsubst([$1], -, _)='.' + test -z "[$with_module_]m4_bpatsubst([$1], -, _)" && dnl +[with_module_]m4_bpatsubst([$1], -, _)='.' dnl +]) + +AC_DEFUN([_MYSQL_CHECK_DEPENDENCIES], [ dnl + ifelse($#, 0, [], $#, 1, [ dnl + _MYSQL_CHECK_DEPENDS([$1],[__mysql_plugdepends_$1__]) dnl + ],[ dnl + _MYSQL_CHECK_DEPENDS([$1],[__mysql_plugdepends_$1__]) dnl + _MYSQL_CHECK_DEPENDENCIES(m4_shift($@)) dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_CHECK_DEPENDS], [ dnl + m4_ifdef([$2], [ + if test "[$mysql_module_]m4_bpatsubst([$1], -, _)" = yes -a \ + "[$with_module_]m4_bpatsubst([$1], -, _)" != no -o \ + "[$with_module_]m4_bpatsubst([$1], -, _)" = yes; then dnl + _MYSQL_GEN_DEPENDS(m4_bpatsubst($2, :, [,])) + fi dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_GEN_DEPENDS], [ dnl + ifelse($#, 0, [], $#, 1, [ dnl + _MYSQL_GEN_DEPEND([$1]) dnl + ],[ dnl + _MYSQL_GEN_DEPEND([$1]) dnl + _MYSQL_GEN_DEPENDS(m4_shift($@)) dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_GEN_DEPEND], [ dnl + m4_ifdef([MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]),[ + AC_MSG_ERROR([depends upon disabled module $1]) dnl + ],[ + [mysql_module_]m4_bpatsubst([$1], -, _)=yes + if test "[$with_module_]m4_bpatsubst([$1], -, _)" = no; then + AC_MSG_ERROR([depends upon disabled module $1]) + fi dnl + ]) dnl +]) + +AC_DEFUN([_MYSQL_CHECK_PLUGIN_ARGS],[ + AC_ARG_WITH([modules], [ + --with-modules=PLUGIN[[,PLUGIN..]] +m4_text_wrap([Plugin modules to include in mysqld. (default is: $1) +Must be configuration name or a comma seperated list of modules.], +[ ]) +m4_text_wrap([Available configurations are: ] +m4_bpatsubst(m4_ifdef([__mysql_metaplugin_list__], dnl +none:all:__mysql_metaplugin_list__,none:all), :, [ ])[.], +[ ]) +m4_text_wrap([Available plugin modules are: ] dnl +m4_bpatsubst(__mysql_plugin_list__, :, [ ])[.], [ ]) + --without-module-PLUGIN +m4_text_wrap([Disable the named module from being built. Otherwise, +for modules which are not selected for inclusion in mysqld will be +built dynamically (if supported)],[ ]) +],[mysql_modules="`echo $withval | tr ',.:;*[]' ' '`"], + [mysql_modules=['$1']]) + +m4_divert_once([HELP_VAR_END],[ +Description of plugin modules: +m4_indir([MYSQL_LIST_PLUGINS]) +]) + + case "$mysql_modules" in + all ) + mysql_modules='m4_bpatsubst(__mysql_plugin_list__, :, [ ])' + ;; + none ) + mysql_modules='' + ;; dnl +m4_ifdef([__mysql_metaplugin_list__],[ dnl +_MYSQL_MODULE_META_CHECK(m4_bpatsubst(__mysql_metaplugin_list__, :, [,])) dnl +]) + esac + + for plugin in $mysql_modules; do + case "$plugin" in + all ) + AC_MSG_ERROR([bad module name: $plugin]) + ;; + none ) + AC_MSG_ERROR([bad module name: $plugin]) + ;; dnl +_MYSQL_MODULE_ARGS_CHECK(m4_bpatsubst(__mysql_plugin_list__, :, [,])) + * ) + AC_MSG_ERROR([unknown plugin module: $plugin]) + ;; + esac + done + + _MYSQL_SANE_VARS(m4_bpatsubst(__mysql_plugin_list__, :, [,])) + _MYSQL_CHECK_DEPENDENCIES(m4_bpatsubst(__mysql_plugin_list__, :, [,])) +]) + + +dnl =========================================================================== diff --git a/config/ac-macros/storage.m4 b/config/ac-macros/storage.m4 deleted file mode 100644 index 4148aed818d..00000000000 --- a/config/ac-macros/storage.m4 +++ /dev/null @@ -1,55 +0,0 @@ -dnl --------------------------------------------------------------------------- -dnl Macro: MYSQL_STORAGE_ENGINE -dnl -dnl What it does: -dnl creates --with-xxx configure option -dnl adds HAVE_XXX to config.h -dnl appends &xxx_hton, to the list of hanldertons -dnl appends a dir to the list of source directories -dnl appends ha_xxx.cc to the list of handler files -dnl -dnl all names above are configurable with reasonable defaults. -dnl -dnl --------------------------------------------------------------------------- - -AC_DEFUN([MYSQL_STORAGE_ENGINE], -[_MYSQL_STORAGE_ENGINE( -[$1], dnl name -m4_default([$2], [$1 storage engine]), dnl verbose name -m4_default([$3], [$1-storage-engine]), dnl with-name -m4_default([$4], no), dnl default -m4_default([$5], [WITH_]AS_TR_CPP([$1])[_STORAGE_ENGINE]), -m4_default([$6], $1[_hton]), dnl hton -m4_default([$7], []), dnl path to the code -m4_default([$8], [ha_$1.o]), dnl path to the handler in -m4_default([$9], []), dnl path to extra libraries -[$10], dnl code-if-set -)]) - -AC_DEFUN([_MYSQL_STORAGE_ENGINE], -[ -AC_ARG_WITH([$3], AS_HELP_STRING([--with-$3], [enable $2 (default is $4)]), -[], [ [with_]m4_bpatsubst([$3], -, _)=['$4']]) -AC_CACHE_CHECK([whether to use $2], [mysql_cv_use_]m4_bpatsubst([$3], -, _), -[mysql_cv_use_]m4_bpatsubst([$3], -, _)=[$with_]m4_bpatsubst([$3], -, _)) -AH_TEMPLATE([$5], [Build $2]) -if test "[$mysql_cv_use_]m4_bpatsubst([$3], -, _)" != no; then -if test "$6" != "no" -then - AC_DEFINE([$5]) - mysql_se_decls="${mysql_se_decls},$6" - mysql_se_htons="${mysql_se_htons},&$6" - if test "$8" != "no" - then - mysql_se_objs="$mysql_se_objs $8" - fi - mysql_se_dirs="$mysql_se_dirs $7" - mysql_se_libs="$mysql_se_libs $9" -else - mysql_se_plugins="$mysql_se_plugins $7" -fi -$10 -fi -]) - -dnl --------------------------------------------------------------------------- |