~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin.h

Added code necessary for building plugins dynamically.
Merged in changes from lifeless to allow autoreconf to work.
Touching plugin.ini files now triggers a rebuid - so config/autorun.sh is no
longer required to be run after touching those.
Removed the duplicate plugin names - also removed the issue that getting them
different would silently fail weirdly later.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
#include <drizzled/xid.h>
25
25
#include <drizzled/plugin/manifest.h>
26
26
#include <drizzled/plugin/library.h>
27
 
#include <drizzled/plugin/handle.h>
 
27
#include <drizzled/plugin/module.h>
28
28
 
29
29
class Session;
30
30
class Item;
39
39
typedef struct st_mysql_lex_string LEX_STRING;
40
40
struct my_option;
41
41
 
 
42
extern char *opt_plugin_add;
42
43
extern char *opt_plugin_load;
43
44
extern char *opt_plugin_dir_ptr;
44
45
extern char opt_plugin_dir[FN_REFLEN];
52
53
*/
53
54
 
54
55
 
55
 
#ifndef PANDORA_DYNAMIC_PLUGIN
56
 
#define __DRIZZLE_DECLARE_PLUGIN(NAME, DECLS) \
57
 
drizzled::plugin::Manifest DECLS[]= {
 
56
#if defined(PANDORA_DYNAMIC_PLUGIN)
 
57
# define drizzle_declare_plugin \
 
58
    drizzled::plugin::Manifest _drizzled_plugin_declaration_[]= {
58
59
#else
59
 
#define __DRIZZLE_DECLARE_PLUGIN(NAME, DECLS) \
60
 
drizzled::plugin::Manifest _drizzled_plugin_declaration_[]= {
 
60
# define PANDORA_BUILTIN_NAME(x) builtin_ ## x ## _plugin
 
61
# define PANDORA_NAME(x) PANDORA_BUILTIN_NAME(x)
 
62
# define drizzle_declare_plugin \
 
63
           drizzled::plugin::Manifest PANDORA_NAME(PANDORA_MODULE_NAME)[]= {
61
64
#endif
62
65
 
63
 
#define drizzle_declare_plugin(NAME) \
64
 
__DRIZZLE_DECLARE_PLUGIN(NAME, \
65
 
                 builtin_ ## NAME ## _plugin)
66
66
 
67
67
#define drizzle_declare_plugin_end ,{0,0,0,0,PLUGIN_LICENSE_GPL,0,0,0,0,0}}
68
68