summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorunknown <acurtis@xiphis.org>2006-04-13 13:49:29 -0700
committerunknown <acurtis@xiphis.org>2006-04-13 13:49:29 -0700
commit83583111cadd1a411c6a51c1891e7ca5a4e45223 (patch)
tree7d7b722a3af9812d173de1c5398f625484467670 /configure.in
parent087cae1a1e5c5681886955c44726bddec2c5d94a (diff)
downloadmariadb-git-83583111cadd1a411c6a51c1891e7ca5a4e45223.tar.gz
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''
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in185
1 files changed, 107 insertions, 78 deletions
diff --git a/configure.in b/configure.in
index e2c94060ae7..70d36ee84f5 100644
--- a/configure.in
+++ b/configure.in
@@ -31,7 +31,7 @@ sinclude(config/ac-macros/alloca.m4)
sinclude(config/ac-macros/check_cpu.m4)
sinclude(config/ac-macros/character_sets.m4)
sinclude(config/ac-macros/compiler_flag.m4)
-sinclude(config/ac-macros/storage.m4)
+sinclude(config/ac-macros/plugins.m4)
sinclude(config/ac-macros/ha_berkeley.m4)
sinclude(config/ac-macros/ha_ndbcluster.m4)
sinclude(config/ac-macros/large_file.m4)
@@ -48,6 +48,92 @@ czech danish dutch english estonian french german greek hungarian \
italian japanese korean norwegian norwegian-ny polish portuguese \
romanian russian serbian slovak spanish swedish ukrainian"
+#--------------------------------------------------------------------
+# Declare our plugin modules
+#--------------------------------------------------------------------
+
+MYSQL_STORAGE_ENGINE(archive,, [Archive Storage Engine],
+ [Archive Storage Engine], [max,max-no-ndb])
+MYSQL_MODULE_DIRECTORY(archive, [storage/archive])
+MYSQL_MODULE_STATIC(archive, [libarchive.a])
+MYSQL_MODULE_DYNAMIC(archive, [ha_archive.la])
+
+MYSQL_STORAGE_ENGINE(berkeley, berkeley-db, [BerkeleyDB Storage Engine],
+ [Transactional Tables using BerkeleyDB], [max,max-no-ndb])
+MYSQL_MODULE_DIRECTORY(berkeley,[storage/bdb])
+MYSQL_MODULE_STATIC(berkeley, [[\$(bdb_libs_with_path)]])
+MYSQL_MODULE_ACTIONS(berkeley, [MYSQL_SETUP_BERKELEY_DB])
+
+MYSQL_STORAGE_ENGINE(blackhole,,[Blackhole Storage Engine],
+ [Basic Write-only Read-never tables], [max,max-no-ndb])
+MYSQL_MODULE_DIRECTORY(blackhole, [storage/blackhole])
+MYSQL_MODULE_STATIC(blackhole, [libblackhole.a])
+MYSQL_MODULE_DYNAMIC(blackhole, [ha_blackhole.la])
+
+MYSQL_STORAGE_ENGINE(csv,, [CSV Storage Engine],
+ [Stores tables in text CSV format])
+MYSQL_MODULE_DIRECTORY(csv, [storage/csv])
+MYSQL_MODULE_STATIC(csv, [libcsv.a])
+
+MYSQL_STORAGE_ENGINE(example,, [Example Storage Engine],
+ [Skeleton for Storage Engines for developers], [max,max-no-ndb])
+MYSQL_MODULE_DIRECTORY(example, [storage/example])
+MYSQL_MODULE_STATIC(example, [libexample.a])
+MYSQL_MODULE_DYNAMIC(example, [ha_example.la])
+
+MYSQL_STORAGE_ENGINE(federated,,[Federated Storage Engine],
+ [Connects to tables on remote MySQL servers], [max,max-no-ndb])
+
+MYSQL_MODULE(ftexample, [Simple Parser],
+ [Simple full-text parser plugin])
+MYSQL_MODULE_DIRECTORY(ftexample, [plugin/fulltext])
+MYSQL_MODULE_STATIC(ftexample, [libftexample.a])
+MYSQL_MODULE_DYNAMIC(ftexample, [ft_example.la])
+
+MYSQL_STORAGE_ENGINE(heap,no, [Memory Storage Engine],
+ [In memory hashed tables])
+MYSQL_MODULE_DIRECTORY(heap, [storage/heap])
+MYSQL_MODULE_STATIC(heap, [libheap.a])
+
+MYSQL_STORAGE_ENGINE(innobase, innodb, [InnoDB Storage Engine],
+ [Transactional Tables using InnoDB], [max,max-no-ndb])
+MYSQL_MODULE_DIRECTORY(innobase, [storage/innobase])
+MYSQL_MODULE_STATIC(innobase, [libinnobase.a])
+MYSQL_MODULE_ACTIONS(innobase, [
+ AC_CHECK_LIB(rt, aio_read, [innodb_system_libs="-lrt"])
+ AC_SUBST(innodb_includes)
+ AC_SUBST(innodb_libs)
+ AC_SUBST(innodb_system_libs)
+ other_configures="$other_configures storage/innobase/configure"
+])
+
+MYSQL_STORAGE_ENGINE(myisam,no, [MyISAM Storage Engine],
+ [Traditional non-transactional MySQL tables])
+MYSQL_MODULE_DIRECTORY(myisam, [storage/myisam])
+MYSQL_MODULE_STATIC(myisam, [libmyisam.a])
+
+MYSQL_STORAGE_ENGINE(myisammrg,no,[MyISAM MERGE Engine],
+ [Merge multiple MySQL tables into one])
+MYSQL_MODULE_DIRECTORY(myisammrg,[storage/myisammrg])
+MYSQL_MODULE_STATIC(myisammrg, [libmyisammrg.a])
+
+MYSQL_STORAGE_ENGINE(ndbcluster, ndbcluster, [Cluster Storage Engine],
+ [High Availability Clustered tables], [max])
+MYSQL_MODULE_DIRECTORY(ndbcluster,[storage/ndb])
+MYSQL_MODULE_STATIC(ndbcluster, [[\$(ndbcluster_libs) \$(ndbcluster_system_libs) \$(NDB_SCI_LIBS)]])
+MYSQL_MODULE_ACTIONS(ndbcluster,[MYSQL_SETUP_NDBCLUSTER])
+
+MYSQL_STORAGE_ENGINE(partition, partition, [Partition Engine],
+ [MySQL Table Partitioning Engine], [max,max-no-ndb])
+
+MYSQL_MODULE_MANDATORY(csv) dnl Used for logging
+MYSQL_MODULE_MANDATORY(heap) dnl Memory tables
+MYSQL_MODULE_MANDATORY(myisam) dnl Default
+MYSQL_MODULE_MANDATORY(myisammrg)
+
+dnl -- ndbcluster requires partition to be enabled
+MYSQL_MODULE_DEPENDS(ndbcluster, partition)
+
#####
#####
@@ -672,6 +758,16 @@ MYSQL_SYS_LARGEFILE
AC_TYPE_SIZE_T
#--------------------------------------------------------------------
+# Check for requested features
+#--------------------------------------------------------------------
+
+MYSQL_CHECK_BIG_TABLES
+MYSQL_CHECK_MAX_INDEXES
+MYSQL_CHECK_REPLICATION
+
+MYSQL_CONFIGURE_PLUGINS([none])
+
+#--------------------------------------------------------------------
# Check for system header files
#--------------------------------------------------------------------
@@ -2416,74 +2512,6 @@ AC_SUBST(readline_basedir)
AC_SUBST(readline_link)
AC_SUBST(readline_h_ln_cmd)
-MYSQL_CHECK_BIG_TABLES
-MYSQL_CHECK_MAX_INDEXES
-MYSQL_CHECK_REPLICATION
-
-MYSQL_STORAGE_ENGINE(innobase,,innodb,,,,storage/innobase,ha_innodb.o,[ dnl
- \$(top_builddir)/storage/innobase/usr/libusr.a dnl
- \$(top_builddir)/storage/innobase/srv/libsrv.a dnl
- \$(top_builddir)/storage/innobase/dict/libdict.a dnl
- \$(top_builddir)/storage/innobase/que/libque.a dnl
- \$(top_builddir)/storage/innobase/srv/libsrv.a dnl
- \$(top_builddir)/storage/innobase/ibuf/libibuf.a dnl
- \$(top_builddir)/storage/innobase/row/librow.a dnl
- \$(top_builddir)/storage/innobase/pars/libpars.a dnl
- \$(top_builddir)/storage/innobase/btr/libbtr.a dnl
- \$(top_builddir)/storage/innobase/trx/libtrx.a dnl
- \$(top_builddir)/storage/innobase/read/libread.a dnl
- \$(top_builddir)/storage/innobase/usr/libusr.a dnl
- \$(top_builddir)/storage/innobase/buf/libbuf.a dnl
- \$(top_builddir)/storage/innobase/ibuf/libibuf.a dnl
- \$(top_builddir)/storage/innobase/eval/libeval.a dnl
- \$(top_builddir)/storage/innobase/log/liblog.a dnl
- \$(top_builddir)/storage/innobase/fsp/libfsp.a dnl
- \$(top_builddir)/storage/innobase/fut/libfut.a dnl
- \$(top_builddir)/storage/innobase/fil/libfil.a dnl
- \$(top_builddir)/storage/innobase/lock/liblock.a dnl
- \$(top_builddir)/storage/innobase/mtr/libmtr.a dnl
- \$(top_builddir)/storage/innobase/page/libpage.a dnl
- \$(top_builddir)/storage/innobase/rem/librem.a dnl
- \$(top_builddir)/storage/innobase/thr/libthr.a dnl
- \$(top_builddir)/storage/innobase/sync/libsync.a dnl
- \$(top_builddir)/storage/innobase/data/libdata.a dnl
- \$(top_builddir)/storage/innobase/mach/libmach.a dnl
- \$(top_builddir)/storage/innobase/ha/libha.a dnl
- \$(top_builddir)/storage/innobase/dyn/libdyn.a dnl
- \$(top_builddir)/storage/innobase/mem/libmem.a dnl
- \$(top_builddir)/storage/innobase/sync/libsync.a dnl
- \$(top_builddir)/storage/innobase/ut/libut.a dnl
- \$(top_builddir)/storage/innobase/os/libos.a dnl
- \$(top_builddir)/storage/innobase/ut/libut.a],[
- AC_CHECK_LIB(rt, aio_read, [innodb_system_libs="-lrt"])
- AC_SUBST(innodb_includes)
- AC_SUBST(innodb_libs)
- AC_SUBST(innodb_system_libs)
- other_configures="$other_configures storage/innobase/configure"
-])
-
-MYSQL_STORAGE_ENGINE(berkeley,,berkeley-db,,,,storage/bdb,,,[
- MYSQL_SETUP_BERKELEY_DB
-])
-MYSQL_STORAGE_ENGINE(example,,,,,,storage/example,no,
- \$(top_builddir)/storage/example/libexample.a,[
- AC_CONFIG_FILES(storage/example/Makefile)
-])
-MYSQL_STORAGE_ENGINE(archive,,,,,,storage/archive,,
- \$(top_builddir)/storage/archive/libarchive.a, [
- AC_CONFIG_FILES(storage/archive/Makefile)
-])
-MYSQL_STORAGE_ENGINE(csv,,,"yes",,tina_hton,storage/csv,no,
- \$(top_builddir)/storage/csv/libcsv.a,[
- AC_CONFIG_FILES(storage/csv/Makefile)
-])
-MYSQL_STORAGE_ENGINE(blackhole)
-MYSQL_STORAGE_ENGINE(federated)
-MYSQL_STORAGE_ENGINE(ndbcluster,,ndbcluster,,,,storage/ndb,,,[
- MYSQL_SETUP_NDBCLUSTER
-])
-MYSQL_STORAGE_ENGINE(partition,,partition)
-
# If we have threads generate some library functions and test programs
sql_server_dirs=
sql_server=
@@ -2539,7 +2567,6 @@ then
AC_SUBST(THREAD_LOBJECTS)
server_scripts="mysqld_safe mysql_install_db"
sql_server_dirs="strings mysys dbug extra regex"
- mysql_se_dirs="storage/myisam storage/myisammrg storage/heap $mysql_se_dirs"
sql_server="$sql_server vio sql"
fi
@@ -2555,12 +2582,9 @@ AC_SUBST(sql_server)
AC_SUBST(thread_dirs)
AC_SUBST(server_scripts)
-AC_SUBST(mysql_se_dirs)
-AC_SUBST(mysql_se_libs)
-AC_SUBST(mysql_se_objs)
-AC_SUBST(mysql_se_htons)
-AC_SUBST(mysql_se_decls)
-AC_SUBST(mysql_se_plugins)
+AC_SUBST(mysql_plugin_dirs)
+AC_SUBST(mysql_plugin_libs)
+AC_SUBST(mysql_plugin_defs)
# Now that sql_client_dirs and sql_server_dirs are stable, determine the union.
@@ -2600,14 +2624,19 @@ done
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
+NDBCLUSTER_CONFIG_FILES
+
# Output results
AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile dnl
- strings/Makefile regex/Makefile storage/Makefile storage/heap/Makefile dnl
+ strings/Makefile regex/Makefile dnl
+ storage/Makefile dnl
+ storage/archive/Makefile storage/bdb/Makefile storage/blackhole/Makefile dnl
+ storage/csv/Makefile storage/example/Makefile storage/heap/Makefile dnl
storage/myisam/Makefile storage/myisammrg/Makefile dnl
man/Makefile BUILD/Makefile vio/Makefile dnl
libmysql/Makefile client/Makefile dnl
pstack/Makefile pstack/aout/Makefile sql/Makefile sql/share/Makefile dnl
- sql/handlerton.cc sql-common/Makefile SSL/Makefile dnl
+ sql/sql_builtin.cc sql-common/Makefile SSL/Makefile dnl
dbug/Makefile scripts/Makefile dnl
include/Makefile sql-bench/Makefile dnl
server-tools/Makefile server-tools/instance-manager/Makefile dnl