summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Docs/Makefile.am10
-rw-r--r--client/mysql_upgrade.c14
-rw-r--r--config/ac-macros/ha_berkeley.m412
-rw-r--r--config/ac-macros/ha_innodb.m42
-rw-r--r--config/ac-macros/ha_ndbcluster.m42
-rw-r--r--extra/yassl/src/Makefile.am2
-rw-r--r--extra/yassl/taocrypt/benchmark/Makefile.am2
-rw-r--r--extra/yassl/taocrypt/benchmark/benchmark.dsp4
-rw-r--r--extra/yassl/taocrypt/src/Makefile.am2
-rw-r--r--extra/yassl/taocrypt/taocrypt.dsp4
-rwxr-xr-xextra/yassl/taocrypt/taocrypt.vcproj4
-rw-r--r--extra/yassl/taocrypt/test.dsp4
-rw-r--r--extra/yassl/taocrypt/test/Makefile.am2
-rw-r--r--extra/yassl/testsuite/Makefile.am2
-rw-r--r--extra/yassl/testsuite/testsuite.dsp4
-rw-r--r--extra/yassl/yassl.dsp4
-rwxr-xr-xextra/yassl/yassl.vcproj4
-rw-r--r--include/my_sys.h5
-rw-r--r--libmysql/Makefile.shared4
-rw-r--r--libmysql_r/Makefile.am10
-rw-r--r--libmysqld/Makefile.am23
-rw-r--r--mysql-test/lib/mtr_report.pl6
-rw-r--r--mysql-test/lib/mtr_unique.pl156
-rwxr-xr-xmysql-test/mysql-test-run.pl5
-rw-r--r--ndb/config/type_kernel.mk.am5
-rw-r--r--ndb/config/type_ndbapi.mk.am5
-rw-r--r--ndb/config/type_ndbapitest.mk.am5
-rw-r--r--ndb/config/type_ndbapitools.mk.am5
-rw-r--r--ndb/config/type_util.mk.am2
-rw-r--r--ndb/src/kernel/Makefile.am30
-rw-r--r--ndb/src/mgmsrv/Makefile.am2
-rw-r--r--sql-common/my_time.c2
-rw-r--r--support-files/mysql.spec.sh23
33 files changed, 289 insertions, 77 deletions
diff --git a/Docs/Makefile.am b/Docs/Makefile.am
index 4722f61f5b9..66e77ae7d7c 100644
--- a/Docs/Makefile.am
+++ b/Docs/Makefile.am
@@ -45,22 +45,22 @@ CLEAN_FILES: $(TXT_FILES)
GT = $(srcdir)/Support/generate-text-files.pl
../INSTALL-SOURCE: mysql.info $(GT)
- perl -w $(GT) mysql.info "installing-source" "windows-source-build" > $@
+ perl -w $(GT) $(srcdir)/mysql.info "installing-source" "windows-source-build" > $@
../INSTALL-WIN-SOURCE: mysql.info $(GT)
- perl -w $(GT) mysql.info "windows-source-build" "post-installation" > $@
+ perl -w $(GT) $(srcdir)/mysql.info "windows-source-build" "post-installation" > $@
# We put the description for the binary installation here so that
# people who download source wont have to see it. It is moved up to
# the toplevel by the script that makes the binary tar files.
INSTALL-BINARY: mysql.info $(GT)
- perl -w $(GT) mysql.info "installing-binary" "installing-source" > $@
+ perl -w $(GT) $(srcdir)/mysql.info "installing-binary" "installing-source" > $@
../EXCEPTIONS-CLIENT: mysql.info $(GT)
- perl -w $(GT) mysql.info "mysql-floss-license-exception" "function-index" > $@
+ perl -w $(GT) $(srcdir)/mysql.info "mysql-floss-license-exception" "function-index" > $@
../support-files/MacOSX/ReadMe.txt: mysql.info $(GT)
- perl -w $(GT) mysql.info "mac-os-x-installation" "netware-installation" > $@
+ perl -w $(GT) $(srcdir)/mysql.info "mac-os-x-installation" "netware-installation" > $@
# Don't update the files from bitkeeper
%::SCCS/s.%
diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c
index e2b5931c2eb..520d87b5ed7 100644
--- a/client/mysql_upgrade.c
+++ b/client/mysql_upgrade.c
@@ -373,22 +373,24 @@ static int comp_names(struct fileinfo *a, struct fileinfo *b)
}
-static int
-find_file(const char *name, const char *root, uint flags, char *result, size_t len, ...)
+static int find_file(const char *name, const char *root,
+ uint flags, char *result, size_t len, ...)
{
- int ret;
+ int ret= 1;
va_list va;
- FILEINFO key= { (char*)name, NULL };
const char *subdir;
char *cp;
-
+ FILEINFO key;
+
+ /* Init key with name of the file to look for */
+ key.name= (char*)name;
+
DBUG_ASSERT(root != NULL);
cp= strmake(result, root, len);
if (cp[-1] != FN_LIBCHAR)
*cp++= FN_LIBCHAR;
- ret= 1;
va_start(va, len);
subdir= (!(flags & MY_SEARCH_SELF)) ? va_arg(va, char *) : "";
while (subdir)
diff --git a/config/ac-macros/ha_berkeley.m4 b/config/ac-macros/ha_berkeley.m4
index 732c7730816..82786436720 100644
--- a/config/ac-macros/ha_berkeley.m4
+++ b/config/ac-macros/ha_berkeley.m4
@@ -243,20 +243,20 @@ bdb_version_ok=yes
])
AC_DEFUN([MYSQL_TOP_BUILDDIR], [
+ # Remove trailing "./" if any
+ [$1]=`echo $[$1] | sed -e 's,^\./,,'`
case "$[$1]" in
- /* ) ;; # don't do anything with an absolute path
- "$srcdir"/* )
+ "bdb" | "$srcdir/bdb" | "$top_srcdir/bdb" | "$abs_top_srcdir/bdb" )
# If BDB is under the source directory, we need to look under the
# build directory for bdb/build_unix.
- # NOTE: I'm being lazy, and assuming the user did not specify
- # something like --with-berkeley-db=bdb (it would be missing "./").
- [$1]="\$(top_builddir)/"`echo "$[$1]" | sed -e "s,^$srcdir/,,"`
+ [$1]="\$(top_builddir)/bdb"
;;
+ /* ) ;; # Other absolute path is assume to be external BDB directory
* )
AC_MSG_ERROR([The BDB directory must be directly under the MySQL source directory, or be specified using the full path. ('$srcdir'; '$[$1]')])
;;
esac
- if test X"$[$1]" != "/"
+ if test X"$[$1]" != X"/"
then
[$1]=`echo $[$1] | sed -e 's,/$,,'`
fi
diff --git a/config/ac-macros/ha_innodb.m4 b/config/ac-macros/ha_innodb.m4
index 17f0fab3e90..f670eeb9751 100644
--- a/config/ac-macros/ha_innodb.m4
+++ b/config/ac-macros/ha_innodb.m4
@@ -20,7 +20,7 @@ AC_DEFUN([MYSQL_CHECK_INNODB], [
AC_MSG_RESULT([Using Innodb])
AC_DEFINE([HAVE_INNOBASE_DB], [1], [Using Innobase DB])
have_innodb="yes"
- innodb_includes="-I../innobase/include"
+ innodb_includes="-I\$(top_builddir)/innobase/include -I\$(top_srcdir)/innobase/include"
innodb_system_libs=""
dnl Some libs are listed several times, in order for gcc to sort out
dnl circular references.
diff --git a/config/ac-macros/ha_ndbcluster.m4 b/config/ac-macros/ha_ndbcluster.m4
index 2ff598242e4..8e953544df9 100644
--- a/config/ac-macros/ha_ndbcluster.m4
+++ b/config/ac-macros/ha_ndbcluster.m4
@@ -140,7 +140,7 @@ AC_DEFUN([MYSQL_CHECK_NDBCLUSTER], [
AC_MSG_RESULT([Using NDB Cluster])
AC_DEFINE([HAVE_NDBCLUSTER_DB], [1], [Using Ndb Cluster DB])
have_ndbcluster="yes"
- ndbcluster_includes="-I../ndb/include -I../ndb/include/ndbapi -I../ndb/include/mgmapi"
+ ndbcluster_includes="-I\$(top_builddir)/ndb/include -I\$(top_srcdir)/ndb/include -I\$(top_srcdir)/ndb/include/ndbapi -I\$(top_srcdir)/ndb/include/mgmapi"
ndbcluster_libs="\$(top_builddir)/ndb/src/.libs/libndbclient.a"
ndbcluster_system_libs=""
ndb_mgmclient_libs="\$(top_builddir)/ndb/src/mgmclient/libndbmgmclient.la"
diff --git a/extra/yassl/src/Makefile.am b/extra/yassl/src/Makefile.am
index 910bbbdd13f..bc57e7d05ba 100644
--- a/extra/yassl/src/Makefile.am
+++ b/extra/yassl/src/Makefile.am
@@ -1,4 +1,4 @@
-INCLUDES = -I../include -I../taocrypt/include -I../taocrypt/mySTL
+INCLUDES = -I$(srcdir)/../include -I$(srcdir)/../taocrypt/include -I$(srcdir)/../taocrypt/mySTL
noinst_LTLIBRARIES = libyassl.la
libyassl_la_SOURCES = buffer.cpp cert_wrapper.cpp crypto_wrapper.cpp \
diff --git a/extra/yassl/taocrypt/benchmark/Makefile.am b/extra/yassl/taocrypt/benchmark/Makefile.am
index a5b1713427c..674406d8ad6 100644
--- a/extra/yassl/taocrypt/benchmark/Makefile.am
+++ b/extra/yassl/taocrypt/benchmark/Makefile.am
@@ -1,4 +1,4 @@
-INCLUDES = -I../include -I../mySTL
+INCLUDES = -I$(srcdir)/../include -I$(srcdir)/../mySTL
bin_PROGRAMS = benchmark
benchmark_SOURCES = benchmark.cpp
benchmark_LDADD = $(top_builddir)/extra/yassl/taocrypt/src/libtaocrypt.la
diff --git a/extra/yassl/taocrypt/benchmark/benchmark.dsp b/extra/yassl/taocrypt/benchmark/benchmark.dsp
index ed8fef316bb..878dc2b2783 100644
--- a/extra/yassl/taocrypt/benchmark/benchmark.dsp
+++ b/extra/yassl/taocrypt/benchmark/benchmark.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\include" /I "..\..\mySTL" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\include" /I "..\mySTL" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -65,7 +65,7 @@ LINK32=link.exe
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\include" /I "..\..\mySTL" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\include" /I "..\mySTL" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
diff --git a/extra/yassl/taocrypt/src/Makefile.am b/extra/yassl/taocrypt/src/Makefile.am
index 6d02a625275..61032d4c381 100644
--- a/extra/yassl/taocrypt/src/Makefile.am
+++ b/extra/yassl/taocrypt/src/Makefile.am
@@ -1,4 +1,4 @@
-INCLUDES = -I../include -I../mySTL
+INCLUDES = -I$(srcdir)/../include -I$(srcdir)/../mySTL
noinst_LTLIBRARIES = libtaocrypt.la
diff --git a/extra/yassl/taocrypt/taocrypt.dsp b/extra/yassl/taocrypt/taocrypt.dsp
index 19edf7b2f22..3f1b47990ad 100644
--- a/extra/yassl/taocrypt/taocrypt.dsp
+++ b/extra/yassl/taocrypt/taocrypt.dsp
@@ -41,7 +41,7 @@ RSC=rc.exe
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /G6 /MT /W3 /O2 /I "include" /I "..\mySTL" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "include" /I "mySTL" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -64,7 +64,7 @@ LIB32=link.exe -lib
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "include" /I "..\mySTL" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "include" /I "mySTL" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# SUBTRACT CPP /Fr
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
diff --git a/extra/yassl/taocrypt/taocrypt.vcproj b/extra/yassl/taocrypt/taocrypt.vcproj
index 7eef7b82db7..7ffcb664346 100755
--- a/extra/yassl/taocrypt/taocrypt.vcproj
+++ b/extra/yassl/taocrypt/taocrypt.vcproj
@@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="include,..\mySTL"
+ AdditionalIncludeDirectories="include,mySTL"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
ExceptionHandling="FALSE"
BasicRuntimeChecks="3"
@@ -75,7 +75,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="include,..\mySTL"
+ AdditionalIncludeDirectories="include,mySTL"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="TRUE"
ExceptionHandling="FALSE"
diff --git a/extra/yassl/taocrypt/test.dsp b/extra/yassl/taocrypt/test.dsp
index a5e05ed0ac0..1084f8e06e3 100644
--- a/extra/yassl/taocrypt/test.dsp
+++ b/extra/yassl/taocrypt/test.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /O2 /I "include" /I "../mySTL" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /c
+# ADD CPP /nologo /MT /W3 /O2 /I "include" /I "mySTL" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -66,7 +66,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "include" /I "../mySTL" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "include" /I "mySTL" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
diff --git a/extra/yassl/taocrypt/test/Makefile.am b/extra/yassl/taocrypt/test/Makefile.am
index 988d00c7bef..25e1a98fc94 100644
--- a/extra/yassl/taocrypt/test/Makefile.am
+++ b/extra/yassl/taocrypt/test/Makefile.am
@@ -1,4 +1,4 @@
-INCLUDES = -I../include -I../mySTL
+INCLUDES = -I$(srcdir)/../include -I$(srcdir)/../mySTL
bin_PROGRAMS = test
test_SOURCES = test.cpp
test_LDADD = $(top_builddir)/extra/yassl/taocrypt/src/libtaocrypt.la
diff --git a/extra/yassl/testsuite/Makefile.am b/extra/yassl/testsuite/Makefile.am
index e8abffd6bb0..138077300f9 100644
--- a/extra/yassl/testsuite/Makefile.am
+++ b/extra/yassl/testsuite/Makefile.am
@@ -1,4 +1,4 @@
-INCLUDES = -I../include -I../taocrypt/include -I../taocrypt/mySTL
+INCLUDES = -I$(srcdir)/../include -I$(srcdir)/../taocrypt/include -I$(srcdir)/../taocrypt/mySTL
bin_PROGRAMS = testsuite
testsuite_SOURCES = testsuite.cpp ../taocrypt/test/test.cpp \
../examples/client/client.cpp ../examples/server/server.cpp \
diff --git a/extra/yassl/testsuite/testsuite.dsp b/extra/yassl/testsuite/testsuite.dsp
index 24c325fa878..2a7f5a77433 100644
--- a/extra/yassl/testsuite/testsuite.dsp
+++ b/extra/yassl/testsuite/testsuite.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /O2 /I "../taocrypt/include" /I "../include" /I "../mySTL" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "NO_MAIN_DRIVER" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /O2 /I "../taocrypt/include" /I "../include" /I "../taocrypt/mySTL" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "NO_MAIN_DRIVER" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -67,7 +67,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "../taocrypt/include" /I "../include" /I "../mySTL" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "NO_MAIN_DRIVER" /FR /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "../taocrypt/include" /I "../include" /I "../taocrypt/mySTL" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "NO_MAIN_DRIVER" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
diff --git a/extra/yassl/yassl.dsp b/extra/yassl/yassl.dsp
index 58c016da448..f9b1699e667 100644
--- a/extra/yassl/yassl.dsp
+++ b/extra/yassl/yassl.dsp
@@ -41,7 +41,7 @@ RSC=rc.exe
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "YASSL_PREFIX" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /O2 /I "include" /I "taocrypt\include" /I "mySTL" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "YASSL_PREFIX" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /O2 /I "include" /I "taocrypt\include" /I "taocrypt\mySTL" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "YASSL_PREFIX" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -64,7 +64,7 @@ LIB32=link.exe -lib
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "YASSL_PREFIX" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "include" /I "taocrypt\include" /I "mySTL" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "YASSL_PREFIX" /FR /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "include" /I "taocrypt\include" /I "taocrypt\mySTL" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "YASSL_PREFIX" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
diff --git a/extra/yassl/yassl.vcproj b/extra/yassl/yassl.vcproj
index a7688ac4583..ec7dceb5096 100755
--- a/extra/yassl/yassl.vcproj
+++ b/extra/yassl/yassl.vcproj
@@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="include,taocrypt\include,mySTL"
+ AdditionalIncludeDirectories="include,taocrypt\include,taocrypt\mySTL"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;YASSL_PREFIX"
ExceptionHandling="FALSE"
BasicRuntimeChecks="3"
@@ -75,7 +75,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="include,taocrypt\include,mySTL"
+ AdditionalIncludeDirectories="include,taocrypt\include,taocrypt\mySTL"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;YASSL_PREFIX"
StringPooling="TRUE"
ExceptionHandling="FALSE"
diff --git a/include/my_sys.h b/include/my_sys.h
index ebb518314b2..65bfb0b7e6a 100644
--- a/include/my_sys.h
+++ b/include/my_sys.h
@@ -863,7 +863,12 @@ my_bool my_gethwaddr(uchar *to);
#define HAVE_MMAP
#endif
+#ifndef __NETWARE__
int my_getpagesize(void);
+#else
+#define my_getpagesize() 8192
+#endif
+
void *my_mmap(void *, size_t, int, int, int, my_off_t);
int my_munmap(void *, size_t);
#endif
diff --git a/libmysql/Makefile.shared b/libmysql/Makefile.shared
index c2d98a81042..dc6d658fcdf 100644
--- a/libmysql/Makefile.shared
+++ b/libmysql/Makefile.shared
@@ -89,8 +89,8 @@ DEFS = -DDEFAULT_CHARSET_HOME="\"$(MYSQLBASEdir)\"" \
-DSHAREDIR="\"$(MYSQLSHAREdir)\"" $(target_defs)
if HAVE_YASSL
-yassl_las = $(top_srcdir)/extra/yassl/src/libyassl.la \
- $(top_srcdir)/extra/yassl/taocrypt/src/libtaocrypt.la
+yassl_las = $(top_builddir)/extra/yassl/src/libyassl.la \
+ $(top_builddir)/extra/yassl/taocrypt/src/libtaocrypt.la
endif
# The automatic dependencies miss this
diff --git a/libmysql_r/Makefile.am b/libmysql_r/Makefile.am
index aaf81add00b..062acccda07 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,9 @@ 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 \
- rm -f $$f; \
- @LN_CP_F@ $(libmysql_dir)/$$f $$f; \
+ for d in $(top_srcdir)/libmysql $(top_builddir)/libmysql; do \
+ for f in `cd $$d && echo *.[ch]`; do \
+ rm -f $$f; \
+ @LN_CP_F@ $$d/$$f $$f; \
+ done; \
done
diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am
index 89b473fb815..cdd71724166 100644
--- a/libmysqld/Makefile.am
+++ b/libmysqld/Makefile.am
@@ -25,9 +25,10 @@ DEFS = -DEMBEDDED_LIBRARY -DMYSQL_SERVER \
-DDEFAULT_MYSQL_HOME="\"$(MYSQLBASEdir)\"" \
-DDATADIR="\"$(MYSQLDATAdir)\"" \
-DSHAREDIR="\"$(MYSQLSHAREdir)\""
-INCLUDES= @bdb_includes@ \
+INCLUDES= @bdb_includes@ @innodb_includes@ @ndbcluster_includes@ \
-I$(top_builddir)/include -I$(top_srcdir)/include \
- -I$(top_srcdir)/sql -I$(top_srcdir)/sql/examples \
+ -I$(top_builddir)/sql -I$(top_srcdir)/sql \
+ -I$(top_srcdir)/sql/examples \
-I$(top_srcdir)/regex \
$(openssl_includes) @ZLIB_INCLUDES@
@@ -118,16 +119,28 @@ endif
#libmysqld_la_LDFLAGS = -version-info @SHARED_LIB_VERSION@
#CLEANFILES = $(libmysqld_la_LIBADD) libmysqld.la
-# This is called from the toplevel makefile
+# This is called from the toplevel makefile. If we can link now
+# to an existing file in source, we do that, else we assume it
+# will show up in the build tree eventually (generated file).
link_sources:
set -x; \
for f in $(sqlsources); do \
rm -f $$f; \
- @LN_CP_F@ $(top_srcdir)/sql/$$f $$f; \
+ if test -e $(top_srcdir)/sql/$$f ; \
+ then \
+ @LN_CP_F@ $(top_srcdir)/sql/$$f $$f; \
+ else \
+ @LN_CP_F@ $(top_builddir)/sql/$$f $$f; \
+ fi ; \
done; \
for f in $(libmysqlsources); do \
rm -f $$f; \
- @LN_CP_F@ $(top_srcdir)/libmysql/$$f $$f; \
+ if test -e $(top_srcdir)/libmysql/$$f ; \
+ then \
+ @LN_CP_F@ $(top_srcdir)/libmysql/$$f $$f; \
+ else \
+ @LN_CP_F@ $(top_builddir)/libmysql/$$f $$f; \
+ fi ; \
done; \
for f in $(sqlexamplessources); do \
rm -f $$f; \
diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl
index 8d7de9d1a4b..d0e836c1a90 100644
--- a/mysql-test/lib/mtr_report.pl
+++ b/mysql-test/lib/mtr_report.pl
@@ -89,10 +89,14 @@ sub mtr_report_test_skipped ($) {
{
print "[ disabled ] $tinfo->{'comment'}\n";
}
- else
+ elsif ( $tinfo->{'comment'} )
{
print "[ skipped ] $tinfo->{'comment'}\n";
}
+ else
+ {
+ print "[ skipped ]\n";
+ }
}
sub mtr_report_tests_not_skipped_though_disabled ($) {
diff --git a/mysql-test/lib/mtr_unique.pl b/mysql-test/lib/mtr_unique.pl
new file mode 100644
index 00000000000..a8fb320c773
--- /dev/null
+++ b/mysql-test/lib/mtr_unique.pl
@@ -0,0 +1,156 @@
+#
+# This file is used from mysql-test-run.pl when choosing
+# port numbers and directories to use for running mysqld.
+#
+
+use strict;
+use Fcntl ':flock';
+
+#
+# Requested IDs are stored in a hash and released upon END.
+#
+my %mtr_unique_assigned_ids = ();
+END {
+ while(my ($id,$file) = each(%mtr_unique_assigned_ids)) {
+ print "Autoreleasing $file:$id\n";
+ mtr_release_unique_id($file, $id);
+ }
+}
+
+#
+# Require a unique, numerical ID, given a file name (where all
+# requested IDs are stored), a minimum and a maximum value.
+#
+# We use flock to implement locking for the ID file and ignore
+# possible problems arising from lack of support for it on
+# some platforms (it should work on most, and the possible
+# race condition would occur rarely). The proper solution for
+# this is a daemon that manages IDs, of course.
+#
+# If no unique ID within the specified parameters can be
+# obtained, return undef.
+#
+sub mtr_require_unique_id($$$) {
+ my $file = shift;
+ my $min = shift;
+ my $max = shift;
+ my $ret = undef;
+ my $changed = 0;
+
+ my $can_use_ps = `ps -e | grep '^[ ]*$$ '`;
+
+ if(eval("readlink '$file'") || eval("readlink '$file.sem'")) {
+ die 'lock file is a symbolic link';
+ }
+
+ chmod 0777, "$file.sem";
+ open SEM, ">", "$file.sem" or die "can't write to $file.sem";
+ flock SEM, LOCK_EX or die "can't lock $file.sem";
+ if(! -e $file) {
+ open FILE, ">", $file or die "can't create $file";
+ close FILE;
+ }
+
+ if(eval("readlink '$file'") || eval("readlink '$file.sem'")) {
+ die 'lock file is a symbolic link';
+ }
+
+ chmod 0777, $file;
+ open FILE, "+<", $file or die "can't open $file";
+ select undef,undef,undef,0.2;
+ seek FILE, 0, 0;
+ my %taken = ();
+ while(<FILE>) {
+ chomp;
+ my ($id, $pid) = split / /;
+ $taken{$id} = $pid;
+ if($can_use_ps) {
+ my $res = `ps -e | grep '^[ ]*$pid '`;
+ if(!$res) {
+ print "Ignoring slot $id used by missing process $pid.\n";
+ delete $taken{$id};
+ ++$changed;
+ }
+ }
+ }
+ for(my $i=$min; $i<=$max; ++$i) {
+ if(! exists $taken{$i}) {
+ $ret = $i;
+ $taken{$i} = $$;
+ ++$changed;
+ last;
+ }
+ }
+ if($changed) {
+ seek FILE, 0, 0;
+ truncate FILE, 0 or die "can't truncate $file";
+ for my $k (keys %taken) {
+ print FILE $k . ' ' . $taken{$k} . "\n";
+ }
+ }
+ close FILE;
+ flock SEM, LOCK_UN or warn "can't unlock $file.sem";
+ close SEM;
+ $mtr_unique_assigned_ids{$ret} = $file if defined $ret;
+ return $ret;
+}
+
+#
+# Require a unique ID like above, but sleep if no ID can be
+# obtained immediately.
+#
+sub mtr_require_unique_id_and_wait($$$) {
+ my $ret = mtr_require_unique_id($_[0],$_[1],$_[2]);
+ while(! defined $ret) {
+ sleep 30;
+ $ret = mtr_require_unique_id($_[0],$_[1],$_[2]);
+ print "Waiting for unique id to become available...\n" unless $ret;
+ }
+ return $ret;
+}
+
+#
+# Release a unique ID.
+#
+sub mtr_release_unique_id($$) {
+ my $file = shift;
+ my $myid = shift;
+
+ if(eval("readlink '$file'") || eval("readlink '$file.sem'")) {
+ die 'lock file is a symbolic link';
+ }
+
+ open SEM, ">", "$file.sem" or die "can't write to $file.sem";
+ flock SEM, LOCK_EX or die "can't lock $file.sem";
+
+ if(eval("readlink '$file'") || eval("readlink '$file.sem'")) {
+ die 'lock file is a symbolic link';
+ }
+
+ if(! -e $file) {
+ open FILE, ">", $file or die "can't create $file";
+ close FILE;
+ }
+ open FILE, "+<", $file or die "can't open $file";
+ select undef,undef,undef,0.2;
+ seek FILE, 0, 0;
+ my %taken = ();
+ while(<FILE>) {
+ chomp;
+ my ($id, $pid) = split / /;
+ $taken{$id} = $pid;
+ }
+ delete $taken{$myid};
+ seek FILE, 0, 0;
+ truncate FILE, 0 or die "can't truncate $file";
+ for my $k (keys %taken) {
+ print FILE $k . ' ' . $taken{$k} . "\n";
+ }
+ close FILE;
+ flock SEM, LOCK_UN or warn "can't unlock $file.sem";
+ close SEM;
+ delete $mtr_unique_assigned_ids{$myid};
+}
+
+1;
+
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 353674632a0..0d30cca409b 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -66,7 +66,6 @@ use IO::Socket::INET;
use Data::Dumper;
use strict;
use warnings;
-use diagnostics;
select(STDOUT);
$| = 1; # Automatically flush STDOUT
@@ -88,6 +87,7 @@ require "lib/mtr_diff.pl";
require "lib/mtr_match.pl";
require "lib/mtr_misc.pl";
require "lib/mtr_stress.pl";
+require "lib/mtr_unique.pl";
$Devel::Trace::TRACE= 1;
@@ -448,7 +448,6 @@ sub main () {
mtr_exit(0);
}
-
##############################################################################
#
# Default settings
@@ -1525,7 +1524,7 @@ sub executable_setup () {
$exe_mysql_client_test=
mtr_exe_maybe_exists(vs_config_dirs('tests', 'mysql_client_test'),
"$glob_basedir/tests/mysql_client_test",
- "$glob_basedir/bin");
+ "$glob_basedir/bin/mysql_client_test");
}
}
diff --git a/ndb/config/type_kernel.mk.am b/ndb/config/type_kernel.mk.am
index 703876ee2e9..ccb01709dfb 100644
--- a/ndb/config/type_kernel.mk.am
+++ b/ndb/config/type_kernel.mk.am
@@ -1,6 +1,9 @@
INCLUDES += \
- -I$(srcdir) -I$(top_srcdir)/include \
+ -I$(srcdir) \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/ndb/include \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/ndb/include \
-I$(top_srcdir)/ndb/src/kernel/vm \
-I$(top_srcdir)/ndb/src/kernel/error \
diff --git a/ndb/config/type_ndbapi.mk.am b/ndb/config/type_ndbapi.mk.am
index ab84c683e86..18bc536fdee 100644
--- a/ndb/config/type_ndbapi.mk.am
+++ b/ndb/config/type_ndbapi.mk.am
@@ -1,6 +1,9 @@
INCLUDES += \
- -I$(srcdir) -I$(top_srcdir)/include \
+ -I$(srcdir) \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/ndb/include \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/mysys \
-I$(top_srcdir)/ndb/include \
-I$(top_srcdir)/ndb/include/kernel \
diff --git a/ndb/config/type_ndbapitest.mk.am b/ndb/config/type_ndbapitest.mk.am
index 392c4e9fc70..e9a383eaad7 100644
--- a/ndb/config/type_ndbapitest.mk.am
+++ b/ndb/config/type_ndbapitest.mk.am
@@ -5,7 +5,10 @@ LDADD += $(top_builddir)/ndb/test/src/libNDBT.a \
$(top_builddir)/mysys/libmysys.a \
$(top_builddir)/strings/libmystrings.a @NDB_SCI_LIBS@
-INCLUDES += -I$(top_srcdir) -I$(top_srcdir)/include \
+INCLUDES += -I$(top_srcdir) \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/ndb/include \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/ndb/include \
-I$(top_srcdir)/ndb/include/ndbapi \
-I$(top_srcdir)/ndb/include/util \
diff --git a/ndb/config/type_ndbapitools.mk.am b/ndb/config/type_ndbapitools.mk.am
index d4eb090112d..3c5510880d4 100644
--- a/ndb/config/type_ndbapitools.mk.am
+++ b/ndb/config/type_ndbapitools.mk.am
@@ -5,7 +5,10 @@ LDADD += \
$(top_builddir)/mysys/libmysys.a \
$(top_builddir)/strings/libmystrings.a @NDB_SCI_LIBS@
-INCLUDES += -I$(srcdir) -I$(top_srcdir)/include \
+INCLUDES += -I$(srcdir) \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/ndb/include \
+ -I$(top_srcdir)/include \
-I$(top_srcdir)/ndb/include \
-I$(top_srcdir)/ndb/include/ndbapi \
-I$(top_srcdir)/ndb/include/util \
diff --git a/ndb/config/type_util.mk.am b/ndb/config/type_util.mk.am
index 4f2d605dc91..de250ae1f43 100644
--- a/ndb/config/type_util.mk.am
+++ b/ndb/config/type_util.mk.am
@@ -1,5 +1,7 @@
INCLUDES += -I$(srcdir) \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/ndb/include \
-I$(top_srcdir)/include \
-I$(top_srcdir)/mysys \
-I$(top_srcdir)/ndb/include \
diff --git a/ndb/src/kernel/Makefile.am b/ndb/src/kernel/Makefile.am
index 389cb85c1d8..6e075f0f248 100644
--- a/ndb/src/kernel/Makefile.am
+++ b/ndb/src/kernel/Makefile.am
@@ -9,21 +9,21 @@ ndbd_SOURCES = main.cpp SimBlockList.cpp
include $(top_srcdir)/ndb/config/type_kernel.mk.am
INCLUDES += \
- -Iblocks/cmvmi \
- -Iblocks/dbacc \
- -Iblocks/dbdict \
- -Iblocks/dbdih \
- -Iblocks/dblqh \
- -Iblocks/dbtc \
- -Iblocks/dbtup \
- -Iblocks/ndbfs \
- -Iblocks/ndbcntr \
- -Iblocks/qmgr \
- -Iblocks/trix \
- -Iblocks/backup \
- -Iblocks/dbutil \
- -Iblocks/suma \
- -Iblocks/dbtux
+ -I$(srcdir)/blocks/cmvmi \
+ -I$(srcdir)/blocks/dbacc \
+ -I$(srcdir)/blocks/dbdict \
+ -I$(srcdir)/blocks/dbdih \
+ -I$(srcdir)/blocks/dblqh \
+ -I$(srcdir)/blocks/dbtc \
+ -I$(srcdir)/blocks/dbtup \
+ -I$(srcdir)/blocks/ndbfs \
+ -I$(srcdir)/blocks/ndbcntr \
+ -I$(srcdir)/blocks/qmgr \
+ -I$(srcdir)/blocks/trix \
+ -I$(srcdir)/blocks/backup \
+ -I$(srcdir)/blocks/dbutil \
+ -I$(srcdir)/blocks/suma \
+ -I$(srcdir)/blocks/dbtux
LDADD += \
blocks/cmvmi/libcmvmi.a \
diff --git a/ndb/src/mgmsrv/Makefile.am b/ndb/src/mgmsrv/Makefile.am
index 7fd3fa66b43..effad38be10 100644
--- a/ndb/src/mgmsrv/Makefile.am
+++ b/ndb/src/mgmsrv/Makefile.am
@@ -23,7 +23,7 @@ INCLUDES_LOC = -I$(top_srcdir)/ndb/src/ndbapi \
-I$(top_srcdir)/ndb/src/common/mgmcommon \
-I$(top_srcdir)/ndb/src/mgmclient
-LDADD_LOC = $(top_srcdir)/ndb/src/mgmclient/CommandInterpreter.o \
+LDADD_LOC = $(top_builddir)/ndb/src/mgmclient/CommandInterpreter.o \
$(top_builddir)/ndb/src/libndbclient.la \
$(top_builddir)/dbug/libdbug.a \
$(top_builddir)/mysys/libmysys.a \
diff --git a/sql-common/my_time.c b/sql-common/my_time.c
index fb27fb74872..efef1d98673 100644
--- a/sql-common/my_time.c
+++ b/sql-common/my_time.c
@@ -780,7 +780,7 @@ long calc_daynr(uint year,uint month,uint day)
*/
my_time_t
my_system_gmt_sec(const MYSQL_TIME *t_src, long *my_timezone,
- bool *in_dst_time_gap)
+ my_bool *in_dst_time_gap)
{
uint loop;
time_t tmp= 0;
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh
index eefc4f55d35..6000773144c 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -194,6 +194,8 @@ necessary to develop MySQL client applications.
%package shared
Summary: MySQL - Shared libraries
Group: Applications/Databases
+Provides: mysql-shared
+Obsoletes: mysql-shared
%description shared
This package contains the shared libraries (*.so*) which certain
@@ -342,7 +344,10 @@ then
cp -fp config.log "$MYSQL_MAXCONFLOG_DEST"
fi
-make -i test-force-pl || true
+( cd mysql-test
+ perl ./mysql-test-run.pl --force --report-features
+ perl ./mysql-test-run.pl --force --ps-protocol
+ true )
# Save mysqld-max
./libtool --mode=execute cp sql/mysqld sql/mysqld-max
@@ -401,7 +406,10 @@ then
cp -fp config.log "$MYSQL_CONFLOG_DEST"
fi
-make -i test-force-pl || true
+( cd mysql-test
+ perl ./mysql-test-run.pl --force --report-features
+ perl ./mysql-test-run.pl --force --ps-protocol
+ true )
%install
RBR=$RPM_BUILD_ROOT
@@ -745,6 +753,17 @@ fi
# itself - note that they must be ordered by date (important when
# merging BK trees)
%changelog
+* Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com>
+
+- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB)
+ replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading
+ (bug#22081).
+
+* Wed Nov 15 2006 Joerg Bruehe <joerg@mysql.com>
+
+- Switch from "make test*" to explicit calls of the test suite,
+ so that "report features" can be used.
+
* Mon Jul 10 2006 Joerg Bruehe <joerg@mysql.com>
- Fix a typing error in the "make" target for the Perl script to run the tests.