Commit graph

24 commits

Author SHA1 Message Date
Georgi Kodinov
60beb4c3da Bug #43614: make distcheck failure (ndb/Makefile is made, but not subdirs of ndb)
There are some recursive targets that automake generates which reference
DIST_SUBDIRS.  It's critical, then, for such subdirs to exist even if they
won't be built as part of SUBDIRS.

During a VPATH build, it is the configure script which creates the subdirs
(when it processes the AC_CONFIG_FILES() for each subdir's Makefile).  If
autoconf doesn't create a subdir's Makefile, then the recursive make will fail
when it is unable to cd into that subdir.

This isn't a problem in non-VPATH builds, because the subdirs are all present
in the source tarball.  So the problem only shows up during 'make distcheck',
which does a VPATH build.

The fix is to look, when configure is being created by autoconf, for any
plugin subdirectories.  These are the dynamic subdirectories which need to be
handled specially.  It's enough to tell autoconf to generate a Makefile for
any Makefile.am found in the plugin directory - all plugin subdirectories
using automake (i.e., listed in the plugin's DIST_SUBDIRS) will have a
Makefile.am.

This is done by calling 'find'.  This means that 'find' must be in the PATH on
the host that is running autoconf.  'find' is NOT needed when calling
configure, so it is not an additional dependency for the user.

Finally, ha_ndbcluster.m4 had called AC_CONFIG_FILES() on all those subdir
Makefiles, but only when the plugin was actually being built.  So it didn't
work in the case that NDB was not being built.  All of those Makefiles have to
be removed from this static list, since the plugin machinery is now adding
them automatically.  autoconf fails if a file is duplicated in
AC_CONFIG_FILES().
2009-03-13 13:13:55 +02:00
Timothy Smith
338aefcb38 Add the IBM DB2 for i storage engine.
Modify plugins.m4 configuration framework so that plugins which are
not built still get added to the source distribution during make dist.
This came up now because we can only build ibmdb2i on i5/OS, and we
can't bootstrap our source dist on that platform.  The solution is to
specify DIST_SUBDIRS containing all plugins, separate from SUBDIRS
which contains the plugins which are actually built.

This ibmdb2i code is from the ibmdb2i-ga3-src.zip file, with a patch
to plug.in to disable the plugin if the PASE environment isn't available.
2009-02-15 03:18:30 +01:00
unknown
0bb55050d1 Bug#30296
"Dynamic plugins fail to load on FreeBSD"
  ELF executables need to be linked using the -export-dynamic option to
  ld(1) for symbols defined in the executable to become visible to dlsym().
  Also, do not build plugins on an all-static build.


configure.in:
  Bug#30296
    Use "-export-dynamic" when building executable for use with plugins.
    Add required option using MYSQLD_EXTRA_LDFLAGS variable so we do not
    affect any other binary.
config/ac-macros/plugins.m4:
  Do not build plugins when building all-static
sql/sql_yacc.yy:
  build fix - surplus semicolon
2007-10-25 21:19:28 -07:00
unknown
333b2684af WL#3630 (add embedded server to pushbuild)
5.1-related fixes
libmysqld/Makefile.am fixed to recompile and link ha_*.cc files that
keep dependance on THD structure.
Minor fixes to make tests working.


config/ac-macros/plugins.m4:
  condition_dependent_plugin_objects added
libmysqld/Makefile.am:
  rules for ha_*.o files added
  condition_dependent_plugin_objects sent to linker
libmysqld/lib_sql.cc:
  ddl_log initialization added
mysql-test/r/flush_block_commit_notembedded.result:
  result fixed
mysql-test/t/crash_commit_before.test:
  doesn't work in embedded server
mysql-test/t/csv.test:
  replace_result added
mysql-test/t/ps.test:
  doesn't work in embedded server
  should be fixed by separating ps_notembedded.test
mysql-test/t/ps_1general.test:
  replace_result fixed
mysql-test/t/ps_not_windows.test:
  doesn't work in embedded server
mysql-test/t/trigger.test:
  replace_result fixed
sql/sql_insert.cc:
  #ifdef HAVE_ROW_BASED_REPLICATION added
storage/myisam/ha_myisam.cc:
  MY_UNPACK_FILENAME flag added
2006-12-28 09:42:04 +04:00
unknown
4681c06642 libmysqld/Makefile.am fixed
config/ac-macros/plugins.m4:
  code moved to the proper place
libmysqld/Makefile.am:
  "" removed
2006-10-19 16:39:24 +05:00
unknown
4c6bba1a29 letter's case fixed
config/ac-macros/plugins.m4:
  x->X
2006-10-18 18:48:38 +05:00
unknown
fe68583216 bug #23369 (Embedded library can't be linked)
Problem is that some files moved to storage/*/ still are dependent
on sql/ code (usually use members of THD structure)
that can get different being compiled with another #define-s
Code added to recompile these for the embedded server


config/ac-macros/plugins.m4:
  macros added to check if the storage has sql/ - dependent code
libmysqld/Makefile.am:
  symlink files from storage/*/ needed to be recompiled
  with EMBEDDED_LIBRARY
storage/federated/plug.in:
  ha_federated.cc uses THD structure
storage/heap/plug.in:
  ha_heap.cc uses THD structure
storage/innobase/plug.in:
  ha_innodb.cc uses THD structure
storage/myisam/plug.in:
  ha_myisam.cc uses THD structure
storage/myisammrg/plug.in:
  ha_myisammrg.cc uses THD structure
2006-10-18 17:03:37 +05:00
unknown
6e10407c2b WL#3504 "plugin actions for engines' and plugins' unit tests"
for push in 5.1 (I will inform Trudy).
Storage engines and plugins can now have unit tests to test their components; such
test must be an executable C/C++ program which name ends with '-t' and which is
obeys the mytap protocol, it must be stored in the storage engine's or plugin's
source directory (storage/<engine> or plugin/<plugin>) or any subdirectories of
this.
The top-level Makefile target "test-unit" will run all unit tests: it will scan
the engines' and plugins' directories, recursively, and execute all executable
files which name ends with '-t'."


Makefile.am:
  "unittest" directory must be built before "storage" and "plugin"
  because the unit tests in these directories may need libmytap.a
  which is in unittest/mytap.
config/ac-macros/plugins.m4:
  When enabling engine "X", we add "../storage/X" to the unit tests
  directories which unittest/unit.pl should traverse looking for
  tests to execute. Same for plugins.
unittest/Makefile.am:
  Those variables contain all enabled engines and plugins.
2006-09-15 15:15:24 +02:00
unknown
33f38c317a don't call plugins' configure scripts manually, use AC_CONFIG_SUBDIRS
don't add CFLAGS/CXXFLAGS to ./configure command line in config.status
but _do_ add them before calling plugins' configure scripts


config/ac-macros/plugins.m4:
  don't call plugins' configure scripts manually, use AC_CONFIG_SUBDIRS
2006-06-15 21:43:29 +02:00
unknown
741c257f48 apparently "sinclude" is consireded by aclocal (up to 1.9.5)
by a dirty word, and it complains about it, even in a comment.
2006-05-10 13:57:58 -04:00
unknown
bf6524db26 a workaround for aclocal-1.8 bug 2006-05-10 11:27:38 -04:00
unknown
db590c1897 auto-set MYSQL_PLUGIN_DIRECTORY for plug.in files
storage/archive/plug.in:
  MYSQL_PLUGIN_DIRECTORY for plug.in files is set automagically
storage/example/plug.in:
  MYSQL_PLUGIN_DIRECTORY for plug.in files is set automagically
2006-05-06 07:43:18 -04:00
unknown
b41823175d auto-include plug.in, remove the need for plugins to modify configure.in
configure.in:
  plug.in examples
2006-05-04 17:14:56 -04:00
unknown
9d08bc0620 cleanup - don't test in configure what belongs to m4 2006-05-04 14:15:37 -04:00
unknown
69b3476f1f fix legacy configure option handling 2006-05-03 15:58:15 -07:00
unknown
7f6a9906bc Fixed dependency checking 2006-05-03 09:46:19 -04:00
unknown
d609b7b91f WL#3201 post-review fixups
config/ac-macros/plugins.m4:
  WL#3201
    fixup dynamic-only plugin support.
sql/log.cc:
  fixup static initializers
2006-05-02 12:04:20 -07:00
unknown
ad4c32c89a WL#3201 additional post-review fixes
config/ac-macros/plugins.m4:
  remove unneccessary `ifelse'
  add comment, add missing dnl
configure.in:
  change description for heap engine
include/mysql/plugin.h:
  change macro name
sql/ha_berkeley.cc:
  store strings statically for use in handlerton and plugin structures
sql/ha_federated.cc:
  store strings statically for use in handlerton and plugin structures
sql/ha_heap.cc:
  store strings statically for use in handlerton and plugin structures
sql/ha_innodb.cc:
  store strings statically for use in handlerton and plugin structures
sql/ha_myisam.cc:
  store strings statically for use in handlerton and plugin structures
sql/ha_myisammrg.cc:
  store strings statically for use in handlerton and plugin structures
sql/ha_ndbcluster.cc:
  store strings statically for use in handlerton and plugin structures
sql/ha_partition.cc:
  store strings statically for use in handlerton and plugin structures
storage/archive/ha_archive.cc:
  store strings statically for use in handlerton and plugin structures
storage/blackhole/ha_blackhole.cc:
  store strings statically for use in handlerton and plugin structures
storage/csv/ha_tina.cc:
  store strings statically for use in handlerton and plugin structures
storage/example/ha_example.cc:
  store strings statically for use in handlerton and plugin structures
2006-05-02 04:11:00 -07:00
unknown
fa15fbf347 WL#3201 post-review fixups
end plugin/module naming schizophrenia
  fixup shell code and m4 macro comments
  cmakelists.txt included in EXTRA_DIST


BUILD/SETUP.sh:
  change module -> plugin
config/ac-macros/plugins.m4:
  change module -> plugin
  rename some macros
  fixup comments
  alter shell code to use similar 'test "X$var" = Xfoo"' which autoconf generates
configure.in:
  change module -> plugin
  move plugin mandatory declarations near rest of plugin declaration
storage/archive/Makefile.am:
  cmakelists.txt needed in EXTRA_DIST
storage/blackhole/Makefile.am:
  cmakelists.txt needed in EXTRA_DIST
storage/csv/Makefile.am:
  cmakelists.txt needed in EXTRA_DIST
storage/example/Makefile.am:
  cmakelists.txt needed in EXTRA_DIST
2006-05-01 21:33:09 -07:00
unknown
3d35b05a0c fixes
Makefile.am:
  plugin/ must be built before sql/
config/ac-macros/plugins.m4:
  simplifications, style fixes
BitKeeper/etc/ignore:
  Added compile libmysqld/sql_builtin.cc sql/sql_builtin.cc to the ignore list
plugin/Makefile.am:
  restore comment
plugin/fulltext/Makefile.am:
  revert
sql/sql_show.cc:
  revert
2006-04-30 15:52:30 -04:00
unknown
2eff96e631 make distcheck and cosmetic fixes 2006-04-29 09:33:34 -07:00
unknown
f00d16a332 WL#3201
post-merge fixes
2006-04-24 14:32:45 -07:00
unknown
a7dde92351 WL#3201
Fixes after first review


config/ac-macros/ha_ndbcluster.m4:
  WL#3201
    Undo change
config/ac-macros/plugins.m4:
  WL#3201
    Remove unneccesary use of AC_DEFUN
    fix shell script to be more portable
configure.in:
  WL#3201
    Remove use of word "engine" when desribing partition module
    Undo ndb config files change
sql/ha_partition.cc:
  WL#3201
    Remove use of word "engine" when desribing partition module
sql/handler.cc:
  WL#3201
    Add comment describing installed_htons array
2006-04-20 10:03:15 -07:00
unknown
83583111ca WL#3201
" Configure support for server plugins "


storage/blackhole/ha_blackhole.h:
  Rename: sql/ha_blackhole.h -> storage/blackhole/ha_blackhole.h
BitKeeper/deleted/.del-storage.m4~24bf2fffdaa328ad:
  Delete: config/ac-macros/storage.m4
BitKeeper/deleted/.del-ha_archive.m4~a07fac7110b39294:
  Delete: config/ac-macros/ha_archive.m4
BitKeeper/deleted/.del-ha_blackhole.m4~8ed06eb91f6420ed:
  Delete: config/ac-macros/ha_blackhole.m4
BitKeeper/deleted/.del-ha_example.m4~1dfb268163297708:
  Delete: config/ac-macros/ha_example.m4
BitKeeper/deleted/.del-ha_federated.m4~7acddd58286acfd6:
  Delete: config/ac-macros/ha_federated.m4
BitKeeper/deleted/.del-ha_innodb.m4~6f141fb5b80c1f39:
  Delete: config/ac-macros/ha_innodb.m4
BitKeeper/deleted/.del-ha_partition.m4~bc57067550be5f89:
  Delete: config/ac-macros/ha_partition.m4
BitKeeper/deleted/.del-ha_tina.m4~f658506ebbc113ca:
  Delete: config/ac-macros/ha_tina.m4
BitKeeper/deleted/.del-handlerton.cc.in~377156e7b06067cc:
  Delete: sql/handlerton.cc.in
BitKeeper/deleted/.del-handlerton-win.cc~322a7e59507976df:
  Delete: sql/handlerton-win.cc
BUILD/SETUP.sh:
  WL#3201
    Changes in configure arguments
Makefile.am:
  WL#3201
    changes in build subst names
config/ac-macros/ha_berkeley.m4:
  WL#3201
    remove unused variable
    Makefile is always made
config/ac-macros/ha_ndbcluster.m4:
  WL#3201
    remove unused variables
    Split big macro
configure.in:
  WL#3201
    out with storage.m4, in with plugins.m4
    change how plugins are declared
    include makefiles, remove handlerton.cc, add sql_builtin.cc
include/mysql/plugin.h:
  WL#3201
    support static and dynamic build - MYSQL_DYNAMIC_PLUGIN
libmysqld/Makefile.am:
  WL#3201
    Storage engine files still left in sql subdir are not conditionally
    compiled. Should move them out soon,
plugin/Makefile.am:
  WL#3201
    update makefile
plugin/fulltext/Makefile.am:
  WL#3201
    update makefile
plugin/fulltext/plugin_example.c:
  WL#3201
    change to mysql_declare_plugin macro
sql/Makefile.am:
  WL#3201
    Storage engine files still left in sql subdir are not conditionally
    compiled. Should move them out soon,
sql/ha_berkeley.cc:
  WL#3201
    make into a plugin
    conditionally compile content
sql/ha_federated.cc:
  WL#3201
    make into a plugin
    conditionally compile content
sql/ha_heap.cc:
  WL#3201
    make into a plugin
sql/ha_innodb.cc:
  WL#3201
    make into a plugin
    conditionally compile content
sql/ha_myisam.cc:
  WL#3201
    make into a plugin
sql/ha_myisammrg.cc:
  WL#3201
    make into a plugin
sql/ha_ndbcluster.cc:
  WL#3201
    make into a plugin
    conditionally compile content
sql/ha_ndbcluster_binlog.cc:
  WL#3201
    make into a plugin
    conditionally compile content
sql/ha_partition.cc:
  WL#3201
    make into a plugin
    conditionally compile content
sql/handler.cc:
  WL#3201
    Simplify how storage engines are found by db_type
    (hopefully we can get rid of it soon)
    Code cleanup
sql/handler.h:
  WL#3201
    new DB_TYPE_FIRST_DYNAMIC
    new func ha_finalize_handlerton()
    remove ha_register_builtin_plugins()
sql/log.cc:
  WL#3201
    make into a plugin
sql/mysqld.cc:
  WL#3201
    remove ha_register_builtin_plugins()
    alter init order so that storage engines are initialized before first use
sql/partition_info.cc:
  WL#3201
    conditionally compile content
sql/sql_delete.cc:
  WL#3201
    conditionally include ha_innodb.h
sql/sql_plugin.cc:
  WL#3201
    All compiled in plugins are in mysqld_builtins[]
    add funcs for plugin finalization
    install builtin plugins on initialization
sql/sql_show.cc:
  WL#3201
    Fix to use plugin_foreach()
sql/sql_yacc.yy:
  WL#3201
    SHOW FULL PLUGIN
storage/archive/Makefile.am:
  WL#3201
    setup as plugin makefile
storage/archive/ha_archive.cc:
  WL#3201
    Convert into a plugin
storage/archive/ha_archive.h:
  WL#3201
    azlib.h now in local dir
storage/blackhole/ha_blackhole.cc:
  WL#3201
    convert into a plugin
storage/csv/Makefile.am:
  WL#3201
    setup as plugin makefile
storage/csv/ha_tina.cc:
  WL#3201
    remove conditional compilation on MYSQL_PLUGIN
    mysql_declare_plugin macro change
storage/example/Makefile.am:
  WL#3201
    fix as new-style plugin makefile
storage/example/ha_example.cc:
  WL#3201
    remove conditional compilation on MYSQL_PLUGIN
    mysql_declare_plugin macro change
storage/innobase/Makefile.am:
  WL#3201
    Lets make life easier and reduce innodb into a single library file
config/ac-macros/plugins.m4:
  New BitKeeper file ``config/ac-macros/plugins.m4''
sql/sql_builtin.cc.in:
  New BitKeeper file ``sql/sql_builtin.cc.in''
storage/blackhole/Makefile.am:
  New BitKeeper file ``storage/blackhole/Makefile.am''
2006-04-13 13:49:29 -07:00