540443b047f5c07703ba0c4648f496c6d7bd87e4
[awesomized/libmemcached] / m4 / pandora_plugins.m4
1 dnl Copyright (C) 2009 Sun Microsystems, Inc.
2 dnl This file is free software; Sun Microsystems, Inc.
3 dnl gives unlimited permission to copy and/or distribute it,
4 dnl with or without modifications, as long as this notice is preserved.
5 dnl--------------------------------------------------------------------
6 dnl PANDORA_PLUGINS
7 dnl Declare our plugin modules
8 dnl--------------------------------------------------------------------
9
10 AC_DEFUN([PANDORA_PLUGINS],[
11
12 dnl We do this to prime the files from a fresh checkout. Normally we want
13 dnl these commands to be executed by make. Perhaps we should split them into
14 dnl a few shell script snippets in config and make Make call them... we're
15 dnl going to get there...
16 dnl ANYWAY - syscmd gets called during aclocal - so before automake. It will
17 dnl get called probably during autoconf too, so it's important to protect
18 dnl with test -f ... if the files exist, we don't have the chicken/egg
19 dnl problem and therefore don't need to do anything here
20 m4_syscmd([PYTHON=${PYTHON:-python} && $PYTHON config/pandora-plugin > /dev/null])
21 m4_syscmd([test -f config/plugin.stamp || touch config/plugin.stamp aclocal.m4])
22
23 m4_sinclude(config/pandora-plugin.ac)
24
25 dnl Add code here to read set plugin lists and set drizzled_default_plugin_list
26 pandora_builtin_list=`echo $pandora_builtin_list | sed 's/, *$//'`
27 pandora_builtin_symbols_list=`echo $pandora_builtin_symbols_list | sed 's/, *$//'`
28 pandora_builtin_load_list=`echo $pandora_builtin_load_list | sed 's/, *$//'`
29 pandora_builtin_load_symbols_list=`echo $pandora_builtin_load_symbols_list | sed 's/, *$//'`
30 AS_IF([test "x$pandora_builtin_symbols_list" = "x"], pandora_builtin_symbols_list="NULL")
31 AS_IF([test "x$pandora_builtin_load_symbols_list" = "x"], pandora_builtin_load_symbols_list="NULL")
32 AC_SUBST([PANDORA_BUILTIN_LIST],[$pandora_builtin_list])
33 AC_SUBST([PANDORA_BUILTIN_SYMBOLS_LIST],[$pandora_builtin_symbols_list])
34 AC_SUBST([PANDORA_BUILTIN_LOAD_LIST],[$pandora_builtin_load_list])
35 AC_SUBST([PANDORA_BUILTIN_LOAD_SYMBOLS_LIST],[$pandora_builtin_load_symbols_list])
36 AC_SUBST([PANDORA_PLUGIN_LIST],[$pandora_default_plugin_list])
37 m4_ifval(m4_normalize([$1]),[
38 AC_CONFIG_FILES($*)
39 ],[
40 AC_DEFINE_UNQUOTED([PANDORA_BUILTIN_LIST],["$pandora_builtin_list"],
41 [List of plugins to be built in])
42 AC_DEFINE_UNQUOTED([PANDORA_BUILTIN_SYMBOLS_LIST],["$pandora_builtin_symbols_list"],
43 [List of builtin plugin symbols to be built in])
44 AC_DEFINE_UNQUOTED([PANDORA_PLUGIN_LIST],["$pandora_default_plugin_list"],
45 [List of plugins that should be loaded on startup if no
46 value is given for --plugin-load])
47 ])
48
49
50 AC_SUBST(pandora_plugin_test_list)
51 AC_SUBST(pandora_plugin_libs)
52
53 pandora_plugin_defs=`echo $pandora_plugin_defs | sed 's/, *$//'`
54 AC_SUBST(pandora_plugin_defs)
55
56 AC_SUBST(PANDORA_PLUGIN_DEP_LIBS)
57 AC_SUBST(pkgplugindir,"\$(pkglibdir)")
58 ])
59
60 AC_DEFUN([PANDORA_ADD_PLUGIN_DEP_LIB],[
61 PANDORA_PLUGIN_DEP_LIBS="${PANDORA_PLUGIN_DEP_LIBS} $*"
62 ])