~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to config/pandora-plugin

Merged latest pandora-build.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
plugin_list=[]
28
28
plugin_am_file=None
29
29
plugin_ac_file=None
 
30
plugin_prefix=''
 
31
plugin_suffix='_plugin'
 
32
extra_cflags=''
 
33
extra_cppflags=''
 
34
extra_cxxflags=''
 
35
root_plugin_dir='plugin'
 
36
pkgplugindir='$(libdir)/drizzle'
 
37
default_install='True'
30
38
 
31
39
class ChangeProtectedFile(object):
32
40
 
131
139
ACLOCAL_AMFLAGS = -I m4 --force
132
140
VERSION=$(PANDORA_RELEASE_VERSION)
133
141
 
134
 
pkgplugindir=$(libdir)/drizzle/plugin
 
142
pkgplugindir=%(pkgplugindir)s
135
143
EXTRA_DIST = plugin.ini
136
144
 
137
145
""" % plugin)
141
149
    if plugin.has_key('testsuitedir') and plugin['testsuitedir'] != "":
142
150
      plugin_file.write("EXTRA_DIST += %(testsuitedir)s\n" % plugin)
143
151
  plugin_file.write("""
144
 
pkgplugin_LTLIBRARIES=lib%(name)s_plugin.la
145
 
lib%(name)s_plugin_la_LDFLAGS=-module -avoid-version -rpath $(pkgplugindir) $(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS)
146
 
lib%(name)s_plugin_la_LIBADD=%(libs)s
147
 
lib%(name)s_plugin_la_DEPENDENCIES=%(libs)s
148
 
lib%(name)s_plugin_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_DYNAMIC_PLUGIN -DPANDORA_MODULE_NAME=%(name)s -DPANDORA_MODULE_AUTHOR="%(author)s" -DPANDORA_MODULE_TITLE="%(title)s" -DPANDORA_MODULE_VERSION="%(version)s" -DPANDORA_MODULE_LICENSE=%(license)s %(cppflags)s
149
 
lib%(name)s_plugin_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s
150
 
lib%(name)s_plugin_la_CFLAGS=$(AM_CFLAGS) %(cflags)s
 
152
pkgplugin_LTLIBRARIES=%(pname)s.la
 
153
%(pname)s_la_LDFLAGS=-avoid-version -rpath $(pkgplugindir) $(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS)
 
154
%(pname)s_la_LIBADD=%(libs)s
 
155
%(pname)s_la_DEPENDENCIES=%(libs)s
 
156
%(pname)s_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_DYNAMIC_PLUGIN -DPANDORA_MODULE_NAME=%(name)s -DPANDORA_MODULE_AUTHOR="%(author)s" -DPANDORA_MODULE_TITLE="%(title)s" -DPANDORA_MODULE_VERSION="%(version)s" -DPANDORA_MODULE_LICENSE=%(license)s %(cppflags)s
 
157
%(pname)s_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s
 
158
%(pname)s_la_CFLAGS=$(AM_CFLAGS) %(cflags)s
151
159
 
152
 
lib%(name)s_plugin_la_SOURCES=%(sources)s
 
160
%(pname)s_la_SOURCES=%(sources)s
153
161
 
154
162
""" % plugin)
155
163
  plugin_am_file=os.path.join(plugin['rel_path'],'plugin.am')
200
208
dnl possible to disable it. Once it is disableable, we will make it non-static.
201
209
with_%(name)s_plugin=yes
202
210
pandora_builtin_list="_drizzled_%(name)s_plugin_,${pandora_builtin_list}"
203
 
pandora_plugin_libs="${pandora_plugin_libs} \${top_builddir}/plugin/lib%(name)s_plugin.la"
 
211
pandora_plugin_libs="${pandora_plugin_libs} \${top_builddir}/%(root_plugin_dir)s/%(pname)s.la"
204
212
PANDORA_PLUGIN_DEP_LIBS="${PANDORA_PLUGIN_DEP_LIBS} %(plugin_dep_libs)s"
205
213
 
206
214
""" % plugin)
216
224
AS_HELP_STRING([--without-%(name_with_dashes)s-plugin],[Disable building %(title)s])
217
225
  ],[
218
226
    with_%(name)s_plugin="$withval"
219
 
    requested_%(name)s_plugin="yes"
 
227
    AS_IF([test "x$with_%(name)s_plugin" = "xyes"],[
 
228
      requested_%(name)s_plugin="yes"
 
229
    ],[
 
230
      requested_%(name)s_plugin="no"
 
231
    ])
220
232
  ],[
221
233
    with_%(name)s_plugin="%(enabled)s"
222
234
    requested_%(name)s_plugin="no"
316
328
      plugin['has_build_conditional']=False
317
329
      plugin['build_conditional']='"x${with_%(name)s_plugin}" = "xyes"' %plugin
318
330
 
 
331
    if plugin['install']:
 
332
      plugin['library_type']= 'pkgplugin';
 
333
    else:
 
334
      plugin['library_type']= 'noinst';
 
335
 
319
336
def find_testsuite(plugin_dir):
320
337
  for testdir in ['drizzle-tests','tests']:
321
338
    if os.path.isdir(os.path.join(plugin_dir,testdir)):
340
357
                          name=os.path.basename(plugin_dir),
341
358
                          load_by_default="False",
342
359
                          disabled="False",
343
 
                          static="False")
 
