maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #00165
bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2698)
#At lp:maria
2698 knielsen@xxxxxxxxxxxxxxx 2009-05-05 [merge]
test merge.
modified:
BUILD/compile-solaris-amd64
BUILD/compile-solaris-amd64-debug*
BUILD/compile-solaris-amd64-forte
BUILD/compile-solaris-amd64-forte-debug*
storage/innobase/include/univ.i
storage/pbxt/src/Makefile.am
storage/pbxt/src/lock_xt.h
storage/pbxt/src/pbms.h
=== modified file 'BUILD/compile-solaris-amd64'
--- a/BUILD/compile-solaris-amd64 2007-04-12 11:20:38 +0000
+++ b/BUILD/compile-solaris-amd64 2009-05-04 14:36:55 +0000
@@ -1,55 +1,34 @@
-#!/usr/bin/bash
+#!/bin/sh
-function _find_mysql_root () (
- while [ "x$PWD" != "x/" ]; do
- # Check if some directories are present
- if [ -d BUILD -a -d sql -a -d mysys ]; then
- echo "$PWD"
- return 0
- fi
- cd ..
- done
- return 1
-)
+# Pre-requisites for Solaris 10:
+#
+# setup:
+# ln -s `which perl` /usr/local/bin
+# your $PATH needs to include (in this order):
+# /usr/local/bin:/usr/sfw/bin:/usr/ccs/bin
+#
+# packages from http://sunfreeware.com/indexintel10.html :
+# automake-1.10.2-sol10-x86-local.gz
+# autoconf-2.63-sol10-x86-local.gz
+# m4-1.4.12-sol10-x86-local.gz
+# libsigsegv-2.6-sol10-x86-local.gz
+# libtool-1.5.24-sol10-x86-local.gz
+# ( how to install these packages:
+ # wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/automake-1.10.2-sol10-x86-local.gz
+ # gunzip automake-1.10.2-sol10-x86-local.gz
+ # pkgadd -d automake-1.10.2-sol10-x86-local
+# )
+
+#
+# if using --with-libevent, install that library from
+# http://www.monkey.org/~provos/libevent/
-make -k clean || true
-/bin/rm -f */.deps/*.P config.cache
-
path=`dirname $0`
-. "$path/autorun.sh"
-
-warning_flags="-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused"
-compiler_flags="-g -O3 -fno-omit-frame-pointer"
+. "$path/SETUP.sh"
+extra_flags="$amd64_cflags -D__sun -m64 -mtune=athlon64"
+extra_configs="$amd64_configs $max_configs --with-libevent"
-export CC CXX CFLAGS CXXFLAGS LDFLAGS LIBS
-CC="gcc"
-CXX="gcc"
-CFLAGS="$warning_flags $compiler_flags"
-CXXFLAGS=""
-LDFLAGS="-O3 -g -static-libgcc"
-LIBS=-lmtmalloc
-root=$(_find_mysql_root)
+LDFLAGS="-lmtmalloc -static-libgcc"
+export LDFLAGS
-$root/configure \
- --prefix=/usr/local/mysql \
- --localstatedir=/usr/local/mysql/data \
- --libexecdir=/usr/local/mysql/bin \
- --with-extra-charsets=complex \
- --enable-thread-safe-client \
- --enable-local-infile \
- --with-zlib-dir=bundled \
- --with-big-tables \
- --with-readline \
- --with-archive-storage-engine \
- --with-named-curses=-lcurses \
- --with-big-tables \
- --with-innodb \
- --with-berkeley-db \
- --with-example-storage-engine \
- --with-blackhole-storage-engine \
- --with-ndbcluster \
- --with-federated-storage-engine \
- --with-csv-storage-engine \
- --with-ssl \
- --with-embedded-server \
- --disable-shared
+. "$path/FINISH.sh"
=== modified file 'BUILD/compile-solaris-amd64-debug' (properties changed: -x to +x)
--- a/BUILD/compile-solaris-amd64-debug 2007-11-10 10:03:07 +0000
+++ b/BUILD/compile-solaris-amd64-debug 2009-05-04 14:36:55 +0000
@@ -1,10 +1,11 @@
-#! /bin/sh
+#!/bin/sh
+
path=`dirname $0`
. "$path/SETUP.sh"
-amd64_cflags="-m64 -mtune=athlon64"
-extra_flags="$amd64_cflags $debug_cflags $max_cflags"
-c_warnings="$c_warnings $debug_extra_warnings"
-cxx_warnings="$cxx_warnings $debug_extra_warnings"
-extra_configs="$amd64_configs $debug_configs $max_configs --enable-thread-safe-client"
+extra_flags="$amd64_cflags -D__sun -m64 $debug_cflags"
+extra_configs="$amd64_configs $debug_configs $max_configs --with-libevent"
+
+LDFLAGS="-lmtmalloc -static-libgcc"
+export LDFLAGS
. "$path/FINISH.sh"
=== modified file 'BUILD/compile-solaris-amd64-forte'
--- a/BUILD/compile-solaris-amd64-forte 2008-09-30 20:57:48 +0000
+++ b/BUILD/compile-solaris-amd64-forte 2009-05-04 15:48:27 +0000
@@ -1,53 +1,35 @@
-#! /bin/sh
+#!/bin/sh
-gmake -k clean || true
-/bin/rm -f */.deps/*.P config.cache
-
-path=`dirname $0`
-. "$path/autorun.sh"
+# See file compile-solaris-amd64 for basic pre-requisites.
+
+# This build uses the Sun Studio compilers (cc, CC).
+# http://developers.sun.com/sunstudio/downloads/index.jsp
+# Note that you may want to apply current patches, as the downloaded version
+# is typically out of date. Download the PKG version if you intend to patch!
+
+# After installing, add /opt/SUNWspro/bin to your $PATH
-# For "optimal" code for this computer add -fast to EXTRA
-# To compile 64 bit, add -m64 to EXTRA_64_BIT
-EXTRA_64_BIT="-m64"
-EXTRA="-fast"
+path=`dirname $0`
+. "$path/SETUP.sh"
+
+extra_flags="-m64 -mt -D_FORTEC_ -xbuiltin=%all -xlibmil -xlibmopt -fns=no -xprefetch=auto -xprefetch_level=3"
+extra_configs="$max_configs --with-libevent"
-#
-# The following should not need to be touched
-#
-
-export CC CXX CFLAGS CXXFLAGS LIBS
-STD="-g -mt -D_FORTEC_ $EXTRA $EXTRA_64_BIT"
-ASFLAGS="$EXTRA_64_BIT"
-CC=cc-5.0
-CFLAGS="-Xa -xstrconst $STD"
+# I want this for my buildbot, which has limited zone resources
+#export AM_MAKEFLAGS
+#AM_MAKEFLAGS=""
+
+export warnings c_warnings cxx_warnings base_cxxflags
+warnings=""
+c_warnings=""
+cxx_warnings=""
+base_cxxflags="-noex"
+
+export CC CXX CFLAGS CXXFLAGS LDFLAGS
+CC=cc
+CFLAGS="-xstrconst"
CXX=CC
-CXXFLAGS="-noex $STD"
-LIBS=-lmtmalloc
-./configure \
- --prefix=/usr/local/mysql \
- --localstatedir=/usr/local/mysql/data \
- --libexecdir=/usr/local/mysql/bin \
- --with-extra-charsets=complex \
- --enable-thread-safe-client \
- --enable-local-infile \
- --with-zlib-dir=bundled \
- --with-big-tables \
- --with-readline \
- --with-archive-storage-engine \
- --with-named-curses=-lcurses \
- --with-big-tables \
- --with-innodb \
- --with-example-storage-engine \
- --with-blackhole-storage-engine \
- --with-federated-storage-engine \
- --with-csv-storage-engine \
- --with-ssl \
- --enable-assembler
-
-# Not including:
-# --with-ndbcluster
-# --with-berkeley-db
+LDFLAGS="-lmtmalloc"
-gmake -j4
-test $? = 0 && make test
+. "$path/FINISH.sh"
=== modified file 'BUILD/compile-solaris-amd64-forte-debug' (properties changed: -x to +x)
--- a/BUILD/compile-solaris-amd64-forte-debug 2008-09-30 20:57:48 +0000
+++ b/BUILD/compile-solaris-amd64-forte-debug 2009-05-04 15:48:27 +0000
@@ -1,54 +1,28 @@
-#! /bin/sh
+#!/bin/sh
-gmake -k clean || true
-/bin/rm -f */.deps/*.P config.cache
-
path=`dirname $0`
-. "$path/autorun.sh"
+. "$path/SETUP.sh"
-# To compile 64 bit, add -m64 to EXTRA_64_BIT
-EXTRA_64_BIT="-m64"
-
-# For "optimal" code for this computer add -fast to EXTRA. Note that
-# this causes problem with debugging the program since -fast implies
-# -xO5.
-EXTRA=""
-
-#
-# The following should not need to be touched
-#
-
-export CC CXX CFLAGS CXXFLAGS
-STD="-g -mt -D_FORTEC_ $EXTRA $EXTRA_64_BIT $debug_cflags"
-ASFLAGS="$EXTRA_64_BIT"
-CC=cc-5.0
-CFLAGS="-Xa -xstrconst $STD"
+# take only #define options - the others are gcc specific
+DEFS=""
+for F in $debug_cflags ; do
+ expr "$F" : "^-D" && DEFS="$DEFS $F"
+done
+debug_cflags="-O0 -g $DEFS"
+
+extra_flags="-m64 -mt -D_FORTEC_ -xlibmopt -fns=no $debug_cflags"
+extra_configs="$max_configs --with-libevent $debug_configs"
+
+export warnings c_warnings cxx_warnings base_cxxflags debug_cflags
+warnings=""
+c_warnings=""
+cxx_warnings=""
+base_cxxflags="-noex"
+
+export CC CXX CFLAGS CXXFLAGS LDFLAGS
+CC=cc
+CFLAGS="-xstrconst"
CXX=CC
-CXXFLAGS="-noex $STD"
-./configure \
- --prefix=/usr/local/mysql \
- --localstatedir=/usr/local/mysql/data \
- --libexecdir=/usr/local/mysql/bin \
- --with-extra-charsets=complex \
- --enable-thread-safe-client \
- --enable-local-infile \
- --with-zlib-dir=bundled \
- --with-big-tables \
- --with-readline \
- --with-archive-storage-engine \
- --with-named-curses=-lcurses \
- --with-big-tables \
- --with-innodb \
- --with-example-storage-engine \
- --with-blackhole-storage-engine \
- --with-federated-storage-engine \
- --with-csv-storage-engine \
- --with-ssl \
- --with-debug \
- --enable-assembler
-
-# Not including:
-# --with-ndbcluster
-# --with-berkeley-db
+LDFLAGS="-lmtmalloc"
-gmake -j4
+. "$path/FINISH.sh"
=== modified file 'storage/innobase/include/univ.i'
--- a/storage/innobase/include/univ.i 2008-03-27 01:40:45 +0000
+++ b/storage/innobase/include/univ.i 2009-05-04 14:54:10 +0000
@@ -58,7 +58,7 @@ of the 32-bit x86 assembler in mutex ope
/* We only try to do explicit inlining of functions with gcc and
Microsoft Visual C++ */
-# if !defined(__GNUC__)
+# if !defined(__GNUC__) && !defined(__SUNPRO_C)
# undef UNIV_MUST_NOT_INLINE /* Remove compiler warning */
# define UNIV_MUST_NOT_INLINE
# endif
=== modified file 'storage/pbxt/src/Makefile.am'
--- a/storage/pbxt/src/Makefile.am 2009-04-01 06:40:11 +0000
+++ b/storage/pbxt/src/Makefile.am 2009-05-04 14:36:55 +0000
@@ -46,7 +46,7 @@ libpbxt_la_CFLAGS = $(AM_CFLAGS) -DMYSQ
EXTRA_LIBRARIES = libpbxt.a
noinst_LIBRARIES = libpbxt.a
libpbxt_a_SOURCES = $(libpbxt_la_SOURCES)
-libpbxt_a_CXXFLAGS = $(AM_CXXFLAGS) -Wno-long-long
+libpbxt_a_CXXFLAGS = $(AM_CXXFLAGS)
libpbxt_a_CFLAGS = $(AM_CFLAGS) -std=c99
EXTRA_DIST = CMakeLists.txt
=== modified file 'storage/pbxt/src/lock_xt.h'
--- a/storage/pbxt/src/lock_xt.h 2009-04-02 10:03:14 +0000
+++ b/storage/pbxt/src/lock_xt.h 2009-05-04 14:36:55 +0000
@@ -208,9 +208,9 @@ inline void xt_atomic_dec2(volatile xtWo
#elif defined(__GNUC__)
__sync_fetch_and_sub(mptr, 1);
#elif defined(XT_SPL_SOLARIS_LIB)
- val1 = atomic_dec_16_nv(mptr);
+ atomic_dec_16_nv(mptr);
#else
- val1 = --(*mptr);
+ --(*mptr);
#endif
}
=== modified file 'storage/pbxt/src/pbms.h'
--- a/storage/pbxt/src/pbms.h 2009-03-26 12:18:01 +0000
+++ b/storage/pbxt/src/pbms.h 2009-05-03 16:31:02 +0000
@@ -782,21 +782,28 @@ private:
void deleteTempFiles()
{
- struct dirent entry;
+ struct dirent *entry;
struct dirent *result;
DIR *odir;
int err;
+ size_t sz;
char temp_file[100];
+#ifdef XT_SOLARIS
+ sz = sizeof(struct dirent) + pathconf("/tmp/", _PC_NAME_MAX); // Solaris, see readdir(3C)
+#else
+ sz = sizeof(struct dirent);
+#endif
+ entry = (struct dirent*)malloc(sz);
if (!(odir = opendir("/tmp/")))
return;
- err = readdir_r(odir, &entry, &result);
+ err = readdir_r(odir, entry, &result);
while (!err && result) {
const char **prefix = temp_prefix;
while (*prefix) {
- if (startsWith(entry.d_name, *prefix)) {
- int pid = atoi(entry.d_name + strlen(*prefix));
+ if (startsWith(entry->d_name, *prefix)) {
+ int pid = atoi(entry->d_name + strlen(*prefix));
/* If the process does not exist: */
if (kill(pid, 0) == -1 && errno == ESRCH) {
@@ -807,9 +814,10 @@ private:
prefix++;
}
- err = readdir_r(odir, &entry, &result);
+ err = readdir_r(odir, entry, &result);
}
closedir(odir);
+ free(entry);
}
};
#endif // PBMS_API
Follow ups