diff options
Diffstat (limited to 'BUILD')
48 files changed, 1951 insertions, 335 deletions
diff --git a/BUILD/FINISH.sh b/BUILD/FINISH.sh index 2fc8015ea28..142ff7eb08e 100644 --- a/BUILD/FINISH.sh +++ b/BUILD/FINISH.sh @@ -4,9 +4,8 @@ extra_configs="$extra_configs $local_infile_configs" configure="./configure $base_configs $extra_configs" commands="\ -$make -k distclean || true -/bin/rm -rf */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache bdb/dist/autom4te.cache autom4te.cache innobase/autom4te.cache; - +$make -k maintainer-clean || true +/bin/rm -rf */.deps/*.P configure config.cache storage/*/configure storage/*/config.cache autom4te.cache storage/*/autom4te.cache; path=`dirname $0` . \"$path/autorun.sh\"" diff --git a/BUILD/Makefile.am b/BUILD/Makefile.am index ee0f07864e8..a6298da1e08 100644 --- a/BUILD/Makefile.am +++ b/BUILD/Makefile.am @@ -41,7 +41,6 @@ EXTRA_DIST = FINISH.sh \ compile-pentium-debug-max \ compile-pentium-debug-max-no-embedded \ compile-pentium-debug-max-no-ndb \ - compile-pentium-debug-no-bdb \ compile-pentium-debug-openssl \ compile-pentium-debug-yassl \ compile-pentium-gcov \ diff --git a/BUILD/SETUP.sh b/BUILD/SETUP.sh index 532ea4eb0f1..ef8aefca710 100755 --- a/BUILD/SETUP.sh +++ b/BUILD/SETUP.sh @@ -1,94 +1,152 @@ #!/bin/sh +######################################################################## + +get_key_value() +{ + echo "$1" | sed 's/^--[a-zA-Z_-]*=//' +} + +usage() +{ +cat <<EOF +Usage: $0 [-h|-n] [configure-options] + -h, --help Show this help message. + -n, --just-print Don't actually run any commands; just print them. + -c, --just-configure Stop after running configure. + --with-debug=full Build with full debug. + --warning-mode=[old|pedantic] + Influences the debug flags. Old is default. + --prefix=path Build with prefix 'path'. + +Note: this script is intended for internal use by MySQL developers. +EOF +} + +parse_options() +{ + while test $# -gt 0 + do + case "$1" in + --prefix=*) + prefix=`get_key_value "$1"`;; + --with-debug=full) + full_debug="=full";; + --warning-mode=*) + warning_mode=`get_key_value "$1"`;; + -c | --just-configure) + just_configure=1;; + -n | --just-print | --print) + just_print=1;; + -h | --help) + usage + exit 0;; + *) + echo "Unknown option '$1'" + exit 1;; + esac + shift + done +} + +######################################################################## + if test ! -f sql/mysqld.cc then echo "You must run this script from the MySQL top-level directory" exit 1 fi -prefix_configs="--prefix=/usr/local/mysql" +prefix="/usr/local/mysql" just_print= just_configure= full_debug= +warning_mode= + +parse_options "$@" + if test -n "$MYSQL_BUILD_PREFIX" then - prefix_configs="--prefix=$MYSQL_BUILD_PREFIX" + prefix="$MYSQL_BUILD_PREFIX" fi -while test $# -gt 0 -do - case "$1" in - --prefix=* ) prefix_configs="$1"; shift ;; - --with-debug=full ) full_debug="=full"; shift ;; - -c | --just-configure ) just_configure=1; shift ;; - -n | --just-print | --print ) just_print=1; shift ;; - -h | --help ) cat <<EOF; exit 0 ;; -Usage: $0 [-h|-n] [configure-options] - -h, --help Show this help message. - -n, --just-print Don't actually run any commands; just print them. - -c, --just-configure Stop after running configure. - --with-debug=full Build with full debug. - --prefix=path Build with prefix 'path'. - -Note: this script is intended for internal use by MySQL developers. -EOF - * ) - echo "Unknown option '$1'" - echo "Use -h or --help for usage" - exit 1 - break ;; - esac -done - set -e +# +# Check for the CPU and set up CPU specific flags. We may reset them +# later. +# +path=`dirname $0` +. "$path/check-cpu" + export AM_MAKEFLAGS AM_MAKEFLAGS="-j 4" -# SSL library to use. -SSL_LIBRARY=--with-yassl +# SSL library to use.--with-ssl will select our bundled yaSSL +# implementation of SSL. To use openSSl you will nee too point out +# the location of openSSL headers and lbs on your system. +# Ex --with-ssl=/usr +SSL_LIBRARY=--with-ssl -# If you are not using codefusion add "-Wpointer-arith" to WARNINGS -# The following warning flag will give too many warnings: -# -Wunused -Winline (The later isn't usable in C++ as -# __attribute()__ doesn't work with gnu C++) +if [ "x$warning_mode" != "xpedantic" ]; then +# Both C and C++ warnings + warnings="-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W" + warnings="$warnings -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare" + warnings="$warnings -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable" -global_warnings="-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable" -# # For more warnings, uncomment the following line -# global_warnings="$global_warnings -Wshadow" - -c_warnings="$global_warnings -Wunused" -cxx_warnings="$global_warnings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor" -base_max_configs="--with-innodb --with-ndbcluster --with-archive-storage-engine --with-big-tables --with-blackhole-storage-engine --with-federated-storage-engine --with-csv-storage-engine $SSL_LIBRARY" -base_max_no_ndb_configs="--with-innodb --without-ndbcluster --with-archive-storage-engine --with-big-tables --with-blackhole-storage-engine --with-federated-storage-engine --with-csv-storage-engine $SSL_LIBRARY" -max_leave_isam_configs="--with-innodb --with-ndbcluster --with-archive-storage-engine --with-federated-storage-engine --with-blackhole-storage-engine --with-csv-storage-engine $SSL_LIBRARY --with-embedded-server --with-big-tables" -max_configs="$base_max_configs --with-embedded-server" -max_no_ndb_configs="$base_max_no_ndb_configs --with-embedded-server" - -path=`dirname $0` -. "$path/check-cpu" - -alpha_cflags="$check_cpu_cflags -Wa,-m$cpu_flag" -amd64_cflags="$check_cpu_cflags" -pentium_cflags="$check_cpu_cflags" -pentium64_cflags="$check_cpu_cflags -m64" -ppc_cflags="$check_cpu_cflags" -sparc_cflags="" +# warnings="$global_warnings -Wshadow" + +# C warnings + c_warnings="$warnings -Wunused-parameter" +# C++ warnings + cxx_warnings="$warnings" +# cxx_warnings="$cxx_warnings -Woverloaded-virtual -Wsign-promo" + cxx_warnings="$cxx_warnings -Wreorder" + cxx_warnings="$cxx_warnings -Wctor-dtor-privacy -Wnon-virtual-dtor" +# Added unless --with-debug=full + debug_extra_cflags="-O1 -Wuninitialized" +else + warnings="-W -Wall -ansi -pedantic -Wno-long-long -Wno-unused -D_POSIX_SOURCE" + c_warnings="$warnings" + cxx_warnings="$warnings -std=c++98" +# NOTE: warning mode should not influence optimize/debug mode. +# Please feel free to add a separate option if you don't feel it's an overkill. + debug_extra_cflags="-O0" +# Reset CPU flags (-mtune), they don't work in -pedantic mode + check_cpu_cflags="" +fi -# be as fast as we can be without losing our ability to backtrace +# Set flags for various build configurations. +# Used in -valgrind builds +valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify " +valgrind_flags="$valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max" +# +# Used in -debug builds +debug_cflags="-DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS " +debug_cflags="$debug_cflags -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -DSAFE_MUTEX" +error_inject="--with-error-inject " +# +# Base C++ flags for all builds +base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti" +# +# Flags for optimizing builds. +# Be as fast as we can be without losing our ability to backtrace. fast_cflags="-O3 -fno-omit-frame-pointer" -# this is one is for someone who thinks 1% speedup is worth not being -# able to backtrace -reckless_cflags="-O3 -fomit-frame-pointer " - -debug_cflags="-DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -DSAFE_MUTEX" -debug_extra_cflags="-O1 -Wuninitialized" -base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti" -amd64_cxxflags="" # If dropping '--with-big-tables', add here "-DBIG_TABLES" +debug_configs="--with-debug$full_debug" +if [ -z "$full_debug" ] +then + debug_cflags="$debug_cflags $debug_extra_cflags" +fi -base_configs="$prefix_configs --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables" +# +# Configuration options. +# +base_configs="--prefix=$prefix --enable-assembler " +base_configs="$base_configs --with-extra-charsets=complex " +base_configs="$base_configs --enable-thread-safe-client " +base_configs="$base_configs --with-big-tables" if test -d "$path/../cmd-line-utils/readline" then @@ -98,21 +156,28 @@ then base_configs="$base_configs --with-libedit" fi -static_link="--with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static" -amd64_configs="" -alpha_configs="" # Not used yet -pentium_configs="" -sparc_configs="" +static_link="--with-mysqld-ldflags=-all-static " +static_link="$static_link --with-client-ldflags=-all-static" # we need local-infile in all binaries for rpl000001 # if you need to disable local-infile in the client, write a build script # and unset local_infile_configs local_infile_configs="--enable-local-infile" -debug_configs="--with-debug$full_debug" -if [ -z "$full_debug" ] -then - debug_cflags="$debug_cflags $debug_extra_cflags" -fi + +max_no_embedded_configs="$SSL_LIBRARY --with-plugins=max" +max_no_ndb_configs="$SSL_LIBRARY --with-plugins=max-no-ndb --with-embedded-server" +max_configs="$SSL_LIBRARY --with-plugins=max --with-embedded-server" + +# +# CPU and platform specific compilation flags. +# +alpha_cflags="$check_cpu_cflags -Wa,-m$cpu_flag" +amd64_cflags="$check_cpu_cflags" +amd64_cxxflags="" # If dropping '--with-big-tables', add here "-DBIG_TABLES" +pentium_cflags="$check_cpu_cflags" +pentium64_cflags="$check_cpu_cflags -m64" +ppc_cflags="$check_cpu_cflags" +sparc_cflags="" if gmake --version > /dev/null 2>&1 then @@ -133,7 +198,13 @@ fi # (http://samba.org/ccache) is installed, use it. # We use 'grep' and hope 'grep' will work as expected # (returns 0 if finds lines) -if ccache -V > /dev/null 2>&1 +if test "$USING_GCOV" != "1" +then + # Not using gcov; Safe to use ccache + CCACHE_GCOV_VERSION_ENABLED=1 +fi + +if ccache -V > /dev/null 2>&1 && test "$CCACHE_GCOV_VERSION_ENABLED" = "1" then echo "$CC" | grep "ccache" > /dev/null || CC="ccache $CC" echo "$CXX" | grep "ccache" > /dev/null || CXX="ccache $CXX" diff --git a/BUILD/autorun.sh b/BUILD/autorun.sh index f5986720b48..35a2e56cbdf 100755 --- a/BUILD/autorun.sh +++ b/BUILD/autorun.sh @@ -3,19 +3,29 @@ die() { echo "$@"; exit 1; } +# Handle "glibtoolize" (e.g., for native OS X autotools) as another +# name for "libtoolize". Use the first one, either name, found in PATH. +LIBTOOLIZE=libtoolize # Default +IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' +for dir in $PATH +do + if test -x $dir/glibtoolize + then + LIBTOOLIZE=glibtoolize + break + elif test -x $dir/libtoolize + then + break + fi +done +IFS="$save_ifs" + aclocal || die "Can't execute aclocal" autoheader || die "Can't execute autoheader" # --force means overwrite ltmain.sh script if it already exists -# Added glibtoolize reference to make native OSX autotools work -if test -f /usr/bin/glibtoolize ; then - glibtoolize --automake --force || die "Can't execute glibtoolize" -else - libtoolize --automake --force || die "Can't execute libtoolize" -fi +$LIBTOOLIZE --automake --force --copy || die "Can't execute libtoolize" # --add-missing instructs automake to install missing auxiliary files # and --force to overwrite them if they already exist -automake --add-missing --force || die "Can't execute automake" +automake --add-missing --force --copy || die "Can't execute automake" autoconf || die "Can't execute autoconf" -(cd bdb/dist && sh s_all) -(cd innobase && aclocal && autoheader && aclocal && automake && autoconf) diff --git a/BUILD/build_mccge.sh b/BUILD/build_mccge.sh new file mode 100755 index 00000000000..fc0f8181692 --- /dev/null +++ b/BUILD/build_mccge.sh @@ -0,0 +1,1516 @@ +#!/bin/sh + +die() +{ + echo "ERROR: $@"; exit 1; +} + +get_key_value() +{ + echo "$1" | sed 's/^--[a-zA-Z_-]*=//' +} + +developer_usage() +{ +cat <<EOF + + This script can be used by developers of MySQL, early adopters wanting + to try out early versions of MySQL before binary versions are + available, anyone needing a version with a special patch included that + needs to be built from source code, or anyone else wanting to exercise + full control over the MySQL build process. + + This help text is targeted towards those that want to debug and test + MySQL using source code releases. If you have downloaded a source code + release and simply want to build a usable binary, you should read the + --sysadmin-help instead. + + The script is also designed to be used by anyone receiving a source + code release of MySQL Cluster Carrier Grade Edition. The default + behaviour is to build the standard MySQL Cluster Carrier Grade Edition + package. Three environment variables can be used to change the + default behaviour: + + MYSQL_DEVELOPER + Defining this variable is similar to setting the --developer flag + MYSQL_DEVELOPER_PACKAGE=package + Defining this variable is similar to setting the --package=* + variable + MYSQL_DEVELOPER_DEBUG + Defining this variable sets the --with-debug flag + + Options used with this script always override any default behaviour. + The default package is MySQL Cluster Carrier Grade (standard) Edition. + For developers, the default package is MySQL Cluster Carrier Grade + Extended Edition, and the default build behaviour is to build with + autotools. If you want to skip autotools and start from a source code + release you can use the --no-autotools flag. + + More information for developers can be found in --help, + --sysadmin-help, and --extended-help. + + The most common usage for developers is to set the three variables + mentioned previously and then simply to run the script without any + additional parameters, using them only when needing to change some + things like not requiring debug build. If some of these environment + variables have already been set, you can use the corresponding options + to unset them and reverse their effects. +EOF +} + +sysadmin_usage() +{ +cat <<EOF + + This script can be used to build MySQL Cluster Carrier Grade Edition + based on a source code release you received from MySQL. + + It is assumed that you are building on a computer which is of the + same type as that on which you intend to run MySQL Cluster. + + The simplest possible way to run this script is to allow it to use the + built-in defaults everywhere, invoking it simply as: + + shell> ./build_mccge.sh + + This performs the following operations: + 1) Detects the operating system. Currently, Linux, FreeBSD, Solaris + 10/11, and Mac OS X are supported by this script. + 2) Detect the type of CPU being used. Currently supported processors + are: x86 for all supported operating systems, Itanium for Linux + with GCC, and SPARC for Solaris using the Forte compiler. + 3) Invokes the GCC compiler. + 4) Builds a set of MySQL Cluster Carrier Grade Edition binaries; for + more information about these, see --extended-help. + + The default version assumes that you have a source code tarball from + which you are building, and thus autoconf and automake do not need to + be run. If you have downloaded a BitKeeper tree then you should read + --developer-help. + + If you are building MySQL Cluster Carrier Grade Edition for commercial + use then you need to set the --commercial flag to ensure that the + commercial libraries are compiled in, rather than the GPL-only + libraries. The default is to build a GPL version of MySQL Cluster + Carrier Grade Edition. + + If your building on a Solaris SPARC machine you must set + --compiler=forte; if you want to build using the Intel compiler on + Linux, you need to set --compiler=icc. + + If you want to make sure that a 64-bit version is built then you + should add the flag --64. This is always set on Solaris machines and + when check-cpu is able to discover that a 64-bit CPU is being used. If + you want to ensure that a 32-bit binary is produced, use --32 instead. + + If you need the binaries to be installed in a different location from + /usr/local/mysql, then you should set --prefix to point to where you + want the binaries installed. + + Using a data directory other than the default (PREFIX/data) can be + done when starting the MySQL Server, or by invoking this script with + the --datadir option. + + If you want your binaries stripped of surplus debug or other + information, use the --strip option. + + If you want debug information in the binary (for example, to be + able to send gdb core dumps to MySQL Support), then you should add the + flag --with-debug; if you want a production build with only debugging + information in the binary then use --debug. + + If your aim is not to build MySQL Cluster Carrier Grade Edition, you + can also use this script to build MySQL Classic and MySQL Pro + versions; see the --extended-help for descriptions of these packages. +EOF +} + +usage() +{ +cat <<EOF + +Usage: $0 [options] + --help Show this help message. + --sysadmin-help Show help for system administrators wishing + to build MySQL Cluster Carrier Grade Edition + --developer-help Show help for developers trying to build MySQL + --with-help Show extended help on --with-xxx options to + configure + --extended-help Show extended help message + --without-debug Build non-debug version + --with-debug Build debug version + --with-debug=full Build with full debug. + --configure-only Stop after running configure. + --use-autotools Start by running autoconf, automake,.. tools + --no-autotools Start from configure + --print-only Print commands that the script will execute, + but do not actually execute + --prefix=path Build with prefix 'path' + --datadir=path Build with data directory set to non-standard + 'path' + --debug Build normal version, but add debug + information to binary + --developer Use extensions that most MySQL developers use + --no-developer Do not use extensions that most developers of + MySQL use + --commercial Use commercial libraries + --gpl Use gpl libraries + --compiler=[gcc|icc|forte] Select compiler + --cpu=[x86|x86_64|sparc] Select CPU type + x86 => 32-bit binary + x86_64 => 64 bit binary unless Mac OS X + --warning-mode=[extra|pedantic|normal|no] Set warning mode level + --warnings Set warning mode to normal + --32 Build a 32-bit binary even if CPU is 64-bit + --64 Build a 64-bit binary even if not sure a + 64-bit CPU is being used + --package=[cge|extended|pro|classic] Select package to build + --parallelism=number Define parallelism in make + --strip Strip binaries + --error-inject Enable error injection into MySQL Server and + data nodes + --valgrind Build with valgrind + --fast Optimise for CPU architecture buildt on + --static-linking Statically link system libraries into binaries + --with-flags * Pass extra --with-xxx options to configure +EOF + if test "x$1" != "x" ; then + echo "Failure Message: $1" + fi +} + +extended_usage() +{ + cat <<EOF + + Extended help text for this script: + ----------------------------------- + This script is intended to make it easier for customers using MySQL + Cluster Carrier Grade Edition to build the product from source on + these platforms/compilers: Linux/x86 (32-bit and 64-bit), + Solaris 10 and 11/x86/gcc, Solaris 9/Sparc/Forte, and MacOSX/x86/gcc. + The script automatically detects CPU type and operating system; in + most cases this also determines which compiler to use, the exception + being Linux/x86 where you can choose between gcc and icc (gcc is the + default). + + To build on other platforms you can use the --print-only option on a + supported platform and edit the output for a proper set of commands on + the specific platform you are using. MySQL also provides custom builds + for any type of platform that is officially supported for MySQL + Cluster. For a list of supported platforms, see + http://www.mysql.com/support/supportedplatforms/cluster.html. + + Using the --package option, it is also possible to build a "classic" + version of MySQL having only the MyISAM storage engine, a "Pro" + package including all storage engines and other features except MySQL + Cluster, and an "extended" package including these features plus MySQL + Cluster (this is the default if the --developer option is used). + + Different MySQL storage engines are included in the build, depending + on which --package option is used. The comment and version strong + suffix are also set according to the package selected. + + --package=cge + storage engines: + ARCHIVE, BLACKHOLE, CSV, EXAMPLE, FEDERATED, MYISAM, NDB + (All storage engines except InnoDB) + comment: MySQL Cluster Carrier Grade Edition GPL/Commercial version + built from source + version string suffix: -cge + + --package=extended + storage engines: + ARCHIVE, BLACKHOLE, CSV, EXAMPLE, FEDERATED, MYISAM, INNODB, NDB + (All storage engines) + comment: MySQL Cluster Carrier Grade Extended Edition GPL/Commercial + version built from source + version string suffix: -cge-extended + + --package=pro + storage engines: + ARCHIVE, BLACKHOLE, CSV, EXAMPLE, FEDERATED, INNODB, MYISAM + (All storage engines except NDB) + comment: MySQL Pro GPL/Commercial version built from + source + version string suffix: [none] + + --package=classic + storage engines: CSV, MYISAM + comment: MySQL Classic GPL/Commercial version built + from source + version string suffix: [none] + + All packages except Classic include support for user-defined + partitioning. + + If --with-debug is used, an additional "-debug" is appended to the + version string. + + --commercial + This flag prevents the use of GPL libraries which cannot be used + under a commercial license, such as the readline library. + + --with-debug[=full] + This option will ensure that the version is built with debug + information enabled; the optimisation level is decreased to -O. + + --developer + This option changes a number of things to make the version built + more appropriate to the debugging and testing needs of developers. + It changes the default package to "extended". It also changes the + default warning mode from "none" to "normal", which allows an + extensive list of warnings to be generated. + + --error-inject + This flag is used only when the --developer option is also used, and + enables error injection in both the MySQL Server and in MySQL + Cluster data nodes. + + The following is a list of the default configure options used for all + packages: + + --prefix: /usr/local/mysql (can be overridden) + + --libexecdir: <prefix>/bin (can be overridden) + + --localstatedir: <prefix>/data, unless --datadir is used, in which + case it defaults to <datadir>/data (can be overridden by setting + --localstatedir explicitly). + + --enable-local-infile: Enable use of the LOAD DATA FROM LOCAL INFILE + command (cannot be overridden). + + --enable-thread-safe-client: Enable the multi-threaded mysql client + library (cannot be overridden). + + --with-big-tables: Enable use of tables with more than 4G rows (cannot + be overridden). + + --with-extra-charsets=all: Enable use of all character sets supported + by MySQL (cannot be overridden). + + --with-ssl: Enable use of yaSSL library included in the MySQL source + (cannot be overridden). + + --with-pic: Build all binaries using position independent assembler + to avoid problems with dynamic linkers (cannot be overridden). + + --with-csv-storage-engine: Ensure that the CSV storage engine is + included in all builds. Since CSV is required for log tables in + MySQL 5.1, this option cannot be overridden. + + (Note that MyISAM support is always built into the MySQL Server; the + server *cannot* be built without MyISAM.) + + --with-mysqld-ldflags=-static + --with-client-ldflags=-static + Ensures that binaries for, respectively, the MySQL server and client + are built with static libraries except for the system libraries, + which use dynamically loaded libraries provided by the operating + system. Building with --developer sets these to all-static instead, + to build everything statically. + + In addition there are some configure options that are specific to + Linux operating systems: + + --with-fast-mutexes + Include an alternative implementation of mutexes that is faster on + Linux systems + + --enable-assembler + Include assembler code optimisations for a number of mostly string + methods. Used for x86 processors only. + + Neither of the preceding options can be disabled. + + MySQL Cluster Carrier Grade edition also adds the following options + (also used by the extended package): + + --with-ndbcluster + Include the NDB Cluster storage engine, its kernel, management + server, and client, as well as support for the NDB and MGM APIs. + + --without-ndb-debug + Do not include specific NDB debug code, not even in debug versions + (cannot be overridden). + + Package-specific options: + ------------------------- + --with-innodb + Specifically included in the "pro" and "extended" packages, and not + in any of the others. + + --with-comment + Sets the comment for the MySQL version, by package, as described + above. + + --with-server-suffix + Sets the server suffix on the MySQL version, by package, as + described above. + + Other options used: + ------------------- + --with-readline + Use the GPL readline library for command editing functions; not + available with commercial packages. + + --with-libedit + Use the BSD licensed library for command editing functions; used for + commercial packages. + + --with-zlib-dir=bundled + Use the zlib package bundled with MySQL. + + --with-mysqld-libs=-lmtmalloc + Used on Solaris to ensure that the proper malloc library is used. + + Compiler options: + ----------------- + + This section describes the compiler options for each of the different + platforms supported by thisscript. + + The --fast option adds -mtune=cpu_arg to the C/C++ flags (provides + support for Nocona, K8, and other processors). + + Use of the --debug option adds -g to the C/C++ flags. + + FreeBSD/x86/gcc + --------------- + No flags are used. Instead, configure determines the proper flags to + use. + + Linux/x86+Itanium/gcc + ------------- + No flags are used. Instead the configure script determines the + proper flags to use for both normal and debug builds. Discovery of a + Nocona or Core 2 Duo CPU causes a 64-bit binary to be built; + otherwise, the binary is 32-bit. To build a 64-bit binary, -m64 is + added to the C/C++ flags. (To build a 32-bit binary on a 64-bit CPU, + use the --32 option as described previously.) + + Linux/x86+Itanium/icc + ------------- + Flags used: + CC = icc -static-libgcc -static-libcxa -i-static + C++ = icpc -static-libgcc -static-libcxa -i-static + C/C++ flags = -mp -restrict + + On Itanium we also add -no-ftz and -no-prefetch to CC and C++ flags. + + The non-debug versions also add the following: + C/C++ flags += -O3 unroll2 -ip + + The fast version adds: + C/C++ flags += -ipo + + On discovery of a Core 2 Duo architecture while using icc, -xT is also + added to the C/C++ flags; this provides optimisations specific to Core + 2 Duo. This is added only when the --fast flag is set. + + Solaris/x86/gcc + --------------- + All builds on Solaris are 64-bit, so -m64 is always used in the + C/C++ flags. LDFLAGS is set to -m64 -static-libgcc -O/-O2. + + Solaris/Sparc/Forte + ------------------- + Uses cc-5.0 as CC + Sets ASFLAGS=LDFLAGS=xarch=v9, so that we compile Sparc v9 binaries + C flags = -Xa -strconst -xc99=none + C++ flags = -noex + C/C++ flags = -mt -D_FORTEC -xarch=v9 + + For non-debug builds, the following flags are also used: + + C/C++ flags = -xO3 + + MacOSX/x86/gcc + -------------- + C/C++ flags include -fno-common -arch i386. + + Non-debug versions also add -Os -felide-constructors, where "-Os" + means the build is space-optimised as long as the space optimisations + do not negatively affect performance. Debug versions use -O. +EOF +} +with_usage() +{ + cat <<EOF + + To obtain extended help on the --with-* options available, run this + script with --configure-only to create a configuration file. Then + issue the command ./configure --help to get an extensive list of + possible configure options. + + The remainder of this text focuses on those options which are useful + in building binaries for MySQL Cluster Carrier Grade Edition. + + --with-ndb-sci=/opt/DIS + Used to build a MySQL Cluster Carrier Grade Edition that can use the + SCI Transporter. The Dolphin SCI installation must be completed + first (see + http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-interconnects.html + for more information). + + --with-ndb-test + Compile the MySQL Cluster test programs. + + --with-ndb-port=PORT + Change the default port for the MySQL Cluster management server. + + --with-ndb-port-base=PORT + Change the default port base for MySQL Cluster data nodes. + + --without-query-cache + Build the MySQL Server without the query cache, which is often not + of value in MySQL Cluster applications. + + --with-atomic-ops=rwlocks|smp|up + Implement atomic operations using pthread + rwlocks or atomic CPU instructions for + multi-processor (default) or single-processor + configurations. + + --without-geometry Do not build geometry-related portions of the + MySQL Server. Seldom used in MySQL Cluster + applications. + + --with-ndb-cc-flags=FLAGS + This option can be used to build MySQL Cluster with error injection + on the data nodes. It can be used to pass special options to + programs in the NDB kernel for special test builds. + The option for enabling data node error injection is -DERROR_INSERT. +EOF +} + +parse_package() +{ + case "$package" in + classic ) + package="classic" + ;; + pro ) + package="pro" + ;; + extended ) + package="" + ;; + cge ) + package="cge" + ;; + *) + echo "Unknown package '$package'" + exit 1 + ;; + esac +} + +parse_warning_mode() +{ + case "$warning_mode" in + pedantic ) + warning_mode="pedantic" + ;; + extra_warnings | extra-warnings | extra ) + warning_mode="extra" + ;; + no ) + warning_mode= + ;; + normal ) + warning_mode="normal" + ;; + *) + echo "Unknown warning mode '$warning_mode'" + exit 1 + ;; + esac +} + +# +# We currently only support x86, Itanium and UltraSparc processors. +# +parse_cpu_type() +{ + case "$cpu_type" in + x86 ) + cpu_type="x86" + m32="yes" + ;; + x86_64 ) + cpu_type="x86" + m64="yes" + ;; + itanium ) + cpu_type="itanium" + ;; + sparc ) + cpu_type="sparc" + ;; + * ) + echo "Unknown CPU type $cpu_type" + exit 1 + ;; + esac + return +} + +# +# We currently only support gcc, icc and Forte. +# +parse_compiler() +{ + case "$compiler" in + gcc ) + compiler="gcc" + ;; + icc ) + compiler="icc" + ;; + forte ) + compiler="forte" + ;; + *) + echo "Unknown compiler '$compiler'" + exit 1 + ;; + esac +} + +parse_options() +{ + while test $# -gt 0 + do + case "$1" in + --prefix=*) + prefix=`get_key_value "$1"` + ;; + --datadir=*) + datadir=`get_key_value "$1"` + ;; + --with-debug=full) + full_debug="=full" + with_debug_flag="yes" + fast_flag="no" + ;; + --without-debug) + with_debug_flag="no" + if test "x$fast_flag" != "xyes" ; then + fast_flag="generic" + fi + ;; + --with-debug) + with_debug_flag="yes" + fast_flag="no" + ;; + --debug) + compile_debug_flag="yes" + ;; + --no-developer) + developer_flag="no" + ;; + --developer) + developer_flag="yes" + ;; + --commercial) + gpl="no" + ;; + --gpl) + gpl="yes" + ;; + --compiler=*) + compiler=`get_key_value "$1"` + parse_compiler + ;; + --cpu=*) + cpu_type=`get_key_value "$1"` + parse_cpu_type + ;; + --warning-mode=*) + warning_mode=`get_key_value "$1"` + parse_warning_mode + ;; + --warnings) + warning_mode="normal" + ;; + --32) + if test "x$m64" != "x" ; then + echo "Cannot set both --32 and --64" + exit 1 + fi + m32="yes" + ;; + --64) + if test "x$m32" != "x" ; then + echo "Cannot set both --32 and --64" + exit 1 + fi + m64="yes" + ;; + --package=*) + package=`get_key_value "$1"` + parse_package + ;; + --parallelism=*) + parallelism=`get_key_value "$1"` + ;; + --use-autotools) + use_autotools="yes" + ;; + --no-autotools) + use_autotools="no" + ;; + --configure-only) + just_configure="yes" + ;; + --print-only) + just_print="yes" + ;; + --static-linking) + static_linking_flag="yes" + ;; + --strip) + strip_flag="yes" + ;; + --error-inject) + error_inject_flag="yes" + ;; + --valgrind) + valgrind="yes" + ;; + --fast) + fast_flag="yes" + ;; + --with-flags) + shift + break + ;; + --with-help) + with_usage + exit 0 + ;; + --sysadmin-help) + sysadmin_usage + exit 0 + ;; + --developer-help) + developer_usage + exit 0 + ;; + --extended-help) + extended_usage + exit 0 + ;; + --help) + usage + exit 0 + ;; + *) + echo "Unknown option '$1'" + exit 1 + ;; + esac + shift + done + for flag in $@ + do + with_flags="$with_flags $flag" + done +} + +# +# We currently only support Linux, FreeBSD/OpenBSD, Mac OS X and Solaris +# +check_os() +{ + case "`uname -s`" in + Linux) + os="linux" + ;; + FreeBSD|OpenBSD) + os="bsd" + ;; + Darwin) + os="MacOSX" + ;; + SunOS) + os="Solaris" + ;; + *) + os="Unknown" + ;; + esac + +} + +set_cpu_base() +{ + if test "x$cpu_type" = "x" ; then + if test "x$cpu_arg" = "x" ; then + usage "CPU type not discovered, cannot proceed" + return 1 + fi + case "$cpu_arg" in + core2 | nocona | prescott | pentium* | i*86 ) + cpu_base_type="x86" + ;; + athlon* | opteron* ) + cpu_base_type="x86" + ;; + sparc ) + cpu_base_type="sparc" + ;; + itanium ) + cpu_base_type="itanium" + ;; + * ) + usage "CPU type $cpu_arg not handled by this script" + exit 1 + ;; + esac + else + cpu_base_type="$cpu_type" + check_cpu_cflags="" + fi + if test "x$os" = "xMacOSX" ; then + m64="no" + elif test "x$os" = "xSolaris" ; then + m64="yes" + elif test "x$m32" = "x" ; then + if test "x$cpu_arg" = "xnocona" || test "x$cpu_arg" = "xcore2" || \ + test "x$cpu_arg" = "xathlon64" || test "x$cpu_arg" = "xopteron" ; then + m64="yes" + elif test "x$m64" != "xyes" ; then + m64="no" + fi + else + m64="no" + fi + echo "Discovered CPU of type $cpu_base_type ($cpu_arg) on $os" + if test "x$m64" = "xyes" ; then + echo "Will compile 64-bit binaries" + else + echo "Will compile 32-bit binaries" + fi + return 0 +} + +# +# Add to the variable commands with the configure command +# +init_configure_commands() +{ + cflags="$c_warnings $base_cflags $compiler_flags" + cxxflags="$cxx_warnings $base_cxxflags $compiler_flags" + configure="./configure $base_configs $with_flags" + + commands="$commands + CC=\"$CC\" CFLAGS=\"$cflags\" CXX=\"$CXX\" CXXFLAGS=\"$cxxflags\"" + if test "x$LDFLAGS" != "x" ; then + commands="$commands + LDFLAGS=\"$LDFLAGS\"" + fi + if test "x$ASFLAGS" != "x" ; then + commands="$commands + ASFLAGS=\"$ASFLAGS\"" + fi + commands="$commands + $configure" +} + +# +# Initialise the variable commands with the commands needed to generate +# the configure script. +# +init_auto_commands() +{ + set_libtoolize_version + commands="\ + $make -k maintainer-clean || true + /bin/rm -rf */.deps/*.P configure config.cache + /bin/rm -rf storage/*/configure storage/*/config.cache autom4te.cache + /bin/rm -rf storage/*/autom4te.cache;" +# +# --add-missing instructs automake to install missing auxiliary files +# and --force to overwrite them if they already exist +# + commands="$commands + aclocal || die \"Can't execute aclocal\" + autoheader || die \"Can't execute autoheader\" + $LIBTOOLIZE --automake --copy --force || die \"Can't execute libtoolize\" + automake --add-missing --copy --force || die \"Can't execute automake\" + autoconf || die \"Can't execute autoconf\"" +} + +# +# Add to the variable commands the make command and possibly also +# strip commands +# +add_make_commands() +{ + AM_MAKEFLAGS="-j $parallelism" + commands="$commands + $make $AM_MAKEFLAGS" + + if test "x$strip_flag" = "xyes" ; then + commands="$commands + mkdir -p tmp + nm --numeric-sort sql/mysqld > tmp/mysqld.sym + objdump -d sql/mysqld > tmp/mysqld.S + strip sql/mysqld + strip storage/ndb/src/kernel/ndbd + strip storage/ndb/src/mgmsrv/ndb_mgmd + strip storage/ndb/src/mgmclient/ndb_mgm" + fi +} + +# +# Set make version, but only gmake is supported :) +# +set_make_version() +{ + if gmake --version > /dev/null 2>&1 + then + make=gmake + else + make=make + fi + if test "x`$make --version | grep GNU`" = "x" ; then + die "Only gmake is supported" + fi +} + +# +# Find a libtoolize binary, both libtoolize and glibtoolize are +# ok, use first found. +# +set_libtoolize_version() +{ + LIBTOOLIZE=not_found + save_ifs="$IFS"; IFS=':' + for dir in $PATH + do + if test -x $dir/libtoolize + then + LIBTOOLIZE=libtoolize + echo "Found libtoolize in $dir" + break + fi + if test -x $dir/glibtoolize + then + LIBTOOLIZE=glibtoolize + echo "Found glibtoolize in $dir" + break + fi + done + IFS="$save_ifs" + if test "x$LIBTOOLIZE" = "xnot_found" ; then + die "Found no libtoolize version, quitting here" + fi + return +} + +# +# If ccache (a compiler cache which reduces build time) +# (http://samba.org/ccache) is installed, use it. +# We use 'grep' and hope that 'grep' works as expected +# (returns 0 if finds lines) +# We do not use ccache when gcov is used. Also only when +# gcc is used. +# +set_up_ccache() +{ + if test "x$compiler" = "xgcc" ; then + if ccache -V > /dev/null 2>&1 && test "$USING_GCOV" != "1" + then + echo "$CC" | grep "ccache" > /dev/null || CC="ccache $CC" + echo "$CXX" | grep "ccache" > /dev/null || CXX="ccache $CXX" + fi + fi +} + +# +# Set flags for various build configurations. +# Used in -valgrind builds +# +set_valgrind_flags() +{ + if test "x$valgrind_flag" = "xyes" ; then + loc_valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify " + loc_valgrind_flags="$loc_valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max" + compiler_flags="$compiler_flags $loc_valgrind_flags" + fi +} + +# +# Set up warnings; default is to use no warnings, but if warning_mode +# is used a lot of warning flags are set up. These flags are valid only +# for gcc, so for other compilers we ignore the warning_mode. +# +set_warning_flags() +{ + if test "x$developer_flag" = "xyes" && test "x$warning_mode" = "x" ; then + warning_mode="normal" + fi + if test "x$compiler" = "xgcc" ; then + if test "x$warning_mode" = "normal" || test "x$warning_mode" = "extra" ; then +# Both C and C++ warnings + warnings="$warnings -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs" + warnings="$warnings -Wcomment -W" + warnings="$warnings -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare" + warnings="$warnings -Wwrite-strings -Wunused-function -Wunused-label" + warnings="$warnings -Wunused-value -Wunused-variable" + + if test "x$warning_mode" = "extra" ; then + warnings="$warnings -Wshadow" + fi +# C warnings + c_warnings="$warnings -Wunused-parameter" +# C++ warnings + cxx_warnings="$warnings -Woverloaded-virtual -Wsign-promo -Wreorder" + cxx_warnings="$warnings -Wctor-dtor-privacy -Wnon-virtual-dtor" +# Added unless --with-debug=full + if test "x$full_debug" = "x" ; then + compiler_flags="$compiler_flags -Wuninitialized" + fi + elif test "x$warning_mode" = "xpedantic" ; then + warnings="-W -Wall -ansi -pedantic -Wno-long-long -D_POSIX_SOURCE" + c_warnings="$warnings" + cxx_warnings="$warnings -std=c++98" +# Reset CPU flags (-mtune), they don't work in -pedantic mode + check_cpu_cflags="" + fi + fi +} + +# +# Used in -debug builds +# +set_with_debug_flags() +{ + if test "x$with_debug_flag" = "xyes" ; then + if test "x$developer_flag" = "xyes" ; then + loc_debug_flags="-DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS " + loc_debug_flags="$loc_debug_cflags -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC" + compiler_flags="$compiler_flags $loc_debug_flags" + fi + fi +} + +# +# Flag for optimizing builds for developers. +# +set_no_omit_frame_pointer_for_developers() +{ + if test "x$fast_flag" != "xno" ; then + if test "x$developer_flag" = "xyes" && test "x$compiler" = "xgcc" ; then +# Be as fast as we can be without losing our ability to backtrace. + compiler_flags="$compiler_flags -fno-omit-frame-pointer" + fi + fi +} + +# +# Add -g to all builds that requested debug information in build +# +set_debug_flag() +{ + if test "x$compile_debug_flags" = "xyes" ; then + compiler_flags="$compiler_flags -g" + fi +} + +# +# Base options used by all packages +# +# SSL library to use. --with-ssl selects the bundled yaSSL +# implementation of SSL. To use openSSL, you must point out the location +# of the openSSL headers and libs on your system. +# For example: --with-ssl=/usr +# +set_base_configs() +{ + base_configs="$base_configs --prefix=$prefix" + base_configs="$base_configs --libexecdir=$prefix/bin" + base_configs="$base_configs --with-zlib-dir=bundled" + if test "x$datadir" = "x" ; then + base_configs="$base_configs --localstatedir=$prefix/data" + else + base_configs="$base_configs --localstatedir=$datadir" + fi + if test "x$with_debug_flag" = "xyes" ; then + base_configs="$base_configs --with-debug$full_debug" + fi + base_configs="$base_configs --enable-local-infile" + base_configs="$base_configs --enable-thread-safe-client" + base_configs="$base_configs --with-big-tables" + base_configs="$base_configs --with-extra-charsets=all" + base_configs="$base_configs --with-ssl" + base_configs="$base_configs --with-pic" + base_configs="$base_configs --with-csv-storage-engine" +} + +# +# Add all standard engines and partitioning (included as part of MySQL +# Cluster storage engine as well) as part of MySQL Server. These are +# added in all packages except the classic package. +# +set_base_engines() +{ + engine_configs="$engine_configs --with-archive-storage-engine" + engine_configs="$engine_configs --with-blackhole-storage-engine" + engine_configs="$engine_configs --with-example-storage-engine" + engine_configs="$engine_configs --with-federated-storage-engine" + engine_configs="$engine_configs --with-partition" +} + +set_pro_package() +{ + base_configs="$base_configs $engine_configs" + base_configs="$base_configs --with-innodb" + base_configs="$base_configs --with-comment=\"MySQL Pro $version_text built from source\"" + if test "x$with_debug_flag" = "xyes" ; then + base_configs="$base_configs --with-server-suffix=\"-debug\"" + fi +} + +set_cge_extended_package() +{ + if test "x$gpl" = "xno" ; then + echo "Cannot build Extended Carrier Grade Edition as Commercial version" + fi + base_configs="$base_configs --with-ndbcluster" + base_configs="$base_configs --without-ndb-debug" + base_configs="$base_configs $engine_configs" + base_configs="$base_configs --with-innodb" + base_configs="$base_configs --with-comment=\"MySQL Cluster Carrier Grade Extended Edition $version_text built from source\"" + if test "x$with_debug_flag" = "xyes" ; then + base_configs="$base_configs --with-server-suffix=\"-cge-extended-debug\"" + else + base_configs="$base_configs --with-server-suffix=\"-cge-extended"\" + fi +} + +set_cge_package() +{ + base_configs="$base_configs --with-ndbcluster" + base_configs="$base_configs --without-ndb-debug" + base_configs="$base_configs $engine_configs" + base_configs="$base_configs --with-comment=\"MySQL Cluster Carrier Grade Edition $version_text built from source\"" + if test "x$with_debug_flag" = "xyes" ; then + base_configs="$base_configs --with-server-suffix=\"-cge-debug\"" + else + base_configs="$base_configs --with-server-suffix=\"-cge"\" + fi +} + +set_classic_package() +{ + base_configs="$base_configs --with-comment=\"MySQL Classic $version_text built from source\"" + if test "x$with_debug_flag" = "xyes" ; then + base_configs="$base_configs --with-server-suffix=\"-debug\"" + fi +} + +# +# Special handling of readline; use readline from the MySQL +# distribution if building a GPL version, otherwise use libedit. +# +set_readline_package() +{ + if test -d "$path/../cmd-line-utils/readline" && test "x$gpl" = "xyes" ; then + base_configs="$base_configs --with-readline" + elif test -d "$path/../cmd-line-utils/libedit" ; then + base_configs="$base_configs --with-libedit" + fi +} + +# +# If fast flag set by user we also add architecture as discovered to +# compiler flags to make binary optimised for architecture at hand. +# We use this feature on gcc compilers. +# +set_gcc_special_options() +{ + if test "x$fast_flag" = "xyes" && test "x$compiler" = "xgcc" ; then + compiler_flags="$compiler_flags $check_cpu_cflags" + fi +} + +# +# If we discover a Core 2 Duo architecture and we have enabled the fast +# flag, we enable a compile especially optimised for Core 2 Duo. This +# feature is currently available on Intel's icc compiler only. +# +set_icc_special_options() +{ + if test "x$fast_flag" = "xyes" && test "x$cpu_arg" = "xcore2" && \ + test "x$compiler" = "xicc" ; then + compiler_flags="$compiler_flags -xT" + fi +} + +# +# FreeBSD Section +# +set_bsd_configs() +{ + if test "x$cpu_base_type" != "xx86" ; then + usage "Only x86 CPUs supported for FreeBSD" + exit 1 + fi + if test "x$compiler" != "xgcc" ; then + usage "Only gcc supported for FreeBSD" + exit 1 + fi + base_configs="$base_configs --enable-assembler" + CC="gcc" + CXX="gcc" +} + +# +# Linux Section +# +set_linux_configs() +{ + if test "x$cpu_base_type" != "xx86" && \ + test "x$cpu_base_type" != "xitanium" ; then + usage "Only x86 and Itanium CPUs supported for 32-bit Linux" + exit 1 + fi + base_configs="$base_configs --with-fast-mutexes" + if test "x$cpu_base_type" = "xx86" ; then + base_configs="$base_configs --enable-assembler" + fi + if test "x$compiler" = "xgcc" ; then + CC="gcc" + CXX="gcc" + if test "x$m64" = "xyes" ; then + compiler_flags="$compiler_flags -m64" + fi +# configure will set proper compiler flags for gcc on Linux + elif test "x$compiler" = "xicc" ; then + compiler_flags="$compiler_flags -mp -restrict" + CC="icc -static-intel" + CXX="icpc -static-intel" + if test "x$cpu_base_type" = "xitanium" ; then + compiler_flags="$compiler_flags -no-ftz" + fi + if test "x$fast_flag" != "xno" ; then + compiler_flags="$compiler_flags -O3 -unroll2 -ip" + if test "x$fast_flag" = "xyes" ; then + compiler_flags="$compiler_flags -ipo" + fi + fi + else + usage "Only gcc and icc compilers supported for Linux" + exit 1 + fi +} + +# +# Solaris Section +# +set_solaris_configs() +{ + base_configs="$base_configs --with-mysqld-libs=-lmtmalloc" + case "`uname -a`" in + *5.10*|*5.11*) + ;; + *) + die "Only versions 10 and 11 supported for Solaris" + esac + if test "x$cpu_base_type" != "xx86" && \ + test "x$cpu_base_type" != "xsparc" ; then + usage "Only x86 and Sparc CPUs supported for Solaris" + exit 1 + fi + if test "x$compiler" = "xgcc" ; then + CC="gcc" + CXX="gcc" + if test "x$cpu_base_type" != "xx86" ; then + usage "Only gcc supported for Solaris 10/11 on SPARC" + fi + compiler_flags="$compiler_flags -m64 -DMY_ATOMIC_MODE_RWLOCKS" + LDFLAGS="-m64 -static-libgcc" + if test "x$fast_flag" != "xno" ; then + LDFLAGS="$LDFLAGS -O2" + compiler_flags="$compiler_flags -O2" + else + LDFLAGS="$LDFLAGS -O" + compiler_flags="$compiler_flags -O" + fi + elif test "x$compiler" = "xforte" ; then + if test "x$cpu_base_type" = "xx86" ; then + usage "Only gcc supported for Solaris/x86" + fi + if test "x$cpu_base_type" != "xsparc" ; then + usage "Forte compiler supported for Solaris 9/SPARC only" + fi + CC="cc-5.0" + CXX=CC + ASFLAGS="xarch=v9" + LDFLAGS="xarch=v9" + base_cflags="$base_cflags -Xa -xstrconst -xc99=none" + base_cxxflags="$base_cxxflags -noex" + compiler_flags="$compiler_flags -mt -D_FORTEC -xarch=v9" + if test "x$fast_flag" != "xno" ; then + compiler_flags="$compiler_flags -xO3" + fi + else + usage "Only gcc and Forte compilers supported for Solaris" + exit 1 + fi +} + +# +# Mac OS X Section +# +set_macosx_configs() +{ + base_cxxflags="$base_cxxflags -fno-common" + if test "x$cpu_base_type" = "xx86" && test "x$compiler" = "xgcc" ; then + compiler_flags="$compiler_flags -arch i386" + else + usage "Only gcc/x86 supported for Mac OS X" + exit 1 + fi +# +# Optimize for space as long as it doesn't affect performance, use some +# optimisations also when not in fast mode. +# + if test "x$fast_flag" != "xno" ; then + compiler_flags="$compiler_flags -Os" + base_cxxflags="$base_cxxflags -felide-constructors" + else + compiler_flags="$compiler_flags -O" + fi + CC="gcc" + CXX="gcc" +} + +# +# Use static linking for own modules and dynamic linking for system +# modules unless specifically requested to do everything statically. +# Should normally not be used; static_linking_flag kept in case someone +# really needs it. Available only if developer flag is also set. +# +set_static_link_configs() +{ + if test "x$static_linking_flag" = "xyes" && test "x$developer_flag" = "xyes" ; then + loc_static_link="--with-mysqld-ldflags=\"-all-static\"" + loc_static_link="$loc_static_link --with-client-ldflags=\"-all-static\"" + else + loc_static_link="--with-mysqld-ldflags=\"-static\"" + loc_static_link="$loc_static_link --with-client-ldflags=\"-static\"" + fi + base_configs="$base_configs $loc_static_link" +} + +# +# Enable error injection in MySQL Server (for developer build only - +# extra check for developer flag required). +# +set_error_inject_configs() +{ + if test "x$error_inject_flag" = "xyes" && test "x$developer_flag" = "xyes" ; then + base_configs="$base_configs --with-error-inject" + if test "x$package" = "xndb" || test "x$package" = "xextended" ; then + base_configs="$base_configs --with-ndb-ccflags='-DERROR_INSERT'" + fi + fi +} + +set_default_package() +{ + if test "x$package" = "x" ; then + if test "x$developer_flag" = "xyes" ; then + package="extended" + else + package="cge" + fi + fi +} + +set_autotool_flags() +{ + if test "x$use_autotools" = "x" ; then + if test "x$developer_flag" = "xno" ; then + use_autotools="no" + else + use_autotools="yes" + fi + fi +} + +set_defaults_based_on_environment() +{ + if test ! -z "$MYSQL_DEVELOPER" ; then + developer_flag="yes" + fi + if test ! -z "$MYSQL_DEVELOPER_DEBUG" ; then + with_debug_flag="yes" + fast_flag="no" + fi + if test ! -z "$MYSQL_DEVELOPER_PACKAGE" ; then + package="$MYSQL_DEVELOPER_PACKAGE" + parse_package + fi +} + +######################################################################## + +if test ! -f sql/mysqld.cc ; then + die "You must run this script from the MySQL top-level directory" +fi + +cpu_type= +package= +prefix="/usr/local/mysql" +parallelism="4" +fast_flag="generic" +compiler="gcc" +gpl="yes" +version_text= +developer_flag="no" +just_configure= +full_debug= +warning_mode= +with_flags= +error_inject_flag= +with_debug_flag= +compile_debug_flag= +strip_flag= +valgrind_flag= +static_linking_flag= +compiler_flags= +os= +cpu_base_type= +warnings= +c_warnings= +cflags= +base_cflags= +cxx_warnings= +base_cxxflags= +base_configs= +debug_flags= +cxxflags= +m32= +m64= +datadir= +commands= +use_autotools= + +set_defaults_based_on_environment + +parse_options "$@" + +set_autotool_flags +set_default_package + +set -e + +# +# Check for the CPU and set up CPU specific flags. We may reset them +# later. +# This call sets the cpu_arg and check_cpu_args parameters +# +path=`dirname $0` +. "$path/check-cpu" +set_cpu_base +if test "x$?" = "x1" ; then + exit 1 +fi + +# +# Set up c_warnings and cxx_warnings; add to compiler_flags. +# Possibly reset check_cpu_flags. +# +set_warning_flags + +# +# Add to compiler_flags. +# +set_valgrind_flags +set_with_debug_flags +set_no_omit_frame_pointer_for_developers +set_debug_flag +set_gcc_special_options +set_icc_special_options + +# +# Definitions of various packages possible to compile. The default is to +# build a source variant of MySQL Cluster Carrier Grade Edition +# including all storage engines except InnoDB, and to use GPL libraries. +# +set_base_configs +set_base_engines +if test "x$gpl" = "xyes" ; then + version_text="GPL version" +else + version_text="Commercial version" +fi +if test "x$package" = "xpro" ; then + set_pro_package +elif test "x$package" = "xextended" ; then + set_cge_extended_package +elif test "x$package" = "xcge" ; then + set_cge_package +elif test "x$package" = "xclassic" ; then + set_classic_package +else + die "No supported package was used, internal error" +fi +set_readline_package +set_static_link_configs +set_error_inject_configs + +# +# This section handles flags for specific combinations of compilers, +# operating systems, and processors. +# + +check_os +if test "x$os" = "xlinux" ; then + set_linux_configs +elif test "x$os" = "xSolaris" ; then + set_solaris_configs +elif test "x$os" = "xMacOSX" ; then + set_macosx_configs +elif test "x$os" = "xbsd" ; then + set_bsd_configs +else + die "Operating system not supported by this script" +fi + +# +# Final step before setting up commands is to set up proper make and +# proper libtoolize versions, and to determine whether to use ccache. +# +set_make_version +set_up_ccache + +# +# Set up commands variable from variables prepared for base +# configurations, compiler flags, and warnings flags. +# +if test "x$use_autotools" = "xyes" ; then + init_auto_commands +fi +init_configure_commands + +if test "x$just_configure" != "xyes" ; then + add_make_commands +fi + +# +# The commands variable now contains the entire command to be run for +# the build; we either execute it, or merely print it out. +# +if test "x$just_print" = "xyes" ; then + echo "$commands" +else + eval "set -x; $commands" +fi diff --git a/BUILD/check-cpu b/BUILD/check-cpu index 48a5b5371e3..45dd8404f0d 100755 --- a/BUILD/check-cpu +++ b/BUILD/check-cpu @@ -2,6 +2,9 @@ # # Check cpu of current machine and find the # best compiler optimization flags for gcc +# Will return result in: +# cpu_arg : Type of CPU +# check_cpu_args : Arguments for GCC compiler settings # check_cpu () { @@ -33,7 +36,7 @@ check_cpu () { # parse CPU flags for flag in `$cpuinfo | grep '^flags' | sed -e 's/^flags.*: //' -e 's/[^a-zA-Z0-9_ ]/_/g'`; do - eval cpu_flag_$flag=yes + eval cpu_flag_$flag=yes done else # Fallback when there is no /proc/cpuinfo @@ -62,91 +65,95 @@ check_cpu () { Alpha*EV6*) cpu_arg="ev6"; ;; - # Intel ia32 - *Xeon*) + *Intel*Core*|*X[eE][oO][nN]*) # a Xeon is just another pentium4 ... # ... unless it has the "lm" (long-mode) flag set, - # in that case it's a Xeon with EM64T support - if [ -z "$cpu_flag_lm" ]; then - cpu_arg="pentium4"; - else - cpu_arg="nocona"; + # in that case it's a Xeon with EM64T support + # If SSE3 support exists it is a Core2 Duo or newer + # So is Intel Core. + if [ -z "$cpu_flag_lm" ]; then + cpu_arg="pentium4" + else + cpu_arg="nocona" + fi + if test -z "$cpu_flag_ssse3" ; then + core2="no" + else + core2="yes" fi ;; *Pentium*4*Mobile*) - cpu_arg="pentium4m"; - ;; + cpu_arg="pentium4m" + ;; *Pentium*4*) - cpu_arg="pentium4"; + cpu_arg="pentium4" ;; *Pentium*III*Mobile*) - cpu_arg="pentium3m"; - ;; + cpu_arg="pentium3m" + ;; *Pentium*III*) - cpu_arg="pentium3"; - ;; + cpu_arg="pentium3" + ;; *Pentium*M*pro*) - cpu_arg="pentium-m"; + cpu_arg="pentium-m" ;; *Celeron\(R\)*\ M*) - cpu_arg="pentium-m"; - ;; + cpu_arg="pentium-m" + ;; *Celeron*Coppermine*) cpu_arg="pentium3" - ;; + ;; *Celeron\(R\)*) cpu_arg="pentium4" - ;; + ;; *Celeron*) - cpu_arg="pentium2"; - ;; - *Athlon*64*) - cpu_arg="athlon64"; + cpu_arg="pentium2" ;; *Turion*) - cpu_arg="athlon64"; + cpu_arg="athlon64" ;; - *Opteron*) - cpu_arg="athlon64"; + *Athlon*64*) + cpu_arg="athlon64" ;; *Athlon*) - cpu_arg="athlon"; + cpu_arg="athlon" ;; *Opteron*) - cpu_arg="opteron"; + cpu_arg="opteron" ;; # MacOSX / Intel *i386*i486*) - cpu_arg="pentium-m"; + cpu_arg="pentium-m" + ;; + *i386*) + cpu_arg="i386" ;; #Core 2 Duo *Intel*Core\(TM\)2*) - cpu_arg="nocona"; + cpu_arg="nocona" ;; - # Intel ia64 *Itanium*) - # Don't need to set any flags for itanium(at the moment) - cpu_arg=""; + cpu_arg="itanium" ;; - - # + # Solaris Sparc + *sparc*sun4u*) + cpu_arg="sparc" + ;; + # Power PC *ppc*) - cpu_arg='powerpc' + cpu_arg="powerpc" ;; - *powerpc*) - cpu_arg='powerpc' + cpu_arg="powerpc" ;; - # unknown *) - cpu_arg=""; + cpu_arg="" ;; esac - if test -z "$cpu_arg" ; then if test "$CPUINFO" != " " ; then # fallback to uname if necessary @@ -175,29 +182,22 @@ check_cpu () { cc_minor=$2 cc_patch=$3 cc_comp=`expr $cc_major '*' 100 '+' $cc_minor` - + case "$cc_ver--$cc_verno" in *GCC*) # different gcc backends (and versions) have different CPU flags case `gcc -dumpmachine` in - i?86-*) - if test "$cc_comp" -lt 304 - then - check_cpu_args='-mcpu=$cpu_arg' + i?86-* | x86_64-*) + if test "$cc_comp" -lt 304 ; then + check_cpu_cflags="-mcpu=${cpu_arg}" + elif test "$cc_comp" -ge 402 ; then + check_cpu_cflags="-mtune=native" else - check_cpu_args='-mtune=$cpu_arg' + check_cpu_cflags="-mtune=${cpu_arg}" fi ;; ppc-*) - check_cpu_args='-mcpu=$cpu_arg -mtune=$cpu_arg' - ;; - x86_64-*) - if test "$cc_comp" -lt 304 - then - check_cpu_args='-mcpu=$cpu_arg' - else - check_cpu_args='-mtune=$cpu_arg' - fi + check_cpu_cflags="-mcpu=${cpu_arg} -mtune=${cpu_arg}" ;; *) check_cpu_cflags="" @@ -207,7 +207,7 @@ check_cpu () { ;; 2.95.*) # GCC 2.95 doesn't expose its name in --version output - check_cpu_args='-m$cpu_arg' + check_cpu_cflags="-m${cpu_arg}" ;; *) check_cpu_cflags="" @@ -218,42 +218,24 @@ check_cpu () { # now we check whether the compiler really understands the cpu type touch __test.c + if test "x$core2" = "xyes" ; then + cpu_arg="core2" + fi while [ "$cpu_arg" ] ; do printf "testing $cpu_arg ... " >&2 # compile check - check_cpu_cflags=`eval echo $check_cpu_args` - if $cc -c $check_cpu_cflags __test.c 2>/dev/null; then - echo ok >&2 - break; + eval "$cc -c $check_cpu_cflags __test.c" 2>/dev/null + if test "x$?" = "x0" ; then + echo ok >&2 + break; fi echo failed >&2 check_cpu_cflags="" - - # if compile failed: check whether it supports a predecessor of this CPU - # this list is not complete, feel free to add further entries - case "$cpu_arg" in - # Intel ia32 - nocona) cpu_arg=pentium4 ;; - prescott) cpu_arg=pentium4 ;; - pentium4m) cpu_arg=pentium4 ;; - pentium4) cpu_arg=pentium3 ;; - pentium3m) cpu_arg=pentium3 ;; - pentium3) cpu_arg=pentium2 ;; - pentium2) cpu_arg=pentiumpro ;; - pentiumpro) cpu_arg=pentium ;; - pentium) cpu_arg=i486 ;; - i486) cpu_arg=i386 ;; - - # power / powerPC - 7450) cpu_arg=7400 ;; - - *) cpu_arg="" ;; - esac + break; done - rm __test.* } - + check_cpu diff --git a/BUILD/compile-alpha-ccc b/BUILD/compile-alpha-ccc index 889592295b5..59ed241d51c 100755 --- a/BUILD/compile-alpha-ccc +++ b/BUILD/compile-alpha-ccc @@ -1,5 +1,7 @@ +#! /bin/sh + /bin/rm -f */.deps/*.P */*.o -make -k clean +make -k maintainer-clean /bin/rm -f */.deps/*.P */*.o /bin/rm -f config.cache mysql-*.tar.gz diff --git a/BUILD/compile-alpha-cxx b/BUILD/compile-alpha-cxx index c49846fd964..a1b5605ac5e 100755 --- a/BUILD/compile-alpha-cxx +++ b/BUILD/compile-alpha-cxx @@ -1,7 +1,9 @@ +#! /bin/sh + /bin/rm -f */.deps/*.P */*.o -make -k clean +make -k maintainer-clean /bin/rm -f */.deps/*.P */*.o -/bin/rm -f */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache mysql-*.tar.gz +/bin/rm -f */.deps/*.P config.cache storage/innobase/config.cache mysql-*.tar.gz path=`dirname $0` . "$path/autorun.sh" diff --git a/BUILD/compile-alpha-debug b/BUILD/compile-alpha-debug index 113c2151461..94fe8a2b414 100755 --- a/BUILD/compile-alpha-debug +++ b/BUILD/compile-alpha-debug @@ -1,7 +1,9 @@ +#! /bin/sh + /bin/rm -f */.deps/*.P */*.o -make -k clean +make -k maintainer-clean /bin/rm -f */.deps/*.P */*.o -/bin/rm -f */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache mysql-*.tar.gz +/bin/rm -f */.deps/*.P config.cache storage/innobase/config.cache mysql-*.tar.gz path=`dirname $0` . "$path/autorun.sh" diff --git a/BUILD/compile-amd64-debug-max b/BUILD/compile-amd64-debug-max index 530bdba009b..f08e068135a 100755 --- a/BUILD/compile-amd64-debug-max +++ b/BUILD/compile-amd64-debug-max @@ -1,9 +1,7 @@ #! /bin/sh path=`dirname $0` . "$path/SETUP.sh" -extra_flags="$amd64_cflags $debug_cflags $max_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" +extra_flags="$amd64_cflags $debug_cflags" extra_configs="$amd64_configs $debug_configs $max_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-amd64-debug-max-no-ndb b/BUILD/compile-amd64-debug-max-no-ndb new file mode 100755 index 00000000000..8babab44481 --- /dev/null +++ b/BUILD/compile-amd64-debug-max-no-ndb @@ -0,0 +1,7 @@ +#! /bin/sh +path=`dirname $0` +. "$path/SETUP.sh" +extra_flags="$amd64_cflags $debug_cflags" +extra_configs="$amd64_configs $debug_configs $max_no_ndb_configs" + +. "$path/FINISH.sh" diff --git a/BUILD/compile-amd64-max b/BUILD/compile-amd64-max index 228448f6392..30db275c7ae 100755 --- a/BUILD/compile-amd64-max +++ b/BUILD/compile-amd64-max @@ -2,7 +2,7 @@ path=`dirname $0` . "$path/SETUP.sh" -extra_flags="$amd64_cflags $fast_cflags $max_cflags -g" +extra_flags="$amd64_cflags $fast_cflags -g" extra_configs="$amd64_configs $max_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-amd64-valgrind-max b/BUILD/compile-amd64-valgrind-max new file mode 100755 index 00000000000..962d0f17b04 --- /dev/null +++ b/BUILD/compile-amd64-valgrind-max @@ -0,0 +1,24 @@ +#! /bin/sh + +path=`dirname $0` +. "$path/SETUP.sh" + +extra_flags="$amd64_cflags $debug_cflags $valgrind_flags" +extra_configs="$amd64_configs $debug_configs $max_configs" + +. "$path/FINISH.sh" + +if test -z "$just_print" +then + set +v +x + echo "\ +****************************************************************************** +Note that by default BUILD/compile-pentium-valgrind-max calls 'configure' with +--enable-assembler. When Valgrind detects an error involving an assembly +function (for example an uninitialized value used as an argument of an +assembly function), Valgrind will not print the stacktrace and 'valgrind +--gdb-attach=yes' will not work either. If you need a stacktrace in those +cases, you have to run BUILD/compile-pentium-valgrind-max with the +--disable-assembler argument. +******************************************************************************" +fi diff --git a/BUILD/compile-darwin-mwcc b/BUILD/compile-darwin-mwcc index 6fd0eab7e26..9ad8d5d40b5 100755 --- a/BUILD/compile-darwin-mwcc +++ b/BUILD/compile-darwin-mwcc @@ -31,14 +31,10 @@ else ;; debug) extra_flags="$ppc_cflags $debug_cflags" - c_warnings="$c_warnings $debug_extra_warnings" - cxx_warnings="$cxx_warnings $debug_extra_warnings" extra_configs="$debug_configs" ;; debug-max) - extra_flags="$ppc_cflags $debug_cflags $max_cflags" - c_warnings="$c_warnings $debug_extra_warnings" - cxx_warnings="$cxx_warnings $debug_extra_warnings" + extra_flags="$ppc_cflags $debug_cflags" extra_configs="$debug_configs $max_configs" ;; *) diff --git a/BUILD/compile-dist b/BUILD/compile-dist index 613f2643c56..74690fb0c95 100755 --- a/BUILD/compile-dist +++ b/BUILD/compile-dist @@ -6,14 +6,10 @@ # tree can then be picked up by "make dist" to create the "pristine source # package" that is used as the basis for all other binary builds. # -test -f Makefile && make distclean -aclocal -autoheader -libtoolize --automake --force --copy -automake --force --add-missing --copy -autoconf -(cd bdb/dist && sh s_all) -(cd innobase && aclocal && autoheader && aclocal && automake && autoconf) +test -f Makefile && make maintainer-clean + +path=`dirname $0` +. $path/autorun.sh # Default to gcc for CC and CXX if test -z "$CXX" ; then @@ -43,11 +39,8 @@ then fi # Make sure to enable all features that affect "make dist" +# Remember that configure restricts the man pages to the configured features ! ./configure \ --with-embedded-server \ - --with-berkeley-db \ - --with-innodb \ - --enable-thread-safe-client \ - --with-extra-charsets=complex \ --with-ndbcluster make diff --git a/BUILD/compile-hpux11-parisc2-aCC b/BUILD/compile-hpux11-parisc2-aCC index c286488bb26..0e825715663 100755 --- a/BUILD/compile-hpux11-parisc2-aCC +++ b/BUILD/compile-hpux11-parisc2-aCC @@ -61,7 +61,7 @@ done set -x -make distclean +make maintainer-clean path=`dirname $0` . "$path/autorun.sh" diff --git a/BUILD/compile-ia64-debug-max b/BUILD/compile-ia64-debug-max index 5082844f088..123bfb06300 100755 --- a/BUILD/compile-ia64-debug-max +++ b/BUILD/compile-ia64-debug-max @@ -1,5 +1,5 @@ -gmake -k clean || true -/bin/rm -f */.deps/*.P config.cache innobase/config.cache bdb/build_unix/config.cache +gmake -k maintainer-clean || true +/bin/rm -f */.deps/*.P config.cache storage/innobase/config.cache path=`dirname $0` . "$path/autorun.sh" diff --git a/BUILD/compile-irix-mips64-mipspro b/BUILD/compile-irix-mips64-mipspro index 0cebb4b9f5b..5e34df20c28 100755 --- a/BUILD/compile-irix-mips64-mipspro +++ b/BUILD/compile-irix-mips64-mipspro @@ -33,7 +33,7 @@ else fi set -x -make distclean +make maintainer-clean path=`dirname $0` . "$path/autorun.sh" diff --git a/BUILD/compile-pentium-debug b/BUILD/compile-pentium-debug index e31cb59a8a4..3f4027c5dd6 100755 --- a/BUILD/compile-pentium-debug +++ b/BUILD/compile-pentium-debug @@ -5,10 +5,6 @@ set -- "$@" --with-debug=full . "$path/SETUP.sh" extra_flags="$pentium_cflags $debug_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" -extra_configs="$pentium_configs $debug_configs " - -extra_configs="$extra_configs" +extra_configs="$pentium_configs $debug_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium-debug-max b/BUILD/compile-pentium-debug-max index 56e24617abb..941a63a209f 100755 --- a/BUILD/compile-pentium-debug-max +++ b/BUILD/compile-pentium-debug-max @@ -4,9 +4,7 @@ path=`dirname $0` set -- "$@" --with-debug=full . "$path/SETUP.sh" -extra_flags="$pentium_cflags $debug_cflags $max_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" -extra_configs="$pentium_configs $debug_configs $max_configs --with-experimental-collations" +extra_flags="$pentium_cflags $debug_cflags" +extra_configs="$pentium_configs $debug_configs $max_configs $error_inject --with-experimental-collations" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium-debug-max-no-embedded b/BUILD/compile-pentium-debug-max-no-embedded index dfdf7d0a5e1..2cae5eff694 100755 --- a/BUILD/compile-pentium-debug-max-no-embedded +++ b/BUILD/compile-pentium-debug-max-no-embedded @@ -3,9 +3,7 @@ path=`dirname $0` . "$path/SETUP.sh" -extra_flags="$pentium_cflags $debug_cflags $max_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" -extra_configs="$pentium_configs $debug_configs $base_max_configs" +extra_flags="$pentium_cflags $debug_cflags" +extra_configs="$pentium_configs $debug_configs $max_no_embedded_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium-debug-max-no-ndb b/BUILD/compile-pentium-debug-max-no-ndb index 92a388f9cb9..3f7a7904050 100755 --- a/BUILD/compile-pentium-debug-max-no-ndb +++ b/BUILD/compile-pentium-debug-max-no-ndb @@ -4,9 +4,7 @@ path=`dirname $0` set -- "$@" --with-debug=full . "$path/SETUP.sh" -extra_flags="$pentium_cflags $debug_cflags $max_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" +extra_flags="$pentium_cflags $debug_cflags" extra_configs="$pentium_configs $debug_configs $max_no_ndb_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium-debug-no-bdb b/BUILD/compile-pentium-debug-no-bdb deleted file mode 100755 index d7e70f868cc..00000000000 --- a/BUILD/compile-pentium-debug-no-bdb +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/sh - -path=`dirname $0` -. "$path/SETUP.sh" - -extra_flags="$pentium_cflags $debug_cflags" -extra_configs="$pentium_configs $debug_configs --without-berkeley-db $static_link" - -. "$path/FINISH.sh" diff --git a/BUILD/compile-pentium-debug-openssl b/BUILD/compile-pentium-debug-openssl index 68d99b6eda6..2e24dbfd2f1 100755 --- a/BUILD/compile-pentium-debug-openssl +++ b/BUILD/compile-pentium-debug-openssl @@ -4,10 +4,8 @@ path=`dirname $0` . "$path/SETUP.sh" extra_flags="$pentium_cflags $debug_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" extra_configs="$pentium_configs $debug_configs" -extra_configs="$extra_configs --with-debug=full --with-openssl" +extra_configs="$extra_configs --with-debug=full --with-ssl=/usr" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium-debug-yassl b/BUILD/compile-pentium-debug-yassl index 666e73d0267..61ad2937c4a 100755 --- a/BUILD/compile-pentium-debug-yassl +++ b/BUILD/compile-pentium-debug-yassl @@ -4,10 +4,8 @@ path=`dirname $0` . "$path/SETUP.sh" extra_flags="$pentium_cflags $debug_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" extra_configs="$pentium_configs $debug_configs" -extra_configs="$extra_configs --with-debug=full --with-yassl" +extra_configs="$extra_configs --with-debug=full --with-ssl" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium-gcov b/BUILD/compile-pentium-gcov index d4878dc591e..42666b2632c 100755 --- a/BUILD/compile-pentium-gcov +++ b/BUILD/compile-pentium-gcov @@ -1,12 +1,25 @@ #! /bin/sh +# Need to disable ccache, or we loose the gcov-needed compiler output files. + +USING_GCOV=1 +CCACHE_GCOV_VERSION_ENABLED=0 +if ccache -V > /dev/null 2>&1 +then + CCACHE_VER=`ccache -V | head -1 | sed s/"ccache version "//` + if test "$CCACHE_VER" == "2.4-gcov" + then + CCACHE_GCOV_VERSION_ENABLED=1 + else + CCACHE_DISABLE=1 + export CCACHE_DISABLE + fi +fi +export CCACHE_GCOV_VERSION_ENABLED + path=`dirname $0` . "$path/SETUP.sh" -# Need to disable ccache, or we loose the gcov-needed compiler output files. -CCACHE_DISABLE=1 -export CCACHE_DISABLE - export LDFLAGS="$gcov_link_flags" extra_flags="$pentium_cflags $debug_cflags $max_cflags $gcov_compile_flags" diff --git a/BUILD/compile-pentium-icc-valgrind-max b/BUILD/compile-pentium-icc-valgrind-max index b765c777e2b..58acf892f5a 100755 --- a/BUILD/compile-pentium-icc-valgrind-max +++ b/BUILD/compile-pentium-icc-valgrind-max @@ -9,7 +9,7 @@ CC=icc CXX=icpc export CC CXX -extra_flags="$pentium_cflags $debug_cflags $max_cflags -USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify -DMYSQL_SERVER_SUFFIX=-valgrind-max" +extra_flags="$pentium_cflags $debug_cflags $valgrind_flags" # Disable following warnings as these are generated by header files: # 161 unrecognized pragma diff --git a/BUILD/compile-pentium-max b/BUILD/compile-pentium-max index 595581f604e..8272e3406d3 100755 --- a/BUILD/compile-pentium-max +++ b/BUILD/compile-pentium-max @@ -3,7 +3,7 @@ path=`dirname $0` . "$path/SETUP.sh" -extra_flags="$pentium_cflags $fast_cflags $max_cflags -g" +extra_flags="$pentium_cflags $fast_cflags -g" extra_configs="$pentium_configs $max_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium-mysqlfs-debug b/BUILD/compile-pentium-mysqlfs-debug index 6643553d943..c871200604e 100755 --- a/BUILD/compile-pentium-mysqlfs-debug +++ b/BUILD/compile-pentium-mysqlfs-debug @@ -4,8 +4,6 @@ path=`dirname $0` . "$path/SETUP.sh" extra_flags="$pentium_cflags $debug_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" extra_configs="$pentium_configs $debug_configs $static_link" extra_configs="$extra_configs --with-debug=full --with-mysqlfs --without-server --without-pstack" diff --git a/BUILD/compile-pentium-pgcc b/BUILD/compile-pentium-pgcc index 639f108bb2b..c13a6ff14f7 100755 --- a/BUILD/compile-pentium-pgcc +++ b/BUILD/compile-pentium-pgcc @@ -1,8 +1,9 @@ +#! /bin/sh + AM_MAKEFLAGS="-j 2" -gmake -k clean || true +gmake -k maintainer-clean || true /bin/rm -f */.deps/*.P config.cache - path=`dirname $0` . "$path/autorun.sh" diff --git a/BUILD/compile-pentium-valgrind-max b/BUILD/compile-pentium-valgrind-max index f0dc92c2ffd..09cc162d2be 100755 --- a/BUILD/compile-pentium-valgrind-max +++ b/BUILD/compile-pentium-valgrind-max @@ -3,13 +3,8 @@ path=`dirname $0` . "$path/SETUP.sh" -extra_flags="$pentium_cflags $debug_cflags $max_cflags -USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify -DMYSQL_SERVER_SUFFIX=-valgrind-max" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" -extra_configs="$pentium_configs $debug_configs" - -# We want to test isam when building with valgrind -extra_configs="$extra_configs $max_leave_isam_configs --with-isam" +extra_flags="$pentium_cflags $debug_cflags $valgrind_flags" +extra_configs="$pentium_configs $debug_configs $max_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium64 b/BUILD/compile-pentium64 new file mode 100755 index 00000000000..3a8fad51fea --- /dev/null +++ b/BUILD/compile-pentium64 @@ -0,0 +1,11 @@ +#! /bin/sh + +path=`dirname $0` +. "$path/SETUP.sh" + +extra_flags="$pentium64_cflags $fast_cflags" +extra_configs="$pentium_configs $static_link" +CC="$CC --pipe" +strip=yes + +. "$path/FINISH.sh" diff --git a/BUILD/compile-pentium64-debug b/BUILD/compile-pentium64-debug index 1edc9827366..06ee672789c 100755 --- a/BUILD/compile-pentium64-debug +++ b/BUILD/compile-pentium64-debug @@ -5,10 +5,8 @@ set -- "$@" --with-debug=full . "$path/SETUP.sh" extra_flags="$pentium64_cflags $debug_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" extra_configs="$pentium_configs $debug_configs $static_link" extra_configs="$extra_configs " - +CC="$CC --pipe" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium64-debug-max b/BUILD/compile-pentium64-debug-max index 656825d8494..b8b271688be 100755 --- a/BUILD/compile-pentium64-debug-max +++ b/BUILD/compile-pentium64-debug-max @@ -4,11 +4,9 @@ path=`dirname $0` set -- "$@" --with-debug=full . "$path/SETUP.sh" -extra_flags="$pentium64_cflags $debug_cflags $max_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" +extra_flags="$pentium64_cflags $debug_cflags" extra_configs="$pentium_configs $debug_configs $max_configs" extra_configs="$extra_configs " - +CC="$CC --pipe" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium64-max b/BUILD/compile-pentium64-max new file mode 100755 index 00000000000..9acd5e7c460 --- /dev/null +++ b/BUILD/compile-pentium64-max @@ -0,0 +1,11 @@ +#! /bin/sh + +path=`dirname $0` +. "$path/SETUP.sh" + +extra_flags="$pentium64_cflags $fast_cflags" +extra_configs="$pentium_configs $max_configs $static_link" +CC="$CC --pipe" +strip=yes + +. "$path/FINISH.sh" diff --git a/BUILD/compile-pentium64-valgrind-max b/BUILD/compile-pentium64-valgrind-max index ef932920130..fa476cbb50a 100755 --- a/BUILD/compile-pentium64-valgrind-max +++ b/BUILD/compile-pentium64-valgrind-max @@ -3,13 +3,8 @@ path=`dirname $0` . "$path/SETUP.sh" -extra_flags="$pentium64_cflags $debug_cflags $max_cflags -USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify -DMYSQL_SERVER_SUFFIX=-valgrind-max" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" -extra_configs="$pentium_configs $debug_configs" - -# We want to test isam when building with valgrind -extra_configs="$extra_configs $max_leave_isam_configs --with-isam" +extra_flags="$pentium64_cflags $debug_cflags $valgrind_flags" +extra_configs="$pentium_configs $debug_configs $max_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-ppc-debug b/BUILD/compile-ppc-debug index 2be11eaaf22..99e9364a5e2 100755 --- a/BUILD/compile-ppc-debug +++ b/BUILD/compile-ppc-debug @@ -4,8 +4,6 @@ path=`dirname $0` . "$path/SETUP.sh" extra_flags="$ppc_cflags $debug_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" extra_configs="$debug_configs " extra_configs="$extra_configs" diff --git a/BUILD/compile-ppc-debug-max b/BUILD/compile-ppc-debug-max index 49d1442fd45..7c1a593869f 100755 --- a/BUILD/compile-ppc-debug-max +++ b/BUILD/compile-ppc-debug-max @@ -3,9 +3,7 @@ path=`dirname $0` . "$path/SETUP.sh" -extra_flags="$ppc_cflags $debug_cflags $max_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" +extra_flags="$ppc_cflags $debug_cflags" extra_configs="$debug_configs $max_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-ppc-debug-max-no-ndb b/BUILD/compile-ppc-debug-max-no-ndb index a5b922a1ec9..7b39aa25dff 100755 --- a/BUILD/compile-ppc-debug-max-no-ndb +++ b/BUILD/compile-ppc-debug-max-no-ndb @@ -3,9 +3,7 @@ path=`dirname $0` . "$path/SETUP.sh" -extra_flags="$ppc_cflags $debug_cflags $max_cflags" -c_warnings="$c_warnings $debug_extra_warnings" -cxx_warnings="$cxx_warnings $debug_extra_warnings" +extra_flags="$ppc_cflags $debug_cflags" extra_configs="$debug_configs $max_no_ndb_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-ppc-max b/BUILD/compile-ppc-max index 1d89be81c9c..c2eb95dffea 100755 --- a/BUILD/compile-ppc-max +++ b/BUILD/compile-ppc-max @@ -3,7 +3,7 @@ path=`dirname $0` . "$path/SETUP.sh" -extra_flags="$ppc_cflags $fast_cflags $max_cflags -g" +extra_flags="$ppc_cflags $fast_cflags -g" extra_configs="$extra_configs $max_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-sap b/BUILD/compile-sap deleted file mode 100755 index 376afaf6f56..00000000000 --- a/BUILD/compile-sap +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/sh - -path=`dirname $0` -. "$path/SETUP.sh" - -extra_flags="$pentium_cflags" -extra_configs="$pentium_configs --without-berkeley-db" - -. "$path/FINISH.sh" diff --git a/BUILD/compile-sap-debug b/BUILD/compile-sap-debug deleted file mode 100755 index d7e70f868cc..00000000000 --- a/BUILD/compile-sap-debug +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/sh - -path=`dirname $0` -. "$path/SETUP.sh" - -extra_flags="$pentium_cflags $debug_cflags" -extra_configs="$pentium_configs $debug_configs --without-berkeley-db $static_link" - -. "$path/FINISH.sh" diff --git a/BUILD/compile-solaris-amd64 b/BUILD/compile-solaris-amd64 index 9204170b908..f128fb12973 100755 --- a/BUILD/compile-solaris-amd64 +++ b/BUILD/compile-solaris-amd64 @@ -1,10 +1,55 @@ -#! /bin/sh +#!/usr/bin/bash + +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 +) + +make -k clean || true +/bin/rm -f */.deps/*.P config.cache + path=`dirname $0` -. "$path/SETUP.sh" -amd64_cflags="-m64 -mtune=athlon64" -extra_flags="$amd64_cflags $max_cflags" -c_warnings="$c_warnings" -cxx_warnings="$cxx_warnings" -extra_configs="$amd64_configs $debug_configs $max_configs --enable-thread-safe-client" - -. "$path/FINISH.sh" +. "$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" + +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) + +$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 diff --git a/BUILD/compile-solaris-sparc b/BUILD/compile-solaris-sparc index 0c05bf8a101..5132965d766 100755 --- a/BUILD/compile-solaris-sparc +++ b/BUILD/compile-solaris-sparc @@ -1,11 +1,14 @@ #! /bin/sh -gmake -k clean || true +make -k clean || true /bin/rm -f */.deps/*.P config.cache +# gcc is often in /usr/ccs/bin or /usr/local/bin +PATH=$PATH:/usr/ccs/bin:/usr/local/bin + path=`dirname $0` . "$path/autorun.sh" CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client -gmake -j 4 +make -j 4 diff --git a/BUILD/compile-solaris-sparc-debug b/BUILD/compile-solaris-sparc-debug index 3384b623ccb..43cabd644fa 100755 --- a/BUILD/compile-solaris-sparc-debug +++ b/BUILD/compile-solaris-sparc-debug @@ -1,11 +1,11 @@ -#! /bin/sh +#!/bin/sh -gmake -k clean || true +make -k clean || true /bin/rm -f */.deps/*.P config.cache path=`dirname $0` . "$path/autorun.sh" -CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-debug +CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-debug -gmake -j 4 +make -j 4 diff --git a/BUILD/compile-solaris-sparc-forte b/BUILD/compile-solaris-sparc-forte index 7cdbff6ae4a..b9fffcb7fdd 100755 --- a/BUILD/compile-solaris-sparc-forte +++ b/BUILD/compile-solaris-sparc-forte @@ -1,20 +1,26 @@ #! /bin/sh -gmake -k clean || true +# Assume Forte is installed in /opt/SUNWSpro and ld is installed in +# /usr/ccs/bin + +PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin:$PATH + +prefix="/usr/local/mysql" +if test -n "$MYSQL_BUILD_PREFIX" +then + prefix="$MYSQL_BUILD_PREFIX" +fi + +make -k maintainer-clean || true /bin/rm -f */.deps/*.P config.cache path=`dirname $0` . "$path/autorun.sh" - -# Assume Forte is installed in /opt/SUNWSpro - -PATH=/opt/SUNWspro/bin/:$PATH - # For "optimal" code for this computer add -fast to EXTRA -# To compile 64 bit, add -xarch=v9 to EXTRA_64_BIT +# To compile 32/64 bit, uncomment/comment EXTRA_64_BIT -EXTRA_64_BIT="-xarch=v9" # Remove comment to get 64 bit binaries +EXTRA_64_BIT="-m64" EXTRA="-fast" # Remove comment to target current machine # @@ -22,12 +28,11 @@ EXTRA="-fast" # Remove comment to target current machine # STD="-mt -D_FORTEC_ $EXTRA $EXTRA_64_BIT" -ASFLAGS="$EXTRA_64_BIT" \ CC=cc-5.0 CFLAGS="-Xa -xstrconst $STD" \ CXX=CC CXXFLAGS="-noex $STD" \ -./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client +./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --prefix=$PREFIX -gmake -j 4 +make -j 4 if [ $? = 0 ] then make test diff --git a/BUILD/compile-solaris-sparc-purify b/BUILD/compile-solaris-sparc-purify index 29cf5671432..08308f05f4e 100755 --- a/BUILD/compile-solaris-sparc-purify +++ b/BUILD/compile-solaris-sparc-purify @@ -31,15 +31,15 @@ do shift done -gmake -k clean || true +make -k maintainer-clean || true /bin/rm -f */.deps/*.P config.cache path=`dirname $0` . "$path/autorun.sh" -CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -DHAVE_purify -DEXTRA_DEBUG -O2" CXX=gcc CXXLD=g++ CXXFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DHAVE_purify -DEXTRA_DEBUG -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-berkeley-db --with-embedded-server --with-innodb $EXTRA_CONFIG_FLAGS +CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -DHAVE_purify -DEXTRA_DEBUG -O2" CXX=gcc CXXLD=g++ CXXFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DHAVE_purify -DEXTRA_DEBUG -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-embedded-server --with-innodb $EXTRA_CONFIG_FLAGS -gmake -j 4 +make -j 4 # ---------------------------------------------------------------------- @@ -75,17 +75,17 @@ purifying_binaries () fi if [ -n "$mode" -a $mode = purify ] ; then - gmake CCLD="purify $opts gcc" CXXLD="purify $opts g++" $target + make CCLD="purify $opts gcc" CXXLD="purify $opts g++" $target mv $binary $binary-purify fi if [ -n "$mode" -a $mode = quantify ] ; then - gmake CCLD="quantify $opts gcc" CXXLD="quantify $opts g++" $target + make CCLD="quantify $opts gcc" CXXLD="quantify $opts g++" $target mv $binary $binary-quantify fi if [ -n "$mode" -a $mode = purecov ] ; then - gmake CCLD="purecov $opts gcc" CXXLD="purecov $opts g++" $target + make CCLD="purecov $opts gcc" CXXLD="purecov $opts g++" $target mv $binary $binary-purecov fi diff --git a/BUILD/test-alpha-ccc b/BUILD/test-alpha-ccc deleted file mode 100755 index c6f4abc0973..00000000000 --- a/BUILD/test-alpha-ccc +++ /dev/null @@ -1,11 +0,0 @@ -cd /usr/local/mysql -bin/mysqladmin shutdown -libexec/mysqld --basedir . & -cd sql-bench -rm output/* -perl run-all-tests --comment "Alpha DS20 2x500 MHz, 2G memory, key_buffer=16M; egcs 1.1.2 + ccc" --user=monty --password="ds20-gryta" -perl run-all-tests --comment "Alpha DS20 2x500 MHz, 2G memory, key_buffer=16M; egcs 1.1.2 + ccc" --user=monty --password="ds20-gryta" --log --use-old -mv output/* output-ccc -perl run-all-tests --comment "Alpha DS20 2x500 MHz, 2G memory, key_buffer=16M; egcs 1.1.2 + ccc" --user=monty --password="ds20-gryta" --fast -perl run-all-tests --comment "Alpha DS20 2x500 MHz, 2G memory, key_buffer=16M; egcs 1.1.2 + ccc" --user=monty --password="ds20-gryta" --log --use-old --fast -mv output/* output-ccc |