Merge lp:~mordred/drizzle/various-build-fixes into lp:~drizzle-trunk/drizzle/development

Proposed by Monty Taylor
Status: Superseded
Proposed branch: lp:~mordred/drizzle/various-build-fixes
Merge into: lp:~drizzle-trunk/drizzle/development
Diff against target: 929 lines (+277/-242)
14 files modified
.quickly (+5/-0)
config/autorun.sh (+1/-1)
config/make-lint.py (+3/-0)
config/pandora-plugin (+155/-127)
config/pandora-plugin.ini (+6/-32)
config/uncrustify.cfg (+1/-1)
m4/ac_cxx_header_stdcxx_98.m4 (+22/-6)
m4/acx_pthread.m4 (+68/-73)
m4/pandora_canonical.m4 (+1/-1)
plugin/archive/plugin.am (+2/-0)
plugin/heap/plugin.am (+3/-0)
plugin/innobase/plugin.am (+5/-1)
plugin/myisam/plugin.am (+3/-0)
plugin/pbxt/plugin.am (+2/-0)
To merge this branch: bzr merge lp:~mordred/drizzle/various-build-fixes
Reviewer Review Type Date Requested Status
Stewart Smith (community) Approve
Brian Aker Pending
Review via email: mp+24992@code.launchpad.net

This proposal supersedes a proposal from 2010-05-06.

This proposal has been superseded by a proposal from 2010-05-13.

Description of the change

Fixes several build issues. Also, adds the build requirement on the boost::program_options library.

To post a comment you must log in.
Revision history for this message
Brian Aker (brianaker) wrote : Posted in a previous version of this proposal
review: Needs Fixing
Revision history for this message
Monty Taylor (mordred) wrote : Posted in a previous version of this proposal

On 04/30/2010 02:57 PM, Brian Aker wrote:
> Review: Needs Fixing
> Broken on a number of platforms (including FreeBSD).
> http://hudson.drizzle.org/view/Drizzle-build/job/drizzle-build-freebsd-8.0/235/console
>

Weird. I merged up with trunk and re-ran with no problems (well, other
than the usual rabbitmq failure)

http://hudson.drizzle.org/view/Drizzle-param/job/drizzle-param/149/

Specifically freebsd 8.0 is fine here:

http://hudson.drizzle.org/view/Drizzle-param/job/drizzle-param/149/BUILD_TYPE=release,label=freebsd-8.0-amd64/

Perhaps there was a merge weirdness?

Revision history for this message
Monty Taylor (mordred) wrote : Posted in a previous version of this proposal

Merged up with current trunk and re-ran on param-build. All good. This contains the lcov fix and the dtrace fix. Also, this contains the requirement that hosts have libboost_program_options and provides variables so that that work can be happy.

Revision history for this message
Brian Aker (brianaker) wrote : Posted in a previous version of this proposal

Build problems (as reported on IRC)

review: Needs Fixing
Revision history for this message
Monty Taylor (mordred) wrote : Posted in a previous version of this proposal

Found the error on opensolaris. doh. Re-running through param build (esp. now that eric fixed the solaris param-build builders)

Revision history for this message
Monty Taylor (mordred) wrote : Posted in a previous version of this proposal

Ok. Re-ran on param-build, this time including the solaris builders. All seems happy now. Running through valgrind and sysbench,

Revision history for this message
Brian Aker (brianaker) wrote : Posted in a previous version of this proposal

Please tell me when you get this all worked out.

review: Needs Information
Revision history for this message
Monty Taylor (mordred) wrote : Posted in a previous version of this proposal

On 05/07/2010 11:08 AM, Brian Aker wrote:
> Review: Needs Information
> Please tell me when you get this all worked out.

Whoops. Forgot to follow up - valgrind and sysbench both also reported
fine. Good to go.

1527. By Brian Aker <brian@gaz>

Merge Monty.

Revision history for this message
Stewart Smith (stewart) wrote :

With this branch, we can have innobase or embedded_innodb builds.

review: Approve
1528. By Monty Taylor

Merged in some stuff from pandora-build.

1529. By Monty Taylor

Updated pandora version number.

1530. By Monty Taylor

Enables the disabling of a static plugin at compile time. Incidentally,
fixes all --enable options.

1531. By Monty Taylor

We don't need to wrap this in '.

1532. By Monty Taylor

Wrap the libraries in if BUILD_*_PLUGIN so that they don't build when we're
disabling.

1533. By Monty Taylor

Fixed the --disable-*-plugin not working. It's enablevar - not withvar.

1534. By Monty Taylor

Fix typos.

1535. By Monty Taylor

Fixes stewart's uncleanliness.

1536. By Monty Taylor

Consistent naming would be nice.

1537. By Monty Taylor

typtypoo

1538. By Monty Taylor

Added .quickly file so that we can update things properly.

1539. By Monty Taylor

Added pandora-version.

1540. By Monty Taylor

Updated pandora-build files to version 0.127

Unmerged revisions

1540. By Monty Taylor

Updated pandora-build files to version 0.127

1539. By Monty Taylor

Added pandora-version.

1538. By Monty Taylor

Added .quickly file so that we can update things properly.

1537. By Monty Taylor

typtypoo

1536. By Monty Taylor

Consistent naming would be nice.

1535. By Monty Taylor

Fixes stewart's uncleanliness.

1534. By Monty Taylor

Fix typos.

1533. By Monty Taylor

Fixed the --disable-*-plugin not working. It's enablevar - not withvar.

1532. By Monty Taylor

Wrap the libraries in if BUILD_*_PLUGIN so that they don't build when we're
disabling.

1531. By Monty Taylor

We don't need to wrap this in '.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file '.quickly'
2--- .quickly 1970-01-01 00:00:00 +0000
3+++ .quickly 2010-05-13 12:03:27 +0000
4@@ -0,0 +1,5 @@
5+project = drizzle
6+version = 0.4.2
7+template = pandora-build
8+project-type = application
9+pandora-version = 0.127
10
11=== modified file 'config/autorun.sh'
12--- config/autorun.sh 2009-12-03 18:30:10 +0000
13+++ config/autorun.sh 2010-05-13 12:03:27 +0000
14@@ -35,7 +35,7 @@
15 LIBTOOLIZE_FLAGS=" --automake --copy --force"
16 # --add-missing instructs automake to install missing auxiliary files
17 # and --force to overwrite them if they already exist
18-AUTOMAKE_FLAGS="--add-missing --copy --force"
19+AUTOMAKE_FLAGS="--add-missing --copy --force --foreign"
20 ACLOCAL_FLAGS="-I m4"
21
22 ARGV0=$0
23
24=== modified file 'config/make-lint.py'
25--- config/make-lint.py 2010-04-22 04:24:24 +0000
26+++ config/make-lint.py 2010-05-13 12:03:27 +0000
27@@ -123,6 +123,9 @@
28 if not (path.startswith('plugin/') or path.startswith('drizzled/') or
29 path.startswith('client/')):
30 return False
31+ # Let's not lint emacs autosave files
32+ if (os.path.split(path)[-1].startswith('.#')):
33+ return False
34 for exclude in ['innobase', 'pbxt', 'gnulib', '.pb.', 'bak-header', 'm4',
35 'sql_yacc', 'gperf', 'drizzled/probes.h',
36 'drizzled/function_hash.h', 'drizzled/symbol_hash.h',
37
38=== modified file 'config/pandora-plugin'
39--- config/pandora-plugin 2010-04-16 05:36:53 +0000
40+++ config/pandora-plugin 2010-05-13 12:03:27 +0000
41@@ -15,14 +15,16 @@
42 # along with this program; if not, write to the Free Software
43 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
44
45+pandora_plugin_file = 'config/pandora-plugin.ini'
46
47-# Find plugins in the tree and add them to the build system
48+# Find plugins in the tree and add them to the build system
49
50 import ConfigParser, os, sys
51 import datetime, time
52 import subprocess
53
54-from pandora_plugin_config import *
55+plugin_am_file=None
56+plugin_ac_file=None
57
58 class ChangeProtectedFile(object):
59
60@@ -40,7 +42,7 @@
61 self.new_file.write(text)
62
63 # We've written all of this out into .new files, now we only copy them
64- # over the old ones if they are different, so that we don't cause
65+ # over the old ones if they are different, so that we don't cause
66 # unnecessary recompiles
67 def close(self):
68 """Return True if the file had changed."""
69@@ -111,6 +113,8 @@
70 echo " * Debug enabled: $with_debug"
71 echo " * Warnings as failure: $ac_cv_warnings_as_errors"
72 echo " * C++ cstdint location: $ac_cv_cxx_cstdint"
73+echo " * C++ hash_map location: $ac_cv_cxx_hash_map"
74+echo " * C++ hash namespace: $ac_cv_cxx_hash_namespace"
75 echo " * C++ shared_ptr namespace: $ac_cv_shared_ptr_namespace"
76 echo ""
77 echo "---"
78@@ -139,12 +143,11 @@
79 %(libname)s_la_LDFLAGS=-avoid-version -rpath $(pkgplugindir) $(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS)
80 %(libname)s_la_LIBADD=%(libs)s
81 %(libname)s_la_DEPENDENCIES=%(libs)s
82-%(libname)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
83+%(libname)s_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_DYNAMIC_PLUGIN -DPANDORA_MODULE_NAME=%(module_name)s -DPANDORA_MODULE_AUTHOR='"%(author)s"' -DPANDORA_MODULE_TITLE='"%(title)s"' -DPANDORA_MODULE_VERSION='"%(version)s"' -DPANDORA_MODULE_LICENSE=%(license)s %(cppflags)s
84 %(libname)s_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s
85 %(libname)s_la_CFLAGS=$(AM_CFLAGS) %(cflags)s
86-
87 %(libname)s_la_SOURCES=%(sources)s
88-
89+check_PROGRAMS += %(tests)s
90 """ % plugin)
91 plugin_am_file=os.path.join(plugin['rel_path'],'plugin.am')
92 if os.path.exists(plugin_am_file):
93@@ -169,23 +172,22 @@
94 if plugin['writing_status'] == 'done':
95 return
96 else:
97- print "Dependency loop detected with " % plugin['name']
98+ print "Dependency loop detected with %s" % plugin['name']
99 exit(1)
100
101 plugin['writing_status'] = 'dependencies'
102
103 # Write all dependencies first to get around annoying automake bug
104- if plugin['dependency_list'] is not None:
105- for dependency in plugin['dependency_list']:
106- found = False
107- for find_plugin in plugin_ini_list:
108- if find_plugin['name'] == dependency:
109- found = True
110- write_plugin(find_plugin, plugin_ini_list)
111- break
112- if found is False:
113- print "Could not find dependency %s" % dependency
114- exit(1)
115+ for dependency in plugin['dependency_list']:
116+ found = False
117+ for find_plugin in plugin_ini_list:
118+ if find_plugin['module_name'] == dependency:
119+ found = True
120+ write_plugin(find_plugin, plugin_ini_list)
121+ break
122+ if found is False:
123+ print "Could not find dependency %s: %s" % (plugin['name'], dependency)
124+ exit(1)
125
126 write_plugin_ac(plugin, plugin_ac_file)
127 write_plugin_am(plugin, plugin_am_file)
128@@ -209,22 +211,7 @@
129 plugin_ac.write('m4_sinclude([%s])\n' % m4_file)
130 plugin['plugin_dep_libs']=" ".join(["\${top_builddir}/%s" % f for f in plugin['libs'].split()])
131
132- if plugin['static']:
133- plugin_ac.write("""
134-dnl This plugin is staticly built, which means we cannot live without and it is not
135-dnl possible to disable it. Once it is disableable, we will make it non-static.
136-with_%(name)s_plugin=yes
137-pandora_builtin_list="_drizzled_%(name)s_plugin_,${pandora_builtin_list}"
138-pandora_plugin_libs="${pandora_plugin_libs} \${top_builddir}/%(root_plugin_dir)s/%(libname)s.la"
139-PANDORA_PLUGIN_DEP_LIBS="${PANDORA_PLUGIN_DEP_LIBS} %(plugin_dep_libs)s"
140-
141-""" % plugin)
142- if plugin['testsuite']:
143- plugin_ac.write("""
144-pandora_plugin_test_list="%(name)s,${pandora_plugin_test_list}"
145-""" % plugin)
146- else:
147- plugin_ac.write("""
148+ plugin_ac.write("""
149 AC_ARG_WITH([%(name_with_dashes)s-plugin],[
150 dnl indented wierd to make the help output correct
151 AS_HELP_STRING([--with-%(name_with_dashes)s-plugin],[Build %(title)s. @<:@default=%(enabled)s@:>@])
152@@ -245,14 +232,14 @@
153 AS_HELP_STRING([--enable-%(name_with_dashes)s-plugin],[Build %(title)s. @<:@default=%(default_yesno)s@:>@])
154 AS_HELP_STRING([--disable-%(name_with_dashes)s-plugin],[Disable building %(title)s])
155 ],
156- [enable_%(name)s_plugin="$withval"],
157+ [enable_%(name)s_plugin="$enableval"],
158 [enable_%(name)s_plugin=%(default_yesno)s])
159
160 """ % plugin)
161 if os.path.exists(plugin_ac_file):
162- plugin_ac.write('m4_sinclude([%s])\n' % plugin_ac_file)
163+ plugin_ac.write('m4_sinclude([%s])\n' % plugin_ac_file)
164 # The plugin author has specified some check to make to determine
165- # if the plugin can be built. If the plugin is turned on and this
166+ # if the plugin can be built. If the plugin is turned on and this
167 # check fails, then configure should error out. If the plugin is not
168 # turned on, then the normal conditional build stuff should just let
169 # it silently not build
170@@ -272,23 +259,46 @@
171 AM_CONDITIONAL([%(build_conditional_tag)s],
172 [test %(build_conditional)s])
173 """ % plugin)
174- if not plugin['static']:
175- plugin_ac.write("""
176+
177+ plugin_ac.write("""
178 AS_IF([test "x$with_%(name)s_plugin" = "xyes"],
179- [
180+ [
181 """ % plugin)
182- if plugin['testsuite']:
183- plugin_ac.write("""
184- pandora_plugin_test_list="%(name)s,${pandora_plugin_test_list}"
185- """ % plugin)
186+ if plugin['testsuite']:
187+ plugin_ac.write("""
188+ pandora_plugin_test_list="%(name)s,${pandora_plugin_test_list}"
189+ """ % plugin)
190+ if plugin['static']:
191+ plugin_ac.write("""
192+ AS_IF([test "x$enable_%(name)s_plugin" = "xyes"],[
193+ pandora_builtin_list="_drizzled_%(module_name)s_plugin_,${pandora_builtin_list}"
194+ pandora_plugin_libs="${pandora_plugin_libs} \${top_builddir}/%(root_plugin_dir)s/%(libname)s.la"
195+ PANDORA_PLUGIN_DEP_LIBS="${PANDORA_PLUGIN_DEP_LIBS} %(plugin_dep_libs)s"
196+ ])
197+ """ % plugin)
198
199+ else:
200 plugin_ac.write("""
201 AS_IF([test "x$enable_%(name)s_plugin" = "xyes"],[
202 pandora_default_plugin_list="%(name)s,${pandora_default_plugin_list}"
203 ])
204 """ % plugin)
205- plugin_ac.write(" ])\n")
206+ plugin_ac.write(" ])\n")
207
208+def fix_file_paths(plugin, files):
209+ # TODO: determine path to plugin dir relative to top_srcdir... append it to
210+ # source files if they don't already have it
211+ new_files=""
212+ if plugin['plugin_dir'] != ".":
213+ for file in files.split():
214+ if not file.startswith(plugin['rel_path']):
215+ file= os.path.join(plugin['rel_path'], file)
216+ new_files= "%s %s" % (new_files, file)
217+ else:
218+ new_files= " ".join(plugin['sources'].split())
219+ if new_files != "":
220+ return new_files
221+ return files
222
223 def expand_plugin_ini(plugin):
224 if plugin['name'] == "**OUT-OF-TREE**":
225@@ -299,53 +309,22 @@
226 plugin['rel_path']= plugin['plugin_dir']
227 plugin['unconditional']=True
228 else:
229- plugin['rel_path']= plugin['plugin_dir'][len(top_srcdir)+len(os.path.sep):]
230+ plugin['rel_path']= plugin['plugin_dir'][len(config['top_srcdir'])+len(os.path.sep):]
231 plugin['unconditional']=False
232- # TODO: determine path to plugin dir relative to top_srcdir... append it to
233- # source files if they don't already have it
234- if plugin['sources'] == "":
235- plugin['sources']="%s.cc" % plugin['name']
236- new_sources=""
237- if plugin['plugin_dir'] != ".":
238- for src in plugin['sources'].split():
239- if not src.startswith(plugin['rel_path']):
240- src= os.path.join(plugin['rel_path'], src)
241- new_sources= "%s %s" % (new_sources, src)
242- else:
243- new_sources= " ".join(plugin['sources'].split())
244- if new_sources != "":
245- plugin['sources']= new_sources
246+
247+ plugin['sources']= fix_file_paths(plugin, plugin['sources'])
248 plugin['main_source']= plugin['sources'].split()[0]
249-
250- new_headers=""
251- if plugin['plugin_dir'] != ".":
252- for header in plugin['headers'].split():
253- if not header.startswith(plugin['rel_path']):
254- header= os.path.join(plugin['rel_path'], header)
255- new_headers= "%s %s" % (new_headers, header)
256- else:
257- new_headers= " ".join(plugin['headers'].split())
258- if new_headers != "":
259- plugin['headers']= new_headers
260-
261- new_install_headers=""
262- if plugin['plugin_dir'] != ".":
263- for header in plugin['install_headers'].split():
264- if not header.startswith(plugin['rel_path']):
265- header= os.path.join(plugin['rel_path'], header)
266- new_install_headers= "%s %s" % (new_install_headers, header)
267- else:
268- new_install_headers= " ".join(plugin['install_headers'].split())
269- if new_install_headers != "":
270- plugin['install_headers']= new_install_headers
271-
272+ plugin['headers']= fix_file_paths(plugin, plugin['headers'])
273+ plugin['install_headers']= fix_file_paths(plugin, plugin['install_headers'])
274+ plugin['tests']= fix_file_paths(plugin, plugin['tests'])
275+
276 # Make a yes/no version for autoconf help messages
277- if plugin['load_by_default']:
278+ if plugin['load_by_default'] or plugin['static']:
279 plugin['default_yesno']="yes"
280 else:
281 plugin['default_yesno']="no"
282
283-
284+
285 plugin['build_conditional_tag']= "BUILD_%s_PLUGIN" % plugin['name'].upper()
286 plugin['name_with_dashes']= plugin['name'].replace('_','-')
287 if plugin.has_key('build_conditional'):
288@@ -356,9 +335,9 @@
289 plugin['build_conditional']='"x${with_%(name)s_plugin}" = "xyes"' %plugin
290
291 if plugin['install']:
292- plugin['library_type']= 'pkgplugin';
293+ plugin['library_type']= 'pkgplugin'
294 else:
295- plugin['library_type']= 'noinst';
296+ plugin['library_type']= 'noinst'
297
298 def find_testsuite(plugin_dir):
299 for testdir in ['drizzle-tests','tests']:
300@@ -372,10 +351,14 @@
301 if plugin_dir == ".":
302 plugin_name="**OUT-OF-TREE**"
303 else:
304- plugin_name=os.path.basename(plugin_dir)
305-
306- plugin_file= os.path.join(plugin_dir,plugin_ini_fname)
307- plugin_defaults= dict(sources="",
308+ short_name=os.path.basename(plugin_dir)
309+ plugin_name = plugin_dir[plugin_dir.index(config['root_plugin_dir']) + len(config['root_plugin_dir']) + 1:]
310+ module_name = plugin_name.replace("/", config['module_name_separator']).replace("\\", config['module_name_separator'])
311+ plugin_name = plugin_name.replace("/", config['plugin_name_separator']).replace("\\", config['plugin_name_separator'])
312+
313+
314+ plugin_file= os.path.join(plugin_dir,config['plugin_ini_fname'])
315+ plugin_defaults= dict(sources="%s.cc" % short_name,
316 headers="",
317 install_headers="",
318 cflags="",
319@@ -388,12 +371,14 @@
320 description="",
321 license="PLUGIN_LICENSE_GPL",
322 name=plugin_name,
323- load_by_default="False",
324+ module_name=module_name,
325+ load_by_default=config['default_load_by_default'],
326 disabled="False",
327 static="False",
328 dependencies="",
329 dependency_aliases="",
330- install=default_install)
331+ tests="",
332+ install=config['default_install'])
333 parser=ConfigParser.ConfigParser(defaults= plugin_defaults)
334 parser.read(plugin_file)
335 plugin=dict(parser.items('plugin'))
336@@ -407,8 +392,8 @@
337 print "External Plugins are required to specifiy a version"
338 sys.exit(1)
339 if not plugin.has_key('version'):
340- plugin['version'] = default_plugin_version
341-
342+ plugin['version'] = config['default_plugin_version']
343+
344 if plugin.has_key('load_by_default'):
345 plugin['load_by_default']=parser.getboolean('plugin','load_by_default')
346 if plugin.has_key('disabled'):
347@@ -432,30 +417,32 @@
348 else:
349 plugin['testsuite']=False
350
351- plugin['cflags']+= extra_cflags
352- plugin['cppflags']+= extra_cppflags
353- plugin['cxxflags']+= extra_cxxflags
354+ plugin['cflags']+= ' ' + config['extra_cflags']
355+ plugin['cppflags']+= ' ' + config['extra_cppflags']
356+ plugin['cxxflags']+= ' ' + config['extra_cxxflags']
357
358- plugin['libname']= "lib%s%s%s" % (plugin_prefix, plugin['name'], plugin_suffix)
359- if force_lowercase_libname:
360+ plugin['libname']= "lib%s%s%s" % (config['plugin_prefix'],
361+ plugin['name'],
362+ config['plugin_suffix'])
363+ if config['force_lowercase_libname']:
364 plugin['libname']= plugin['libname'].lower()
365
366- plugin['root_plugin_dir']= root_plugin_dir
367- plugin['plugin_prefix']= plugin_prefix
368- plugin['plugin_suffix']= plugin_suffix
369- plugin['pkgplugindir']= pkgplugindir
370+ plugin['root_plugin_dir']= config['root_plugin_dir']
371+ plugin['plugin_prefix']= config['plugin_prefix']
372+ plugin['plugin_suffix']= config['plugin_suffix']
373+ plugin['pkgplugindir']= config['pkgplugindir']
374
375 # Dependencies must have a module but dependency aliases are simply added
376 # to the variable passed during compile.
377- plugin['dependencies'] = plugin['dependencies'].replace(' ', '')
378- plugin['dependency_aliases'] = plugin['dependency_aliases'].replace(' ', '')
379- if plugin['dependencies'] == '':
380- plugin['dependency_list'] = None
381- plugin['dependencies'] = plugin['dependency_aliases']
382- else:
383- plugin['dependency_list'] = plugin['dependencies'].split(',')
384- if plugin['dependency_aliases'] != '':
385- plugin['dependencies'] = ','.join([plugin['dependencies'], plugin['dependency_aliases']])
386+ plugin['dependency_list'] = plugin['dependencies'].split()
387+ dependency_aliases = plugin['dependency_aliases'].split()
388+ plugin['dependencies'] = ','.join(plugin['dependency_list'] +
389+ plugin['dependency_aliases'].split())
390+ dependency_libs = ["%s/lib%s%s.la" % (config['root_plugin_dir'],
391+ dependency.lower().replace('::', '_'),
392+ config['plugin_suffix'])
393+ for dependency in plugin['dependency_list']]
394+ plugin['libs'] = " ".join(plugin['libs'].split() + dependency_libs);
395
396 # Libtool is going to expand:
397 # -DPANDORA_MODULE_AUTHOR='"Padraig O'"'"'Sullivan"'
398@@ -470,7 +457,7 @@
399
400 def write_plugin_am(plugin, plugin_am):
401 """Write an automake fragment for this plugin.
402-
403+
404 :param plugin: The plugin dict.
405 :param plugin_am: The file to write to.
406 """
407@@ -499,11 +486,11 @@
408 %(root_plugin_dir)s_%(libname)s_la_LIBADD=%(libs)s
409 %(root_plugin_dir)s_%(libname)s_la_DEPENDENCIES=%(libs)s
410 %(root_plugin_dir)s_%(libname)s_la_LDFLAGS=$(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS)
411- %(root_plugin_dir)s_%(libname)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 -DPANDORA_MODULE_DEPENDENCIES='"%(dependencies)s"' %(cppflags)s
412+ %(root_plugin_dir)s_%(libname)s_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_MODULE_NAME=%(module_name)s -DPANDORA_MODULE_AUTHOR='"%(author)s"' -DPANDORA_MODULE_TITLE='"%(title)s"' -DPANDORA_MODULE_VERSION='"%(version)s"' -DPANDORA_MODULE_LICENSE=%(license)s -DPANDORA_MODULE_DEPENDENCIES='"%(dependencies)s"' %(cppflags)s
413 %(root_plugin_dir)s_%(libname)s_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s
414 %(root_plugin_dir)s_%(libname)s_la_CFLAGS=$(AM_CFLAGS) %(cflags)s
415-
416 %(root_plugin_dir)s_%(libname)s_la_SOURCES=%(sources)s
417+ check_PROGRAMS += %(tests)s
418 PANDORA_DYNAMIC_LDADDS+=${top_builddir}/%(root_plugin_dir)s/%(libname)s.la
419 endif
420 """ % plugin)
421@@ -516,27 +503,55 @@
422 %(root_plugin_dir)s_%(libname)s_la_LDFLAGS=-avoid-version -rpath $(pkgplugindir) $(AM_LDFLAGS) %(ldflags)s $(GCOV_LIBS)
423 %(root_plugin_dir)s_%(libname)s_la_LIBADD=%(libs)s
424 %(root_plugin_dir)s_%(libname)s_la_DEPENDENCIES=%(libs)s
425- %(root_plugin_dir)s_%(libname)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 -DPANDORA_MODULE_DEPENDENCIES='"%(dependencies)s"' %(cppflags)s
426+ %(root_plugin_dir)s_%(libname)s_la_CPPFLAGS=$(AM_CPPFLAGS) -DPANDORA_DYNAMIC_PLUGIN -DPANDORA_MODULE_NAME=%(module_name)s -DPANDORA_MODULE_AUTHOR='"%(author)s"' -DPANDORA_MODULE_TITLE='"%(title)s"' -DPANDORA_MODULE_VERSION='"%(version)s"' -DPANDORA_MODULE_LICENSE=%(license)s -DPANDORA_MODULE_DEPENDENCIES='"%(dependencies)s"' %(cppflags)s
427 %(root_plugin_dir)s_%(libname)s_la_CXXFLAGS=$(AM_CXXFLAGS) %(cxxflags)s
428 %(root_plugin_dir)s_%(libname)s_la_CFLAGS=$(AM_CFLAGS) %(cflags)s
429-
430 %(root_plugin_dir)s_%(libname)s_la_SOURCES=%(sources)s
431+ check_PROGRAMS += %(tests)s
432 endif
433 """ % plugin)
434 plugin_am_file=os.path.join(plugin['rel_path'],'plugin.am')
435 if os.path.exists(plugin_am_file):
436 plugin_am.write('include %s\n' % plugin_am_file)
437
438-#MAIN STARTS HERE:
439+#
440+# MAIN STARTS HERE:
441+#
442+
443+# Parse the pandora-plugin config file
444+
445+config_defaults= dict(
446+ top_srcdir='.',
447+ top_builddir='.',
448+ plugin_ini_fname='plugin.ini',
449+ plugin_prefix='',
450+ plugin_suffix='',
451+ extra_cflags='',
452+ extra_cppflags='',
453+ extra_cxxflags='',
454+ root_plugin_dir='',
455+ pkgplugindir='',
456+ default_install='True',
457+ default_plugin_version='',
458+ default_load_by_default='False',
459+ force_lowercase_libname='True',
460+ plugin_name_separator='_',
461+ module_name_separator='::'
462+)
463+
464+config_parser = ConfigParser.ConfigParser(defaults=config_defaults)
465+config_parser.read(pandora_plugin_file)
466+config = dict(config_parser.items('pandora-plugin'))
467+config['force_lowercase_libname']=config_parser.getboolean('pandora-plugin','force_lowercase_libname')
468
469 # I'm 3 seconds away from writing a comprehensive build solution
470 if not os.path.exists('config/pandora_vc_revinfo'):
471 if os.path.exists('.bzr'):
472 bzr_revno= subprocess.Popen(["bzr", "revno"], stdout=subprocess.PIPE).communicate()[0].strip()
473 rev_date= datetime.date.fromtimestamp(time.time())
474- default_plugin_version = "%d.%02d.%s" % (rev_date.year, rev_date.month, bzr_revno)
475+ config['default_plugin_version'] = "%d.%02d.%s" % (rev_date.year, rev_date.month, bzr_revno)
476 else:
477- default_plugin_version=datetime.date.fromtimestamp(time.time()).isoformat()
478+ config['default_plugin_version']=datetime.date.fromtimestamp(time.time()).isoformat()
479 else:
480 # need to read config/pandora_vc_revno
481 pandora_vc_revno=open('config/pandora_vc_revinfo','r').read().split()
482@@ -549,14 +564,14 @@
483 elif revno_key == 'PANDORA_RELEASE_DATE':
484 rev_date=revno_val.strip()
485
486- default_plugin_version = "%s.%s" % (rev_date, bzr_revno)
487+ config['default_plugin_version'] = "%s.%s" % (rev_date, bzr_revno)
488
489 actions=[]
490 for arg in sys.argv:
491 if arg.startswith('--top_srcdir='):
492- top_srcdir=arg[12:]
493+ config['top_srcdir']=arg[12:]
494 elif arg.startswith('--top_builddir='):
495- top_builddir=arg[14:]
496+ config['top_builddir']=arg[14:]
497 elif arg == "--force-all":
498 actions=['plugin-list','pandora-plugin.am','write']
499 break
500@@ -565,11 +580,17 @@
501 if len(actions) == 0:
502 actions.append('write')
503
504+plugin_list=[]
505+
506 def accumulate_plugins(arg, dirname, fnames):
507 # plugin_ini_fname is a name in dirname indicating dirname is a plugin.
508- if plugin_ini_fname in fnames:
509+ if config['plugin_ini_fname'] in fnames:
510 arg.append(dirname)
511-os.path.walk(os.path.join(top_srcdir,root_plugin_dir),accumulate_plugins,plugin_list)
512+
513+os.path.walk(os.path.join(config['top_srcdir'],
514+ config['root_plugin_dir']),
515+ accumulate_plugins,
516+ plugin_list)
517
518
519 if not os.path.exists("config/pandora-plugin.am") or "write" in actions:
520@@ -589,7 +610,7 @@
521 config/pandora-plugin.am \
522 config/pandora-plugin.ac \
523 config/pandora-plugin \
524- config/pandora_plugin_config.py
525+ config/pandora-plugin.ini
526
527
528 # Seed the list of plugin LDADDS which plugins may extend.
529@@ -629,6 +650,13 @@
530 expand_plugin_ini(plugin)
531 plugin_ini_list.append(plugin)
532
533+ # Check for duplicates
534+ plugin_name_list = [plugin['libname'] for plugin in plugin_ini_list]
535+ for plugin in plugin_ini_list:
536+ if plugin_name_list.count(plugin['libname']) != 1:
537+ print "Duplicate module name %s" % plugin['libname']
538+ exit(1)
539+
540 for plugin in plugin_ini_list:
541 write_plugin(plugin, plugin_ini_list)
542
543
544=== renamed file 'config/pandora_plugin_config.py' => 'config/pandora-plugin.ini'
545--- config/pandora_plugin_config.py 2010-04-16 00:08:16 +0000
546+++ config/pandora-plugin.ini 2010-05-13 12:03:27 +0000
547@@ -1,33 +1,7 @@
548-#!/usr/bin/python
549-
550-# Copyright (C) 2009 Sun Microsystems
551-#
552-# This program is free software; you can redistribute it and/or modify
553-# it under the terms of the GNU General Public License as published by
554-# the Free Software Foundation; version 2 of the License.
555-#
556-# This program is distributed in the hope that it will be useful,
557-# but WITHOUT ANY WARRANTY; without even the implied warranty of
558-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
559-# GNU General Public License for more details.
560-#
561-# You should have received a copy of the GNU General Public License
562-# along with this program; if not, write to the Free Software
563-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
564-
565-top_srcdir='.'
566-top_builddir='.'
567-plugin_ini_fname='plugin.ini'
568-plugin_list=[]
569-plugin_am_file=None
570-plugin_ac_file=None
571-plugin_prefix=''
572-plugin_suffix='_plugin'
573-extra_cflags=''
574-extra_cppflags=''
575-extra_cxxflags=' -DBUILDING_DRIZZLE'
576-root_plugin_dir='plugin'
577-pkgplugindir='$(libdir)/drizzle'
578-default_install='True'
579-default_plugin_version=''
580+[pandora-plugin]
581+root_plugin_dir=plugin
582+pkgplugindir=$(libdir)/drizzle
583+plugin_suffix=_plugin
584+extra_cxxflags=-DBUILDING_DRIZZLE
585 force_lowercase_libname=True
586+plugin_ini_fname=plugin.ini
587
588=== modified file 'config/uncrustify.cfg'
589--- config/uncrustify.cfg 2009-08-28 03:36:57 +0000
590+++ config/uncrustify.cfg 2010-05-13 12:03:27 +0000
591@@ -1,5 +1,5 @@
592 #
593-# Uncrustify optoins (with comments) for Drizzle
594+# Uncrustify options (with comments) for Pandora Projects
595 #
596
597 nl_after_brace_close = TRUE
598
599=== modified file 'm4/ac_cxx_header_stdcxx_98.m4'
600--- m4/ac_cxx_header_stdcxx_98.m4 2009-01-09 19:40:29 +0000
601+++ m4/ac_cxx_header_stdcxx_98.m4 2010-05-13 12:03:27 +0000
602@@ -1,12 +1,28 @@
603-dnl Copyright © 2008 Benjamin Kosnik <bkoz@redhat.com>
604-
605-dnl Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.
606-
607+# ===========================================================================
608+# http://autoconf-archive.cryp.to/ac_cxx_header_stdcxx_98.html
609+# ===========================================================================
610+#
611+# SYNOPSIS
612+#
613+# AC_CXX_HEADER_STDCXX_98
614+#
615+# DESCRIPTION
616+#
617+# Check for complete library coverage of the C++1998/2003 standard.
618+#
619+# LICENSE
620+#
621+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
622+#
623+# Copying and distribution of this file, with or without modification, are
624+# permitted in any medium without royalty provided the copyright notice
625+# and this notice are preserved.
626
627 AC_DEFUN([AC_CXX_HEADER_STDCXX_98], [
628 AC_CACHE_CHECK(for ISO C++ 98 include files,
629 ac_cv_cxx_stdcxx_98,
630- [AC_LANG_PUSH(C++)
631+ [AC_LANG_SAVE
632+ AC_LANG_CPLUSPLUS
633 AC_TRY_COMPILE([
634 #include <cassert>
635 #include <cctype>
636@@ -59,7 +75,7 @@
637 #include <vector>
638 ],,
639 ac_cv_cxx_stdcxx_98=yes, ac_cv_cxx_stdcxx_98=no)
640- AC_LANG_POP()
641+ AC_LANG_RESTORE
642 ])
643 if test "$ac_cv_cxx_stdcxx_98" = yes; then
644 AC_DEFINE(STDCXX_98_HEADERS,,[Define if ISO C++ 1998 header files are present. ])
645
646=== modified file 'm4/acx_pthread.m4'
647--- m4/acx_pthread.m4 2009-07-26 18:58:41 +0000
648+++ m4/acx_pthread.m4 2010-05-13 12:03:27 +0000
649@@ -1,4 +1,6 @@
650-##### http://autoconf-archive.cryp.to/acx_pthread.html
651+# ===========================================================================
652+# http://autoconf-archive.cryp.to/acx_pthread.html
653+# ===========================================================================
654 #
655 # SYNOPSIS
656 #
657@@ -6,87 +8,77 @@
658 #
659 # DESCRIPTION
660 #
661-# This macro figures out how to build C programs using POSIX threads.
662-# It sets the PTHREAD_LIBS output variable to the threads library and
663-# linker flags, and the PTHREAD_CFLAGS output variable to any special
664-# C compiler flags that are needed. (The user can also force certain
665-# compiler flags/libs to be tested by setting these environment
666-# variables.)
667+# This macro figures out how to build C programs using POSIX threads. It
668+# sets the PTHREAD_LIBS output variable to the threads library and linker
669+# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
670+# flags that are needed. (The user can also force certain compiler
671+# flags/libs to be tested by setting these environment variables.)
672 #
673 # Also sets PTHREAD_CC to any special C compiler that is needed for
674-# multi-threaded programs (defaults to the value of CC otherwise).
675-# (This is necessary on AIX to use the special cc_r compiler alias.)
676-#
677-# NOTE: You are assumed to not only compile your program with these
678-# flags, but also link it with them as well. e.g. you should link
679-# with $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS
680-# $LIBS
681-#
682-# If you are only building threads programs, you may wish to use
683-# these variables in your default LIBS, CFLAGS, and CC:
684+# multi-threaded programs (defaults to the value of CC otherwise). (This
685+# is necessary on AIX to use the special cc_r compiler alias.)
686+#
687+# NOTE: You are assumed to not only compile your program with these flags,
688+# but also link it with them as well. e.g. you should link with
689+# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
690+#
691+# If you are only building threads programs, you may wish to use these
692+# variables in your default LIBS, CFLAGS, and CC:
693 #
694 # LIBS="$PTHREAD_LIBS $LIBS"
695 # CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
696 # CC="$PTHREAD_CC"
697 #
698-# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute
699-# constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to
700-# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
701-#
702-# ACTION-IF-FOUND is a list of shell commands to run if a threads
703-# library is found, and ACTION-IF-NOT-FOUND is a list of commands to
704-# run it if it is not found. If ACTION-IF-FOUND is not specified, the
705-# default action will define HAVE_PTHREAD.
706-#
707-# Please let the authors know if this macro fails on any platform, or
708-# if you have any other suggestions or comments. This macro was based
709-# on work by SGJ on autoconf scripts for FFTW (http://www.fftw.org/)
710-# (with help from M. Frigo), as well as ac_pthread and hb_pthread
711-# macros posted by Alejandro Forero Cuervo to the autoconf macro
712-# repository. We are also grateful for the helpful feedback of
713-# numerous users.
714-#
715-# LAST MODIFICATION
716-#
717-# 2006-05-29
718-#
719-# COPYLEFT
720-#
721-# Copyright (c) 2006 Steven G. Johnson <stevenj@alum.mit.edu>
722-#
723-# This program is free software; you can redistribute it and/or
724-# modify it under the terms of the GNU General Public License as
725-# published by the Free Software Foundation; either version 2 of the
726-# License, or (at your option) any later version.
727+# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
728+# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
729+# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
730+#
731+# ACTION-IF-FOUND is a list of shell commands to run if a threads library
732+# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
733+# is not found. If ACTION-IF-FOUND is not specified, the default action
734+# will define HAVE_PTHREAD.
735+#
736+# Please let the authors know if this macro fails on any platform, or if
737+# you have any other suggestions or comments. This macro was based on work
738+# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
739+# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
740+# Alejandro Forero Cuervo to the autoconf macro repository. We are also
741+# grateful for the helpful feedback of numerous users.
742+#
743+# LICENSE
744+#
745+# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
746+#
747+# This program is free software: you can redistribute it and/or modify it
748+# under the terms of the GNU General Public License as published by the
749+# Free Software Foundation, either version 3 of the License, or (at your
750+# option) any later version.
751 #
752 # This program is distributed in the hope that it will be useful, but
753 # WITHOUT ANY WARRANTY; without even the implied warranty of
754-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
755-# General Public License for more details.
756-#
757-# You should have received a copy of the GNU General Public License
758-# along with this program; if not, write to the Free Software
759-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
760-# 02111-1307, USA.
761-#
762-# As a special exception, the respective Autoconf Macro's copyright
763-# owner gives unlimited permission to copy, distribute and modify the
764-# configure scripts that are the output of Autoconf when processing
765-# the Macro. You need not follow the terms of the GNU General Public
766-# License when using or distributing such scripts, even though
767-# portions of the text of the Macro appear in them. The GNU General
768-# Public License (GPL) does govern all other use of the material that
769-# constitutes the Autoconf Macro.
770-#
771-# This special exception to the GPL applies to versions of the
772-# Autoconf Macro released by the Autoconf Macro Archive. When you
773-# make and distribute a modified version of the Autoconf Macro, you
774-# may extend this special exception to the GPL to apply to your
775-# modified version as well.
776+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
777+# Public License for more details.
778+#
779+# You should have received a copy of the GNU General Public License along
780+# with this program. If not, see <http://www.gnu.org/licenses/>.
781+#
782+# As a special exception, the respective Autoconf Macro's copyright owner
783+# gives unlimited permission to copy, distribute and modify the configure
784+# scripts that are the output of Autoconf when processing the Macro. You
785+# need not follow the terms of the GNU General Public License when using
786+# or distributing such scripts, even though portions of the text of the
787+# Macro appear in them. The GNU General Public License (GPL) does govern
788+# all other use of the material that constitutes the Autoconf Macro.
789+#
790+# This special exception to the GPL applies to versions of the Autoconf
791+# Macro released by the Autoconf Archive. When you make and distribute a
792+# modified version of the Autoconf Macro, you may extend this special
793+# exception to the GPL to apply to your modified version as well.
794
795 AC_DEFUN([ACX_PTHREAD], [
796 AC_REQUIRE([AC_CANONICAL_HOST])
797-AC_LANG_PUSH([C])
798+AC_LANG_SAVE
799+AC_LANG_C
800 acx_pthread_ok=no
801
802 # We used to check for pthread.h first, but this fails if pthread.h
803@@ -199,9 +191,11 @@
804 # pthread_cleanup_push because it is one of the few pthread
805 # functions on Solaris that doesn't have a non-functional libc stub.
806 # We try pthread_create on general principles.
807- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], [[pthread_t th; pthread_join(th, 0);
808+ AC_TRY_LINK([#include <pthread.h>],
809+ [pthread_t th; pthread_join(th, 0);
810 pthread_attr_init(0); pthread_cleanup_push(0, 0);
811- pthread_create(0,0,0,0); pthread_cleanup_pop(0); ]])],[acx_pthread_ok=yes],[])
812+ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
813+ [acx_pthread_ok=yes])
814
815 LIBS="$save_LIBS"
816 CFLAGS="$save_CFLAGS"
817@@ -227,7 +221,8 @@
818 AC_MSG_CHECKING([for joinable pthread attribute])
819 attr_name=unknown
820 for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
821- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], [[int attr=$attr; return attr;]])],[attr_name=$attr; break],[])
822+ AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;],
823+ [attr_name=$attr; break])
824 done
825 AC_MSG_RESULT($attr_name)
826 if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
827@@ -272,5 +267,5 @@
828 acx_pthread_ok=no
829 $2
830 fi
831-AC_LANG_POP([])
832+AC_LANG_RESTORE
833 ])dnl ACX_PTHREAD
834
835=== modified file 'm4/pandora_canonical.m4'
836--- m4/pandora_canonical.m4 2010-04-20 20:22:03 +0000
837+++ m4/pandora_canonical.m4 2010-05-13 12:03:27 +0000
838@@ -4,7 +4,7 @@
839 dnl with or without modifications, as long as this notice is preserved.
840
841 dnl Which version of the canonical setup we're using
842-AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.123])
843+AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.127])
844
845 AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[
846 AC_ARG_ENABLE([fat-binaries],
847
848=== modified file 'plugin/archive/plugin.am'
849--- plugin/archive/plugin.am 2009-12-29 18:26:43 +0000
850+++ plugin/archive/plugin.am 2010-05-13 12:03:27 +0000
851@@ -20,7 +20,9 @@
852 $(LIBINTL) \
853 $(LTLIBZ)
854
855+if BUILD_ARCHIVE_PLUGIN
856 noinst_LTLIBRARIES+= plugin/archive/libazio.la
857+endif
858 noinst_HEADERS+= \
859 plugin/archive/azio.h
860 plugin_archive_libazio_la_SOURCES= \
861
862=== modified file 'plugin/heap/plugin.am'
863--- plugin/heap/plugin.am 2009-11-10 20:47:10 +0000
864+++ plugin/heap/plugin.am 2010-05-13 12:03:27 +0000
865@@ -1,3 +1,4 @@
866+# vim:ft=automake
867 # Copyright (C) 2000-2002, 2005-2006 MySQL AB
868 #
869 # This program is free software; you can redistribute it and/or modify
870@@ -13,7 +14,9 @@
871 # along with this program; if not, write to the Free Software
872 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
873
874+if BUILD_MEMORY_PLUGIN
875 noinst_LTLIBRARIES+= plugin/heap/libheap.la
876+endif
877 noinst_HEADERS+= \
878 plugin/heap/ha_heap.h \
879 plugin/heap/heap.h \
880
881=== modified file 'plugin/innobase/plugin.am'
882--- plugin/innobase/plugin.am 2010-03-01 16:43:50 +0000
883+++ plugin/innobase/plugin.am 2010-05-13 12:03:27 +0000
884@@ -215,8 +215,12 @@
885 plugin/innobase/handler/status_function.h \
886 plugin/innobase/handler/data_dictionary.h
887
888+if BUILD_INNOBASE_PLUGIN
889 noinst_LTLIBRARIES+= \
890- plugin/innobase/libinnobase.la plugin/innobase/libpars.la
891+ plugin/innobase/libinnobase.la \
892+ plugin/innobase/libpars.la
893+endif
894+
895 plugin_innobase_libinnobase_la_CFLAGS= ${AM_CFLAGS} ${INNOBASE_SKIP_WARNINGS} -I$(top_srcdir)/plugin/innobase/include -DBUILD_DRIZZLE
896 plugin_innobase_libinnobase_la_CXXFLAGS=${AM_CXXFLAGS} ${INNOBASE_SKIP_WARNINGS} -I$(top_srcdir)/plugin/innobase/include -DBUILD_DRIZZLE
897 plugin_innobase_libinnobase_la_SOURCES= \
898
899=== modified file 'plugin/myisam/plugin.am'
900--- plugin/myisam/plugin.am 2009-10-13 06:22:10 +0000
901+++ plugin/myisam/plugin.am 2010-05-13 12:03:27 +0000
902@@ -1,3 +1,4 @@
903+# vim:ft=automake
904 # Copyright (C) 2009 Sun Microsystems
905 #
906 # This program is free software; you can redistribute it and/or modify
907@@ -13,7 +14,9 @@
908 # along with this program; if not, write to the Free Software
909 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
910
911+if BUILD_MYISAM_PLUGIN
912 noinst_LTLIBRARIES+= plugin/myisam/libmyisam.la
913+endif
914 noinst_HEADERS+= \
915 plugin/myisam/ha_myisam.h \
916 plugin/myisam/keycache.h \
917
918=== modified file 'plugin/pbxt/plugin.am'
919--- plugin/pbxt/plugin.am 2010-04-14 17:24:09 +0000
920+++ plugin/pbxt/plugin.am 2010-05-13 12:03:27 +0000
921@@ -1,6 +1,8 @@
922 # Used to build Makefile.in
923
924+if BUILD_PBXT_PLUGIN
925 noinst_LTLIBRARIES+= plugin/pbxt/libpbxt.la
926+endif
927
928 noinst_HEADERS+= \
929 plugin/pbxt/src/backup_xt.h \