Commit 2fb435f5 authored by unknown's avatar unknown

fixes for 'make dist' and 'make distcheck'


BUILD/compile-dist:
  fixes for 'make dist' and 'make distcheck'
  include yassl in "dist"
Makefile.am:
  fixes for 'make dist' and 'make distcheck'
  remove double-listing of everything in SUBDIRS and DIST_SUBDIRS
  remove @yassl_dir@, it belongs to extra/Makefile.am
  specify --basedir for mysql_install_db, in case builddir (where mysql_install_db is)
  differs from srcdir (where mysql_fix_privilege_tables.sql is)
config/ac-macros/yassl.m4:
  fixes for 'make dist' and 'make distcheck'
  create Makefile's only if yassl is used
  yassl_dir must not include /
config/ac-macros/zlib.m4:
  fixes for 'make dist' and 'make distcheck'
  create Makefile only if zlib is used
configure.in:
  fixes for 'make dist' and 'make distcheck'
  create Makefile only if a feature is enabled
  storage engine dirs must not include /
  automatically disable readline/libedit/sql-bench if source dir is missing
extra/Makefile.am:
  fixes for 'make dist' and 'make distcheck'
  remove SUBDIR/DIST_SUBDIR hack
libmysql_r/Makefile.am:
  fixes for 'make dist' and 'make distcheck'
  when symlinking all files from libmysql/ take into account that
  srcdir != builddir
libmysqld/Makefile.am:
  fixes for 'make dist' and 'make distcheck'
  remove fragile promiscuous search for object files
  if .o file is not where we look for it - extract it from the library
mysql-test/ndb/Makefile.am:
  fixes for 'make dist' and 'make distcheck'
  ndbcluster script is not a "source"
  don't forget to cleanup
plugin/Makefile.am:
  fixes for 'make dist' and 'make distcheck'
  include plugin/fulltext/configure.in template in the distribution
storage/Makefile.am:
  fixes for 'make dist' and 'make distcheck'
  remove SUBDIRS/DIST_SUBDIRS hack
storage/ndb/Makefile.am:
  fixes for 'make dist' and 'make distcheck'
  force common.mk.am out of DIST_COMMON (which is otherwise an
  auto-generated list of Makefile's sources) because it's listed
  indirectly in EXTRA_DIST, and with bk -r get, a file cannot be copied
  twice.
parent ffcbdd8f
......@@ -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
......@@ -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
......
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.])
......
......@@ -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 ------------------------------------------------------------------------
......@@ -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)
......
......@@ -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)
......
......@@ -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
......@@ -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
......
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
......
SUBDIRS= fulltext
# extra plugin example files are listed here, to
# keep its Makefile.am cleaner as a template
EXTRA_DIST= fulltext/configure.in
......@@ -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.%
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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment