diff options
author | unknown <acurtis@poseidon.ndb.mysql.com> | 2005-11-07 16:25:06 +0100 |
---|---|---|
committer | unknown <acurtis@poseidon.ndb.mysql.com> | 2005-11-07 16:25:06 +0100 |
commit | 6b3a9caef9b8cf42f8a706f778bba72db89cdd2b (patch) | |
tree | 2b8ffe29d899326e4ad244ac3f67d4fcf29bfae6 /config | |
parent | df33aacd87ff08c27fd371a0bb348fe3986e6f95 (diff) | |
download | mariadb-git-6b3a9caef9b8cf42f8a706f778bba72db89cdd2b.tar.gz |
Make storage engines "pluggable", handlerton work
Makefile.am:
Changes to autoconf subst
config/ac-macros/ha_berkeley.m4:
simplify
config/ac-macros/ha_ndbcluster.m4:
simplify
config/ac-macros/ha_partition.m4:
simplify
configure.in:
strip configure of storage engine specific cruft and simplify
extra/Makefile.am:
changes to autoconf/automake subst
libmysqld/Makefile.am:
only compile storage engines if required.
make find object file a little smarter
libmysqld/examples/Makefile.am:
changes to autoconf subst
mysql-test/Makefile.am:
remove storage engine specific cruft
mysql-test/r/ps_1general.result:
cannot gaurantee order of results from 'show storage engines'
mysql-test/r/show_check.result:
fix test - frm file fails to be deleted if it is invalid
mysql-test/r/sql_mode.result:
isam does not exist, test may need to be redone/fixed in 5.0
mysql-test/r/warnings.result:
isam no longer exists
mysql-test/t/ps_1general.test:
cannot gaurantee order of results from 'show storage engines'
mysql-test/t/show_check.test:
fix test - frm file fails to be deleted if it is invalid
mysql-test/t/sql_mode.test:
isam does not exist, test may need to be redone/fixed in 5.0
mysql-test/t/system_mysql_db_fix.test:
change isam to myisam
mysql-test/t/view.test:
change isam to myisam
mysql-test/t/warnings.test:
isam no longer exists
sql/Makefile.am:
Make storage engines "pluggable" stage 1
only compile storage engines if included
sql/examples/ha_example.cc:
handlerton work
sql/examples/ha_example.h:
handlerton work
sql/examples/ha_tina.cc:
handlerton work
sql/examples/ha_tina.h:
handlerton work
sql/ha_archive.cc:
handlerton work
sql/ha_archive.h:
handlerton work
sql/ha_berkeley.cc:
handlerton work
sql/ha_berkeley.h:
handlerton work
sql/ha_blackhole.cc:
handlerton work
sql/ha_federated.cc:
handlerton work
sql/ha_federated.h:
handlerton work
sql/ha_heap.cc:
handlerton work
sql/ha_innodb.cc:
handlerton work
sql/ha_innodb.h:
handlerton work
sql/ha_myisam.cc:
handlerton work
sql/ha_myisammrg.cc:
handlerton work
sql/ha_ndbcluster.cc:
handlerton work
sql/ha_ndbcluster.h:
handlerton work
sql/ha_partition.cc:
handlerton work
sql/handler.cc:
start removing storage engine specific cruft
sql/handler.h:
start removing storage engine specific cruft
db_type for binlog handlerton
handlerton flag for not-user-selectable storage engines
sql/lex.h:
start removing storage engine specific cruft
sql/log.cc:
handlerton work
give binlog handlerton a 'real' db_type
sql/mysql_priv.h:
start removing storage engine specific cruft
sql/mysqld.cc:
start removing storage engine specific cruft
sql/set_var.cc:
start removing storage engine specific cruft
sql/sp_head.cc:
start removing storage engine specific cruft
sql/sql_class.cc:
start removing storage engine specific cruft
sql/sql_class.h:
start removing storage engine specific cruft
sql/sql_lex.h:
start removing storage engine specific cruft
sql/sql_manager.cc:
start removing storage engine specific cruft
sql/sql_manager.h:
start removing storage engine specific cruft
sql/sql_parse.cc:
start removing storage engine specific cruft
sql/sql_partition.cc:
start removing storage engine specific cruft
sql/sql_prepare.cc:
start removing storage engine specific cruft
sql/sql_show.cc:
start removing storage engine specific cruft
sql/sql_table.cc:
changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
start removing storage engine specific cruft
sql/sql_update.cc:
changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
sql/sql_yacc.yy:
start removing storage engine specific cruft
test if we should throw error
sql/table.cc:
changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
sql/table.h:
changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
sql/unireg.cc:
changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
storage/ndb/include/kernel/kernel_types.h:
added my_config.h
storage/ndb/include/ndb_global.h.in:
added my_config.h
storage/ndb/include/ndb_types.h.in:
added my_config.h
config/ac-macros/storage.m4:
New BitKeeper file ``config/ac-macros/storage.m4''
sql/handlerton.cc.in:
New BitKeeper file ``sql/handlerton.cc.in''
Diffstat (limited to 'config')
-rw-r--r-- | config/ac-macros/ha_berkeley.m4 | 110 | ||||
-rw-r--r-- | config/ac-macros/ha_ndbcluster.m4 | 236 | ||||
-rw-r--r-- | config/ac-macros/ha_partition.m4 | 19 | ||||
-rw-r--r-- | config/ac-macros/storage.m4 | 47 |
4 files changed, 319 insertions, 93 deletions
diff --git a/config/ac-macros/ha_berkeley.m4 b/config/ac-macros/ha_berkeley.m4 index 5463f10ca98..183a622dfc9 100644 --- a/config/ac-macros/ha_berkeley.m4 +++ b/config/ac-macros/ha_berkeley.m4 @@ -5,13 +5,14 @@ dnl Makes sure db version is correct. dnl Looks in $srcdir for Berkeley distribution if not told otherwise dnl --------------------------------------------------------------------------- -AC_DEFUN([MYSQL_CHECK_BDB], [ + +AC_DEFUN([MYSQL_SETUP_BERKELEY_DB], [ AC_ARG_WITH([berkeley-db], [ --with-berkeley-db[=DIR] Use BerkeleyDB located in DIR], [bdb="$withval"], - [bdb=no]) + [bdb=yes]) AC_ARG_WITH([berkeley-db-includes], [ @@ -27,45 +28,27 @@ AC_DEFUN([MYSQL_CHECK_BDB], [ [bdb_libs="$withval"], [bdb_libs=default]) - AC_MSG_CHECKING([for BerkeleyDB]) - -dnl SORT OUT THE SUPPLIED ARGUMENTS TO DETERMINE WHAT TO DO -dnl echo "DBG1: bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'" - have_berkeley_db=no + # echo " bdb $bdb $bdb_includes---$bdb_libs " case "$bdb" in - no ) - mode=no - AC_MSG_RESULT([no]) - ;; - yes | default ) + yes ) case "$bdb_includes---$bdb_libs" in default---default ) mode=search-$bdb - AC_MSG_RESULT([searching...]) ;; default---* | *---default | yes---* | *---yes ) AC_MSG_ERROR([if either 'includes' or 'libs' is specified, both must be specified]) ;; * ) mode=supplied-two - AC_MSG_RESULT([supplied]) ;; esac ;; * ) mode=supplied-one - AC_MSG_RESULT([supplied]) ;; esac -dnl echo "DBG2: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'" - case $mode in - no ) - bdb_includes= - bdb_libs= - bdb_libs_with_path= - ;; supplied-two ) MYSQL_CHECK_INSTALLED_BDB([$bdb_includes], [$bdb_libs]) case $bdb_dir_ok in @@ -86,16 +69,7 @@ dnl echo "DBG2: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'" case $bdb_dir_ok in source ) mode=compile ;; installed ) mode=yes ;; - * ) - # not found - case $mode in - *-yes ) AC_MSG_ERROR([no suitable BerkeleyDB found]) ;; - * ) mode=no ;; - esac - bdb_includes= - bdb_libs= - bdb_libs_with_path= - ;; + * ) AC_MSG_ERROR([no suitable BerkeleyDB found]) ;; esac ;; *) @@ -103,11 +77,7 @@ dnl echo "DBG2: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'" ;; esac -dnl echo "DBG3: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'" case $mode in - no ) - AC_MSG_RESULT([Not using Berkeley DB]) - ;; yes ) have_berkeley_db="yes" AC_MSG_RESULT([Using Berkeley DB in '$bdb_includes']) @@ -121,9 +91,41 @@ dnl echo "DBG3: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'" ;; esac + bdb_conf_flags="--disable-shared --build=$build_alias" + if test $with_debug = "yes" + then + bdb_conf_flags="$bdb_conf_flags --enable-debug --enable-diagnostic" + fi + # NOTICE: if you're compiling BDB, it needs to be a SUBDIR + # of $srcdir (i.e., you can 'cd $srcdir/$bdb'). It won't + # work otherwise. + if test -d "$bdb"; then : + else + # This should only happen when doing a VPATH build + echo "NOTICE: I have to make the BDB directory: `pwd`:$bdb" + mkdir "$bdb" || exit 1 + fi + if test -d "$bdb"/build_unix; then : + else + # This should only happen when doing a VPATH build + echo "NOTICE: I have to make the build_unix directory: `pwd`:$bdb/build_unix" + mkdir "$bdb/build_unix" || exit 1 + fi + rel_srcdir= + case "$srcdir" in + /* ) rel_srcdir="$srcdir" ;; + * ) rel_srcdir="../../../$srcdir" ;; + esac + (cd $bdb/build_unix && \ + sh $rel_srcdir/$bdb/dist/configure $bdb_conf_flags) || \ + AC_MSG_ERROR([could not configure Berkeley DB]) + + mysql_se_libs="$mysql_se_libs $bdb_libs_with_path" + AC_SUBST(bdb_includes) AC_SUBST(bdb_libs) AC_SUBST(bdb_libs_with_path) + AC_CONFIG_FILES(storage/bdb/Makefile) ]) AC_DEFUN([MYSQL_CHECK_INSTALLED_BDB], [ @@ -217,29 +219,29 @@ AC_DEFUN([MYSQL_CHECK_BDB_VERSION], [ test -z "$db_minor" && db_minor=0 test -z "$db_patch" && db_patch=0 - # This is ugly, but about as good as it can get -# mysql_bdb= -# if test $db_major -eq 3 && test $db_minor -eq 2 && test $db_patch -eq 3 -# then -# mysql_bdb=h -# elif test $db_major -eq 3 && test $db_minor -eq 2 && test $db_patch -eq 9 -# then -# want_bdb_version="3.2.9a" # hopefully this will stay up-to-date -# mysql_bdb=a -# fi +dnl # This is ugly, but about as good as it can get +dnl # mysql_bdb= +dnl # if test $db_major -eq 3 && test $db_minor -eq 2 && test $db_patch -eq 3 +dnl # then +dnl # mysql_bdb=h +dnl # elif test $db_major -eq 3 && test $db_minor -eq 2 && test $db_patch -eq 9 +dnl # then +dnl # want_bdb_version="3.2.9a" # hopefully this will stay up-to-date +dnl # mysql_bdb=a +dnl # fi dnl RAM: want_bdb_version="4.1.24" bdb_version_ok=yes -# if test -n "$mysql_bdb" && \ -# grep "DB_VERSION_STRING.*:.*$mysql_bdb: " [$1] > /dev/null -# then -# bdb_version_ok=yes -# else -# bdb_version_ok="invalid version $db_major.$db_minor.$db_patch" -# bdb_version_ok="$bdb_version_ok (must be version 3.2.3h or $want_bdb_version)" -# fi +dnl # if test -n "$mysql_bdb" && \ +dnl # grep "DB_VERSION_STRING.*:.*$mysql_bdb: " [$1] > /dev/null +dnl # then +dnl # bdb_version_ok=yes +dnl # else +dnl # bdb_version_ok="invalid version $db_major.$db_minor.$db_patch" +dnl # bdb_version_ok="$bdb_version_ok (must be version 3.2.3h or $want_bdb_version)" +dnl # fi ]) AC_DEFUN([MYSQL_TOP_BUILDDIR], [ diff --git a/config/ac-macros/ha_ndbcluster.m4 b/config/ac-macros/ha_ndbcluster.m4 index 5c1d7d00799..f1a76d14cc4 100644 --- a/config/ac-macros/ha_ndbcluster.m4 +++ b/config/ac-macros/ha_ndbcluster.m4 @@ -1,8 +1,29 @@ dnl --------------------------------------------------------------------------- dnl Macro: MYSQL_CHECK_NDBCLUSTER -dnl Sets HAVE_NDBCLUSTER_DB if --with-ndbcluster is used dnl --------------------------------------------------------------------------- - + +NDB_VERSION_MAJOR=`echo $VERSION | cut -d. -f1` +NDB_VERSION_MINOR=`echo $VERSION | cut -d. -f2` +NDB_VERSION_BUILD=`echo $VERSION | cut -d. -f3 | cut -d- -f1` +NDB_VERSION_STATUS=`echo $VERSION | cut -d- -f2` +# if there was now -suffix, $NDB_VERSION_STATUS will be the same as $VERSION +if test "$NDB_VERSION_STATUS" = "$VERSION" +then + NDB_VERSION_STATUS="" +fi +TEST_NDBCLUSTER="" + +dnl for build ndb docs + +AC_PATH_PROG(DOXYGEN, doxygen, no) +AC_PATH_PROG(PDFLATEX, pdflatex, no) +AC_PATH_PROG(MAKEINDEX, makeindex, no) + +AC_SUBST(DOXYGEN) +AC_SUBST(PDFLATEX) +AC_SUBST(MAKEINDEX) + + AC_DEFUN([MYSQL_CHECK_NDB_OPTIONS], [ AC_ARG_WITH([ndb-sci], AC_HELP_STRING([--with-ndb-sci=DIR], @@ -67,7 +88,7 @@ AC_DEFUN([MYSQL_CHECK_NDB_OPTIONS], [ [ndb_ccflags=${withval}], [ndb_ccflags=""]) - case "$ndb_ccflags" in + case "$ndb_ccflags" in "yes") AC_MSG_RESULT([The --ndb-ccflags option requires a parameter (passed to CC for ndb compilation)]) ;; @@ -122,43 +143,196 @@ AC_DEFUN([MYSQL_CHECK_NDB_OPTIONS], [ AC_MSG_RESULT([done.]) ]) -AC_DEFUN([MYSQL_CHECK_NDBCLUSTER], [ - AC_ARG_WITH([ndbcluster], - [ - --with-ndbcluster Include the NDB Cluster table handler], - [ndbcluster="$withval"], - [ndbcluster=no]) - - AC_MSG_CHECKING([for NDB Cluster]) - - have_ndbcluster=no - ndbcluster_includes= - ndbcluster_libs= - ndb_mgmclient_libs= - case "$ndbcluster" in - yes ) - AC_MSG_RESULT([Using NDB Cluster and Partitioning]) - AC_DEFINE([HAVE_NDBCLUSTER_DB], [1], [Using Ndb Cluster DB]) - AC_DEFINE([HAVE_PARTITION_DB], [1], [Builds Partition DB]) - have_ndbcluster="yes" - ndbcluster_includes="-I\$(top_builddir)/storage/ndb/include -I\$(top_builddir)/storage/ndb/include/ndbapi -I\$(top_builddir)/storage/ndb/include/mgmapi" - ndbcluster_libs="\$(top_builddir)/storage/ndb/src/.libs/libndbclient.a" - ndbcluster_system_libs="" - ndb_mgmclient_libs="\$(top_builddir)/storage/ndb/src/mgmclient/libndbmgmclient.la" - MYSQL_CHECK_NDB_OPTIONS +AC_DEFUN([NDBCLUSTER_WORKAROUNDS], [ + + #workaround for Sun Forte/x86 see BUG#4681 + case $SYSTEM_TYPE-$MACHINE_TYPE-$ac_cv_prog_gcc in + *solaris*-i?86-no) + CFLAGS="$CFLAGS -DBIG_TABLES" + CXXFLAGS="$CXXFLAGS -DBIG_TABLES" ;; - * ) - AC_MSG_RESULT([Not using NDB Cluster]) + *) + ;; + esac + + # workaround for Sun Forte compile problem for ndb + case $SYSTEM_TYPE-$ac_cv_prog_gcc in + *solaris*-no) + ndb_cxxflags_fix="$ndb_cxxflags_fix -instances=static" + ;; + *) ;; esac - AM_CONDITIONAL([HAVE_NDBCLUSTER_DB], [ test "$have_ndbcluster" = "yes" ]) + # ndb fail for whatever strange reason to link Sun Forte/x86 + # unless using incremental linker + case $SYSTEM_TYPE-$MACHINE_TYPE-$ac_cv_prog_gcc-$have_ndbcluster in + *solaris*-i?86-no-yes) + CXXFLAGS="$CXXFLAGS -xildon" + ;; + *) + ;; + esac +]) + +AC_DEFUN([MYSQL_SETUP_NDBCLUSTER], [ + + with_partition="yes" + ndb_cxxflags_fix="" + TEST_NDBCLUSTER="--ndbcluster" + + ndbcluster_includes="-I\$(top_builddir)/storage/ndb/include -I\$(top_builddir)/storage/ndb/include/ndbapi -I\$(top_builddir)/storage/ndb/include/mgmapi" + ndbcluster_libs="\$(top_builddir)/storage/ndb/src/.libs/libndbclient.a" + ndbcluster_system_libs="" + ndb_mgmclient_libs="\$(top_builddir)/storage/ndb/src/mgmclient/libndbmgmclient.la" + + MYSQL_CHECK_NDB_OPTIONS + NDBCLUSTER_WORKAROUNDS + + MAKE_BINARY_DISTRIBUTION_OPTIONS="$MAKE_BINARY_DISTRIBUTION_OPTIONS --with-ndbcluster" + + # CXXFLAGS="$CXXFLAGS \$(NDB_CXXFLAGS)" + if test "$have_ndb_debug" = "default" + then + have_ndb_debug=$with_debug + fi + + if test "$have_ndb_debug" = "yes" + then + # Medium debug. + NDB_DEFS="-DNDB_DEBUG -DVM_TRACE -DERROR_INSERT -DARRAY_GUARD" + elif test "$have_ndb_debug" = "full" + then + NDB_DEFS="-DNDB_DEBUG_FULL -DVM_TRACE -DERROR_INSERT -DARRAY_GUARD" + else + # no extra ndb debug but still do asserts if debug version + if test "$with_debug" = "yes" -o "$with_debug" = "full" + then + NDB_DEFS="" + else + NDB_DEFS="-DNDEBUG" + fi + fi + + if test X"$ndb_port" = Xdefault + then + ndb_port="1186" + fi + + ndb_transporter_opt_objs="" + if test "$ac_cv_func_shmget" = "yes" && + test "$ac_cv_func_shmat" = "yes" && + test "$ac_cv_func_shmdt" = "yes" && + test "$ac_cv_func_shmctl" = "yes" && + test "$ac_cv_func_sigaction" = "yes" && + test "$ac_cv_func_sigemptyset" = "yes" && + test "$ac_cv_func_sigaddset" = "yes" && + test "$ac_cv_func_pthread_sigmask" = "yes" + then + AC_DEFINE([NDB_SHM_TRANSPORTER], [1], + [Including Ndb Cluster DB shared memory transporter]) + AC_MSG_RESULT([Including ndb shared memory transporter]) + ndb_transporter_opt_objs="$ndb_transporter_opt_objs SHM_Transporter.lo SHM_Transporter.unix.lo" + else + AC_MSG_RESULT([Not including ndb shared memory transporter]) + fi + + if test X"$have_ndb_sci" = Xyes + then + ndb_transporter_opt_objs="$ndb_transporter_opt_objs SCI_Transporter.lo" + fi + + ndb_opt_subdirs= + ndb_bin_am_ldflags="-static" + if test X"$have_ndb_test" = Xyes + then + ndb_opt_subdirs="test" + ndb_bin_am_ldflags="" + fi + + if test X"$have_ndb_docs" = Xyes + then + ndb_opt_subdirs="$ndb_opt_subdirs docs" + ndb_bin_am_ldflags="" + fi + + mysql_se_libs="$mysql_se_libs $ndbcluster_libs $ndbcluster_system_libs" + mysql_se_libs="$mysql_se_libs $NDB_SCI_LIBS" + + AC_SUBST(NDB_VERSION_MAJOR) + AC_SUBST(NDB_VERSION_MINOR) + AC_SUBST(NDB_VERSION_BUILD) + AC_SUBST(NDB_VERSION_STATUS) + AC_DEFINE_UNQUOTED([NDB_VERSION_MAJOR], [$NDB_VERSION_MAJOR], + [NDB major version]) + AC_DEFINE_UNQUOTED([NDB_VERSION_MINOR], [$NDB_VERSION_MINOR], + [NDB minor version]) + AC_DEFINE_UNQUOTED([NDB_VERSION_BUILD], [$NDB_VERSION_BUILD], + [NDB build version]) + AC_DEFINE_UNQUOTED([NDB_VERSION_STATUS], ["$NDB_VERSION_STATUS"], + [NDB status version]) + AC_SUBST(ndbcluster_includes) AC_SUBST(ndbcluster_libs) AC_SUBST(ndbcluster_system_libs) AC_SUBST(ndb_mgmclient_libs) + + AC_SUBST(ndb_transporter_opt_objs) + AC_SUBST(ndb_port) + AC_SUBST(ndb_bin_am_ldflags) + AC_SUBST(ndb_opt_subdirs) + + AC_SUBST(NDB_DEFS) + AC_SUBST(ndb_cxxflags_fix) + + AC_CONFIG_FILES(storage/ndb/Makefile storage/ndb/include/Makefile dnl + storage/ndb/src/Makefile storage/ndb/src/common/Makefile dnl + storage/ndb/docs/Makefile dnl + storage/ndb/tools/Makefile dnl + storage/ndb/src/common/debugger/Makefile dnl + storage/ndb/src/common/debugger/signaldata/Makefile dnl + storage/ndb/src/common/portlib/Makefile dnl + storage/ndb/src/common/util/Makefile dnl + storage/ndb/src/common/logger/Makefile dnl + storage/ndb/src/common/transporter/Makefile dnl + storage/ndb/src/common/mgmcommon/Makefile dnl + storage/ndb/src/kernel/Makefile dnl + storage/ndb/src/kernel/error/Makefile dnl + storage/ndb/src/kernel/blocks/Makefile dnl + storage/ndb/src/kernel/blocks/cmvmi/Makefile dnl + storage/ndb/src/kernel/blocks/dbacc/Makefile dnl + storage/ndb/src/kernel/blocks/dbdict/Makefile dnl + storage/ndb/src/kernel/blocks/dbdih/Makefile dnl + storage/ndb/src/kernel/blocks/dblqh/Makefile dnl + storage/ndb/src/kernel/blocks/dbtc/Makefile dnl + storage/ndb/src/kernel/blocks/dbtup/Makefile dnl + storage/ndb/src/kernel/blocks/ndbfs/Makefile dnl + storage/ndb/src/kernel/blocks/ndbcntr/Makefile dnl + storage/ndb/src/kernel/blocks/qmgr/Makefile dnl + storage/ndb/src/kernel/blocks/trix/Makefile dnl + storage/ndb/src/kernel/blocks/backup/Makefile dnl + storage/ndb/src/kernel/blocks/dbutil/Makefile dnl + storage/ndb/src/kernel/blocks/suma/Makefile dnl + storage/ndb/src/kernel/blocks/dbtux/Makefile dnl + storage/ndb/src/kernel/vm/Makefile dnl + storage/ndb/src/mgmapi/Makefile dnl + storage/ndb/src/ndbapi/Makefile dnl + storage/ndb/src/mgmsrv/Makefile dnl + storage/ndb/src/mgmclient/Makefile dnl + storage/ndb/src/cw/Makefile dnl + storage/ndb/src/cw/cpcd/Makefile dnl + storage/ndb/test/Makefile dnl + storage/ndb/test/src/Makefile dnl + storage/ndb/test/ndbapi/Makefile dnl + storage/ndb/test/ndbapi/bank/Makefile dnl + storage/ndb/test/tools/Makefile dnl + storage/ndb/test/run-test/Makefile dnl + storage/ndb/include/ndb_version.h storage/ndb/include/ndb_global.h dnl + storage/ndb/include/ndb_types.h dnl + ) ]) - + +AC_SUBST(TEST_NDBCLUSTER) dnl --------------------------------------------------------------------------- dnl END OF MYSQL_CHECK_NDBCLUSTER SECTION dnl --------------------------------------------------------------------------- diff --git a/config/ac-macros/ha_partition.m4 b/config/ac-macros/ha_partition.m4 index ddec98530ce..1ce7dedc5f3 100644 --- a/config/ac-macros/ha_partition.m4 +++ b/config/ac-macros/ha_partition.m4 @@ -11,17 +11,20 @@ AC_DEFUN([MYSQL_CHECK_PARTITIONDB], [ [partitiondb=no]) AC_MSG_CHECKING([for partition]) - case "$partitiondb" in - yes ) +dnl case "$partitiondb" in +dnl yes ) +dnl AC_DEFINE([HAVE_PARTITION_DB], [1], [Builds Partition DB]) +dnl AC_MSG_RESULT([yes]) +dnl [partitiondb=yes] +dnl ;; +dnl * ) +dnl AC_MSG_RESULT([no]) +dnl [partitiondb=no] +dnl ;; +dnl esac AC_DEFINE([HAVE_PARTITION_DB], [1], [Builds Partition DB]) AC_MSG_RESULT([yes]) [partitiondb=yes] - ;; - * ) - AC_MSG_RESULT([no]) - [partitiondb=no] - ;; - esac ]) dnl --------------------------------------------------------------------------- diff --git a/config/ac-macros/storage.m4 b/config/ac-macros/storage.m4 new file mode 100644 index 00000000000..83024c9fd74 --- /dev/null +++ b/config/ac-macros/storage.m4 @@ -0,0 +1,47 @@ +dnl --------------------------------------------------------------------------- +dnl Macro: MYSQL_STORAGE_ENGINE +dnl +dnl What it does: +dnl creates --with-xxx configure option +dnl adds HAVE_XXX to config.h +dnl appends &xxx_hton, to the list of hanldertons +dnl appends a dir to the list of source directories +dnl appends ha_xxx.cc to the list of handler files +dnl +dnl all names above are configurable with reasonable defaults. +dnl +dnl --------------------------------------------------------------------------- + +AC_DEFUN([MYSQL_STORAGE_ENGINE], +[_MYSQL_STORAGE_ENGINE( +[$1], dnl name +m4_default([$2], [$1 storage engine]), dnl verbose name +m4_default([$3], [$1-storage-engine]), dnl with-name +m4_default([$4], no), dnl default +m4_default([$5], [WITH_]AS_TR_CPP([$1])[_STORAGE_ENGINE]), +m4_default([$6], $1[_hton]), dnl hton +m4_default([$7], []), dnl path to the code +m4_default([$8], [ha_$1.o]), dnl path to the handler in +m4_default([$9], []), dnl path to extra libraries +[$10], dnl code-if-set +)]) + +AC_DEFUN([_MYSQL_STORAGE_ENGINE], +[ +AC_ARG_WITH([$3], AS_HELP_STRING([--with-$3], [enable $2 (default is $4)]), +[], [ [with_]m4_bpatsubst([$3], -, _)=['$4']]) +AC_CACHE_CHECK([whether to use $2], [mysql_cv_use_]m4_bpatsubst([$3], -, _), +[mysql_cv_use_]m4_bpatsubst([$3], -, _)=[$with_]m4_bpatsubst([$3], -, _)) +AH_TEMPLATE([$5], [Build $2]) +if test "[$mysql_cv_use_]m4_bpatsubst([$3], -, _)" != no; then +AC_DEFINE([$5]) +mysql_se_decls="${mysql_se_decls},$6" +mysql_se_htons="${mysql_se_htons},&$6" +mysql_se_dirs="$mysql_se_dirs $7" +mysql_se_objs="$mysql_se_objs $8" +mysql_se_libs="$mysql_se_libs $9" +$10 +fi +]) + +dnl --------------------------------------------------------------------------- |