summaryrefslogtreecommitdiff
path: root/config/ac-macros/plugins.m4
diff options
context:
space:
mode:
Diffstat (limited to 'config/ac-macros/plugins.m4')
-rw-r--r--config/ac-macros/plugins.m4551
1 files changed, 288 insertions, 263 deletions
diff --git a/config/ac-macros/plugins.m4 b/config/ac-macros/plugins.m4
index 19b951ea467..0ca952c4354 100644
--- a/config/ac-macros/plugins.m4
+++ b/config/ac-macros/plugins.m4
@@ -1,45 +1,45 @@
dnl ===========================================================================
-dnl Support for plugable mysql server modules
+dnl Support for mysql server plugins
dnl ===========================================================================
dnl
dnl WorkLog#3201
dnl
-dnl Framework for pluggable static and dynamic modules for mysql
+dnl Framework for pluggable static and dynamic plugins for mysql
dnl
dnl ---------------------------------------------------------------------------
-dnl Macro: MYSQL_MODULE
+dnl Macro: MYSQL_PLUGIN
dnl
-dnl Syntax:
-dnl MYSQL_MODULE([name],[Plugin module name],
-dnl [Plugin module description],
+dnl SYNOPSIS
+dnl MYSQL_PLUGIN([name],[Plugin name],
+dnl [Plugin 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 DESCRIPTION
+dnl First declaration for a plugin (mandatory).
+dnl Adds plugin as member to configuration groups (if specified)
dnl
dnl ---------------------------------------------------------------------------
-AC_DEFUN([MYSQL_MODULE],[
- _MYSQL_MODULE(
+AC_DEFUN([MYSQL_PLUGIN],[
+ _MYSQL_PLUGIN(
[$1],
- [__MYSQL_MODULE_]AS_TR_CPP([$1])[__],
+ [__MYSQL_PLUGIN_]AS_TR_CPP([$1])[__],
m4_default([$2], [$1 plugin]),
m4_default([$3], [plugin for $1]),
m4_default([$4], []),
)
])
-AC_DEFUN([_MYSQL_MODULE],[
+AC_DEFUN([_MYSQL_PLUGIN],[
m4_ifdef([$2], [
- AC_FATAL([Duplicate MYSQL_MODULE declaration for $3])
+ AC_FATAL([Duplicate MYSQL_PLUGIN declaration for $3])
],[
m4_define([$2], [$1])
_MYSQL_PLUGAPPEND([__mysql_plugin_list__],[$1])
- m4_define([MYSQL_MODULE_NAME_]AS_TR_CPP([$1]), [$3])
- m4_define([MYSQL_MODULE_DESC_]AS_TR_CPP([$1]), [$4])
+ m4_define([MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]), [$3])
+ m4_define([MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]), [$4])
ifelse([$5], [], [], [
- _MYSQL_PLUGAPPEND_OPTS([$1], $5)
+ _MYSQL_PLUGAPPEND_META([$1], $5)
])
])
])
@@ -48,14 +48,18 @@ AC_DEFUN([_MYSQL_MODULE],[
dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_STORAGE_ENGINE
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
dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_STORAGE_ENGINE],[
- MYSQL_MODULE([$1], [$3], [$4], [[$5]])
- MYSQL_MODULE_DEFINE([$1], [WITH_]AS_TR_CPP([$1])[_STORAGE_ENGINE])
+ MYSQL_PLUGIN([$1], [$3], [$4], [[$5]])
+ MYSQL_PLUGIN_DEFINE([$1], [WITH_]AS_TR_CPP([$1])[_STORAGE_ENGINE])
ifelse([$2],[no],[],[
_MYSQL_LEGACY_STORAGE_ENGINE(
m4_bpatsubst(m4_default([$2], [$1-storage-engine]), -, _))
@@ -64,109 +68,127 @@ AC_DEFUN([MYSQL_STORAGE_ENGINE],[
AC_DEFUN([_MYSQL_LEGACY_STORAGE_ENGINE],[
if test "[${with_]$1[+set}]" = set; then
- [with_module_]$1="[$with_]$1"
+ [with_plugin_]$1="[$with_]$1"
fi
])
dnl ---------------------------------------------------------------------------
-dnl Macro: MYSQL_MODULE_DEFINE
+dnl Macro: MYSQL_PLUGIN_DEFINE
+dnl
+dnl SYNOPSIS
+dnl MYSQL_PLUGIN_DEFILE([name],[MYSQL_CPP_DEFINE])
dnl
-dnl What it does:
-dnl When a plugin module is to be statically linked, define the C macro
+dnl DESCRIPTION
+dnl When a plugin is to be statically linked, define the C macro
dnl
dnl ---------------------------------------------------------------------------
-AC_DEFUN([MYSQL_MODULE_DEFINE],[
- REQUIRE_PLUGIN([$1])
- m4_define([MYSQL_MODULE_DEFINE_]AS_TR_CPP([$1]), [$2])
+AC_DEFUN([MYSQL_PLUGIN_DEFINE],[
+ MYSQL_REQUIRE_PLUGIN([$1])
+ m4_define([MYSQL_PLUGIN_DEFINE_]AS_TR_CPP([$1]), [$2])
])
dnl ---------------------------------------------------------------------------
-dnl Macro: MYSQL_MODULE_DIRECTORY
+dnl Macro: MYSQL_PLUGIN_DIRECTORY
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
dnl ---------------------------------------------------------------------------
-AC_DEFUN([MYSQL_MODULE_DIRECTORY],[
- REQUIRE_PLUGIN([$1])
- m4_define([MYSQL_MODULE_DIRECTORY_]AS_TR_CPP([$1]), [$2])
+AC_DEFUN([MYSQL_PLUGIN_DIRECTORY],[
+ MYSQL_REQUIRE_PLUGIN([$1])
+ m4_define([MYSQL_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]), [$2])
])
dnl ---------------------------------------------------------------------------
-dnl Macro: MYSQL_MODULE_STATIC
+dnl Macro: MYSQL_PLUGIN_STATIC
+dnl
+dnl SYNOPSIS
+dnl MYSQL_PLUGIN_STATIC([name],[libmyplugin.a])
dnl
-dnl What it does:
+dnl DESCRIPTION
dnl Declare the name for the static library
dnl
dnl ---------------------------------------------------------------------------
-AC_DEFUN([MYSQL_MODULE_STATIC],[
- REQUIRE_PLUGIN([$1])
- m4_define([MYSQL_MODULE_STATIC_]AS_TR_CPP([$1]), [$2])
+AC_DEFUN([MYSQL_PLUGIN_STATIC],[
+ MYSQL_REQUIRE_PLUGIN([$1])
+ m4_define([MYSQL_PLUGIN_STATIC_]AS_TR_CPP([$1]), [$2])
])
dnl ---------------------------------------------------------------------------
-dnl Macro: MYSQL_MODULE_DYNAMIC
+dnl Macro: MYSQL_PLUGIN_DYNAMIC
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
dnl ---------------------------------------------------------------------------
-AC_DEFUN([MYSQL_MODULE_DYNAMIC],[
- REQUIRE_PLUGIN([$1])
- m4_define([MYSQL_MODULE_DYNAMIC_]AS_TR_CPP([$1]), [$2])
+AC_DEFUN([MYSQL_PLUGIN_DYNAMIC],[
+ MYSQL_REQUIRE_PLUGIN([$1])
+ m4_define([MYSQL_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]), [$2])
])
dnl ---------------------------------------------------------------------------
-dnl Macro: MYSQL_MODULE_MANDATORY
+dnl Macro: MYSQL_PLUGIN_MANDATORY
+dnl
+dnl SYNOPSIS
+dnl MYSQL_PLUGIN_MANDATORY([name])
dnl
-dnl What it does:
-dnl Marks the specified plugin as a mandatory module
+dnl DESCRIPTION
+dnl Marks the specified plugin as a mandatory plugin
dnl
dnl ---------------------------------------------------------------------------
-AC_DEFUN([MYSQL_MODULE_MANDATORY],[
- REQUIRE_PLUGIN([$1])
- _MYSQL_MODULE_MANDATORY([$1],
- [MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1]),
- [MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1])
+AC_DEFUN([MYSQL_PLUGIN_MANDATORY],[
+ MYSQL_REQUIRE_PLUGIN([$1])
+ _MYSQL_PLUGIN_MANDATORY([$1],
+ [MYSQL_PLUGIN_MANDATORY_]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_ifdef([$3], [
- AC_WARNING([syntax],[Mandatory plugin $1 has been disabled])
+ AC_FATAL([mandatory plugin $1 has been disabled])
m4_undefine([$2])
])
])
dnl ---------------------------------------------------------------------------
-dnl Macro: MYSQL_MODULE_DISABLED
+dnl Macro: MYSQL_PLUGIN_DISABLED
dnl
-dnl What it does:
-dnl Marks the specified plugin as a disabled module
+dnl SYNOPSIS
+dnl MYSQL_PLUGIN_DISABLED([name])
+dnl
+dnl DESCRIPTION
+dnl Marks the specified plugin as a disabled plugin
dnl
dnl ---------------------------------------------------------------------------
-AC_DEFUN([MYSQL_MODULE_DISABLED],[
- REQUIRE_PLUGIN([$1])
- _MYSQL_MODULE_DISABLED([$1],
- [MYSQL_MODULE_DISABLED_]AS_TR_CPP([$1]),
- [MYSQL_MODULE_MANDATORY_]AS_TR_CPP([$1])
+AC_DEFUN([MYSQL_PLUGIN_DISABLED],[
+ MYSQL_REQUIRE_PLUGIN([$1])
+ _MYSQL_PLUGIN_DISABLED([$1],
+ [MYSQL_PLUGIN_DISABLED_]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_ifdef([$3], [
AC_FATAL([attempt to disable mandatory plugin $1])
@@ -176,48 +198,54 @@ AC_DEFUN([_MYSQL_MODULE_DISABLED],[
dnl ---------------------------------------------------------------------------
-dnl Macro: MYSQL_MODULE_DEPENDS
+dnl Macro: MYSQL_PLUGIN_DEPENDS
+dnl
+dnl SYNOPSIS
+dnl MYSQL_PLUGIN_DEPENDS([name],[prereq,prereq...])
dnl
-dnl What it does:
-dnl Enables other modules neccessary for this module
+dnl DESCRIPTION
+dnl Enables other plugins neccessary for the named plugin
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
dnl ---------------------------------------------------------------------------
-AC_DEFUN([MYSQL_MODULE_DEPENDS],[
- REQUIRE_PLUGIN([$1])
- ifelse($#, 0, [], $#, 1, [
+AC_DEFUN([MYSQL_PLUGIN_DEPENDS],[
+ MYSQL_REQUIRE_PLUGIN([$1])
+ ifelse($#, 2, [
+ _MYSQL_PLUGIN_DEPEND([$1], $2)
+ ], [
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],[
- REQUIRE_PLUGIN([$2])
- _MYSQL_PLUGAPPEND([__mysql_plugdepends_$1__],[$2])
+AC_DEFUN([_MYSQL_PLUGIN_DEPEND],[
+ ifelse($#, 1, [], [$#:$2], [2:], [
+ MYSQL_REQUIRE_PLUGIN([$2])
+ _MYSQL_PLUGAPPEND([__mysql_plugdepends_$1__],[$2])
+ _MYSQL_PLUGIN_DEPEND([$1], m4_shift(m4_shift($@)))
+ ])
])
dnl ---------------------------------------------------------------------------
-dnl Macro: MYSQL_MODULE_ACTIONS
+dnl Macro: MYSQL_PLUGIN_ACTIONS
+dnl
+dnl SYNOPSIS
+dnl MYSQL_PLUGIN_ACTIONS([name],[PLUGIN_CONFIGURE_STUFF])
dnl
-dnl What it does:
-dnl Declares additional actions required to configure the module
+dnl DESCRIPTION
+dnl Declares additional autoconf actions required to configure the plugin
dnl
dnl ---------------------------------------------------------------------------
-AC_DEFUN([MYSQL_MODULE_ACTIONS],[
- REQUIRE_PLUGIN([$1])
+AC_DEFUN([MYSQL_PLUGIN_ACTIONS],[
+ MYSQL_REQUIRE_PLUGIN([$1])
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],[
dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_CONFIGURE_PLUGINS
dnl
-dnl What it does:
-dnl Called last, emits all required shell code to configure the modules
+dnl SYNOPSIS
+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 ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_CONFIGURE_PLUGINS],[
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_ifdef([__mysql_plugin_list__],[
_MYSQL_CHECK_PLUGIN_ARGS([$1])
_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_pg_dirs])
])
@@ -247,56 +279,56 @@ AC_DEFUN([MYSQL_CONFIGURE_PLUGINS],[
AC_DEFUN([_MYSQL_CONFIGURE_PLUGINS],[
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($@))
])
])
-AC_DEFUN([_MYSQL_CHECK_PLUGIN],[
- _DO_MYSQL_CHECK_PLUGIN(
+AC_DEFUN([_MYSQL_EMIT_CHECK_PLUGIN],[
+ __MYSQL_EMIT_CHECK_PLUGIN(
[$1],
m4_bpatsubst([$1], -, _),
- [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_PLUGIN_NAME_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_DEFINE_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_STATIC_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_DISABLED_]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],[
AH_TEMPLATE($5, [Include ]$4[ into mysqld])
])
AC_MSG_CHECKING([whether to use ]$3)
mysql_use_plugin_dir=""
m4_ifdef([$10],[
- if test "[$mysql_module_]$2" = yes -a \
- "[$with_module_]$2" != no -o \
- "[$with_module_]$2" = yes; then
+ if test "X[$mysql_plugin_]$2" = Xyes -a \
+ "X[$with_plugin_]$2" != Xno -o \
+ "X[$with_plugin_]$2" = Xyes; then
AC_MSG_RESULT([error])
AC_MSG_ERROR([disabled])
fi
AC_MSG_RESULT([no])
],[
m4_ifdef([$9],[
- if test "[$with_module_]$2" = no; then
+ if test "X[$with_plugin_]$2" = Xno; then
AC_MSG_RESULT([error])
- AC_MSG_ERROR([cannot disable mandatory module])
+ AC_MSG_ERROR([cannot disable mandatory plugin])
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])
else
- if test "[$mysql_module_]$2" != yes -a \
- "[$with_module_]$2" != yes; then
+ if test "X[$mysql_plugin_]$2" != Xyes -a \
+ "X[$with_plugin_]$2" != Xyes; then
m4_ifdef([$8],[
m4_ifdef([$6],[
if test -d "$srcdir/$6" ; then
@@ -304,16 +336,16 @@ AC_DEFUN([_DO_MYSQL_CHECK_PLUGIN],[
])
AC_SUBST([plugin_]$2[_shared_target], "$8")
AC_SUBST([plugin_]$2[_static_target], [""])
- [with_module_]$2=yes
+ [with_plugin_]$2=yes
AC_MSG_RESULT([plugin])
m4_ifdef([$6],[
else
- [mysql_module_]$2=no
+ [mysql_plugin_]$2=no
AC_MSG_RESULT([no])
fi
])
],[
- [with_module_]$2=no
+ [with_plugin_]$2=no
AC_MSG_RESULT([no])
])
else
@@ -356,7 +388,7 @@ AC_DEFUN([_DO_MYSQL_CHECK_PLUGIN],[
])
])
mysql_plugin_defs="$mysql_plugin_defs, [builtin_]$2[_plugin]"
- [with_module_]$2=yes
+ [with_plugin_]$2=yes
AC_MSG_RESULT([yes])
fi
m4_ifdef([$6],[
@@ -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, [
- _MYSQL_PLUGIN_ACTIONS([$1])
+ _MYSQL_EMIT_PLUGIN_ACTION([$1])
],[
- _MYSQL_PLUGIN_ACTIONS([$1])
- _MYSQL_DO_PLUGIN_ACTIONS(m4_shift($@))
+ _MYSQL_EMIT_PLUGIN_ACTION([$1])
+ _MYSQL_EMIT_PLUGIN_ACTIONS(m4_shift($@))
])
])
-AC_DEFUN([_MYSQL_PLUGIN_ACTIONS],[
- _DO_MYSQL_PLUGIN_ACTIONS(
+AC_DEFUN([_MYSQL_EMIT_PLUGIN_ACTION],[
+ __MYSQL_EMIT_PLUGIN_ACTION(
[$1],
m4_bpatsubst([$1], -, _),
- [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_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1])
)
])
-AC_DEFUN([_DO_MYSQL_PLUGIN_ACTIONS],[
- m4_ifdef([$10], [], [
- if test "[$with_module_]$2" = yes; then
- if test -z "[$plugin_]$2[_static_target]" -a \
- -z "[$plugin_]$2[_shared_target]"; then
+AC_DEFUN([__MYSQL_EMIT_PLUGIN_ACTION],[
+ m4_ifdef([$3], [], [
+ if test "X[$with_plugin_]$2" = Xyes; then
+ if test "X[$plugin_]$2[_static_target]" = X -a \
+ "X[$plugin_]$2[_shared_target]" = X; then
AC_MSG_ERROR([that's strange, $1 failed sanity check])
fi
- $11
+ $4
fi
])
])
@@ -423,17 +448,23 @@ dnl Private helper macros
dnl ===========================================================================
-AC_DEFUN([REQUIRE_PLUGIN],[
- _REQUIRE_PLUGIN([$1], [__MYSQL_MODULE_]AS_TR_CPP([$1])[__])
+dnl SYNOPSIS
+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],[
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],[
dnl ---------------------------------------------------------------------------
-AC_DEFUN([_MYSQL_MODULE_META_CHECK], [ifelse($#, 0, [], $#, 1,
-[_MYSQL_CHECK_PLUGIN_META([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__])
+dnl SYNOPSIS
+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_MODULE_META_CHECK(m4_shift($@))])
+[_MYSQL_EMIT_METAPLUGIN([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__])
+_MYSQL_EMIT_METAPLUGINS(m4_shift($@))])
])
-AC_DEFUN([_MYSQL_CHECK_PLUGIN_META], [
+AC_DEFUN([_MYSQL_EMIT_METAPLUGIN], [
[$1] )
m4_ifdef([$2], [
- mysql_modules='m4_bpatsubst($2, :, [ ])'
+ mysql_plugins='m4_bpatsubst($2, :, [ ])'
],[
- mysql_modules=''
+ mysql_plugins=''
])
;;
])
@@ -462,6 +499,12 @@ m4_ifdef([$2], [
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],[
m4_ifdef([$1],[
m4_define([__plugin_append_tmp__], m4_defn([$1]))
@@ -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],[
- ifelse([$2], [all], [
+dnl SYNOPSIS
+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])
+ ], [$2], [none], [
+ AC_FATAL([protected plugin group: none])
],[
- ifelse([$2], [none], [
- AC_FATAL([protected plugin group: none])
- ],[
- _MYSQL_PLUGAPPEND([__mysql_$1_configs__],[$2])
- _MYSQL_PLUGAPPEND([__mysql_]m4_bpatsubst($2, -, _)[_plugins__],[$1], [
- _MYSQL_PLUGAPPEND([__mysql_metaplugin_list__],[$2])
- ])
+ _MYSQL_PLUGAPPEND([__mysql_$1_configs__],[$2])
+ _MYSQL_PLUGAPPEND([__mysql_]m4_bpatsubst($2, -, _)[_plugins__],[$1], [
+ _MYSQL_PLUGAPPEND([__mysql_metaplugin_list__],[$2])
])
+ _MYSQL_PLUGAPPEND_META([$1], m4_shift(m4_shift($@)))
])
])
@@ -504,6 +542,12 @@ AC_DEFUN([_MYSQL_PLUGAPPEND_OPTONE],[
dnl ---------------------------------------------------------------------------
+dnl SYNOPSIS
+dnl MYSQL_LIST_PLUGINS
+dnl
+dnl DESCRIPTION
+dnl Emits formatted list of declared plugins
+
AC_DEFUN([MYSQL_LIST_PLUGINS],[dnl
m4_ifdef([__mysql_plugin_list__],[dnl
_MYSQL_LIST_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))dnl
@@ -523,22 +567,22 @@ AC_DEFUN([MYSQL_SHOW_PLUGIN],[
_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_PLUGIN_NAME_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_DEFINE_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_STATIC_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
+ [MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),
__mysql_[$1]_configs__,
)
])
AC_DEFUN([_MYSQL_SHOW_PLUGIN],[dnl
=== $3 ===
- Module Name: [$1]
+ Plugin Name: [$1]
Description: $4
Supports build: _PLUGIN_BUILD_TYPE([$7],[$8])[]dnl
m4_ifdef([$12],[
@@ -557,134 +601,115 @@ AC_DEFUN([_PLUGIN_BUILD_TYPE],
dnl ---------------------------------------------------------------------------
-AC_DEFUN([_MYSQL_MODULE_ARGS_CHECK],[
- ifelse($#, 0, [], $#, 1, [
- _MYSQL_CHECK_PLUGIN_ARG([$1],
- [MYSQL_MODULE_DISABLED_]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],[ ])])
+AC_DEFUN([_MYSQL_EMIT_PLUGINS],[
+ ifelse($#, 0, [], [$#:$1], [1:], [], [
+ m4_ifdef([MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]), [], [
+ m4_define([MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),[ ])
+ ])
[$1] )
- m4_ifdef([$2],[
+ m4_ifdef([MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),[
AC_MSG_ERROR([plugin $1 is disabled])
- ],[
- [mysql_module_]m4_bpatsubst([$1], -, _)=yes
- ])
+ ],[
+ [mysql_plugin_]m4_bpatsubst([$1], -, _)=yes
+ ])
;;
-])
-
-AC_DEFUN([_MYSQL_SANE_VARS], [
- ifelse($#, 0, [], $#, 1, [
- _MYSQL_SANEVAR([$1])
- ],[
- _MYSQL_SANEVAR([$1])
- _MYSQL_SANE_VARS(m4_shift($@))
+ _MYSQL_EMIT_PLUGINS(m4_shift($@))
])
])
-AC_DEFUN([_MYSQL_SANEVAR], [
- test -z "[$mysql_module_]m4_bpatsubst([$1], -, _)" &&
-[mysql_module_]m4_bpatsubst([$1], -, _)='.'
- test -z "[$with_module_]m4_bpatsubst([$1], -, _)" &&
-[with_module_]m4_bpatsubst([$1], -, _)='.'
-])
-
-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_EMIT_PLUGIN_DEPENDS], [
+ ifelse($#, 0, [], [$#:$1], [1:], [], [
+ _MYSQL_EMIT_CHECK_DEPENDS(m4_bpatsubst([$1], -, _),
+ [__mysql_plugdepends_$1__])
+ _MYSQL_EMIT_PLUGIN_DEPENDS(m4_shift($@))
])
])
-AC_DEFUN([_MYSQL_CHECK_DEPENDS], [
+AC_DEFUN([_MYSQL_EMIT_CHECK_DEPENDS], [
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
- _MYSQL_GEN_DEPENDS(m4_bpatsubst($2, :, [,]))
+ if test "X[$mysql_plugin_]$1" = Xyes -a \
+ "X[$with_plugin_]$1" != Xno -o \
+ "X[$with_plugin_]$1" = Xyes; then
+ _MYSQL_EMIT_PLUGIN_DEPENDENCIES(m4_bpatsubst($2, :, [,]))
fi
])
])
-AC_DEFUN([_MYSQL_GEN_DEPENDS], [
- ifelse($#, 0, [], $#, 1, [
- _MYSQL_GEN_DEPEND([$1])
- ],[
- _MYSQL_GEN_DEPEND([$1])
- _MYSQL_GEN_DEPENDS(m4_shift($@))
+AC_DEFUN([_MYSQL_EMIT_PLUGIN_DEPENDENCIES], [
+ ifelse($#, 0, [], [
+ m4_ifdef([MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),[
+ AC_MSG_ERROR([depends upon disabled plugin $1])
+ ],[
+ [mysql_plugin_]m4_bpatsubst([$1], -, _)=yes
+ if test "X[$with_plugin_]m4_bpatsubst([$1], -, _)" = Xno; then
+ AC_MSG_ERROR([depends upon disabled plugin $1])
+ fi
+ ])
+ _MYSQL_EMIT_PLUGIN_DEPENDENCIES(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
- if test "[$with_module_]m4_bpatsubst([$1], -, _)" = no; then
- AC_MSG_ERROR([depends upon disabled module $1])
- fi
- ])
-])
+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_ARG_WITH([modules],
-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.])
-AS_HELP_STRING([],[Available configurations are:] dnl
-m4_bpatsubst([none:all]m4_ifdef([__mysql_metaplugin_list__],
-__mysql_metaplugin_list__), :, [ ])[.])
-AS_HELP_STRING([],[Available plugin modules are:] dnl
+ __MYSQL_CHECK_PLUGIN_ARGS(m4_default([$1], [none]))
+])
+
+AC_DEFUN([__MYSQL_CHECK_PLUGIN_ARGS],[
+ AC_ARG_WITH([plugins],
+AS_HELP_STRING([--with-plugins=PLUGIN[[[[[,PLUGIN..]]]]]],
+ [Plugins to include in mysqld. (default is: $1) Must be a
+ 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__, :, [ ])[.])
-AS_HELP_STRING([--without-module-PLUGIN],
- [Disable the named module from being built. Otherwise, for
- modules which are not selected for inclusion in mysqld will be
+AS_HELP_STRING([--without-plugin-PLUGIN],
+ [Disable the named plugin from being built. Otherwise, for
+ plugins which are not selected for inclusion in mysqld will be
built dynamically (if supported)])
-AS_HELP_STRING([--with-module-PLUGIN],
- [Forces the named module to be linked into mysqld statically.]),
- [mysql_modules="`echo $withval | tr ',.:;*[]' ' '`"],
- [mysql_modules=['$1']])
+AS_HELP_STRING([--with-plugin-PLUGIN],
+ [Forces the named plugin to be linked into mysqld statically.]),
+ [mysql_plugins="`echo $withval | tr ',.:;*[]' ' '`"],
+ [mysql_plugins=['$1']])
m4_divert_once([HELP_VAR_END],[
-Description of plugin modules:
+Description of plugins:
MYSQL_LIST_PLUGINS])
- case "$mysql_modules" in
+ case "$mysql_plugins" in
all )
- mysql_modules='m4_bpatsubst(__mysql_plugin_list__, :, [ ])'
+ mysql_plugins='m4_bpatsubst(__mysql_plugin_list__, :, [ ])'
;;
none )
- mysql_modules=''
+ mysql_plugins=''
;;
m4_ifdef([__mysql_metaplugin_list__],[
-_MYSQL_MODULE_META_CHECK(m4_bpatsubst(__mysql_metaplugin_list__, :, [,]))
+_MYSQL_EMIT_METAPLUGINS(m4_bpatsubst(__mysql_metaplugin_list__, :, [,]))
])
esac
- for plugin in $mysql_modules; do
+ for plugin in $mysql_plugins; do
case "$plugin" in
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
done
- _MYSQL_SANE_VARS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
- _MYSQL_CHECK_DEPENDENCIES(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
+ _MYSQL_EMIT_PLUGIN_DEPENDS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
])
dnl ===========================================================================