summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am24
-rw-r--r--include/Makefile.am23
-rw-r--r--scripts/mysql_install_db.sh36
3 files changed, 49 insertions, 34 deletions
diff --git a/Makefile.am b/Makefile.am
index 9752075fe78..6038825c928 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -49,6 +49,14 @@ BUILT_SOURCES = linked_client_sources linked_server_sources \
CLEANFILES = $(BUILT_SOURCES) bdb/build_unix/db.h
DISTCLEANFILES = ac_available_languages_fragment
+# Our current filtering of "sql_yacc.cc" in "sql/Makefile.am" creates
+# a problem, if a VPATH build and "sql_yacc.cc" was part of the source
+# distribution we end up with one "sql_yacc.cc" in the source tree,
+# and one in the build tree. This breaks "distcleancheck", until this
+# is sorted out we redefine the find that scans for files not removed
+
+distcleancheck_listfiles = find . -name sql_yacc.cc -o -type f -print
+
linked_include_sources:
cd include; $(MAKE) link_sources
echo timestamp > linked_include_sources
@@ -93,17 +101,11 @@ bin-dist: all
dist-hook:
rm -rf `find $(distdir) -type d -name SCCS -print`
rm -f `find $(distdir) -type l -print`
- if echo "$(distdir)" | grep -q '^/' ; then \
- mkdir -p "$(distdir)/win" ; \
- scripts/mysql_install_db --no-defaults --windows \
- --basedir=$(top_srcdir) \
- --datadir="$(distdir)/win/data"; \
- else \
- mkdir -p "$$(pwd)/$(distdir)/win" ; \
- scripts/mysql_install_db --no-defaults --windows \
- --basedir=$(top_srcdir) \
- --datadir="$$(pwd)/$(distdir)/win/data"; \
- fi
+ mkdir -p $(distdir)/win
+ scripts/mysql_install_db --no-defaults --windows \
+ --basedir=$(top_builddir) \
+ --datadir=$(distdir)/win/data \
+ --srcdir=$(top_srcdir)
tags:
support-files/build-tags
diff --git a/include/Makefile.am b/include/Makefile.am
index 3500503207c..8a4799149d0 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -15,14 +15,17 @@
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA
-BUILT_SOURCES = mysql_version.h my_config.h
-pkginclude_HEADERS = my_dbug.h m_string.h my_sys.h my_list.h my_xml.h \
- mysql.h mysql_com.h mysql_embed.h \
- my_semaphore.h my_pthread.h my_no_pthread.h raid.h \
- errmsg.h my_global.h my_net.h my_alloc.h \
- my_getopt.h sslopt-longopts.h my_dir.h typelib.h \
+BUILT_SOURCES = $(HEADERS_GEN) abi_check
+HEADERS_GEN = mysql_version.h my_config.h
+HEADERS_ABI = mysql.h mysql_com.h mysql_time.h \
+ my_list.h my_alloc.h typelib.h
+pkginclude_HEADERS = $(HEADERS_ABI) my_dbug.h m_string.h my_sys.h \
+ my_xml.h mysql_embed.h \
+ my_semaphore.h my_pthread.h my_no_pthread.h raid.h \
+ errmsg.h my_global.h my_net.h \
+ my_getopt.h sslopt-longopts.h my_dir.h \
sslopt-vars.h sslopt-case.h sql_common.h keycache.h \
- mysql_time.h m_ctype.h $(BUILT_SOURCES)
+ m_ctype.h $(HEADERS_GEN)
noinst_HEADERS = config-win.h config-os2.h config-netware.h \
heap.h my_bitmap.h\
myisam.h myisampack.h myisammrg.h ft_global.h\
@@ -59,8 +62,7 @@ dist-hook:
#
# Create a icheck file and compare it to the reference
-abi_check: mysql.h mysql_version.h mysql_com.h mysql_time.h my_list.h \
- my_alloc.h typelib.h mysql_h.ic
+abi_check: $(HEADERS_ABI) mysql_version.h mysql_h.ic
@set -ex; \
if [ @ICHECK@ != no ] ; then \
@ICHECK@ --canonify --skip-from-re /usr/ -o $@.ic mysql.h; \
@@ -68,8 +70,5 @@ abi_check: mysql.h mysql_version.h mysql_com.h mysql_time.h my_list.h \
fi; \
touch abi_check;
-all: abi_check
-
-
# Don't update the files from bitkeeper
%::SCCS/s.%
diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh
index 5d7933e5277..e43b586054e 100644
--- a/scripts/mysql_install_db.sh
+++ b/scripts/mysql_install_db.sh
@@ -33,6 +33,7 @@ parse_arguments() {
case "$arg" in
--force) force=1 ;;
--basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+ --srcdir=*) srcdir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
--ldata=*|--datadir=*) ldata=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
--user=*)
# Note that the user will be passed to mysqld so that it runs
@@ -78,6 +79,7 @@ ldata=
execdir=
bindir=
basedir=
+srcdir=
force=0
verbose=0
fill_help_tables=""
@@ -106,18 +108,24 @@ else
fi
# find fill_help_tables.sh
-for i in $basedir/support-files $basedir/share $basedir/share/mysql $basedir/scripts `pwd` `pwd`/scripts @pkgdatadir@
-do
- if test -f $i/fill_help_tables.sql
- then
- pkgdatadir=$i
- fi
-done
-
-if test -f $pkgdatadir/fill_help_tables.sql
+if test -n "$srcdir"
then
- fill_help_tables=$pkgdatadir/fill_help_tables.sql
+ fill_help_tables=$srcdir/scripts/fill_help_tables.sql
else
+ for i in $basedir/support-files $basedir/share $basedir/share/mysql \
+ $basedir/scripts `pwd` `pwd`/scripts @pkgdatadir@
+ do
+ if test -f $i/fill_help_tables.sql
+ then
+ pkgdatadir=$i
+ fi
+ done
+
+ fill_help_tables=$pkgdatadir/fill_help_tables.sql
+fi
+
+if test ! -f $fill_help_tables
+then
echo "Could not find help file 'fill_help_tables.sql' in @pkgdatadir@ or inside $basedir".
exit 1;
fi
@@ -130,7 +138,13 @@ scriptdir=$bindir
if test "$windows" = 1
then
mysqld="./sql/mysqld"
- mysqld_opt="--language=./sql/share/english"
+ if test -n "$srcdir" -a -f $srcdir/sql/share/english/errmsg.sys
+ then
+ langdir=$srcdir/sql/share/english
+ else
+ langdir=./sql/share/english
+ fi
+ mysqld_opt="--language=$langdir"
scriptdir="./scripts"
fi