360
                          static="False",
 
361
                          install=default_install)
344
362
    parser=ConfigParser.ConfigParser(defaults= plugin_defaults)
345
363
    parser.read(plugin_file)
346
364
    plugin=dict(parser.items('plugin'))
365
383
      plugin['enabled']="yes"
366
384
    if plugin.has_key('static'):
367
385
      plugin['static']= parser.getboolean('plugin','static')
 
386
    if plugin.has_key('install'):
 
387
      plugin['install']= parser.getboolean('plugin','install')
368
388
    if plugin.has_key('testsuite'):
369
389
      if plugin['testsuite'] == 'disable':
370
390
        plugin['testsuite']= False
376
396
      else:
377
397
        plugin['testsuite']=False
378
398
 
 
399
    plugin['cflags']+= extra_cflags
 
400
    plugin['cppflags']+= extra_cppflags
 
401
    plugin['cxxflags']+= extra_cxxflags
 
402
 
 
403
    plugin['pname']= "lib%s%s%s" % (plugin_prefix, plugin['name'], plugin_suffix)
 
404
    plugin['root_plugin_dir']= root_plugin_dir
 
405
    plugin['plugin_prefix']= plugin_prefix
 
406
    plugin['plugin_suffix']= plugin_suffix
 
407
    plugin['pkgplugindir']= pkgplugindir
 
408
 
379
409
    return plugin
380
410
 
381
411
 
401
431
      plugin_am.write("EXTRA_DIST += %(rel_path)s/%(testsuitedir)s\n" % plugin)
402
432
  if plugin['static']:
403
433
    plugin_am.write("""
404
 
plugin_lib%(name)s_dir=${top_srcdir}/%(rel_path)s
 
434
%(root_plugin_dir)s_%(plugin_prefix)s%(name)s_dir=${top_srcdir}/%(rel_path)s
405
435
EXTRA_DIST += %(rel_path)s/plugin.ini
406
436
if %(build_conditional_tag)s
407
 
  noinst_LTLIBRARIES+=plugin/lib%(name)s_plugin.la
408
 
  plugin_lib%(name)s_plugin_la_LIBADD=%(libs)s
409
 
  plugin_lib%(name)s_plugin_la_DEPENDENCIES=%(libs)s
410
 
  plugin_lib%(name)s_plugin_la_LDFLAGS=$(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS)  
411
 
  plugin_lib%(name)s_plugin_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_MODULE_NAME=%(name)s -DPANDORA_MODULE_AUTHOR="%(author)s" -DPANDORA_MODULE_TITLE="%(title)s" -DPANDORA_MODULE_VERSION="%(version)s" -DPANDORA_MODULE_LICENSE=%(license)s %(cppflags)s
412
 
  plugin_lib%(name)s_plugin_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s
413
 
  plugin_lib%(name)s_plugin_la_CFLAGS=$(AM_CFLAGS) %(cflags)s
 
437
  noinst_LTLIBRARIES+=%(root_plugin_dir)s/%(pname)s.la
 
438
  %(root_plugin_dir)s_%(pname)s_la_LIBADD=%(libs)s
 
439
  %(root_plugin_dir)s_%(pname)s_la_DEPENDENCIES=%(libs)s
 
440
  %(root_plugin_dir)s_%(pname)s_la_LDFLAGS=$(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS)
 
441
  %(root_plugin_dir)s_%(pname)s_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_MODULE_NAME=%(name)s -DPANDORA_MODULE_AUTHOR="%(author)s" -DPANDORA_MODULE_TITLE="%(title)s" -DPANDORA_MODULE_VERSION="%(version)s" -DPANDORA_MODULE_LICENSE=%(license)s %(cppflags)s
 
442
  %(root_plugin_dir)s_%(pname)s_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s
 
443
  %(root_plugin_dir)s_%(pname)s_la_CFLAGS=$(AM_CFLAGS) %(cflags)s
414
444
 
415
 
  plugin_lib%(name)s_plugin_la_SOURCES=%(sources)s
416
 
  PANDORA_DYNAMIC_LDADDS+=${top_builddir}/plugin/lib%(name)s_plugin.la
 
445
  %(root_plugin_dir)s_%(pname)s_la_SOURCES=%(sources)s
 
446
  PANDORA_DYNAMIC_LDADDS+=${top_builddir}/%(root_plugin_dir)s/%(pname)s.la
417
447
endif
418
448
""" % plugin)
419
449
  else:
420
450
    plugin_am.write("""
421
 
plugin_lib%(name)s_dir=${top_srcdir}/%(rel_path)s
 
451
%(root_plugin_dir)s_%(plugin_prefix)s%(name)s_dir=${top_srcdir}/%(rel_path)s
422
452
EXTRA_DIST += %(rel_path)s/plugin.ini
423
453
if %(build_conditional_tag)s
424
 
  pkgplugin_LTLIBRARIES+=plugin/lib%(name)s_plugin.la
425
 
  plugin_lib%(name)s_plugin_la_LDFLAGS=-module -avoid-version -rpath $(pkgplugindir) $(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS)
426
 
  plugin_lib%(name)s_plugin_la_LIBADD=%(libs)s
427
 
  plugin_lib%(name)s_plugin_la_DEPENDENCIES=%(libs)s
428
 
  plugin_lib%(name)s_plugin_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_DYNAMIC_PLUGIN -DPANDORA_MODULE_NAME=%(name)s -DPANDORA_MODULE_AUTHOR="%(author)s" -DPANDORA_MODULE_TITLE="%(title)s" -DPANDORA_MODULE_VERSION="%(version)s" -DPANDORA_MODULE_LICENSE=%(license)s %(cppflags)s
429
 
  plugin_lib%(name)s_plugin_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s
430
 
  plugin_lib%(name)s_plugin_la_CFLAGS=$(AM_CFLAGS) %(cflags)s
 
454
  %(library_type)s_LTLIBRARIES+=%(root_plugin_dir)s/%(pname)s.la
 
455
  %(root_plugin_dir)s_%(pname)s_la_LDFLAGS=-avoid-version -rpath $(pkgplugindir) $(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS)
 
456
  %(root_plugin_dir)s_%(pname)s_la_LIBADD=%(libs)s
 
457
  %(root_plugin_dir)s_%(pname)s_la_DEPENDENCIES=%(libs)s
 
458
  %(root_plugin_dir)s_%(pname)s_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_DYNAMIC_PLUGIN -DPANDORA_MODULE_NAME=%(name)s -DPANDORA_MODULE_AUTHOR="%(author)s" -DPANDORA_MODULE_TITLE="%(title)s" -DPANDORA_MODULE_VERSION="%(version)s" -DPANDORA_MODULE_LICENSE=%(license)s %(cppflags)s
 
459
  %(root_plugin_dir)s_%(pname)s_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s
 
460
  %(root_plugin_dir)s_%(pname)s_la_CFLAGS=$(AM_CFLAGS) %(cflags)s
431
461
 
432
 
  plugin_lib%(name)s_plugin_la_SOURCES=%(sources)s
 
462
  %(root_plugin_dir)s_%(pname)s_la_SOURCES=%(sources)s
433
463
endif
434
464
""" % plugin)
435
465
  plugin_am_file=os.path.join(plugin['rel_path'],'plugin.am')
456
486
  # plugin_ini_fname is a name in dirname indicating dirname is a plugin.
457
487
  if plugin_ini_fname in fnames:
458
488
    arg.append(dirname)
459
 
os.path.walk(os.path.join(top_srcdir,"plugin"),accumulate_plugins,plugin_list)
 
489
os.path.walk(os.path.join(top_srcdir,root_plugin_dir),accumulate_plugins,plugin_list)
460
490
 
461
491
 
462
492
if not os.path.exists("config/pandora-plugin.am") or "write" in actions: