21
21
dnl ---------------------------------------------------------------------------
23
AC_DEFUN([MYSQL_PLUGIN],[
23
AC_DEFUN([DRIZZLE_PLUGIN],[
26
[__MYSQL_PLUGIN_]AS_TR_CPP([$1])[__],
26
[__DRIZZLE_PLUGIN_]AS_TR_CPP([$1])[__],
27
27
m4_default([$2], [$1 plugin]),
28
28
m4_default([$3], [plugin for $1]),
29
29
m4_default([$4], []),
33
AC_DEFUN([_MYSQL_PLUGIN],[
33
AC_DEFUN([_DRIZZLE_PLUGIN],[
35
AC_FATAL([Duplicate MYSQL_PLUGIN declaration for $3])
35
AC_FATAL([Duplicate DRIZZLE_PLUGIN declaration for $3])
37
37
m4_define([$2], [$1])
38
_MYSQL_PLUGAPPEND([__mysql_plugin_list__],[$1])
39
m4_define([MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]), [$3])
40
m4_define([MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]), [$4])
41
_MYSQL_PLUGAPPEND_META([$1], $5)
38
_DRIZZLE_PLUGAPPEND([__mysql_plugin_list__],[$1])
39
m4_define([DRIZZLE_PLUGIN_NAME_]AS_TR_CPP([$1]), [$3])
40
m4_define([DRIZZLE_PLUGIN_DESC_]AS_TR_CPP([$1]), [$4])
41
_DRIZZLE_PLUGAPPEND_META([$1], $5)
42
42
ifelse(m4_bregexp(__mysql_include__,[/plug\.in$]),-1,[],[
43
MYSQL_PLUGIN_DIRECTORY([$1],
43
DRIZZLE_PLUGIN_DIRECTORY([$1],
44
44
m4_bregexp(__mysql_include__,[^\(.*\)/plug\.in$],[\1]))
50
50
dnl ---------------------------------------------------------------------------
51
dnl Macro: MYSQL_STORAGE_ENGINE
51
dnl Macro: DRIZZLE_STORAGE_ENGINE
54
dnl MYSQL_STORAGE_ENGINE([name],[legacy-option],[Storage engine name],
54
dnl DRIZZLE_STORAGE_ENGINE([name],[legacy-option],[Storage engine name],
55
55
dnl [Storage engine description],[group,group...])
60
60
dnl ---------------------------------------------------------------------------
62
AC_DEFUN([MYSQL_STORAGE_ENGINE],[
63
MYSQL_PLUGIN([$1], [$3], [$4], [[$5]])
64
MYSQL_PLUGIN_DEFINE([$1], [WITH_]AS_TR_CPP([$1])[_STORAGE_ENGINE])
62
AC_DEFUN([DRIZZLE_STORAGE_ENGINE],[
63
DRIZZLE_PLUGIN([$1], [$3], [$4], [[$5]])
64
DRIZZLE_PLUGIN_DEFINE([$1], [WITH_]AS_TR_CPP([$1])[_STORAGE_ENGINE])
65
65
ifelse([$2],[no],[],[
66
_MYSQL_LEGACY_STORAGE_ENGINE(
66
_DRIZZLE_LEGACY_STORAGE_ENGINE(
67
67
m4_bpatsubst([$1], -, _),
68
68
m4_bpatsubst(m4_default([$2], [$1-storage-engine]), -, _))
72
AC_DEFUN([_MYSQL_LEGACY_STORAGE_ENGINE],[
72
AC_DEFUN([_DRIZZLE_LEGACY_STORAGE_ENGINE],[
73
73
if test "[${with_]$2[+set}]" = set; then
74
74
[with_plugin_]$1="[$with_]$2"
79
79
dnl ---------------------------------------------------------------------------
80
dnl Macro: MYSQL_PLUGIN_DEFINE
80
dnl Macro: DRIZZLE_PLUGIN_DEFINE
83
dnl MYSQL_PLUGIN_DEFINE([name],[MYSQL_CPP_DEFINE])
83
dnl DRIZZLE_PLUGIN_DEFINE([name],[DRIZZLE_CPP_DEFINE])
86
86
dnl When a plugin is to be statically linked, define the C macro
88
88
dnl ---------------------------------------------------------------------------
90
AC_DEFUN([MYSQL_PLUGIN_DEFINE],[
91
MYSQL_REQUIRE_PLUGIN([$1])
92
m4_define([MYSQL_PLUGIN_DEFINE_]AS_TR_CPP([$1]), [$2])
90
AC_DEFUN([DRIZZLE_PLUGIN_DEFINE],[
91
DRIZZLE_REQUIRE_PLUGIN([$1])
92
m4_define([DRIZZLE_PLUGIN_DEFINE_]AS_TR_CPP([$1]), [$2])
96
96
dnl ---------------------------------------------------------------------------
97
dnl Macro: MYSQL_PLUGIN_DIRECTORY
97
dnl Macro: DRIZZLE_PLUGIN_DIRECTORY
100
dnl MYSQL_PLUGIN_DIRECTORY([name],[plugin/dir])
100
dnl DRIZZLE_PLUGIN_DIRECTORY([name],[plugin/dir])
103
103
dnl Adds a directory to the build process
106
106
dnl ---------------------------------------------------------------------------
108
AC_DEFUN([MYSQL_PLUGIN_DIRECTORY],[
109
MYSQL_REQUIRE_PLUGIN([$1])
110
m4_define([MYSQL_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]), [$2])
108
AC_DEFUN([DRIZZLE_PLUGIN_DIRECTORY],[
109
DRIZZLE_REQUIRE_PLUGIN([$1])
110
m4_define([DRIZZLE_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]), [$2])
114
114
dnl ---------------------------------------------------------------------------
115
dnl Macro: MYSQL_PLUGIN_STATIC
115
dnl Macro: DRIZZLE_PLUGIN_STATIC
118
dnl MYSQL_PLUGIN_STATIC([name],[libmyplugin.a])
118
dnl DRIZZLE_PLUGIN_STATIC([name],[libmyplugin.a])
121
121
dnl Declare the name for the static library
123
123
dnl ---------------------------------------------------------------------------
125
AC_DEFUN([MYSQL_PLUGIN_STATIC],[
126
MYSQL_REQUIRE_PLUGIN([$1])
127
m4_define([MYSQL_PLUGIN_STATIC_]AS_TR_CPP([$1]), [$2])
125
AC_DEFUN([DRIZZLE_PLUGIN_STATIC],[
126
DRIZZLE_REQUIRE_PLUGIN([$1])
127
m4_define([DRIZZLE_PLUGIN_STATIC_]AS_TR_CPP([$1]), [$2])
131
131
dnl ---------------------------------------------------------------------------
132
dnl Macro: MYSQL_PLUGIN_DYNAMIC
132
dnl Macro: DRIZZLE_PLUGIN_DYNAMIC
135
dnl MYSQL_PLUGIN_DYNAMIC([name],[myplugin.la])
135
dnl DRIZZLE_PLUGIN_DYNAMIC([name],[myplugin.la])
138
138
dnl Declare the name for the shared library
140
140
dnl ---------------------------------------------------------------------------
142
AC_DEFUN([MYSQL_PLUGIN_DYNAMIC],[
143
MYSQL_REQUIRE_PLUGIN([$1])
144
m4_define([MYSQL_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]), [$2])
142
AC_DEFUN([DRIZZLE_PLUGIN_DYNAMIC],[
143
DRIZZLE_REQUIRE_PLUGIN([$1])
144
m4_define([DRIZZLE_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]), [$2])
148
148
dnl ---------------------------------------------------------------------------
149
dnl Macro: MYSQL_PLUGIN_MANDATORY
149
dnl Macro: DRIZZLE_PLUGIN_MANDATORY
152
dnl MYSQL_PLUGIN_MANDATORY([name])
152
dnl DRIZZLE_PLUGIN_MANDATORY([name])
155
155
dnl Marks the specified plugin as a mandatory plugin
157
157
dnl ---------------------------------------------------------------------------
159
AC_DEFUN([MYSQL_PLUGIN_MANDATORY],[
160
MYSQL_REQUIRE_PLUGIN([$1])
161
_MYSQL_PLUGIN_MANDATORY([$1],
162
[MYSQL_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
163
[MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1])
159
AC_DEFUN([DRIZZLE_PLUGIN_MANDATORY],[
160
DRIZZLE_REQUIRE_PLUGIN([$1])
161
_DRIZZLE_PLUGIN_MANDATORY([$1],
162
[DRIZZLE_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
163
[DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1])
167
AC_DEFUN([_MYSQL_PLUGIN_MANDATORY],[
167
AC_DEFUN([_DRIZZLE_PLUGIN_MANDATORY],[
168
168
m4_define([$2], [yes])
170
170
AC_FATAL([mandatory plugin $1 has been disabled])
176
176
dnl ---------------------------------------------------------------------------
177
dnl Macro: MYSQL_PLUGIN_DISABLED
177
dnl Macro: DRIZZLE_PLUGIN_DISABLED
180
dnl MYSQL_PLUGIN_DISABLED([name])
180
dnl DRIZZLE_PLUGIN_DISABLED([name])
183
183
dnl Marks the specified plugin as a disabled plugin
185
185
dnl ---------------------------------------------------------------------------
187
AC_DEFUN([MYSQL_PLUGIN_DISABLED],[
188
MYSQL_REQUIRE_PLUGIN([$1])
189
_MYSQL_PLUGIN_DISABLED([$1],
190
[MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
191
[MYSQL_PLUGIN_MANDATORY_]AS_TR_CPP([$1])
187
AC_DEFUN([DRIZZLE_PLUGIN_DISABLED],[
188
DRIZZLE_REQUIRE_PLUGIN([$1])
189
_DRIZZLE_PLUGIN_DISABLED([$1],
190
[DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
191
[DRIZZLE_PLUGIN_MANDATORY_]AS_TR_CPP([$1])
195
AC_DEFUN([_MYSQL_PLUGIN_DISABLED],[
195
AC_DEFUN([_DRIZZLE_PLUGIN_DISABLED],[
196
196
m4_define([$2], [yes])
198
198
AC_FATAL([attempt to disable mandatory plugin $1])
216
216
dnl ---------------------------------------------------------------------------
218
AC_DEFUN([MYSQL_PLUGIN_DEPENDS],[
219
MYSQL_REQUIRE_PLUGIN([$1])
218
AC_DEFUN([DRIZZLE_PLUGIN_DEPENDS],[
219
DRIZZLE_REQUIRE_PLUGIN([$1])
221
_MYSQL_PLUGIN_DEPEND([$1], $2)
221
_DRIZZLE_PLUGIN_DEPEND([$1], $2)
223
223
AC_FATAL([bad number of arguments])
227
AC_DEFUN([_MYSQL_PLUGIN_DEPEND],[
227
AC_DEFUN([_DRIZZLE_PLUGIN_DEPEND],[
228
228
ifelse($#, 1, [], [$#:$2], [2:], [], [
229
MYSQL_REQUIRE_PLUGIN([$2])
230
_MYSQL_PLUGAPPEND([__mysql_plugdepends_$1__],[$2])
231
_MYSQL_PLUGIN_DEPEND([$1], m4_shift(m4_shift($@)))
229
DRIZZLE_REQUIRE_PLUGIN([$2])
230
_DRIZZLE_PLUGAPPEND([__mysql_plugdepends_$1__],[$2])
231
_DRIZZLE_PLUGIN_DEPEND([$1], m4_shift(m4_shift($@)))
236
236
dnl ---------------------------------------------------------------------------
237
dnl Macro: MYSQL_PLUGIN_ACTIONS
237
dnl Macro: DRIZZLE_PLUGIN_ACTIONS
240
dnl MYSQL_PLUGIN_ACTIONS([name],[PLUGIN_CONFIGURE_STUFF])
240
dnl DRIZZLE_PLUGIN_ACTIONS([name],[PLUGIN_CONFIGURE_STUFF])
243
243
dnl Declares additional autoconf actions required to configure the plugin
245
245
dnl ---------------------------------------------------------------------------
247
AC_DEFUN([MYSQL_PLUGIN_ACTIONS],[
248
MYSQL_REQUIRE_PLUGIN([$1])
247
AC_DEFUN([DRIZZLE_PLUGIN_ACTIONS],[
248
DRIZZLE_REQUIRE_PLUGIN([$1])
250
m4_define([MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),m4_defn([$2]))
250
m4_define([DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),m4_defn([$2]))
252
m4_define([MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]), [$2])
252
m4_define([DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1]), [$2])
256
256
dnl ---------------------------------------------------------------------------
257
dnl Macro: MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS
257
dnl Macro: DRIZZLE_PLUGIN_DEPENDS_ON_DRIZZLE_INTERNALS
260
dnl MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS([name],[file name])
260
dnl DRIZZLE_PLUGIN_DEPENDS_ON_DRIZZLE_INTERNALS([name],[file name])
263
263
dnl Some modules in plugins keep dependance on structures
272
272
dnl ---------------------------------------------------------------------------
274
AC_DEFUN([MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS],[
275
MYSQL_REQUIRE_PLUGIN([$1])
276
m4_define([MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS_]AS_TR_CPP([$1]), [$2])
274
AC_DEFUN([DRIZZLE_PLUGIN_DEPENDS_ON_DRIZZLE_INTERNALS],[
275
DRIZZLE_REQUIRE_PLUGIN([$1])
276
m4_define([DRIZZLE_PLUGIN_DEPENDS_ON_DRIZZLE_INTERNALS_]AS_TR_CPP([$1]), [$2])
279
279
dnl ---------------------------------------------------------------------------
280
dnl Macro: MYSQL_CONFIGURE_PLUGINS
280
dnl Macro: DRIZZLE_CONFIGURE_PLUGINS
283
dnl MYSQL_PLUGIN_DEPENDS([name,name...])
283
dnl DRIZZLE_PLUGIN_DEPENDS([name,name...])
286
286
dnl Used last, emits all required shell code to configure the plugins
289
289
dnl ---------------------------------------------------------------------------
291
AC_DEFUN([MYSQL_CONFIGURE_PLUGINS],[
291
AC_DEFUN([DRIZZLE_CONFIGURE_PLUGINS],[
292
292
m4_ifdef([__mysql_plugin_configured__],[
293
AC_FATAL([cannot use [MYSQL_CONFIGURE_PLUGINS] multiple times])
293
AC_FATAL([cannot use [DRIZZLE_CONFIGURE_PLUGINS] multiple times])
295
295
m4_define([__mysql_plugin_configured__],[done])
296
_DRIZZLE_INCLUDE_LIST(
297
297
m4_bpatsubst(m4_esyscmd([ls plugin/*/plug.in storage/*/plug.in 2>/dev/null]),
300
300
m4_ifdef([__mysql_plugin_list__],[
301
_MYSQL_CHECK_PLUGIN_ARGS([$1])
302
_MYSQL_CONFIGURE_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
303
_MYSQL_EMIT_PLUGIN_ACTIONS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
301
_DRIZZLE_CHECK_PLUGIN_ARGS([$1])
302
_DRIZZLE_CONFIGURE_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
303
_DRIZZLE_EMIT_PLUGIN_ACTIONS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
304
304
AC_SUBST([mysql_se_dirs])
305
305
AC_SUBST([mysql_pg_dirs])
306
306
AC_SUBST([mysql_se_unittest_dirs])
316
AC_DEFUN([_MYSQL_CONFIGURE_PLUGINS],[
316
AC_DEFUN([_DRIZZLE_CONFIGURE_PLUGINS],[
317
317
ifelse($#, 0, [], $#, 1, [
318
_MYSQL_EMIT_CHECK_PLUGIN([$1])
318
_DRIZZLE_EMIT_CHECK_PLUGIN([$1])
320
_MYSQL_EMIT_CHECK_PLUGIN([$1])
321
_MYSQL_CONFIGURE_PLUGINS(m4_shift($@))
320
_DRIZZLE_EMIT_CHECK_PLUGIN([$1])
321
_DRIZZLE_CONFIGURE_PLUGINS(m4_shift($@))
325
AC_DEFUN([_MYSQL_EMIT_CHECK_PLUGIN],[
326
__MYSQL_EMIT_CHECK_PLUGIN(
325
AC_DEFUN([_DRIZZLE_EMIT_CHECK_PLUGIN],[
326
__DRIZZLE_EMIT_CHECK_PLUGIN(
328
328
m4_bpatsubst([$1], -, _),
329
[MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]),
330
[MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]),
331
[MYSQL_PLUGIN_DEFINE_]AS_TR_CPP([$1]),
332
[MYSQL_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]),
333
[MYSQL_PLUGIN_STATIC_]AS_TR_CPP([$1]),
334
[MYSQL_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]),
335
[MYSQL_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
336
[MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
337
[MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS_]AS_TR_CPP([$1]),
338
[MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1])
329
[DRIZZLE_PLUGIN_NAME_]AS_TR_CPP([$1]),
330
[DRIZZLE_PLUGIN_DESC_]AS_TR_CPP([$1]),
331
[DRIZZLE_PLUGIN_DEFINE_]AS_TR_CPP([$1]),
332
[DRIZZLE_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]),
333
[DRIZZLE_PLUGIN_STATIC_]AS_TR_CPP([$1]),
334
[DRIZZLE_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]),
335
[DRIZZLE_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
336
[DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
337
[DRIZZLE_PLUGIN_DEPENDS_ON_DRIZZLE_INTERNALS_]AS_TR_CPP([$1]),
338
[DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1])
342
AC_DEFUN([__MYSQL_EMIT_CHECK_PLUGIN],[
342
AC_DEFUN([__DRIZZLE_EMIT_CHECK_PLUGIN],[
344
344
AH_TEMPLATE($5, [Include ]$4[ into mysqld])
476
AC_DEFUN([_MYSQL_EMIT_PLUGIN_ACTIONS],[
476
AC_DEFUN([_DRIZZLE_EMIT_PLUGIN_ACTIONS],[
477
477
ifelse($#, 0, [], $#, 1, [
478
_MYSQL_EMIT_PLUGIN_ACTION([$1])
478
_DRIZZLE_EMIT_PLUGIN_ACTION([$1])
480
_MYSQL_EMIT_PLUGIN_ACTION([$1])
481
_MYSQL_EMIT_PLUGIN_ACTIONS(m4_shift($@))
480
_DRIZZLE_EMIT_PLUGIN_ACTION([$1])
481
_DRIZZLE_EMIT_PLUGIN_ACTIONS(m4_shift($@))
485
AC_DEFUN([_MYSQL_EMIT_PLUGIN_ACTION],[
486
__MYSQL_EMIT_PLUGIN_ACTION(
485
AC_DEFUN([_DRIZZLE_EMIT_PLUGIN_ACTION],[
486
__DRIZZLE_EMIT_PLUGIN_ACTION(
488
488
m4_bpatsubst([$1], -, _),
489
[MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
490
[MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1])
489
[DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
490
[DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1])
495
AC_DEFUN([__MYSQL_EMIT_PLUGIN_ACTION],[
495
AC_DEFUN([__DRIZZLE_EMIT_PLUGIN_ACTION],[
496
496
m4_ifdef([$3], [], [
497
497
if test "X[$with_plugin_]$2" = Xyes; then
498
498
if test "X[$plugin_]$2[_static_target]" = X -a \
515
dnl MYSQL_REQUIRE_PLUGIN([name])
515
dnl DRIZZLE_REQUIRE_PLUGIN([name])
518
518
dnl Checks that the specified plugin does exist
520
AC_DEFUN([MYSQL_REQUIRE_PLUGIN],[
521
_MYSQL_REQUIRE_PLUGIN([$1], [__MYSQL_PLUGIN_]AS_TR_CPP([$1])[__])
520
AC_DEFUN([DRIZZLE_REQUIRE_PLUGIN],[
521
_DRIZZLE_REQUIRE_PLUGIN([$1], [__DRIZZLE_PLUGIN_]AS_TR_CPP([$1])[__])
524
define([_MYSQL_REQUIRE_PLUGIN],[
524
define([_DRIZZLE_REQUIRE_PLUGIN],[
526
526
ifelse($2, [$1], [], [
527
AC_FATAL([Misspelt MYSQL_PLUGIN declaration for $1])
527
AC_FATAL([Misspelt DRIZZLE_PLUGIN declaration for $1])
530
AC_FATAL([Missing MYSQL_PLUGIN declaration for $1])
530
AC_FATAL([Missing DRIZZLE_PLUGIN declaration for $1])
539
dnl _MYSQL_EMIT_METAPLUGINS([name,name...])
539
dnl _DRIZZLE_EMIT_METAPLUGINS([name,name...])
542
542
dnl Emits shell code for metaplugins
544
AC_DEFUN([_MYSQL_EMIT_METAPLUGINS], [ifelse($#, 0, [], $#, 1,
545
[_MYSQL_EMIT_METAPLUGIN([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__])
544
AC_DEFUN([_DRIZZLE_EMIT_METAPLUGINS], [ifelse($#, 0, [], $#, 1,
545
[_DRIZZLE_EMIT_METAPLUGIN([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__])
547
[_MYSQL_EMIT_METAPLUGIN([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__])
548
_MYSQL_EMIT_METAPLUGINS(m4_shift($@))])
547
[_DRIZZLE_EMIT_METAPLUGIN([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__])
548
_DRIZZLE_EMIT_METAPLUGINS(m4_shift($@))])
551
AC_DEFUN([_MYSQL_EMIT_METAPLUGIN], [
551
AC_DEFUN([_DRIZZLE_EMIT_METAPLUGIN], [
554
554
mysql_plugins='m4_bpatsubst($2, :, [ ])'
566
dnl _MYSQL_PLUGAPPEND([name],[to-append])
566
dnl _DRIZZLE_PLUGAPPEND([name],[to-append])
569
569
dnl Helper macro for appending to colon-delimited lists
570
570
dnl Optinal 3rd argument is for actions only required when defining
571
571
dnl macro named for the first time.
573
AC_DEFUN([_MYSQL_PLUGAPPEND],[
573
AC_DEFUN([_DRIZZLE_PLUGAPPEND],[
575
575
m4_define([__plugin_append_tmp__], m4_defn([$1]))
576
576
m4_undefine([$1])
587
dnl _MYSQL_PLUGAPPEND_META([name],[meta,meta...])
587
dnl _DRIZZLE_PLUGAPPEND_META([name],[meta,meta...])
590
590
dnl Helper macro for adding plugins to meta plugins
592
AC_DEFUN([_MYSQL_PLUGAPPEND_META],[
592
AC_DEFUN([_DRIZZLE_PLUGAPPEND_META],[
593
593
ifelse($#, 1, [], [$#:$2], [2:], [], [$2], [all], [
594
594
AC_FATAL([protected plugin group: all])
595
595
], [$2], [none], [
596
596
AC_FATAL([protected plugin group: none])
598
_MYSQL_PLUGAPPEND([__mysql_$1_configs__],[$2])
599
_MYSQL_PLUGAPPEND([__mysql_]m4_bpatsubst($2, -, _)[_plugins__],[$1], [
600
_MYSQL_PLUGAPPEND([__mysql_metaplugin_list__],[$2])
598
_DRIZZLE_PLUGAPPEND([__mysql_$1_configs__],[$2])
599
_DRIZZLE_PLUGAPPEND([__mysql_]m4_bpatsubst($2, -, _)[_plugins__],[$1], [
600
_DRIZZLE_PLUGAPPEND([__mysql_metaplugin_list__],[$2])
602
_MYSQL_PLUGAPPEND_META([$1], m4_shift(m4_shift($@)))
602
_DRIZZLE_PLUGAPPEND_META([$1], m4_shift(m4_shift($@)))
611
dnl MYSQL_LIST_PLUGINS
611
dnl DRIZZLE_LIST_PLUGINS
614
614
dnl Emits formatted list of declared plugins
616
AC_DEFUN([MYSQL_LIST_PLUGINS],[dnl
616
AC_DEFUN([DRIZZLE_LIST_PLUGINS],[dnl
617
617
m4_ifdef([__mysql_plugin_list__],[dnl
618
_MYSQL_LIST_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))dnl
618
_DRIZZLE_LIST_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))dnl
622
AC_DEFUN([_MYSQL_LIST_PLUGINS],[dnl
622
AC_DEFUN([_DRIZZLE_LIST_PLUGINS],[dnl
623
623
ifelse($#, 0, [], $#, 1, [dnl
624
MYSQL_SHOW_PLUGIN([$1])dnl
624
DRIZZLE_SHOW_PLUGIN([$1])dnl
626
MYSQL_SHOW_PLUGIN([$1])dnl
627
_MYSQL_LIST_PLUGINS(m4_shift($@))dnl
626
DRIZZLE_SHOW_PLUGIN([$1])dnl
627
_DRIZZLE_LIST_PLUGINS(m4_shift($@))dnl
631
AC_DEFUN([MYSQL_SHOW_PLUGIN],[
631
AC_DEFUN([DRIZZLE_SHOW_PLUGIN],[
632
_DRIZZLE_SHOW_PLUGIN(
635
[MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]),
636
[MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]),
637
[MYSQL_PLUGIN_DEFINE_]AS_TR_CPP([$1]),
638
[MYSQL_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]),
639
[MYSQL_PLUGIN_STATIC_]AS_TR_CPP([$1]),
640
[MYSQL_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]),
641
[MYSQL_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
642
[MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
643
[MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),
635
[DRIZZLE_PLUGIN_NAME_]AS_TR_CPP([$1]),
636
[DRIZZLE_PLUGIN_DESC_]AS_TR_CPP([$1]),
637
[DRIZZLE_PLUGIN_DEFINE_]AS_TR_CPP([$1]),
638
[DRIZZLE_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]),
639
[DRIZZLE_PLUGIN_STATIC_]AS_TR_CPP([$1]),
640
[DRIZZLE_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]),
641
[DRIZZLE_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
642
[DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
643
[DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),
644
644
__mysql_[$1]_configs__,
648
AC_DEFUN([_MYSQL_SHOW_PLUGIN],[dnl
648
AC_DEFUN([_DRIZZLE_SHOW_PLUGIN],[dnl
650
650
Plugin Name: [$1]
666
666
dnl ---------------------------------------------------------------------------
669
AC_DEFUN([_MYSQL_EMIT_PLUGINS],[
669
AC_DEFUN([_DRIZZLE_EMIT_PLUGINS],[
670
670
ifelse($#, 0, [], [$#:$1], [1:], [], [
671
m4_ifdef([MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]), [], [
672
m4_define([MYSQL_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),[ ])
671
m4_ifdef([DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1]), [], [
672
m4_define([DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),[ ])
675
m4_ifdef([MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),[
675
m4_ifdef([DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),[
676
676
AC_MSG_ERROR([plugin $1 is disabled])
678
_MYSQL_EMIT_PLUGIN_ENABLE([$1], m4_bpatsubst([$1], -, _),
679
[MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]),
680
[MYSQL_PLUGIN_STATIC_]AS_TR_CPP([$1]),
681
[MYSQL_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]))
678
_DRIZZLE_EMIT_PLUGIN_ENABLE([$1], m4_bpatsubst([$1], -, _),
679
[DRIZZLE_PLUGIN_NAME_]AS_TR_CPP([$1]),
680
[DRIZZLE_PLUGIN_STATIC_]AS_TR_CPP([$1]),
681
[DRIZZLE_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]))
684
_MYSQL_EMIT_PLUGINS(m4_shift($@))
684
_DRIZZLE_EMIT_PLUGINS(m4_shift($@))
688
AC_DEFUN([_MYSQL_EMIT_PLUGIN_ENABLE],[
688
AC_DEFUN([_DRIZZLE_EMIT_PLUGIN_ENABLE],[
689
689
m4_ifdef([$5],m4_ifdef([$4],[
690
690
[mysql_plugin_]$2=yes
698
AC_DEFUN([_MYSQL_EMIT_PLUGIN_DEPENDS], [
698
AC_DEFUN([_DRIZZLE_EMIT_PLUGIN_DEPENDS], [
699
699
ifelse($#, 0, [], [$#:$1], [1:], [], [
700
_MYSQL_EMIT_CHECK_DEPENDS(m4_bpatsubst([$1], -, _),
700
_DRIZZLE_EMIT_CHECK_DEPENDS(m4_bpatsubst([$1], -, _),
701
701
[__mysql_plugdepends_$1__])
702
_MYSQL_EMIT_PLUGIN_DEPENDS(m4_shift($@))
702
_DRIZZLE_EMIT_PLUGIN_DEPENDS(m4_shift($@))
706
AC_DEFUN([_MYSQL_EMIT_CHECK_DEPENDS], [
706
AC_DEFUN([_DRIZZLE_EMIT_CHECK_DEPENDS], [
708
708
if test "X[$mysql_plugin_]$1" = Xyes -a \
709
709
"X[$with_plugin_]$1" != Xno -o \
710
710
"X[$with_plugin_]$1" = Xyes; then
711
_MYSQL_EMIT_PLUGIN_DEPENDENCIES(m4_bpatsubst($2, :, [,]))
711
_DRIZZLE_EMIT_PLUGIN_DEPENDENCIES(m4_bpatsubst($2, :, [,]))
716
AC_DEFUN([_MYSQL_EMIT_PLUGIN_DEPENDENCIES], [
716
AC_DEFUN([_DRIZZLE_EMIT_PLUGIN_DEPENDENCIES], [
717
717
ifelse([$1], [], [], [
718
m4_ifdef([MYSQL_PLUGIN_DISABLED_]AS_TR_CPP([$1]),[
718
m4_ifdef([DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),[
719
719
AC_MSG_ERROR([depends upon disabled plugin $1])
721
721
[mysql_plugin_]m4_bpatsubst([$1], -, _)=yes
723
723
AC_MSG_ERROR([depends upon disabled plugin $1])
726
_MYSQL_EMIT_PLUGIN_DEPENDENCIES(m4_shift($@))
726
_DRIZZLE_EMIT_PLUGIN_DEPENDENCIES(m4_shift($@))
731
dnl _MYSQL_CHECK_PLUGIN_ARGS([plugin],[plugin]...)
731
dnl _DRIZZLE_CHECK_PLUGIN_ARGS([plugin],[plugin]...)
734
734
dnl Emits shell script for checking configure arguments
735
735
dnl Arguments to this macro is default value for selected plugins
737
AC_DEFUN([_MYSQL_CHECK_PLUGIN_ARGS],[
738
__MYSQL_CHECK_PLUGIN_ARGS(m4_default([$1], [none]))
737
AC_DEFUN([_DRIZZLE_CHECK_PLUGIN_ARGS],[
738
__DRIZZLE_CHECK_PLUGIN_ARGS(m4_default([$1], [none]))
741
AC_DEFUN([__MYSQL_CHECK_PLUGIN_ARGS],[
741
AC_DEFUN([__DRIZZLE_CHECK_PLUGIN_ARGS],[
742
742
AC_ARG_WITH([plugins],
743
743
AS_HELP_STRING([--with-plugins=PLUGIN[[[[[,PLUGIN..]]]]]],
744
744
[Plugins to include in mysqld. (default is: $1) Must be a
781
781
AC_MSG_ERROR([bad plugin name: $plugin])
783
_MYSQL_EMIT_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
783
_DRIZZLE_EMIT_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
785
785
AC_MSG_ERROR([unknown plugin: $plugin])
790
_MYSQL_EMIT_PLUGIN_DEPENDS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
790
_DRIZZLE_EMIT_PLUGIN_DEPENDS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
793
793
dnl ---------------------------------------------------------------------------
794
dnl Macro: _MYSQL_INCLUDE_LIST
794
dnl Macro: _DRIZZLE_INCLUDE_LIST
797
dnl _MYSQL_INCLUDE_LIST([filename,filename...])
797
dnl _DRIZZLE_INCLUDE_LIST([filename,filename...])
800
800
dnl includes all files from the list
802
802
dnl ---------------------------------------------------------------------------
803
AC_DEFUN([_MYSQL_INCLUDE_LIST],[
803
AC_DEFUN([_DRIZZLE_INCLUDE_LIST],[
804
804
ifelse([$1], [], [], [
805
805
m4_define([__mysql_include__],[$1])
806
806
dnl We have to use builtin(), because sinclude would generate an error