summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xBUILD/compile-dist4
-rw-r--r--Makefile.am16
-rw-r--r--config/ac-macros/yassl.m411
-rw-r--r--config/ac-macros/zlib.m46
-rw-r--r--configure.in39
-rw-r--r--extra/Makefile.am5
-rw-r--r--libmysql_r/Makefile.am11
-rw-r--r--libmysqld/Makefile.am10
-rw-r--r--mysql-test/ndb/Makefile.am9
-rw-r--r--plugin/Makefile.am5
-rw-r--r--storage/Makefile.am3
-rw-r--r--storage/ndb/Makefile.am1
12 files changed, 71 insertions, 49 deletions
diff --git a/BUILD/compile-dist b/BUILD/compile-dist
index 6cc537cdf9c..dea29d4612b 100755
--- a/BUILD/compile-dist
+++ b/BUILD/compile-dist
@@ -52,7 +52,9 @@ fi
--with-federated-storage-engine \
--with-berkeley-db \
--with-innodb \
+ --with-yassl \
--enable-thread-safe-client \
--with-extra-charsets=complex \
- --with-ndbcluster
+ --with-ndbcluster \
+ --with-zlib-dir=bundled
make
diff --git a/Makefile.am b/Makefile.am
index 3f17cbe797d..c9cffd79529 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,25 +21,17 @@ AUTOMAKE_OPTIONS = foreign
# These are built from source in the Docs directory
EXTRA_DIST = INSTALL-SOURCE INSTALL-WIN-SOURCE \
README COPYING EXCEPTIONS-CLIENT cmakelists.txt
-SUBDIRS = . include @docs_dirs@ @zlib_dir@ @yassl_dir@ \
+SUBDIRS = . include @docs_dirs@ @zlib_dir@ \
@readline_topdir@ sql-common \
@thread_dirs@ pstack \
- @sql_union_dirs@ @mysql_se_dirs@ \
+ @sql_union_dirs@ storage \
@sql_server@ scripts @man_dirs@ tests \
@mysql_se_plugins@ \
netware @libmysqld_dirs@ \
@bench_dirs@ support-files @tools_dirs@ \
plugin win
-DIST_SUBDIRS = . include @docs_dirs@ zlib \
- @readline_topdir@ sql-common \
- @thread_dirs@ pstack \
- strings mysys dbug extra regex storage \
- vio sql libmysql_r libmysql client scripts \
- @man_dirs@ tests SSL\
- BUILD netware os2 @libmysqld_dirs@\
- @bench_dirs@ support-files server-tools tools \
- plugin win
+DIST_SUBDIRS = $(SUBDIRS) SSL BUILD os2
# Run these targets before any others, also make part of clean target,
# to make sure we create new links after a clean.
@@ -100,9 +92,11 @@ dist-hook:
rm -rf `find $(distdir) -type d -name SCCS -print`
if echo "$(distdir)" | grep -q '^/' ; then \
scripts/mysql_install_db --no-defaults --windows \
+ --basedir=$(top_srcdir) \
--datadir="$(distdir)/win/data"; \
else \
scripts/mysql_install_db --no-defaults --windows \
+ --basedir=$(top_srcdir) \
--datadir="$$(pwd)/$(distdir)/win/data"; \
fi
diff --git a/config/ac-macros/yassl.m4 b/config/ac-macros/yassl.m4
index c736f2f10f2..906a65a2fc3 100644
--- a/config/ac-macros/yassl.m4
+++ b/config/ac-macros/yassl.m4
@@ -1,8 +1,3 @@
-AC_CONFIG_FILES(extra/yassl/Makefile dnl
-extra/yassl/taocrypt/Makefile dnl
-extra/yassl/taocrypt/src/Makefile dnl
-extra/yassl/src/Makefile)
-
AC_DEFUN([MYSQL_CHECK_YASSL], [
AC_MSG_CHECKING(for yaSSL)
AC_ARG_WITH([yassl], [ --with-yassl Include the yaSSL support],,)
@@ -14,7 +9,11 @@ AC_DEFUN([MYSQL_CHECK_YASSL], [
AC_MSG_ERROR([Cannot configure MySQL to use yaSSL and OpenSSL simultaneously.])
fi
AC_MSG_RESULT([using bundled yaSSL])
- yassl_dir="extra/yassl"
+ AC_CONFIG_FILES(extra/yassl/Makefile dnl
+ extra/yassl/taocrypt/Makefile dnl
+ extra/yassl/taocrypt/src/Makefile dnl
+ extra/yassl/src/Makefile)
+ yassl_dir="yassl"
yassl_libs="-L\$(top_srcdir)/extra/yassl/src -lyassl -L\$(top_srcdir)/extra/yassl/taocrypt/src -ltaocrypt"
yassl_includes="-I\$(top_srcdir)/extra/yassl/include"
AC_DEFINE([HAVE_OPENSSL], [1], [Defined by configure. Using yaSSL for OpenSSL emulation.])
diff --git a/config/ac-macros/zlib.m4 b/config/ac-macros/zlib.m4
index a8c54c845a1..23cc132aca8 100644
--- a/config/ac-macros/zlib.m4
+++ b/config/ac-macros/zlib.m4
@@ -63,7 +63,7 @@ case $SYSTEM_TYPE in
;;
*)
AC_ARG_WITH([zlib-dir],
- AC_HELP_STRING([--with-zlib-dir=DIR],
+ AC_HELP_STRING([--with-zlib-dir=no|bundled|DIR],
[Provide MySQL with a custom location of
compression library. Given DIR, zlib binary is
assumed to be in $DIR/lib and header files
@@ -113,6 +113,10 @@ case $SYSTEM_TYPE in
fi
;;
esac
+if test -n "$zlib_dir"
+then
+ AC_CONFIG_FILES(zlib/Makefile)
+fi
])
dnl ------------------------------------------------------------------------
diff --git a/configure.in b/configure.in
index 250d7f6d1c2..ddc771b3ca4 100644
--- a/configure.in
+++ b/configure.in
@@ -2304,16 +2304,20 @@ fi
AC_SUBST(man_dirs)
AC_SUBST(man1_files)
+if test -e sql-bench
+then
# Shall we build the bench code?
AC_ARG_WITH(bench,
[ --without-bench Skip building of the benchmark suite.],
[with_bench=$withval],
[with_bench=yes]
)
+fi
if test "$with_bench" = "yes"
then
bench_dirs="sql-bench"
+ AC_CONFIG_FILES(sql-bench/Makefile)
else
bench_dirs=""
fi
@@ -2332,6 +2336,11 @@ AC_ARG_WITH(libedit,
[ with_libedit=$withval ],
[ with_libedit=undefined ]
)
+if test -z "$with_readline$with_libedit" -a ! -e cmd-line-utils
+then
+ with_readline=no
+ with_libedit=no
+fi
#
# We support next variants of compilation:
@@ -2408,6 +2417,16 @@ else
versions of libedit or readline])
fi
fi
+#
+# if either readline or libedit is enabled - generate Makefile's for both
+# (to make sure both are included in 'make dist')
+#
+if test -n "$readline_basedir"
+then
+ AC_CONFIG_FILES(cmd-line-utils/Makefile dnl
+ cmd-line-utils/libedit/Makefile dnl
+ cmd-line-utils/readline/Makefile)
+fi
fi
AC_SUBST(readline_dir)
@@ -2420,7 +2439,7 @@ MYSQL_CHECK_BIG_TABLES
MYSQL_CHECK_MAX_INDEXES
MYSQL_CHECK_REPLICATION
-MYSQL_STORAGE_ENGINE(innobase,,innodb,,,,storage/innobase,ha_innodb.o,[ dnl
+MYSQL_STORAGE_ENGINE(innobase,,innodb,,,,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
@@ -2462,24 +2481,24 @@ MYSQL_STORAGE_ENGINE(innobase,,innodb,,,,storage/innobase,ha_innodb.o,[ dnl
other_configures="$other_configures storage/innobase/configure"
])
-MYSQL_STORAGE_ENGINE(berkeley,,berkeley-db,,,,storage/bdb,,,[
+MYSQL_STORAGE_ENGINE(berkeley,,berkeley-db,,,,bdb,,,[
MYSQL_SETUP_BERKELEY_DB
])
-MYSQL_STORAGE_ENGINE(example,,,,,,storage/example,no,
+MYSQL_STORAGE_ENGINE(example,,,,,,example,no,
\$(top_builddir)/storage/example/libexample.a,[
AC_CONFIG_FILES(storage/example/Makefile)
])
-MYSQL_STORAGE_ENGINE(archive,,,,,,storage/archive,,
+MYSQL_STORAGE_ENGINE(archive,,,,,,archive,,
\$(top_builddir)/storage/archive/libarchive.a, [
AC_CONFIG_FILES(storage/archive/Makefile)
])
-MYSQL_STORAGE_ENGINE(csv,,,"yes",,tina_hton,storage/csv,no,
+MYSQL_STORAGE_ENGINE(csv,,,"yes",,tina_hton,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_STORAGE_ENGINE(ndbcluster,,ndbcluster,,,,ndb,,,[
MYSQL_SETUP_NDBCLUSTER
])
MYSQL_STORAGE_ENGINE(partition,,partition)
@@ -2539,7 +2558,7 @@ 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"
+ mysql_se_dirs="myisam myisammrg heap $mysql_se_dirs"
sql_server="$sql_server vio sql"
fi
@@ -2610,16 +2629,12 @@ AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile dnl
pstack/Makefile pstack/aout/Makefile sql/Makefile sql/share/Makefile dnl
sql/handlerton.cc sql-common/Makefile SSL/Makefile dnl
dbug/Makefile scripts/Makefile dnl
- include/Makefile sql-bench/Makefile dnl
+ include/Makefile dnl
server-tools/Makefile server-tools/instance-manager/Makefile dnl
tests/Makefile Docs/Makefile support-files/Makefile dnl
support-files/MacOSX/Makefile mysql-test/Makefile dnl
mysql-test/ndb/Makefile netware/Makefile dnl
include/mysql_version.h dnl
- cmd-line-utils/Makefile dnl
- cmd-line-utils/libedit/Makefile dnl
- zlib/Makefile dnl
- cmd-line-utils/readline/Makefile dnl
plugin/Makefile dnl
plugin/fulltext/Makefile dnl
win/Makefile)
diff --git a/extra/Makefile.am b/extra/Makefile.am
index 0aaa8c4d127..4b483128439 100644
--- a/extra/Makefile.am
+++ b/extra/Makefile.am
@@ -23,10 +23,7 @@ BUILT_SOURCES= $(top_builddir)/include/mysqld_error.h \
$(top_builddir)/include/mysqld_ername.h
pkginclude_HEADERS= $(BUILT_SOURCES)
CLEANFILES = $(BUILT_SOURCES)
-# We never use SUBDIRS here, but needed for automake 1.6.3
-# to generate code to handle DIST_SUBDIRS
-SUBDIRS=
-DIST_SUBDIRS= yassl
+SUBDIRS = @yassl_dir@
# This will build mysqld_error.h and sql_state.h
$(top_builddir)/include/mysqld_error.h: comp_err$(EXEEXT)
diff --git a/libmysql_r/Makefile.am b/libmysql_r/Makefile.am
index d28f31b2258..a1ccbca48e5 100644
--- a/libmysql_r/Makefile.am
+++ b/libmysql_r/Makefile.am
@@ -29,8 +29,6 @@ INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
## automake barfs if you don't use $(srcdir) or $(top_srcdir) in include
include $(top_srcdir)/libmysql/Makefile.shared
-libmysql_dir = $(top_srcdir)/libmysql
-
libmysqlclient_r_la_SOURCES = $(target_sources)
libmysqlclient_r_la_LIBADD = $(target_libadd) $(yassl_las)
libmysqlclient_r_la_LDFLAGS = $(target_ldflags)
@@ -38,7 +36,12 @@ libmysqlclient_r_la_LDFLAGS = $(target_ldflags)
# This is called from the toplevel makefile
link_sources:
set -x; \
- for f in `cd $(libmysql_dir) && echo *.[ch]`; do \
+ for f in `cd $(top_srcdir)/libmysql && echo *.[ch]`; do \
+ rm -f $$f; \
+ @LN_CP_F@ $(top_srcdir)/libmysql/$$f $$f; \
+ done
+ for f in `cd $(top_builddir)/libmysql && echo *.[ch]`; do \
rm -f $$f; \
- @LN_CP_F@ $(libmysql_dir)/$$f $$f; \
+ @LN_CP_F@ $(top_builddir)/libmysql/$$f $$f; \
done
+
diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am
index 961eea21d2a..89c5b645104 100644
--- a/libmysqld/Makefile.am
+++ b/libmysqld/Makefile.am
@@ -136,12 +136,18 @@ else
then \
$(libmysqld_a_AR) libmysqld.a libmysqld_int.a $(INC_LIB) ; \
else \
+ rm -rf tmp; mkdir tmp; \
(for arc in ./libmysqld_int.a $(INC_LIB); do \
arpath=`echo $$arc|sed 's|[^/]*$$||'`; \
- $(AR) t $$arc|xargs -n 1 find $$arpath -name; \
- $(AR) t $$arc|xargs -n 1 find `dirname $$arpath` -path \*/`basename $$arpath`/\* -name; \
+ artmp=`echo $$arc|sed 's|^.*/|tmp/lib-|'`; \
+ for F in `$(AR) t $$arc`; do \
+ if test -e "$$arpath/$$F" ; then echo "$$arpath/$$F"; else \
+ mkdir $$artmp; cd $$artmp; $(AR) x ../../$$arc; \
+ cd ../..; ls $$artmp/*; \
+ continue 2; fi; done; \
done; echo $(libmysqld_a_DEPENDENCIES) ) | sort -u | xargs $(AR) cq libmysqld.a ; \
$(RANLIB) libmysqld.a ; \
+ rm -rf tmp; \
fi
endif
diff --git a/mysql-test/ndb/Makefile.am b/mysql-test/ndb/Makefile.am
index 2a1c59fd359..4ddf61cf5cc 100644
--- a/mysql-test/ndb/Makefile.am
+++ b/mysql-test/ndb/Makefile.am
@@ -1,14 +1,11 @@
-BUILT_SOURCES = ndbcluster
-
benchdir_root= $(prefix)
testdir = $(benchdir_root)/mysql-test/ndb
-test_SCRIPTS = ndbcluster
-
-noinst_HEADERS = ndbcluster.sh
-
+EXTRA_DIST = ndbcluster.sh
+CLEANFILES = ndbcluster
dist_test_DATA = ndb_config_2_node.ini ndb_config_1_node.ini
+test_SCRIPTS = ndbcluster
SUFFIXES = .sh
diff --git a/plugin/Makefile.am b/plugin/Makefile.am
index da4ff0a8d5c..d0f68a9c84b 100644
--- a/plugin/Makefile.am
+++ b/plugin/Makefile.am
@@ -1 +1,6 @@
SUBDIRS= fulltext
+
+# extra plugin example files are listed here, to
+# keep its Makefile.am cleaner as a template
+EXTRA_DIST= fulltext/configure.in
+
diff --git a/storage/Makefile.am b/storage/Makefile.am
index 95c49b50890..900e486c6ac 100644
--- a/storage/Makefile.am
+++ b/storage/Makefile.am
@@ -20,8 +20,7 @@ AUTOMAKE_OPTIONS = foreign
# These are built from source in the Docs directory
EXTRA_DIST =
-SUBDIRS =
-DIST_SUBDIRS = . csv example bdb heap innobase myisam myisammrg ndb archive
+SUBDIRS = @mysql_se_dirs@
# Don't update the files from bitkeeper
%::SCCS/s.%
diff --git a/storage/ndb/Makefile.am b/storage/ndb/Makefile.am
index 9adb67f89fc..c4ebf5e7688 100644
--- a/storage/ndb/Makefile.am
+++ b/storage/ndb/Makefile.am
@@ -1,6 +1,7 @@
SUBDIRS = src tools . include @ndb_opt_subdirs@
DIST_SUBDIRS = src tools include test docs
EXTRA_DIST = config ndbapi-examples
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
include $(top_srcdir)/storage/ndb/config/common.mk.am