~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
dnl ===========================================================================
2
dnl Support for mysql server plugins
3
dnl ===========================================================================
4
dnl
5
dnl WorkLog#3201
6
dnl
7
dnl Framework for pluggable static and dynamic plugins for mysql
8
dnl
9
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
10
dnl Macro: DRIZZLE_PLUGIN
1 by brian
clean slate
11
dnl
12
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
13
dnl   DRIZZLE_PLUGIN([name],[Plugin name],
1 by brian
clean slate
14
dnl                [Plugin description],
15
dnl                [group,group...])
16
dnl   
17
dnl DESCRIPTION
18
dnl   First declaration for a plugin (mandatory).
19
dnl   Adds plugin as member to configuration groups (if specified)
20
dnl
21
dnl ---------------------------------------------------------------------------
22
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
23
AC_DEFUN([DRIZZLE_PLUGIN],[
24
 _DRIZZLE_PLUGIN(
1 by brian
clean slate
25
  [$1],
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
26
  [__DRIZZLE_PLUGIN_]AS_TR_CPP([$1])[__],
1 by brian
clean slate
27
  m4_default([$2], [$1 plugin]),
28
  m4_default([$3], [plugin for $1]),
29
  m4_default([$4], []),
30
 )
31
])
32
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
33
AC_DEFUN([_DRIZZLE_PLUGIN],[
1 by brian
clean slate
34
 m4_ifdef([$2], [
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
35
  AC_FATAL([Duplicate DRIZZLE_PLUGIN declaration for $3])
1 by brian
clean slate
36
 ],[
37
  m4_define([$2], [$1])
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
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)
1 by brian
clean slate
42
  ifelse(m4_bregexp(__mysql_include__,[/plug\.in$]),-1,[],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
43
     DRIZZLE_PLUGIN_DIRECTORY([$1],
1 by brian
clean slate
44
         m4_bregexp(__mysql_include__,[^\(.*\)/plug\.in$],[\1]))
45
  ])
46
 ])
47
])
48
49
50
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
51
dnl Macro: DRIZZLE_STORAGE_ENGINE
1 by brian
clean slate
52
dnl
53
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
54
dnl   DRIZZLE_STORAGE_ENGINE([name],[legacy-option],[Storage engine name],
1 by brian
clean slate
55
dnl                        [Storage engine description],[group,group...])
56
dnl
57
dnl DESCRIPTION
58
dnl   Short cut for storage engine declarations
59
dnl
60
dnl ---------------------------------------------------------------------------
61
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
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])
1 by brian
clean slate
65
 ifelse([$2],[no],[],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
66
  _DRIZZLE_LEGACY_STORAGE_ENGINE(
1 by brian
clean slate
67
      m4_bpatsubst([$1], -, _),
68
      m4_bpatsubst(m4_default([$2], [$1-storage-engine]), -, _))
69
 ])
70
])
71
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
72
AC_DEFUN([_DRIZZLE_LEGACY_STORAGE_ENGINE],[
1 by brian
clean slate
73
if test "[${with_]$2[+set}]" = set; then
74
  [with_plugin_]$1="[$with_]$2"
75
fi
76
])
77
78
79
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
80
dnl Macro: DRIZZLE_PLUGIN_DEFINE
1 by brian
clean slate
81
dnl
82
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
83
dnl   DRIZZLE_PLUGIN_DEFINE([name],[DRIZZLE_CPP_DEFINE])
1 by brian
clean slate
84
dnl
85
dnl DESCRIPTION
86
dnl   When a plugin is to be statically linked, define the C macro
87
dnl
88
dnl ---------------------------------------------------------------------------
89
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
90
AC_DEFUN([DRIZZLE_PLUGIN_DEFINE],[
91
 DRIZZLE_REQUIRE_PLUGIN([$1])
92
 m4_define([DRIZZLE_PLUGIN_DEFINE_]AS_TR_CPP([$1]), [$2])
1 by brian
clean slate
93
])
94
95
96
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
97
dnl Macro: DRIZZLE_PLUGIN_DIRECTORY
1 by brian
clean slate
98
dnl
99
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
100
dnl   DRIZZLE_PLUGIN_DIRECTORY([name],[plugin/dir])
1 by brian
clean slate
101
dnl
102
dnl DESCRIPTION
103
dnl   Adds a directory to the build process
104
dnl   if it contains 'configure' it will be picked up automatically
105
dnl
106
dnl ---------------------------------------------------------------------------
107
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
108
AC_DEFUN([DRIZZLE_PLUGIN_DIRECTORY],[
109
 DRIZZLE_REQUIRE_PLUGIN([$1])
110
 m4_define([DRIZZLE_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]), [$2])
1 by brian
clean slate
111
])
112
113
114
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
115
dnl Macro: DRIZZLE_PLUGIN_STATIC
1 by brian
clean slate
116
dnl
117
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
118
dnl   DRIZZLE_PLUGIN_STATIC([name],[libmyplugin.a])
1 by brian
clean slate
119
dnl
120
dnl DESCRIPTION
121
dnl   Declare the name for the static library 
122
dnl
123
dnl ---------------------------------------------------------------------------
124
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
125
AC_DEFUN([DRIZZLE_PLUGIN_STATIC],[
126
 DRIZZLE_REQUIRE_PLUGIN([$1])
127
 m4_define([DRIZZLE_PLUGIN_STATIC_]AS_TR_CPP([$1]), [$2])
1 by brian
clean slate
128
])
129
130
131
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
132
dnl Macro: DRIZZLE_PLUGIN_DYNAMIC
1 by brian
clean slate
133
dnl
134
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
135
dnl  DRIZZLE_PLUGIN_DYNAMIC([name],[myplugin.la])
1 by brian
clean slate
136
dnl
137
dnl DESCRIPTION
138
dnl   Declare the name for the shared library
139
dnl
140
dnl ---------------------------------------------------------------------------
141
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
142
AC_DEFUN([DRIZZLE_PLUGIN_DYNAMIC],[
143
 DRIZZLE_REQUIRE_PLUGIN([$1])
144
 m4_define([DRIZZLE_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]), [$2])
1 by brian
clean slate
145
])
146
147
148
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
149
dnl Macro: DRIZZLE_PLUGIN_MANDATORY
1 by brian
clean slate
150
dnl
151
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
152
dnl   DRIZZLE_PLUGIN_MANDATORY([name])
1 by brian
clean slate
153
dnl
154
dnl DESCRIPTION
155
dnl   Marks the specified plugin as a mandatory plugin
156
dnl
157
dnl ---------------------------------------------------------------------------
158
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
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])
1 by brian
clean slate
164
 )
165
])
166
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
167
AC_DEFUN([_DRIZZLE_PLUGIN_MANDATORY],[
1 by brian
clean slate
168
 m4_define([$2], [yes])
169
 m4_ifdef([$3], [
170
  AC_FATAL([mandatory plugin $1 has been disabled])
171
  m4_undefine([$2])
172
 ])
173
])
174
175
176
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
177
dnl Macro: DRIZZLE_PLUGIN_DISABLED
1 by brian
clean slate
178
dnl
179
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
180
dnl   DRIZZLE_PLUGIN_DISABLED([name])
1 by brian
clean slate
181
dnl
182
dnl DESCRIPTION
183
dnl   Marks the specified plugin as a disabled plugin
184
dnl
185
dnl ---------------------------------------------------------------------------
186
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
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])
1 by brian
clean slate
192
 )
193
])
194
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
195
AC_DEFUN([_DRIZZLE_PLUGIN_DISABLED],[
1 by brian
clean slate
196
 m4_define([$2], [yes])
197
 m4_ifdef([$3], [
198
  AC_FATAL([attempt to disable mandatory plugin $1])
199
  m4_undefine([$2])
200
 ])
201
])
202
203
204
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
205
dnl Macro: DRIZZLE_PLUGIN_DEPENDS
1 by brian
clean slate
206
dnl
207
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
208
dnl   DRIZZLE_PLUGIN_DEPENDS([name],[prereq,prereq...])
1 by brian
clean slate
209
dnl
210
dnl DESCRIPTION
211
dnl   Enables other plugins neccessary for the named plugin
212
dnl   Dependency checking is not recursive so if any 
213
dnl   required plugin requires further plugins, list them
214
dnl   here too!
215
dnl
216
dnl ---------------------------------------------------------------------------
217
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
218
AC_DEFUN([DRIZZLE_PLUGIN_DEPENDS],[
219
 DRIZZLE_REQUIRE_PLUGIN([$1])
1 by brian
clean slate
220
 ifelse($#, 2, [
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
221
  _DRIZZLE_PLUGIN_DEPEND([$1], $2)
1 by brian
clean slate
222
 ], [
223
  AC_FATAL([bad number of arguments])
224
 ])
225
])
226
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
227
AC_DEFUN([_DRIZZLE_PLUGIN_DEPEND],[
1 by brian
clean slate
228
 ifelse($#, 1, [], [$#:$2], [2:], [], [
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
229
  DRIZZLE_REQUIRE_PLUGIN([$2])
230
  _DRIZZLE_PLUGAPPEND([__mysql_plugdepends_$1__],[$2])
231
  _DRIZZLE_PLUGIN_DEPEND([$1], m4_shift(m4_shift($@)))
1 by brian
clean slate
232
 ])
233
])
234
235
236
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
237
dnl Macro: DRIZZLE_PLUGIN_ACTIONS
1 by brian
clean slate
238
dnl
239
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
240
dnl   DRIZZLE_PLUGIN_ACTIONS([name],[PLUGIN_CONFIGURE_STUFF])
1 by brian
clean slate
241
dnl
242
dnl DESCRIPTION
243
dnl   Declares additional autoconf actions required to configure the plugin
244
dnl
245
dnl ---------------------------------------------------------------------------
246
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
247
AC_DEFUN([DRIZZLE_PLUGIN_ACTIONS],[
248
 DRIZZLE_REQUIRE_PLUGIN([$1])
1 by brian
clean slate
249
 m4_ifdef([$2],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
250
   m4_define([DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),m4_defn([$2]))
1 by brian
clean slate
251
 ],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
252
   m4_define([DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1]), [$2])
1 by brian
clean slate
253
 ])
254
])
255
256
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
257
dnl Macro: DRIZZLE_PLUGIN_DEPENDS_ON_DRIZZLE_INTERNALS
1 by brian
clean slate
258
dnl
259
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
260
dnl   DRIZZLE_PLUGIN_DEPENDS_ON_DRIZZLE_INTERNALS([name],[file name])
1 by brian
clean slate
261
dnl
262
dnl DESCRIPTION
263
dnl   Some modules in plugins keep dependance on structures
264
dnl   declared in sql/ (THD class usually)
265
dnl   That has to be fixed in the future, but until then
266
dnl   we have to recompile these modules when we want to
267
dnl   to compile server parts with the different #defines
268
dnl   Normally it happens when we compile the embedded server
269
dnl   Thus one should mark such files in his handler using this macro
270
dnl    (currently only one such a file per plugin is supported)
271
dnl
272
dnl ---------------------------------------------------------------------------
273
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
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])
1 by brian
clean slate
277
])
278
279
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
280
dnl Macro: DRIZZLE_CONFIGURE_PLUGINS
1 by brian
clean slate
281
dnl
282
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
283
dnl   DRIZZLE_PLUGIN_DEPENDS([name,name...])
1 by brian
clean slate
284
dnl
285
dnl DESCRIPTION
286
dnl   Used last, emits all required shell code to configure the plugins
287
dnl   Argument is a list of default plugins or meta-plugin
288
dnl
289
dnl ---------------------------------------------------------------------------
290
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
291
AC_DEFUN([DRIZZLE_CONFIGURE_PLUGINS],[
1 by brian
clean slate
292
 m4_ifdef([__mysql_plugin_configured__],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
293
   AC_FATAL([cannot use [DRIZZLE_CONFIGURE_PLUGINS] multiple times])
1 by brian
clean slate
294
 ],[
295
   m4_define([__mysql_plugin_configured__],[done])
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
296
   _DRIZZLE_INCLUDE_LIST(
1 by brian
clean slate
297
   m4_bpatsubst(m4_esyscmd([ls plugin/*/plug.in storage/*/plug.in 2>/dev/null]),
298
[[ 
299
]],[,]))
300
   m4_ifdef([__mysql_plugin_list__],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
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__, :, [,]))
685.1.2 by Monty Taylor
Put depends on plug.in files into the make process.
304
    AC_SUBST([drizzle_plugin_files])
1 by brian
clean slate
305
    AC_SUBST([mysql_se_dirs])
306
    AC_SUBST([mysql_pg_dirs])
307
    AC_SUBST([mysql_se_unittest_dirs])
308
    AC_SUBST([mysql_pg_unittest_dirs])
309
    AC_SUBST([condition_dependent_plugin_modules])
310
    AC_SUBST([condition_dependent_plugin_objects])
311
    AC_SUBST([condition_dependent_plugin_links])
312
    AC_SUBST([condition_dependent_plugin_includes])
313
   ])
314
 ])
315
])
316
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
317
AC_DEFUN([_DRIZZLE_CONFIGURE_PLUGINS],[
1 by brian
clean slate
318
 ifelse($#, 0, [], $#, 1, [
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
319
  _DRIZZLE_EMIT_CHECK_PLUGIN([$1])
1 by brian
clean slate
320
 ],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
321
  _DRIZZLE_EMIT_CHECK_PLUGIN([$1])
322
  _DRIZZLE_CONFIGURE_PLUGINS(m4_shift($@))
1 by brian
clean slate
323
 ])
324
])
325
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
326
AC_DEFUN([_DRIZZLE_EMIT_CHECK_PLUGIN],[
327
 __DRIZZLE_EMIT_CHECK_PLUGIN(
1 by brian
clean slate
328
  [$1],
329
  m4_bpatsubst([$1], -, _),
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
330
  [DRIZZLE_PLUGIN_NAME_]AS_TR_CPP([$1]),
331
  [DRIZZLE_PLUGIN_DESC_]AS_TR_CPP([$1]),
332
  [DRIZZLE_PLUGIN_DEFINE_]AS_TR_CPP([$1]),
333
  [DRIZZLE_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]),
334
  [DRIZZLE_PLUGIN_STATIC_]AS_TR_CPP([$1]),
335
  [DRIZZLE_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]),
336
  [DRIZZLE_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
337
  [DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
338
  [DRIZZLE_PLUGIN_DEPENDS_ON_DRIZZLE_INTERNALS_]AS_TR_CPP([$1]),
339
  [DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1])
1 by brian
clean slate
340
 )
341
])
342
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
343
AC_DEFUN([__DRIZZLE_EMIT_CHECK_PLUGIN],[
1 by brian
clean slate
344
 m4_ifdef([$5],[
345
  AH_TEMPLATE($5, [Include ]$4[ into mysqld])
346
 ])
347
 AC_MSG_CHECKING([whether to use ]$3)
348
 mysql_use_plugin_dir=""
349
 m4_ifdef([$10],[
350
  if test "X[$mysql_plugin_]$2" = Xyes -a \
351
          "X[$with_plugin_]$2" != Xno -o \
352
          "X[$with_plugin_]$2" = Xyes; then
353
    AC_MSG_RESULT([error])
354
    AC_MSG_ERROR([disabled])
355
  fi
356
  AC_MSG_RESULT([no])
357
 ],[
358
  m4_ifdef([$9],[
359
   if test "X[$with_plugin_]$2" = Xno; then
360
     AC_MSG_RESULT([error])
361
     AC_MSG_ERROR([cannot disable mandatory plugin])
362
   fi
363
   [mysql_plugin_]$2=yes
364
  ],[
365
   case "$with_mysqld_ldflags " in
366
     *"-all-static "*)
367
       # No need to build shared plugins when mysqld is linked with
368
       # -all-static as it won't be able to load them.
369
       if test "X[$mysql_plugin_]$2" != Xyes -a \
370
               "X[$with_plugin_]$2" != Xyes; then
371
	     [with_plugin_]$2=no
372
	   fi
373
     ;;
374
   esac
375
  ])
376
  if test "X[$with_plugin_]$2" = Xno; then
377
    AC_MSG_RESULT([no])
378
  else
379
    m4_ifdef([$8],m4_ifdef([$7],[],[[with_plugin_]$2='']))
380
    if test "X[$mysql_plugin_]$2" != Xyes -a \
381
            "X[$with_plugin_]$2" != Xyes; then
382
      m4_ifdef([$8],[
383
       m4_ifdef([$6],[
384
         if test -d "$srcdir/$6" ; then
385
           mysql_use_plugin_dir="$6"
386
       ])
387
       AC_SUBST([plugin_]$2[_shared_target], "$8")
388
       AC_SUBST([plugin_]$2[_static_target], [""])
389
       [with_plugin_]$2=yes
390
       AC_MSG_RESULT([plugin])
391
       m4_ifdef([$6],[
392
         else
393
           [mysql_plugin_]$2=no
394
           AC_MSG_RESULT([no])
395
         fi
396
       ])
397
      ],[
398
       [with_plugin_]$2=no
399
       AC_MSG_RESULT([no])
400
      ])
401
    else
402
      m4_ifdef([$7],[
403
       ifelse(m4_bregexp($7, [^lib[^.]+\.a$]), -2, [
404
dnl change above "-2" to "0" to enable this section
405
dnl Although this is "pretty", it breaks libmysqld build
406
        m4_ifdef([$6],[
407
         mysql_use_plugin_dir="$6"
408
         mysql_plugin_libs="$mysql_plugin_libs -L[\$(top_builddir)]/$6"
409
        ])
410
        mysql_plugin_libs="$mysql_plugin_libs dnl
411
[-l]m4_bregexp($7, [^lib\([^.]+\)], [\1])"
412
       ], m4_bregexp($7, [^\\\$]), 0, [
413
        m4_ifdef([$6],[
414
         mysql_use_plugin_dir="$6"
415
        ])
416
        mysql_plugin_libs="$mysql_plugin_libs $7"
417
       ], [
418
        m4_ifdef([$6],[
419
         mysql_use_plugin_dir="$6"
420
         mysql_plugin_libs="$mysql_plugin_libs \$(top_builddir)/$6/$7"
421
        ],[
422
         mysql_plugin_libs="$mysql_plugin_libs $7"
423
        ])
424
       ])
425
       m4_ifdef([$5],[
426
        AC_DEFINE($5)
427
       ])
428
       AC_SUBST([plugin_]$2[_static_target], "$7")
429
       AC_SUBST([plugin_]$2[_shared_target], [""])
430
      ],[
431
       m4_ifdef([$6],[
432
        AC_MSG_RESULT([error])
433
        AC_MSG_ERROR([Plugin $1 does not support static linking])
434
       ],[
435
        m4_ifdef([$5],[
436
         AC_DEFINE($5)
437
         AC_SUBST([plugin_]$2[_static_target], ["yes"])
438
         AC_SUBST([plugin_]$2[_shared_target], [""])
439
        ])
440
       ])
441
      ])
442
      mysql_plugin_defs="$mysql_plugin_defs, [builtin_]$2[_plugin]"
443
      [with_plugin_]$2=yes
444
      AC_MSG_RESULT([yes])
445
      m4_ifdef([$11],[
446
       condition_dependent_plugin_modules="$condition_dependent_plugin_modules m4_bregexp($11, [[^/]+$], [\&])"
447
       condition_dependent_plugin_objects="$condition_dependent_plugin_objects m4_bregexp($11, [[^/]+\.], [\&o])"
448
       condition_dependent_plugin_links="$condition_dependent_plugin_links $6/$11"
449
       condition_dependent_plugin_includes="$condition_dependent_plugin_includes -I[\$(top_srcdir)]/$6/m4_bregexp($11, [^.+[/$]], [\&])"
450
      ])
451
    fi
452
    m4_ifdef([$6],[
453
      if test -n "$mysql_use_plugin_dir" ; then
454
        mysql_plugin_dirs="$mysql_plugin_dirs $6"
455
        m4_syscmd(test -f "$6/configure")
456
        ifelse(m4_sysval, 0,
457
          [AC_CONFIG_SUBDIRS($6)],
458
          [AC_CONFIG_FILES($6/Makefile)]
459
        )
460
        ifelse(m4_substr($6, 0, 8), [storage/],
461
          [
462
            [mysql_se_dirs="$mysql_se_dirs ]m4_substr($6, 8)"
463
             mysql_se_unittest_dirs="$mysql_se_unittest_dirs ../$6"
464
          ],
465
          m4_substr($6, 0, 7), [plugin/],
466
          [
467
            [mysql_pg_dirs="$mysql_pg_dirs ]m4_substr($6, 7)"
468
             mysql_pg_unittest_dirs="$mysql_pg_unittest_dirs ../$6"
469
          ],
470
          [AC_FATAL([don't know how to handle plugin dir ]$6)])
471
      fi
472
    ])
473
  fi
474
 ])
475
])
476
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
477
AC_DEFUN([_DRIZZLE_EMIT_PLUGIN_ACTIONS],[
1 by brian
clean slate
478
 ifelse($#, 0, [], $#, 1, [
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
479
  _DRIZZLE_EMIT_PLUGIN_ACTION([$1])
1 by brian
clean slate
480
 ],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
481
  _DRIZZLE_EMIT_PLUGIN_ACTION([$1])
482
  _DRIZZLE_EMIT_PLUGIN_ACTIONS(m4_shift($@))
1 by brian
clean slate
483
 ])
484
])
485
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
486
AC_DEFUN([_DRIZZLE_EMIT_PLUGIN_ACTION],[
487
 __DRIZZLE_EMIT_PLUGIN_ACTION(
1 by brian
clean slate
488
  [$1],
489
  m4_bpatsubst([$1], -, _),
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
490
  [DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
491
  [DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1])
1 by brian
clean slate
492
 )
493
])
494
495
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
496
AC_DEFUN([__DRIZZLE_EMIT_PLUGIN_ACTION],[
1 by brian
clean slate
497
 m4_ifdef([$3], [], [
498
  if test "X[$with_plugin_]$2" = Xyes; then
499
    if test "X[$plugin_]$2[_static_target]" = X -a \
500
            "X[$plugin_]$2[_shared_target]" = X; then
501
      AC_MSG_ERROR([that's strange, $1 failed sanity check])
502
    fi
503
    $4
504
  fi
505
 ])
506
])
507
508
509
510
dnl ===========================================================================
511
dnl  Private helper macros
512
dnl ===========================================================================
513
514
515
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
516
dnl   DRIZZLE_REQUIRE_PLUGIN([name])
1 by brian
clean slate
517
dnl
518
dnl DESCRIPTION
519
dnl   Checks that the specified plugin does exist
520
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
521
AC_DEFUN([DRIZZLE_REQUIRE_PLUGIN],[
522
 _DRIZZLE_REQUIRE_PLUGIN([$1], [__DRIZZLE_PLUGIN_]AS_TR_CPP([$1])[__])
1 by brian
clean slate
523
])
524
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
525
define([_DRIZZLE_REQUIRE_PLUGIN],[
1 by brian
clean slate
526
 ifdef([$2],[
527
  ifelse($2, [$1], [], [
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
528
   AC_FATAL([Misspelt DRIZZLE_PLUGIN declaration for $1])
1 by brian
clean slate
529
  ])
530
 ],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
531
  AC_FATAL([Missing DRIZZLE_PLUGIN declaration for $1])
1 by brian
clean slate
532
 ])
533
])
534
535
536
dnl ---------------------------------------------------------------------------
537
538
539
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
540
dnl   _DRIZZLE_EMIT_METAPLUGINS([name,name...])
1 by brian
clean slate
541
dnl
542
dnl DESCRIPTION
543
dnl   Emits shell code for metaplugins
544
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
545
AC_DEFUN([_DRIZZLE_EMIT_METAPLUGINS], [ifelse($#, 0, [], $#, 1,
546
[_DRIZZLE_EMIT_METAPLUGIN([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__])
1 by brian
clean slate
547
],
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
548
[_DRIZZLE_EMIT_METAPLUGIN([$1], [__mysql_]m4_bpatsubst($1, -, _)[_plugins__])
549
_DRIZZLE_EMIT_METAPLUGINS(m4_shift($@))])
1 by brian
clean slate
550
])
551
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
552
AC_DEFUN([_DRIZZLE_EMIT_METAPLUGIN], [
1 by brian
clean slate
553
  [$1] )
554
m4_ifdef([$2], [
555
    mysql_plugins='m4_bpatsubst($2, :, [ ])'
556
],[
557
    mysql_plugins=''
558
])
559
    ;;
560
])
561
562
563
dnl ---------------------------------------------------------------------------
564
565
566
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
567
dnl   _DRIZZLE_PLUGAPPEND([name],[to-append])
1 by brian
clean slate
568
dnl
569
dnl DESCRIPTION
570
dnl   Helper macro for appending to colon-delimited lists
571
dnl   Optinal 3rd argument is for actions only required when defining
572
dnl   macro named for the first time.
573
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
574
AC_DEFUN([_DRIZZLE_PLUGAPPEND],[
1 by brian
clean slate
575
 m4_ifdef([$1],[
576
  m4_define([__plugin_append_tmp__], m4_defn([$1]))
577
  m4_undefine([$1])
578
  m4_define([$1], __plugin_append_tmp__[:$2])
579
  m4_undefine([__plugin_append_tmp__])
580
 ],[
581
  m4_define([$1], [$2])
582
  $3
583
 ])
584
])
585
586
587
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
588
dnl   _DRIZZLE_PLUGAPPEND_META([name],[meta,meta...])
1 by brian
clean slate
589
dnl
590
dnl DESCRIPTION
591
dnl   Helper macro for adding plugins to meta plugins
592
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
593
AC_DEFUN([_DRIZZLE_PLUGAPPEND_META],[
1 by brian
clean slate
594
 ifelse($#, 1, [], [$#:$2], [2:], [], [$2], [all], [
595
  AC_FATAL([protected plugin group: all])
596
 ], [$2], [none], [
597
  AC_FATAL([protected plugin group: none])
598
 ],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
599
  _DRIZZLE_PLUGAPPEND([__mysql_$1_configs__],[$2])
600
  _DRIZZLE_PLUGAPPEND([__mysql_]m4_bpatsubst($2, -, _)[_plugins__],[$1], [
601
   _DRIZZLE_PLUGAPPEND([__mysql_metaplugin_list__],[$2])
1 by brian
clean slate
602
  ])
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
603
  _DRIZZLE_PLUGAPPEND_META([$1], m4_shift(m4_shift($@)))
1 by brian
clean slate
604
 ])
605
])
606
607
608
dnl ---------------------------------------------------------------------------
609
610
611
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
612
dnl   DRIZZLE_LIST_PLUGINS
1 by brian
clean slate
613
dnl
614
dnl DESCRIPTION
615
dnl   Emits formatted list of declared plugins
616
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
617
AC_DEFUN([DRIZZLE_LIST_PLUGINS],[dnl
1 by brian
clean slate
618
 m4_ifdef([__mysql_plugin_list__],[dnl
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
619
  _DRIZZLE_LIST_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))dnl
1 by brian
clean slate
620
 ])dnl
621
])
622
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
623
AC_DEFUN([_DRIZZLE_LIST_PLUGINS],[dnl
1 by brian
clean slate
624
 ifelse($#, 0, [], $#, 1, [dnl
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
625
  DRIZZLE_SHOW_PLUGIN([$1])dnl
1 by brian
clean slate
626
 ],[dnl
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
627
  DRIZZLE_SHOW_PLUGIN([$1])dnl
628
  _DRIZZLE_LIST_PLUGINS(m4_shift($@))dnl
1 by brian
clean slate
629
 ])dnl
630
])
631
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
632
AC_DEFUN([DRIZZLE_SHOW_PLUGIN],[
633
 _DRIZZLE_SHOW_PLUGIN(
1 by brian
clean slate
634
  [$1],
635
  [$1-plugin],
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
636
  [DRIZZLE_PLUGIN_NAME_]AS_TR_CPP([$1]),
637
  [DRIZZLE_PLUGIN_DESC_]AS_TR_CPP([$1]),
638
  [DRIZZLE_PLUGIN_DEFINE_]AS_TR_CPP([$1]),
639
  [DRIZZLE_PLUGIN_DIRECTORY_]AS_TR_CPP([$1]),
640
  [DRIZZLE_PLUGIN_STATIC_]AS_TR_CPP([$1]),
641
  [DRIZZLE_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]),
642
  [DRIZZLE_PLUGIN_MANDATORY_]AS_TR_CPP([$1]),
643
  [DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),
644
  [DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),
1 by brian
clean slate
645
  __mysql_[$1]_configs__,
646
 )
647
])
648
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
649
AC_DEFUN([_DRIZZLE_SHOW_PLUGIN],[dnl
1 by brian
clean slate
650
  === $3 ===
651
  Plugin Name:      [$1]
652
  Description:      $4
653
  Supports build:   _PLUGIN_BUILD_TYPE([$7],[$8])[]dnl
654
m4_ifdef([$12],[
655
  Configurations:   m4_bpatsubst($12, :, [, ])])[]dnl
656
m4_ifdef([$10],[
657
  Status:           disabled])[]dnl
658
m4_ifdef([$9],[
659
  Status:           mandatory])[]dnl
660
])
661
662
AC_DEFUN([_PLUGIN_BUILD_TYPE],
663
[m4_ifdef([$1],[static ]m4_ifdef([$2],[and dnl
664
]))[]m4_ifdef([$2],[dynamic],[m4_ifdef([$1],[],[static])])])
665
666
667
dnl ---------------------------------------------------------------------------
668
669
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
670
AC_DEFUN([_DRIZZLE_EMIT_PLUGINS],[
1 by brian
clean slate
671
 ifelse($#, 0, [], [$#:$1], [1:], [], [
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
672
  m4_ifdef([DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1]), [], [
673
   m4_define([DRIZZLE_PLUGIN_ACTIONS_]AS_TR_CPP([$1]),[ ])
1 by brian
clean slate
674
  ])
675
    [$1] )
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
676
  m4_ifdef([DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),[
1 by brian
clean slate
677
      AC_MSG_ERROR([plugin $1 is disabled])
678
  ],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
679
    _DRIZZLE_EMIT_PLUGIN_ENABLE([$1], m4_bpatsubst([$1], -, _),
680
      [DRIZZLE_PLUGIN_NAME_]AS_TR_CPP([$1]),
681
      [DRIZZLE_PLUGIN_STATIC_]AS_TR_CPP([$1]),
682
      [DRIZZLE_PLUGIN_DYNAMIC_]AS_TR_CPP([$1]))
1 by brian
clean slate
683
  ])
684
      ;;
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
685
  _DRIZZLE_EMIT_PLUGINS(m4_shift($@))
1 by brian
clean slate
686
 ])
687
])
688
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
689
AC_DEFUN([_DRIZZLE_EMIT_PLUGIN_ENABLE],[
1 by brian
clean slate
690
    m4_ifdef([$5],m4_ifdef([$4],[
691
      [mysql_plugin_]$2=yes
692
    ],[
693
      AC_MSG_WARN([$3 can only be built as a plugin])
694
    ]),[
695
      [mysql_plugin_]$2=yes
696
    ])      
697
])
698
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
699
AC_DEFUN([_DRIZZLE_EMIT_PLUGIN_DEPENDS], [
1 by brian
clean slate
700
 ifelse($#, 0, [], [$#:$1], [1:], [], [
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
701
  _DRIZZLE_EMIT_CHECK_DEPENDS(m4_bpatsubst([$1], -, _), 
1 by brian
clean slate
702
                            [__mysql_plugdepends_$1__])
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
703
  _DRIZZLE_EMIT_PLUGIN_DEPENDS(m4_shift($@))
1 by brian
clean slate
704
 ])
705
])
706
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
707
AC_DEFUN([_DRIZZLE_EMIT_CHECK_DEPENDS], [
1 by brian
clean slate
708
 m4_ifdef([$2], [
709
   if test "X[$mysql_plugin_]$1" = Xyes -a \
710
           "X[$with_plugin_]$1" != Xno -o \
711
           "X[$with_plugin_]$1" = Xyes; then
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
712
     _DRIZZLE_EMIT_PLUGIN_DEPENDENCIES(m4_bpatsubst($2, :, [,]))
1 by brian
clean slate
713
   fi
714
 ])
715
])
716
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
717
AC_DEFUN([_DRIZZLE_EMIT_PLUGIN_DEPENDENCIES], [
1 by brian
clean slate
718
 ifelse([$1], [], [], [
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
719
  m4_ifdef([DRIZZLE_PLUGIN_DISABLED_]AS_TR_CPP([$1]),[
1 by brian
clean slate
720
       AC_MSG_ERROR([depends upon disabled plugin $1])
721
  ],[
722
       [mysql_plugin_]m4_bpatsubst([$1], -, _)=yes
723
       if test "X[$with_plugin_]m4_bpatsubst([$1], -, _)" = Xno; then
724
         AC_MSG_ERROR([depends upon disabled plugin $1])
725
       fi
726
  ])
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
727
  _DRIZZLE_EMIT_PLUGIN_DEPENDENCIES(m4_shift($@))
1 by brian
clean slate
728
 ])
729
])
730
731
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
732
dnl   _DRIZZLE_CHECK_PLUGIN_ARGS([plugin],[plugin]...)
1 by brian
clean slate
733
dnl
734
dnl DESCRIPTION
735
dnl   Emits shell script for checking configure arguments
736
dnl   Arguments to this macro is default value for selected plugins
737
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
738
AC_DEFUN([_DRIZZLE_CHECK_PLUGIN_ARGS],[
739
 __DRIZZLE_CHECK_PLUGIN_ARGS(m4_default([$1], [none]))
1 by brian
clean slate
740
])
741
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
742
AC_DEFUN([__DRIZZLE_CHECK_PLUGIN_ARGS],[
1 by brian
clean slate
743
 AC_ARG_WITH([plugins],
744
AS_HELP_STRING([--with-plugins=PLUGIN[[[[[,PLUGIN..]]]]]],
745
               [Plugins to include in mysqld. (default is: $1) Must be a
746
                configuration name or a comma separated list of plugins.])
747
AS_HELP_STRING([],
748
               [Available configurations are:] dnl
749
m4_bpatsubst([none:]m4_ifdef([__mysql_metaplugin_list__],
750
             __mysql_metaplugin_list__:)[all], :, [ ])[.])
751
AS_HELP_STRING([],
752
               [Available plugins are:] dnl
753
m4_bpatsubst(__mysql_plugin_list__, :, [ ])[.])
754
AS_HELP_STRING([--without-plugin-PLUGIN],
755
               [Disable the named plugin from being built. Otherwise, for
756
                plugins which are not selected for inclusion in mysqld will be
757
                built dynamically (if supported)])
758
AS_HELP_STRING([--with-plugin-PLUGIN],
759
               [Forces the named plugin to be linked into mysqld statically.]),
760
 [mysql_plugins="`echo $withval | tr ',.:;*[]' '       '`"],
761
 [mysql_plugins=['$1']])
762
763
m4_divert_once([HELP_VAR_END],[
764
Description of plugins:
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
765
DRIZZLE_LIST_PLUGINS])
1 by brian
clean slate
766
767
  case "$mysql_plugins" in
768
  all )
769
    mysql_plugins='m4_bpatsubst(__mysql_plugin_list__, :, [ ])'
770
    ;;
771
  none )
772
    mysql_plugins=''
773
    ;;
774
m4_ifdef([__mysql_metaplugin_list__],[
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
775
_DRIZZLE_EMIT_METAPLUGINS(m4_bpatsubst(__mysql_metaplugin_list__, :, [,]))
1 by brian
clean slate
776
])
777
  esac
778
779
  for plugin in $mysql_plugins; do
780
    case "$plugin" in
781
    all | none )
782
      AC_MSG_ERROR([bad plugin name: $plugin])
783
      ;;
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
784
_DRIZZLE_EMIT_PLUGINS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
1 by brian
clean slate
785
    * )
786
      AC_MSG_ERROR([unknown plugin: $plugin])
787
      ;;
788
    esac
789
  done
790
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
791
  _DRIZZLE_EMIT_PLUGIN_DEPENDS(m4_bpatsubst(__mysql_plugin_list__, :, [,]))
1 by brian
clean slate
792
])
793
794
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
795
dnl Macro: _DRIZZLE_INCLUDE_LIST
1 by brian
clean slate
796
dnl
797
dnl SYNOPSIS
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
798
dnl   _DRIZZLE_INCLUDE_LIST([filename,filename...])
1 by brian
clean slate
799
dnl
800
dnl DESCRIPTION
801
dnl   includes all files from the list
802
dnl
803
dnl ---------------------------------------------------------------------------
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
804
AC_DEFUN([_DRIZZLE_INCLUDE_LIST],[
1 by brian
clean slate
805
 ifelse([$1], [], [], [
806
  m4_define([__mysql_include__],[$1])
722.2.9 by Monty Taylor
I _think_ I've got the plug.in triggering rebuild thing going on right.
807
  m4_sinclude($1)
1 by brian
clean slate
808
  m4_undefine([__mysql_include__])
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
809
  _DRIZZLE_INCLUDE_LIST(m4_shift($@))
685.1.2 by Monty Taylor
Put depends on plug.in files into the make process.
810
  drizzle_plugin_files="\${top_srcdir}/$1 ${drizzle_plugin_files}"
1 by brian
clean slate
811
 ])
812
])
813
814
dnl ===========================================================================