Commit fa15fbf3 authored by unknown's avatar unknown

WL#3201 post-review fixups

  end plugin/module naming schizophrenia
  fixup shell code and m4 macro comments
  cmakelists.txt included in EXTRA_DIST


BUILD/SETUP.sh:
  change module -> plugin
config/ac-macros/plugins.m4:
  change module -> plugin
  rename some macros
  fixup comments
  alter shell code to use similar 'test "X$var" = Xfoo"' which autoconf generates
configure.in:
  change module -> plugin
  move plugin mandatory declarations near rest of plugin declaration
storage/archive/Makefile.am:
  cmakelists.txt needed in EXTRA_DIST
storage/blackhole/Makefile.am:
  cmakelists.txt needed in EXTRA_DIST
storage/csv/Makefile.am:
  cmakelists.txt needed in EXTRA_DIST
storage/example/Makefile.am:
  cmakelists.txt needed in EXTRA_DIST
parent 3d35b05a
...@@ -147,9 +147,9 @@ static_link="$static_link --with-client-ldflags=-all-static" ...@@ -147,9 +147,9 @@ static_link="$static_link --with-client-ldflags=-all-static"
local_infile_configs="--enable-local-infile" local_infile_configs="--enable-local-infile"
max_no_embedded_configs="$SSL_LIBRARY --with-modules=max" max_no_embedded_configs="$SSL_LIBRARY --with-plugins=max"
max_no_ndb_configs="$SSL_LIBRARY --with-modules=max-no-ndb --with-embedded-server" max_no_ndb_configs="$SSL_LIBRARY --with-plugins=max-no-ndb --with-embedded-server"
max_configs="$SSL_LIBRARY --with-modules=max --with-embedded-server" max_configs="$SSL_LIBRARY --with-plugins=max --with-embedded-server"
# #
# CPU and platform specific compilation flags. # CPU and platform specific compilation flags.
......
dnl =========================================================================== dnl ===========================================================================
dnl Support for plugable mysql server modules dnl Support for mysql server plugins
dnl =========================================================================== dnl ===========================================================================
dnl dnl
dnl WorkLog#3201 dnl WorkLog#3201
dnl dnl
dnl Framework for pluggable static and dynamic modules for mysql dnl Framework for pluggable static and dynamic plugins for mysql
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_MODULE dnl Macro: MYSQL_PLUGIN
dnl dnl
dnl Syntax: dnl SYNOPSIS
dnl MYSQL_MODULE([name],[Plugin module name], dnl MYSQL_PLUGIN([name],[Plugin name],
dnl [Plugin module description], dnl [Plugin description],
dnl [group,group...]) dnl [group,group...])
dnl dnl
dnl What it does: dnl DESCRIPTION
dnl First declaration for a plugin module (mandatory). dnl First declaration for a plugin (mandatory).
dnl Adds module as member to configuration groups (if specified) dnl Adds plugin as member to configuration groups (if specified)
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_MODULE],[ AC_DEFUN([MYSQL_PLUGIN],[
_MYSQL_MODULE( _MYSQL_PLUGIN(
[$1], [$1],
[__MYSQL_MODULE_]AS_TR_CPP([$1])[__], [__MYSQL_PLUGIN_]AS_TR_CPP([$1])[__],
m4_default([$2], [$1 plugin]), m4_default([$2], [$1 plugin]),
m4_default([$3], [plugin for $1]), m4_default([$3], [plugin for $1]),
m4_default([$4], []), m4_default([$4], []),
) )
]) ])
AC_DEFUN([_MYSQL_MODULE],[ AC_DEFUN([_MYSQL_PLUGIN],[
m4_ifdef([$2], [ m4_ifdef([$2], [
AC_FATAL([Duplicate MYSQL_MODULE declaration for $3]) AC_FATAL([Duplicate MYSQL_PLUGIN declaration for $3])
],[ ],[
m4_define([$2], [$1]) m4_define([$2], [$1])
_MYSQL_PLUGAPPEND([__mysql_plugin_list__],[$1]) _MYSQL_PLUGAPPEND([__mysql_plugin_list__],[$1])
m4_define([MYSQL_MODULE_NAME_]AS_TR_CPP([$1]), [$3]) m4_define([MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]), [$3])
m4_define([MYSQL_MODULE_DESC_]AS_TR_CPP([$1]), [$4]) m4_define([MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]), [$4])
ifelse([$5], [], [], [ ifelse([$5], [], [], [
_MYSQL_PLUGAPPEND_OPTS([$1], $5) _MYSQL_PLUGAPPEND_META([$1], $5)
]) ])
]) ])
]) ])
...@@ -48,14 +48,18 @@ AC_DEFUN([_MYSQL_MODULE],[ ...@@ -48,14 +48,18 @@ AC_DEFUN([_MYSQL_MODULE],[
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_STORAGE_ENGINE dnl Macro: MYSQL_STORAGE_ENGINE
dnl dnl
dnl What it does: dnl SYNOPSIS
dnl MYSQL_STORAGE_ENGINE([name],[legacy-option],[Storage engine name],
dnl [Storage engine description],[group,group...])
dnl
dnl DESCRIPTION
dnl Short cut for storage engine declarations dnl Short cut for storage engine declarations
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_STORAGE_ENGINE],[ AC_DEFUN([MYSQL_STORAGE_ENGINE],[
MYSQL_MODULE([$1], [$3], [$4], [[$5]]) MYSQL_PLUGIN([$1], [$3], [$4], [[$5]])
MYSQL_MODULE_DEFINE([$1], [WITH_]AS_TR_CPP([$1])[_STORAGE_ENGINE]) MYSQL_PLUGIN_DEFINE([$1], [WITH_]AS_TR_CPP([$1])[_STORAGE_ENGINE])
ifelse([$2],[no],[],[ ifelse([$2],[no],[],[
_MYSQL_LEGACY_STORAGE_ENGINE( _MYSQL_LEGACY_STORAGE_ENGINE(
m4_bpatsubst(m4_default([$2], [$1-storage-engine]), -, _)) m4_bpatsubst(m4_default([$2], [$1-storage-engine]), -, _))
...@@ -64,109 +68,127 @@ AC_DEFUN([MYSQL_STORAGE_ENGINE],[ ...@@ -64,109 +68,127 @@ AC_DEFUN([MYSQL_STORAGE_ENGINE],[
AC_DEFUN([_MYSQL_LEGACY_STORAGE_ENGINE],[ AC_DEFUN([_MYSQL_LEGACY_STORAGE_ENGINE],[
if test "[${with_]$1[+set}]" = set; then if test "[${with_]$1[+set}]" = set; then
[with_module_]$1="[$with_]$1" [with_plugin_]$1="[$with_]$1"
fi fi
]) ])
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_MODULE_DEFINE dnl Macro: MYSQL_PLUGIN_DEFINE
dnl
dnl SYNOPSIS
dnl MYSQL_PLUGIN_DEFILE([name],[MYSQL_CPP_DEFINE])
dnl dnl
dnl What it does: dnl DESCRIPTION
dnl When a plugin module is to be statically linked, define the C macro dnl When a plugin is to be statically linked, define the C macro
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_MODULE_DEFINE],[ AC_DEFUN([MYSQL_PLUGIN_DEFINE],[
REQUIRE_PLUGIN([$1]) MYSQL_REQUIRE_PLUGIN([$1])
m4_define([MYSQL_MODULE_DEFINE_]AS_TR_CPP([$1]), [$2]) m4_define([MYSQL_PLUGIN_DEFINE_]AS_TR_CPP([$1]), [$2])
]) ])
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_MODULE_DIRECTORY dnl Macro: MYSQL_PLUGIN_DIRECTORY
dnl dnl
dnl What it does: dnl SYNOPSIS
dnl MYSQL_PLUGIN_DIRECTORY([name],[plugin/dir])
dnl
dnl DESCRIPTION
dnl Adds a directory to the build process dnl Adds a directory to the build process
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_MODULE_DIRECTORY],[ AC_DEFUN([MYSQL_PLUGIN_DIRECTORY],[
REQUIRE_PLUGIN([$1]) MYSQL_REQUIRE_PLUGIN([$1])
m4_define([MYSQL_MODULE_DIRECTORY_]AS_TR_CPP([$1]), [$2]) m4_define([MYSQL_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]), [$2])
]) ])
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_MODULE_STATIC dnl Macro: MYSQL_PLUGIN_STATIC
dnl
dnl SYNOPSIS
dnl MYSQL_PLUGIN_STATIC([name],[libmyplugin.a])
dnl dnl
dnl What it does: dnl DESCRIPTION
dnl Declare the name for the static library dnl Declare the name for the static library
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_MODULE_STATIC],[ AC_DEFUN([MYSQL_PLUGIN_STATIC],[
REQUIRE_PLUGIN([$1]) MYSQL_REQUIRE_PLUGIN([$1])
m4_define([MYSQL_MODULE_STATIC_]AS_TR_CPP([$1]), [$2]) m4_define([MYSQL_PLUGIN_STATIC_]AS_TR_CPP([$1]), [$2])
]) ])
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_MODULE_DYNAMIC dnl Macro: MYSQL_PLUGIN_DYNAMIC
dnl dnl
dnl What it does: dnl SYNOPSIS
dnl MYSQL_PLUGIN_DYNAMIC([name],[myplugin.la])
dnl
dnl DESCRIPTION
dnl Declare the name for the shared library dnl Declare the name for the shared library
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_MODULE_DYNAMIC],[ AC_DEFUN([MYSQL_PLUGIN_DYNAMIC],[
REQUIRE_PLUGIN([$1]) MYSQL_REQUIRE_PLUGIN([$1])
m4_define([MYSQL_MODULE_DYNAMIC_]AS_TR_CPP([$1]), [$2]) m4_define([MYSQL_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]), [$2])
]) ])
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_MODULE_MANDATORY dnl Macro: MYSQL_PLUGIN_MANDATORY
dnl
dnl SYNOPSIS
dnl MYSQL_PLUGIN_MANDATORY([name])
dnl dnl
dnl What it does: dnl DESCRIPTION
dnl Marks the specified plugin as a mandatory module dnl Marks the specified plugin as a mandatory plugin
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_MODULE_MANDATORY],[ AC_DEFUN([MYSQL_PLUGIN_MANDATORY],[
REQUIRE_PLUGIN([$1]) MYSQL_REQUIRE_PLUGIN([$1])
_MYSQL_MODULE_MANDATORY([$1], _MYSQL_PLUGIN_MANDATORY([$1],
[MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]) [MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1])
) )
]) ])
AC_DEFUN([_MYSQL_MODULE_MANDATORY],[ AC_DEFUN([_MYSQL_PLUGIN_MANDATORY],[
m4_define([$2], [yes]) m4_define([$2], [yes])
m4_ifdef([$3], [ m4_ifdef([$3], [
AC_WARNING([syntax],[Mandatory plugin $1 has been disabled]) AC_FATAL([mandatory plugin $1 has been disabled])
m4_undefine([$2]) m4_undefine([$2])
]) ])
]) ])
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_MODULE_DISABLED dnl Macro: MYSQL_PLUGIN_DISABLED
dnl
dnl SYNOPSIS
dnl MYSQL_PLUGIN_DISABLED([name])
dnl dnl
dnl What it does: dnl DESCRIPTION
dnl Marks the specified plugin as a disabled module dnl Marks the specified plugin as a disabled plugin
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_MODULE_DISABLED],[ AC_DEFUN([MYSQL_PLUGIN_DISABLED],[
REQUIRE_PLUGIN([$1]) MYSQL_REQUIRE_PLUGIN([$1])
_MYSQL_MODULE_DISABLED([$1], _MYSQL_PLUGIN_DISABLED([$1],
[MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
[MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1]) [MYSQL_PLUGIN_MANDATORY_]AS_TR_CPP([$1])
) )
]) ])
AC_DEFUN([_MYSQL_MODULE_DISABLED],[ AC_DEFUN([_MYSQL_PLUGIN_DISABLED],[
m4_define([$2], [yes]) m4_define([$2], [yes])
m4_ifdef([$3], [ m4_ifdef([$3], [
AC_FATAL([attempt to disable mandatory plugin $1]) AC_FATAL([attempt to disable mandatory plugin $1])
...@@ -176,48 +198,54 @@ AC_DEFUN([_MYSQL_MODULE_DISABLED],[ ...@@ -176,48 +198,54 @@ AC_DEFUN([_MYSQL_MODULE_DISABLED],[
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_MODULE_DEPENDS dnl Macro: MYSQL_PLUGIN_DEPENDS
dnl dnl
dnl What it does: dnl SYNOPSIS
dnl Enables other modules neccessary for this module dnl MYSQL_PLUGIN_DEPENDS([name],[prereq,prereq...])
dnl
dnl DESCRIPTION
dnl Enables other plugins neccessary for the named plugin
dnl Dependency checking is not recursive so if any dnl Dependency checking is not recursive so if any
dnl required module requires further modules, list them dnl required plugin requires further plugins, list them
dnl here too! dnl here too!
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_MODULE_DEPENDS],[ AC_DEFUN([MYSQL_PLUGIN_DEPENDS],[
REQUIRE_PLUGIN([$1]) MYSQL_REQUIRE_PLUGIN([$1])
ifelse($#, 0, [], $#, 1, [ ifelse($#, 2, [
_MYSQL_PLUGIN_DEPEND([$1], $2)
], [
AC_FATAL([bad number of arguments]) AC_FATAL([bad number of arguments])
], $#, 2, [
_MYSQL_MODULE_DEPEND([$1],[$2])
],[
_MYSQL_MODULE_DEPEND([$1],[$2])
MYSQL_MODULE_DEPENDS([$1], m4_shift(m4_shift($@)))
]) ])
]) ])
AC_DEFUN([_MYSQL_MODULE_DEPEND],[ AC_DEFUN([_MYSQL_PLUGIN_DEPEND],[
REQUIRE_PLUGIN([$2]) ifelse($#, 1, [], [$#:$2], [2:], [
MYSQL_REQUIRE_PLUGIN([$2])
_MYSQL_PLUGAPPEND([__mysql_plugdepends_$1__],[$2]) _MYSQL_PLUGAPPEND([__mysql_plugdepends_$1__],[$2])
_MYSQL_PLUGIN_DEPEND([$1], m4_shift(m4_shift($@)))
])
]) ])
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_MODULE_ACTIONS dnl Macro: MYSQL_PLUGIN_ACTIONS
dnl
dnl SYNOPSIS
dnl MYSQL_PLUGIN_ACTIONS([name],[PLUGIN_CONFIGURE_STUFF])
dnl dnl
dnl What it does: dnl DESCRIPTION
dnl Declares additional actions required to configure the module dnl Declares additional autoconf actions required to configure the plugin
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_MODULE_ACTIONS],[ AC_DEFUN([MYSQL_PLUGIN_ACTIONS],[
REQUIRE_PLUGIN([$1]) MYSQL_REQUIRE_PLUGIN([$1])
m4_ifdef([$2],[ m4_ifdef([$2],[
m4_define([MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]),m4_defn([$2])) m4_define([MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),m4_defn([$2]))
],[ ],[
m4_define([MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]), [$2]) m4_define([MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]), [$2])
]) ])
]) ])
...@@ -225,20 +253,24 @@ AC_DEFUN([MYSQL_MODULE_ACTIONS],[ ...@@ -225,20 +253,24 @@ AC_DEFUN([MYSQL_MODULE_ACTIONS],[
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_CONFIGURE_PLUGINS dnl Macro: MYSQL_CONFIGURE_PLUGINS
dnl dnl
dnl What it does: dnl SYNOPSIS
dnl Called last, emits all required shell code to configure the modules dnl MYSQL_PLUGIN_DEPENDS([name,name...])
dnl
dnl DESCRIPTION
dnl Used last, emits all required shell code to configure the plugins
dnl Argument is a list of default plugins or meta-plugin
dnl dnl
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_CONFIGURE_PLUGINS],[ AC_DEFUN([MYSQL_CONFIGURE_PLUGINS],[
m4_ifdef([__mysql_plugin_configured__],[ m4_ifdef([__mysql_plugin_configured__],[
AC_FATAL([cannot call [MYSQL_CONFIGURE_PLUGINS] multiple times]) AC_FATAL([cannot use [MYSQL_CONFIGURE_PLUGINS] multiple times])
],[ ],[
m4_define([__mysql_plugin_configured__],[done]) m4_define([__mysql_plugin_configured__],[done])
m4_ifdef([__mysql_plugin_list__],[ m4_ifdef([__mysql_plugin_list__],[
_MYSQL_CHECK_PLUGIN_ARGS([$1]) _MYSQL_CHECK_PLUGIN_ARGS([$1])
_MYSQL_CONFIGURE_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,])) _MYSQL_CONFIGURE_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
_MYSQL_DO_PLUGIN_ACTIONS(m4_bpatsubst(__mysql_plugin_list__, :, [,])) _MYSQL_EMIT_PLUGIN_ACTIONS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
AC_SUBST([mysql_se_dirs]) AC_SUBST([mysql_se_dirs])
AC_SUBST([mysql_pg_dirs]) AC_SUBST([mysql_pg_dirs])
]) ])
...@@ -247,56 +279,56 @@ AC_DEFUN([MYSQL_CONFIGURE_PLUGINS],[ ...@@ -247,56 +279,56 @@ AC_DEFUN([MYSQL_CONFIGURE_PLUGINS],[
AC_DEFUN([_MYSQL_CONFIGURE_PLUGINS],[ AC_DEFUN([_MYSQL_CONFIGURE_PLUGINS],[
ifelse($#, 0, [], $#, 1, [ ifelse($#, 0, [], $#, 1, [
_MYSQL_CHECK_PLUGIN([$1]) _MYSQL_EMIT_CHECK_PLUGIN([$1])
],[ ],[
_MYSQL_CHECK_PLUGIN([$1]) _MYSQL_EMIT_CHECK_PLUGIN([$1])
_MYSQL_CONFIGURE_PLUGINS(m4_shift($@)) _MYSQL_CONFIGURE_PLUGINS(m4_shift($@))
]) ])
]) ])
AC_DEFUN([_MYSQL_CHECK_PLUGIN],[ AC_DEFUN([_MYSQL_EMIT_CHECK_PLUGIN],[
_DO_MYSQL_CHECK_PLUGIN( __MYSQL_EMIT_CHECK_PLUGIN(
[$1], [$1],
m4_bpatsubst([$1], -, _), m4_bpatsubst([$1], -, _),
[MYSQL_MODULE_NAME_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DESC_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DEFINE_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DEFINE_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DIRECTORY_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]),
[MYSQL_MODULE_STATIC_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_STATIC_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DYNAMIC_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]),
[MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
[MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]) [MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1])
) )
]) ])
AC_DEFUN([_DO_MYSQL_CHECK_PLUGIN],[ AC_DEFUN([__MYSQL_EMIT_CHECK_PLUGIN],[
m4_ifdef([$5],[ m4_ifdef([$5],[
AH_TEMPLATE($5, [Include ]$4[ into mysqld]) AH_TEMPLATE($5, [Include ]$4[ into mysqld])
]) ])
AC_MSG_CHECKING([whether to use ]$3) AC_MSG_CHECKING([whether to use ]$3)
mysql_use_plugin_dir="" mysql_use_plugin_dir=""
m4_ifdef([$10],[ m4_ifdef([$10],[
if test "[$mysql_module_]$2" = yes -a \ if test "X[$mysql_plugin_]$2" = Xyes -a \
"[$with_module_]$2" != no -o \ "X[$with_plugin_]$2" != Xno -o \
"[$with_module_]$2" = yes; then "X[$with_plugin_]$2" = Xyes; then
AC_MSG_RESULT([error]) AC_MSG_RESULT([error])
AC_MSG_ERROR([disabled]) AC_MSG_ERROR([disabled])
fi fi
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
],[ ],[
m4_ifdef([$9],[ m4_ifdef([$9],[
if test "[$with_module_]$2" = no; then if test "X[$with_plugin_]$2" = Xno; then
AC_MSG_RESULT([error]) AC_MSG_RESULT([error])
AC_MSG_ERROR([cannot disable mandatory module]) AC_MSG_ERROR([cannot disable mandatory plugin])
fi fi
[mysql_module_]$2=yes [mysql_plugin_]$2=yes
]) ])
if test "[$with_module_]$2" = no; then if test "X[$with_plugin_]$2" = Xno; then
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
else else
if test "[$mysql_module_]$2" != yes -a \ if test "X[$mysql_plugin_]$2" != Xyes -a \
"[$with_module_]$2" != yes; then "X[$with_plugin_]$2" != Xyes; then
m4_ifdef([$8],[ m4_ifdef([$8],[
m4_ifdef([$6],[ m4_ifdef([$6],[
if test -d "$srcdir/$6" ; then if test -d "$srcdir/$6" ; then
...@@ -304,16 +336,16 @@ AC_DEFUN([_DO_MYSQL_CHECK_PLUGIN],[ ...@@ -304,16 +336,16 @@ AC_DEFUN([_DO_MYSQL_CHECK_PLUGIN],[
]) ])
AC_SUBST([plugin_]$2[_shared_target], "$8") AC_SUBST([plugin_]$2[_shared_target], "$8")
AC_SUBST([plugin_]$2[_static_target], [""]) AC_SUBST([plugin_]$2[_static_target], [""])
[with_module_]$2=yes [with_plugin_]$2=yes
AC_MSG_RESULT([plugin]) AC_MSG_RESULT([plugin])
m4_ifdef([$6],[ m4_ifdef([$6],[
else else
[mysql_module_]$2=no [mysql_plugin_]$2=no
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
fi fi
]) ])
],[ ],[
[with_module_]$2=no [with_plugin_]$2=no
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
]) ])
else else
...@@ -356,7 +388,7 @@ AC_DEFUN([_DO_MYSQL_CHECK_PLUGIN],[ ...@@ -356,7 +388,7 @@ AC_DEFUN([_DO_MYSQL_CHECK_PLUGIN],[
]) ])
]) ])
mysql_plugin_defs="$mysql_plugin_defs, [builtin_]$2[_plugin]" mysql_plugin_defs="$mysql_plugin_defs, [builtin_]$2[_plugin]"
[with_module_]$2=yes [with_plugin_]$2=yes
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
fi fi
m4_ifdef([$6],[ m4_ifdef([$6],[
...@@ -378,40 +410,33 @@ AC_DEFUN([_DO_MYSQL_CHECK_PLUGIN],[ ...@@ -378,40 +410,33 @@ AC_DEFUN([_DO_MYSQL_CHECK_PLUGIN],[
]) ])
]) ])
AC_DEFUN([_MYSQL_DO_PLUGIN_ACTIONS],[ AC_DEFUN([_MYSQL_EMIT_PLUGIN_ACTIONS],[
ifelse($#, 0, [], $#, 1, [ ifelse($#, 0, [], $#, 1, [
_MYSQL_PLUGIN_ACTIONS([$1]) _MYSQL_EMIT_PLUGIN_ACTION([$1])
],[ ],[
_MYSQL_PLUGIN_ACTIONS([$1]) _MYSQL_EMIT_PLUGIN_ACTION([$1])
_MYSQL_DO_PLUGIN_ACTIONS(m4_shift($@)) _MYSQL_EMIT_PLUGIN_ACTIONS(m4_shift($@))
]) ])
]) ])
AC_DEFUN([_MYSQL_PLUGIN_ACTIONS],[ AC_DEFUN([_MYSQL_EMIT_PLUGIN_ACTION],[
_DO_MYSQL_PLUGIN_ACTIONS( __MYSQL_EMIT_PLUGIN_ACTION(
[$1], [$1],
m4_bpatsubst([$1], -, _), m4_bpatsubst([$1], -, _),
[MYSQL_MODULE_NAME_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DESC_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_ACTIONS_]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])
) )
]) ])
AC_DEFUN([_DO_MYSQL_PLUGIN_ACTIONS],[ AC_DEFUN([__MYSQL_EMIT_PLUGIN_ACTION],[
m4_ifdef([$10], [], [ m4_ifdef([$3], [], [
if test "[$with_module_]$2" = yes; then if test "X[$with_plugin_]$2" = Xyes; then
if test -z "[$plugin_]$2[_static_target]" -a \ if test "X[$plugin_]$2[_static_target]" = X -a \
-z "[$plugin_]$2[_shared_target]"; then "X[$plugin_]$2[_shared_target]" = X; then
AC_MSG_ERROR([that's strange, $1 failed sanity check]) AC_MSG_ERROR([that's strange, $1 failed sanity check])
fi fi
$11 $4
fi fi
]) ])
]) ])
...@@ -423,17 +448,23 @@ dnl Private helper macros ...@@ -423,17 +448,23 @@ dnl Private helper macros
dnl =========================================================================== dnl ===========================================================================
AC_DEFUN([REQUIRE_PLUGIN],[ dnl SYNOPSIS
_REQUIRE_PLUGIN([$1], [__MYSQL_MODULE_]AS_TR_CPP([$1])[__]) dnl MYSQL_REQUIRE_PLUGIN([name])
dnl
dnl DESCRIPTION
dnl Checks that the specified plugin does exist
AC_DEFUN([MYSQL_REQUIRE_PLUGIN],[
_MYSQL_REQUIRE_PLUGIN([$1], [__MYSQL_PLUGIN_]AS_TR_CPP([$1])[__])
]) ])
define([_REQUIRE_PLUGIN],[ define([_MYSQL_REQUIRE_PLUGIN],[
ifdef([$2],[ ifdef([$2],[
ifelse($2, [$1], [], [ ifelse($2, [$1], [], [
AC_FATAL([Misspelt MYSQL_MODULE declaration for $1]) AC_FATAL([Misspelt MYSQL_PLUGIN declaration for $1])
]) ])
],[ ],[
AC_FATAL([Missing MYSQL_MODULE declaration for $1]) AC_FATAL([Missing MYSQL_PLUGIN declaration for $1])
]) ])
]) ])
...@@ -441,19 +472,25 @@ define([_REQUIRE_PLUGIN],[ ...@@ -441,19 +472,25 @@ define([_REQUIRE_PLUGIN],[
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([_MYSQL_MODULE_META_CHECK], [ifelse($#, 0, [], $#, 1, dnl SYNOPSIS
[_MYSQL_CHECK_PLUGIN_META([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__]) dnl _MYSQL_EMIT_METAPLUGINS([name,name...])
dnl
dnl DESCRIPTION
dnl Emits shell code for metaplugins
AC_DEFUN([_MYSQL_EMIT_METAPLUGINS], [ifelse($#, 0, [], $#, 1,
[_MYSQL_EMIT_METAPLUGIN([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__])
], ],
[_MYSQL_CHECK_PLUGIN_META([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__]) [_MYSQL_EMIT_METAPLUGIN([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__])
_MYSQL_MODULE_META_CHECK(m4_shift($@))]) _MYSQL_EMIT_METAPLUGINS(m4_shift($@))])
]) ])
AC_DEFUN([_MYSQL_CHECK_PLUGIN_META], [ AC_DEFUN([_MYSQL_EMIT_METAPLUGIN], [
[$1] ) [$1] )
m4_ifdef([$2], [ m4_ifdef([$2], [
mysql_modules='m4_bpatsubst($2, :, [ ])' mysql_plugins='m4_bpatsubst($2, :, [ ])'
],[ ],[
mysql_modules='' mysql_plugins=''
]) ])
;; ;;
]) ])
...@@ -462,6 +499,12 @@ m4_ifdef([$2], [ ...@@ -462,6 +499,12 @@ m4_ifdef([$2], [
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl SYNOPSIS
dnl _MYSQL_PLUGAPPEND([name],[to-append])
dnl
dnl DESCRIPTION
dnl Helper macro for appending to colon-delimited lists
AC_DEFUN([_MYSQL_PLUGAPPEND],[ AC_DEFUN([_MYSQL_PLUGAPPEND],[
m4_ifdef([$1],[ m4_ifdef([$1],[
m4_define([__plugin_append_tmp__], m4_defn([$1])) m4_define([__plugin_append_tmp__], m4_defn([$1]))
...@@ -474,29 +517,24 @@ AC_DEFUN([_MYSQL_PLUGAPPEND],[ ...@@ -474,29 +517,24 @@ AC_DEFUN([_MYSQL_PLUGAPPEND],[
]) ])
]) ])
AC_DEFUN([_MYSQL_PLUGAPPEND_OPTS],[
ifelse($#, 0, [], $#, 1, [
AC_FATAL([bad number of args])
], $#, 2, [
_MYSQL_PLUGAPPEND_OPTONE([$1],[$2])
],[
_MYSQL_PLUGAPPEND_OPTONE([$1],[$2])
_MYSQL_PLUGAPPEND_OPTS([$1], m4_shift(m4_shift($@)))
])
])
AC_DEFUN([_MYSQL_PLUGAPPEND_OPTONE],[ dnl SYNOPSIS
ifelse([$2], [all], [ dnl _MYSQL_PLUGAPPEND_META([name],[meta,meta...])
dnl
dnl DESCRIPTION
dnl Helper macro for adding plugins to meta plugins
AC_DEFUN([_MYSQL_PLUGAPPEND_META],[
ifelse($#, 1, [], [$#:$2], [2:], [], [$2], [all], [
AC_FATAL([protected plugin group: all]) AC_FATAL([protected plugin group: all])
],[ ], [$2], [none], [
ifelse([$2], [none], [
AC_FATAL([protected plugin group: none]) AC_FATAL([protected plugin group: none])
],[ ],[
_MYSQL_PLUGAPPEND([__mysql_$1_configs__],[$2]) _MYSQL_PLUGAPPEND([__mysql_$1_configs__],[$2])
_MYSQL_PLUGAPPEND([__mysql_]m4_bpatsubst($2, -, _)[_plugins__],[$1], [ _MYSQL_PLUGAPPEND([__mysql_]m4_bpatsubst($2, -, _)[_plugins__],[$1], [
_MYSQL_PLUGAPPEND([__mysql_metaplugin_list__],[$2]) _MYSQL_PLUGAPPEND([__mysql_metaplugin_list__],[$2])
]) ])
]) _MYSQL_PLUGAPPEND_META([$1], m4_shift(m4_shift($@)))
]) ])
]) ])
...@@ -504,6 +542,12 @@ AC_DEFUN([_MYSQL_PLUGAPPEND_OPTONE],[ ...@@ -504,6 +542,12 @@ AC_DEFUN([_MYSQL_PLUGAPPEND_OPTONE],[
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl SYNOPSIS
dnl MYSQL_LIST_PLUGINS
dnl
dnl DESCRIPTION
dnl Emits formatted list of declared plugins
AC_DEFUN([MYSQL_LIST_PLUGINS],[dnl AC_DEFUN([MYSQL_LIST_PLUGINS],[dnl
m4_ifdef([__mysql_plugin_list__],[dnl m4_ifdef([__mysql_plugin_list__],[dnl
_MYSQL_LIST_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))dnl _MYSQL_LIST_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))dnl
...@@ -523,22 +567,22 @@ AC_DEFUN([MYSQL_SHOW_PLUGIN],[ ...@@ -523,22 +567,22 @@ AC_DEFUN([MYSQL_SHOW_PLUGIN],[
_MYSQL_SHOW_PLUGIN( _MYSQL_SHOW_PLUGIN(
[$1], [$1],
[$1-plugin], [$1-plugin],
[MYSQL_MODULE_NAME_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DESC_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DEFINE_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DEFINE_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DIRECTORY_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]),
[MYSQL_MODULE_STATIC_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_STATIC_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DYNAMIC_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]),
[MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
[MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
[MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]), [MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),
__mysql_[$1]_configs__, __mysql_[$1]_configs__,
) )
]) ])
AC_DEFUN([_MYSQL_SHOW_PLUGIN],[dnl AC_DEFUN([_MYSQL_SHOW_PLUGIN],[dnl
=== $3 === === $3 ===
Module Name: [$1] Plugin Name: [$1]
Description: $4 Description: $4
Supports build: _PLUGIN_BUILD_TYPE([$7],[$8])[]dnl Supports build: _PLUGIN_BUILD_TYPE([$7],[$8])[]dnl
m4_ifdef([$12],[ m4_ifdef([$12],[
...@@ -557,134 +601,115 @@ AC_DEFUN([_PLUGIN_BUILD_TYPE], ...@@ -557,134 +601,115 @@ AC_DEFUN([_PLUGIN_BUILD_TYPE],
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
AC_DEFUN([_MYSQL_MODULE_ARGS_CHECK],[ AC_DEFUN([_MYSQL_EMIT_PLUGINS],[
ifelse($#, 0, [], $#, 1, [ ifelse($#, 0, [], [$#:$1], [1:], [], [
_MYSQL_CHECK_PLUGIN_ARG([$1], m4_ifdef([MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]), [], [
[MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]), m4_define([MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),[ ])
[MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]))
],[
_MYSQL_CHECK_PLUGIN_ARG([$1],
[MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]),
[MYSQL_MODULE_ACTIONS_]AS_TR_CPP([$1]))
_MYSQL_MODULE_ARGS_CHECK(m4_shift($@))
]) ])
])
AC_DEFUN([_MYSQL_CHECK_PLUGIN_ARG],[
m4_ifdef([$3], [], [m4_define([$3],[ ])])
[$1] ) [$1] )
m4_ifdef([$2],[ m4_ifdef([MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),[
AC_MSG_ERROR([plugin $1 is disabled]) AC_MSG_ERROR([plugin $1 is disabled])
],[ ],[
[mysql_module_]m4_bpatsubst([$1], -, _)=yes [mysql_plugin_]m4_bpatsubst([$1], -, _)=yes
]) ])
;; ;;
]) _MYSQL_EMIT_PLUGINS(m4_shift($@))
AC_DEFUN([_MYSQL_SANE_VARS], [
ifelse($#, 0, [], $#, 1, [
_MYSQL_SANEVAR([$1])
],[
_MYSQL_SANEVAR([$1])
_MYSQL_SANE_VARS(m4_shift($@))
]) ])
]) ])
AC_DEFUN([_MYSQL_SANEVAR], [ AC_DEFUN([_MYSQL_EMIT_PLUGIN_DEPENDS], [
test -z "[$mysql_module_]m4_bpatsubst([$1], -, _)" && ifelse($#, 0, [], [$#:$1], [1:], [], [
[mysql_module_]m4_bpatsubst([$1], -, _)='.' _MYSQL_EMIT_CHECK_DEPENDS(m4_bpatsubst([$1], -, _),
test -z "[$with_module_]m4_bpatsubst([$1], -, _)" && [__mysql_plugdepends_$1__])
[with_module_]m4_bpatsubst([$1], -, _)='.' _MYSQL_EMIT_PLUGIN_DEPENDS(m4_shift($@))
])
AC_DEFUN([_MYSQL_CHECK_DEPENDENCIES], [
ifelse($#, 0, [], $#, 1, [
_MYSQL_CHECK_DEPENDS([$1],[__mysql_plugdepends_$1__])
],[
_MYSQL_CHECK_DEPENDS([$1],[__mysql_plugdepends_$1__])
_MYSQL_CHECK_DEPENDENCIES(m4_shift($@))
]) ])
]) ])
AC_DEFUN([_MYSQL_CHECK_DEPENDS], [ AC_DEFUN([_MYSQL_EMIT_CHECK_DEPENDS], [
m4_ifdef([$2], [ m4_ifdef([$2], [
if test "[$mysql_module_]m4_bpatsubst([$1], -, _)" = yes -a \ if test "X[$mysql_plugin_]$1" = Xyes -a \
"[$with_module_]m4_bpatsubst([$1], -, _)" != no -o \ "X[$with_plugin_]$1" != Xno -o \
"[$with_module_]m4_bpatsubst([$1], -, _)" = yes; then "X[$with_plugin_]$1" = Xyes; then
_MYSQL_GEN_DEPENDS(m4_bpatsubst($2, :, [,])) _MYSQL_EMIT_PLUGIN_DEPENDENCIES(m4_bpatsubst($2, :, [,]))
fi fi
]) ])
]) ])
AC_DEFUN([_MYSQL_GEN_DEPENDS], [ AC_DEFUN([_MYSQL_EMIT_PLUGIN_DEPENDENCIES], [
ifelse($#, 0, [], $#, 1, [ ifelse($#, 0, [], [
_MYSQL_GEN_DEPEND([$1]) m4_ifdef([MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),[
],[ AC_MSG_ERROR([depends upon disabled plugin $1])
_MYSQL_GEN_DEPEND([$1])
_MYSQL_GEN_DEPENDS(m4_shift($@))
])
])
AC_DEFUN([_MYSQL_GEN_DEPEND], [
m4_ifdef([MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]),[
AC_MSG_ERROR([depends upon disabled module $1])
],[ ],[
[mysql_module_]m4_bpatsubst([$1], -, _)=yes [mysql_plugin_]m4_bpatsubst([$1], -, _)=yes
if test "[$with_module_]m4_bpatsubst([$1], -, _)" = no; then if test "X[$with_plugin_]m4_bpatsubst([$1], -, _)" = Xno; then
AC_MSG_ERROR([depends upon disabled module $1]) AC_MSG_ERROR([depends upon disabled plugin $1])
fi fi
]) ])
_MYSQL_EMIT_PLUGIN_DEPENDENCIES(m4_shift($@))
])
]) ])
dnl SYNOPSIS
dnl _MYSQL_CHECK_PLUGIN_ARGS([plugin],[plugin]...)
dnl
dnl DESCRIPTION
dnl Emits shell script for checking configure arguments
dnl Arguments to this macro is default value for selected plugins
AC_DEFUN([_MYSQL_CHECK_PLUGIN_ARGS],[ AC_DEFUN([_MYSQL_CHECK_PLUGIN_ARGS],[
AC_ARG_WITH([modules], __MYSQL_CHECK_PLUGIN_ARGS(m4_default([$1], [none]))
AS_HELP_STRING([--with-modules=PLUGIN[[[[[,PLUGIN..]]]]]], ])
[Plugin modules to include in mysqld. (default is: $1) Must be a
configuration name or a comma separated list of modules.]) AC_DEFUN([__MYSQL_CHECK_PLUGIN_ARGS],[
AS_HELP_STRING([],[Available configurations are:] dnl AC_ARG_WITH([plugins],
m4_bpatsubst([none:all]m4_ifdef([__mysql_metaplugin_list__], AS_HELP_STRING([--with-plugins=PLUGIN[[[[[,PLUGIN..]]]]]],
__mysql_metaplugin_list__), :, [ ])[.]) [Plugins to include in mysqld. (default is: $1) Must be a
AS_HELP_STRING([],[Available plugin modules are:] dnl configuration name or a comma separated list of plugins.])
AS_HELP_STRING([],
[Available configurations are:] dnl
m4_bpatsubst([none:]m4_ifdef([__mysql_metaplugin_list__],
__mysql_metaplugin_list__:)[all], :, [ ])[.])
AS_HELP_STRING([],
[Available plugins are:] dnl
m4_bpatsubst(__mysql_plugin_list__, :, [ ])[.]) m4_bpatsubst(__mysql_plugin_list__, :, [ ])[.])
AS_HELP_STRING([--without-module-PLUGIN], AS_HELP_STRING([--without-plugin-PLUGIN],
[Disable the named module from being built. Otherwise, for [Disable the named plugin from being built. Otherwise, for
modules which are not selected for inclusion in mysqld will be plugins which are not selected for inclusion in mysqld will be
built dynamically (if supported)]) built dynamically (if supported)])
AS_HELP_STRING([--with-module-PLUGIN], AS_HELP_STRING([--with-plugin-PLUGIN],
[Forces the named module to be linked into mysqld statically.]), [Forces the named plugin to be linked into mysqld statically.]),
[mysql_modules="`echo $withval | tr ',.:;*[]' ' '`"], [mysql_plugins="`echo $withval | tr ',.:;*[]' ' '`"],
[mysql_modules=['$1']]) [mysql_plugins=['$1']])
m4_divert_once([HELP_VAR_END],[ m4_divert_once([HELP_VAR_END],[
Description of plugin modules: Description of plugins:
MYSQL_LIST_PLUGINS]) MYSQL_LIST_PLUGINS])
case "$mysql_modules" in case "$mysql_plugins" in
all ) all )
mysql_modules='m4_bpatsubst(__mysql_plugin_list__, :, [ ])' mysql_plugins='m4_bpatsubst(__mysql_plugin_list__, :, [ ])'
;; ;;
none ) none )
mysql_modules='' mysql_plugins=''
;; ;;
m4_ifdef([__mysql_metaplugin_list__],[ m4_ifdef([__mysql_metaplugin_list__],[
_MYSQL_MODULE_META_CHECK(m4_bpatsubst(__mysql_metaplugin_list__, :, [,])) _MYSQL_EMIT_METAPLUGINS(m4_bpatsubst(__mysql_metaplugin_list__, :, [,]))
]) ])
esac esac
for plugin in $mysql_modules; do for plugin in $mysql_plugins; do
case "$plugin" in case "$plugin" in
all | none ) all | none )
AC_MSG_ERROR([bad module name: $plugin]) AC_MSG_ERROR([bad plugin name: $plugin])
;; ;;
_MYSQL_MODULE_ARGS_CHECK(m4_bpatsubst(__mysql_plugin_list__, :, [,])) _MYSQL_EMIT_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
* ) * )
AC_MSG_ERROR([unknown plugin module: $plugin]) AC_MSG_ERROR([unknown plugin: $plugin])
;; ;;
esac esac
done done
_MYSQL_SANE_VARS(m4_bpatsubst(__mysql_plugin_list__, :, [,])) _MYSQL_EMIT_PLUGIN_DEPENDS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
_MYSQL_CHECK_DEPENDENCIES(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
]) ])
dnl =========================================================================== dnl ===========================================================================
...@@ -54,81 +54,81 @@ romanian russian serbian slovak spanish swedish ukrainian" ...@@ -54,81 +54,81 @@ romanian russian serbian slovak spanish swedish ukrainian"
MYSQL_STORAGE_ENGINE(archive,, [Archive Storage Engine], MYSQL_STORAGE_ENGINE(archive,, [Archive Storage Engine],
[Archive Storage Engine], [max,max-no-ndb]) [Archive Storage Engine], [max,max-no-ndb])
MYSQL_MODULE_DIRECTORY(archive, [storage/archive]) MYSQL_PLUGIN_DIRECTORY(archive, [storage/archive])
MYSQL_MODULE_STATIC(archive, [libarchive.a]) MYSQL_PLUGIN_STATIC(archive, [libarchive.a])
MYSQL_MODULE_DYNAMIC(archive, [ha_archive.la]) MYSQL_PLUGIN_DYNAMIC(archive, [ha_archive.la])
MYSQL_STORAGE_ENGINE(berkeley, berkeley-db, [BerkeleyDB Storage Engine], MYSQL_STORAGE_ENGINE(berkeley, berkeley-db, [BerkeleyDB Storage Engine],
[Transactional Tables using BerkeleyDB], [max,max-no-ndb]) [Transactional Tables using BerkeleyDB], [max,max-no-ndb])
MYSQL_MODULE_DIRECTORY(berkeley,[storage/bdb]) MYSQL_PLUGIN_DIRECTORY(berkeley,[storage/bdb])
MYSQL_MODULE_STATIC(berkeley, [[\$(bdb_libs_with_path)]]) MYSQL_PLUGIN_STATIC(berkeley, [[\$(bdb_libs_with_path)]])
MYSQL_MODULE_ACTIONS(berkeley, [MYSQL_SETUP_BERKELEY_DB]) MYSQL_PLUGIN_ACTIONS(berkeley, [MYSQL_SETUP_BERKELEY_DB])
MYSQL_STORAGE_ENGINE(blackhole,,[Blackhole Storage Engine], MYSQL_STORAGE_ENGINE(blackhole,,[Blackhole Storage Engine],
[Basic Write-only Read-never tables], [max,max-no-ndb]) [Basic Write-only Read-never tables], [max,max-no-ndb])
MYSQL_MODULE_DIRECTORY(blackhole, [storage/blackhole]) MYSQL_PLUGIN_DIRECTORY(blackhole, [storage/blackhole])
MYSQL_MODULE_STATIC(blackhole, [libblackhole.a]) MYSQL_PLUGIN_STATIC(blackhole, [libblackhole.a])
MYSQL_MODULE_DYNAMIC(blackhole, [ha_blackhole.la]) MYSQL_PLUGIN_DYNAMIC(blackhole, [ha_blackhole.la])
MYSQL_STORAGE_ENGINE(csv,, [CSV Storage Engine], MYSQL_STORAGE_ENGINE(csv,, [CSV Storage Engine],
[Stores tables in text CSV format]) [Stores tables in text CSV format])
MYSQL_MODULE_DIRECTORY(csv, [storage/csv]) MYSQL_PLUGIN_DIRECTORY(csv, [storage/csv])
MYSQL_MODULE_STATIC(csv, [libcsv.a]) MYSQL_PLUGIN_STATIC(csv, [libcsv.a])
MYSQL_PLUGIN_MANDATORY(csv) dnl Used for logging
MYSQL_STORAGE_ENGINE(example,, [Example Storage Engine], MYSQL_STORAGE_ENGINE(example,, [Example Storage Engine],
[Skeleton for Storage Engines for developers], [max,max-no-ndb]) [Skeleton for Storage Engines for developers], [max,max-no-ndb])
MYSQL_MODULE_DIRECTORY(example, [storage/example]) MYSQL_PLUGIN_DIRECTORY(example, [storage/example])
MYSQL_MODULE_STATIC(example, [libexample.a]) MYSQL_PLUGIN_STATIC(example, [libexample.a])
MYSQL_MODULE_DYNAMIC(example, [ha_example.la]) MYSQL_PLUGIN_DYNAMIC(example, [ha_example.la])
MYSQL_STORAGE_ENGINE(federated,,[Federated Storage Engine], MYSQL_STORAGE_ENGINE(federated,,[Federated Storage Engine],
[Connects to tables on remote MySQL servers], [max,max-no-ndb]) [Connects to tables on remote MySQL servers], [max,max-no-ndb])
MYSQL_MODULE(ftexample, [Simple Parser], MYSQL_PLUGIN(ftexample, [Simple Parser],
[Simple full-text parser plugin]) [Simple full-text parser plugin])
MYSQL_MODULE_DIRECTORY(ftexample, [plugin/fulltext]) MYSQL_PLUGIN_DIRECTORY(ftexample, [plugin/fulltext])
MYSQL_MODULE_DYNAMIC(ftexample, [mypluglib.la]) MYSQL_PLUGIN_DYNAMIC(ftexample, [mypluglib.la])
MYSQL_STORAGE_ENGINE(heap,no, [Memory Storage Engine], MYSQL_STORAGE_ENGINE(heap,no, [Memory Storage Engine],
[In memory hashed tables]) [In memory hashed tables])
MYSQL_MODULE_DIRECTORY(heap, [storage/heap]) MYSQL_PLUGIN_DIRECTORY(heap, [storage/heap])
MYSQL_MODULE_STATIC(heap, [libheap.a]) MYSQL_PLUGIN_STATIC(heap, [libheap.a])
MYSQL_PLUGIN_MANDATORY(heap) dnl Memory tables
MYSQL_STORAGE_ENGINE(innobase, innodb, [InnoDB Storage Engine], MYSQL_STORAGE_ENGINE(innobase, innodb, [InnoDB Storage Engine],
[Transactional Tables using InnoDB], [max,max-no-ndb]) [Transactional Tables using InnoDB], [max,max-no-ndb])
MYSQL_MODULE_DIRECTORY(innobase, [storage/innobase]) MYSQL_PLUGIN_DIRECTORY(innobase, [storage/innobase])
MYSQL_MODULE_STATIC(innobase, [libinnobase.a]) MYSQL_PLUGIN_STATIC(innobase, [libinnobase.a])
MYSQL_MODULE_ACTIONS(innobase, [ MYSQL_PLUGIN_ACTIONS(innobase, [
AC_CHECK_LIB(rt, aio_read, [innodb_system_libs="-lrt"]) AC_CHECK_LIB(rt, aio_read, [innodb_system_libs="-lrt"])
AC_SUBST(innodb_system_libs) AC_SUBST(innodb_system_libs)
]) ])
MYSQL_STORAGE_ENGINE(myisam,no, [MyISAM Storage Engine], MYSQL_STORAGE_ENGINE(myisam,no, [MyISAM Storage Engine],
[Traditional non-transactional MySQL tables]) [Traditional non-transactional MySQL tables])
MYSQL_MODULE_DIRECTORY(myisam, [storage/myisam]) MYSQL_PLUGIN_DIRECTORY(myisam, [storage/myisam])
MYSQL_MODULE_STATIC(myisam, [libmyisam.a]) MYSQL_PLUGIN_STATIC(myisam, [libmyisam.a])
MYSQL_PLUGIN_MANDATORY(myisam) dnl Default
MYSQL_STORAGE_ENGINE(myisammrg,no,[MyISAM MERGE Engine], MYSQL_STORAGE_ENGINE(myisammrg,no,[MyISAM MERGE Engine],
[Merge multiple MySQL tables into one]) [Merge multiple MySQL tables into one])
MYSQL_MODULE_DIRECTORY(myisammrg,[storage/myisammrg]) MYSQL_PLUGIN_DIRECTORY(myisammrg,[storage/myisammrg])
MYSQL_MODULE_STATIC(myisammrg, [libmyisammrg.a]) MYSQL_PLUGIN_STATIC(myisammrg, [libmyisammrg.a])
MYSQL_PLUGIN_MANDATORY(myisammrg)
MYSQL_STORAGE_ENGINE(ndbcluster, ndbcluster, [Cluster Storage Engine], MYSQL_STORAGE_ENGINE(ndbcluster, ndbcluster, [Cluster Storage Engine],
[High Availability Clustered tables], [max]) [High Availability Clustered tables], [max])
MYSQL_MODULE_DIRECTORY(ndbcluster,[storage/ndb]) MYSQL_PLUGIN_DIRECTORY(ndbcluster,[storage/ndb])
MYSQL_MODULE_STATIC(ndbcluster, [[\$(ndbcluster_libs) \$(ndbcluster_system_libs) \$(NDB_SCI_LIBS)]]) MYSQL_PLUGIN_STATIC(ndbcluster, [[\$(ndbcluster_libs) \$(ndbcluster_system_libs) \$(NDB_SCI_LIBS)]])
MYSQL_MODULE_ACTIONS(ndbcluster,[MYSQL_SETUP_NDBCLUSTER]) MYSQL_PLUGIN_ACTIONS(ndbcluster,[MYSQL_SETUP_NDBCLUSTER])
MYSQL_STORAGE_ENGINE(partition, partition, [Partition Support], MYSQL_STORAGE_ENGINE(partition, partition, [Partition Support],
[MySQL Partitioning Support], [max,max-no-ndb]) [MySQL Partitioning Support], [max,max-no-ndb])
MYSQL_MODULE_MANDATORY(csv) dnl Used for logging
MYSQL_MODULE_MANDATORY(heap) dnl Memory tables
MYSQL_MODULE_MANDATORY(myisam) dnl Default
MYSQL_MODULE_MANDATORY(myisammrg)
dnl -- ndbcluster requires partition to be enabled dnl -- ndbcluster requires partition to be enabled
MYSQL_MODULE_DEPENDS(ndbcluster, partition) MYSQL_PLUGIN_DEPENDS(ndbcluster, [partition])
##### #####
##### #####
......
...@@ -57,5 +57,6 @@ archive_test_LDADD = $(top_builddir)/mysys/libmysys.a \ ...@@ -57,5 +57,6 @@ archive_test_LDADD = $(top_builddir)/mysys/libmysys.a \
archive_test_LDFLAGS = @NOINST_LDFLAGS@ archive_test_LDFLAGS = @NOINST_LDFLAGS@
EXTRA_DIST = cmakelists.txt
# Don't update the files from bitkeeper # Don't update the files from bitkeeper
%::SCCS/s.% %::SCCS/s.%
...@@ -47,5 +47,6 @@ libblackhole_a_CFLAGS = $(AM_CFLAGS) ...@@ -47,5 +47,6 @@ libblackhole_a_CFLAGS = $(AM_CFLAGS)
libblackhole_a_SOURCES= ha_blackhole.cc libblackhole_a_SOURCES= ha_blackhole.cc
EXTRA_DIST = cmakelists.txt
# Don't update the files from bitkeeper # Don't update the files from bitkeeper
%::SCCS/s.% %::SCCS/s.%
...@@ -41,5 +41,6 @@ noinst_LIBRARIES = @plugin_csv_static_target@ ...@@ -41,5 +41,6 @@ noinst_LIBRARIES = @plugin_csv_static_target@
libcsv_a_CXXFLAGS = $(AM_CFLAGS) libcsv_a_CXXFLAGS = $(AM_CFLAGS)
libcsv_a_SOURCES = ha_tina.cc libcsv_a_SOURCES = ha_tina.cc
EXTRA_DIST = cmakelists.txt
# Don't update the files from bitkeeper # Don't update the files from bitkeeper
%::SCCS/s.% %::SCCS/s.%
...@@ -47,5 +47,6 @@ libexample_a_CFLAGS = $(AM_CFLAGS) ...@@ -47,5 +47,6 @@ libexample_a_CFLAGS = $(AM_CFLAGS)
libexample_a_SOURCES= ha_example.cc libexample_a_SOURCES= ha_example.cc
EXTRA_DIST = cmakelists.txt
# Don't update the files from bitkeeper # Don't update the files from bitkeeper
%::SCCS/s.% %::SCCS/s.%
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment