3819 Tor Didriksen 2012-03-21
Bug#13595996 CREATE A CONSISTENT DEVELOPMENT CMAKE OPTION SET AND MAKE IT A DEFAULT
The goal of this fix is that developers and pushbuild should do
(roughly) the same when compiling the source code.
- same set of compiler switches
- same set of features built
- same set of tests enabled/executed
To this end, mysql_release.cmake has been split in three:
compiler_options.cmake
standardized compiler flags
-O has been removed from Debug build
(developers don't want anything optimized away when debugging)
feature_set.cmake
standardized feature set built is "community"
mysql_release.cmake
things needed by pushbuild, in particular DEBUG_EXTNAME
Most of the scripts in BUILD have been removed.
Exceptions are
compile-dist still used by PB
compile-pentium-gcov still used by PB
Some compile-pentium-xxx have been re-written, and
are left as examples of how to configure cmake for gprof/valgrind debug/optimized.
@ CMakeLists.txt
Include mysql_release.cmake, unless explicitly overridden on command line.
removed:
BUILD/FINISH.sh
BUILD/SETUP.sh
BUILD/build_mccge.sh
BUILD/check-cpu
BUILD/cleanup
BUILD/compile-alpha
BUILD/compile-amd64-debug-max
BUILD/compile-amd64-debug-max-no-ndb
BUILD/compile-amd64-gcov
BUILD/compile-amd64-gprof
BUILD/compile-amd64-max
BUILD/compile-amd64-max-sci
BUILD/compile-amd64-valgrind-max
BUILD/compile-hpux11-parisc2-aCC
BUILD/compile-ia64-debug-max
BUILD/compile-ndb-autotest
BUILD/compile-pentium-cybozu
BUILD/compile-pentium-debug-max-no-embedded
BUILD/compile-pentium-debug-openssl
BUILD/compile-pentium-debug-yassl
BUILD/compile-pentium-max
BUILD/compile-pentium-myodbc
BUILD/compile-pentium64-debug
BUILD/compile-pentium64-debug-max
BUILD/compile-pentium64-gcov
BUILD/compile-pentium64-gprof
BUILD/compile-pentium64-max
BUILD/compile-pentium64-max-sci
BUILD/compile-pentium64-valgrind-max
BUILD/compile-ppc
BUILD/compile-ppc-debug
BUILD/compile-ppc-debug-max
BUILD/compile-ppc-debug-max-no-ndb
BUILD/compile-ppc-max
BUILD/compile-solaris-amd64
BUILD/compile-solaris-amd64-debug
BUILD/compile-solaris-amd64-forte
BUILD/compile-solaris-amd64-forte-debug
BUILD/compile-solaris-sparc
BUILD/compile-solaris-sparc-debug
BUILD/compile-solaris-sparc-forte
BUILD/compile-solaris-sparc-purify
added:
cmake/build_configurations/compiler_options.cmake
cmake/build_configurations/feature_set.cmake
modified:
BUILD/compile-dist
BUILD/compile-pentium
BUILD/compile-pentium-debug
BUILD/compile-pentium-debug-max
BUILD/compile-pentium-debug-max-no-ndb
BUILD/compile-pentium-gcov
BUILD/compile-pentium-gprof
BUILD/compile-pentium-valgrind-max
BUILD/compile-pentium-valgrind-max-no-ndb
BUILD/compile-pentium64
CMakeLists.txt
cmake/build_configurations/mysql_release.cmake
cmake/package_name.cmake
storage/ndb/CMakeLists.txt
3818 Marko Mäkelä 2012-03-21
Use debug_sync_abort_on_timeout to get a core dump on deadlock.
modified:
mysql-test/suite/innodb/r/innodb-index-online-purge.result
mysql-test/suite/innodb/r/innodb-index-online.result
mysql-test/suite/innodb/t/innodb-index-online-purge.test
mysql-test/suite/innodb/t/innodb-index-online.test
=== removed file 'BUILD/FINISH.sh'
--- a/BUILD/FINISH.sh 2011-09-20 08:58:56 +0000
+++ b/BUILD/FINISH.sh 1970-01-01 00:00:00 +0000
@@ -1,59 +0,0 @@
-# Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-# MA 02110-1301, USA
-
-cflags="$c_warnings $extra_flags"
-cxxflags="$cxx_warnings $base_cxxflags $extra_flags"
-extra_configs="$extra_configs $local_infile_configs"
-configure="./configure $base_configs $extra_configs"
-
-commands="\
-/bin/rm -rf configure;
-/bin/rm -rf CMakeCache.txt CMakeFiles/
-
-path=`dirname $0`
-. \"$path/autorun.sh\""
-
-if [ -z "$just_clean" ]
-then
-commands="$commands
-CC=\"$CC\" CFLAGS=\"$cflags\" CXX=\"$CXX\" CXXFLAGS=\"$cxxflags\" CXXLDFLAGS=\"$CXXLDFLAGS\" \
-$configure"
-fi
-
-if [ -z "$just_configure" -a -z "$just_clean" ]
-then
- commands="$commands
-
-$make $AM_MAKEFLAGS"
-
- if [ "x$strip" = "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"
- fi
-fi
-
-if test -z "$just_print"
-then
- eval "set -x; $commands"
-else
- echo "$commands"
-fi
=== removed file 'BUILD/SETUP.sh'
--- a/BUILD/SETUP.sh 2012-03-06 14:29:42 +0000
+++ b/BUILD/SETUP.sh 1970-01-01 00:00:00 +0000
@@ -1,258 +0,0 @@
-#!/bin/sh
-
-# Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
-
-########################################################################
-
-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(no optimizations, keep call stack).
- --warning-mode=[old|pedantic|maintainer]
- 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="/usr/local/mysql"
-just_print=
-just_configure=
-warning_mode=
-maintainer_mode=
-full_debug=
-
-parse_options "$@"
-
-if test -n "$MYSQL_BUILD_PREFIX"
-then
- prefix="$MYSQL_BUILD_PREFIX"
-fi
-
-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 6"
-
-# 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 [ "x$warning_mode" = "xpedantic" ]; then
- 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=""
-elif [ "x$warning_mode" = "xmaintainer" ]; then
- c_warnings="-Wall -Wextra"
- cxx_warnings="$c_warnings -Wno-unused-parameter"
- maintainer_mode="--enable-mysql-maintainer-mode"
- debug_extra_cflags="-g3"
-else
-# Both C and C++ warnings
- warnings="-Wall -Wextra -Wunused -Wwrite-strings"
-
-# For more warnings, uncomment the following line
-# warnings="$warnings -Wshadow"
-
-# C warnings
- c_warnings="$warnings"
-# C++ warnings
- cxx_warnings="$warnings -Wno-unused-parameter"
-# cxx_warnings="$cxx_warnings -Woverloaded-virtual -Wsign-promo"
- cxx_warnings="$cxx_warnings -Wnon-virtual-dtor"
- debug_extra_cflags="-O0 -g3 -gdwarf-2"
-fi
-
-# Set flags for various build configurations.
-# Used in -valgrind builds
-# Override -DFORCE_INIT_OF_VARS from debug_cflags. It enables the macro
-# LINT_INIT(), which is only useful for silencing spurious warnings
-# of static analysis tools. We want LINT_INIT() to be a no-op in Valgrind.
-valgrind_flags="-UFORCE_INIT_OF_VARS -DHAVE_purify "
-valgrind_flags="$valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max"
-valgrind_configs="--with-valgrind"
-#
-# Used in -debug builds
-debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS "
-debug_cflags="$debug_cflags -DSAFE_MUTEX"
-error_inject="--with-error-inject "
-#
-# Base C++ flags for all builds
-base_cxxflags="-felide-constructors"
-#
-# Flags for optimizing builds.
-# Be as fast as we can be without losing our ability to backtrace.
-fast_cflags="-O3 -fno-omit-frame-pointer"
-
-debug_configs="--with-debug"
-if [ -z "$full_debug" ]
-then
- debug_cflags="$debug_cflags $debug_extra_cflags"
-fi
-
-
-#
-# 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 $maintainer_mode"
-
-
-if test -d "$path/../cmd-line-utils/libedit"
-then
- base_configs="$base_configs --with-libedit"
-fi
-
-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"
-
-
-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
- make=gmake
-else
- make=make
-fi
-
-if test -z "$CC" ; then
- CC=gcc
-fi
-
-if test -z "$CXX" ; then
- CXX=g++
-fi
-
-# If ccache (a compiler cache which reduces build time)
-# (http://samba.org/ccache) is installed, use it.
-# We use 'grep' and hope 'grep' will work as expected
-# (returns 0 if finds lines)
-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"
-fi
-
-# gcov
-
-# The -fprofile-arcs and -ftest-coverage options cause GCC to instrument the
-# code with profiling information used by gcov.
-# The -DDISABLE_TAO_ASM is needed to avoid build failures in Yassl.
-# The -DHAVE_gcov enables code to write out coverage info even when crashing.
-
-gcov_compile_flags="-fprofile-arcs -ftest-coverage"
-gcov_compile_flags="$gcov_compile_flags -DDISABLE_TAO_ASM"
-gcov_compile_flags="$gcov_compile_flags -DMYSQL_SERVER_SUFFIX=-gcov -DHAVE_gcov"
-
-# GCC4 needs -fprofile-arcs -ftest-coverage on the linker command line (as well
-# as on the compiler command line), and this requires setting LDFLAGS for BDB.
-
-gcov_link_flags="-fprofile-arcs -ftest-coverage"
-
-gcov_configs="--with-gcov"
-
-# gprof
-
-gprof_compile_flags="-O2 -pg -g"
-
-gprof_link_flags="--disable-shared $static_link"
-
=== removed file 'BUILD/build_mccge.sh'
--- a/BUILD/build_mccge.sh 2012-03-01 12:32:57 +0000
+++ b/BUILD/build_mccge.sh 1970-01-01 00:00:00 +0000
@@ -1,1980 +0,0 @@
-#!/bin/sh
-
-# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-# MA 02110-1301, USA
-
-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.
-
- 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 can also
- be used to build many variants other variants of MySQL, in particular
- various performance-optimised versions of 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/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 (from top-level
- MySQL directory):
-
- shell> BUILD/build_mccge.sh
-
- This performs the following operations:
- 1) Detects the operating system. Currently, Linux, FreeBSD, Solaris
- 8/9/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 x86 + SPARC for Solaris using the Forte compiler and
- finally x86 on Linux using the Intel compiler.
- 3) Invokes the GCC compiler.
- 4) Builds a set of MySQL/MySQL Cluster binaries; for
- more information about these, see --extended-help.
- 5) Default compiler is always gcc.
-
- 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/MySQL Cluster 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 and you want to compile
- using SunStudio 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 use the AMD
- compiler Open64 set --compiler=open64.
-
- A synonym for forte is SunStudio, so one can also use
- --compiler=SunStudio.
-
- 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 Enterprise 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
- or other MySQL versions.
- --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
- --use-comment Set the comment in the build
- --with-fast-mutexes Use try/retry method of acquiring mutex
- --without-fast-mutexes Don't use try/retry method of acquiring mutex
- --without-perfschema Don't build with performance schema
- --generate-feedback path Compile with feedback using the specified directory
- to store the feedback files
- --use-feedback path Compile using feedback information from the specified
- directory
- --with-debug Build debug version
- --extra-debug-flag flag Add -Dflag to compiler flags
- InnoDB supports the following debug flags,
- UNIV_DEBUG, UNIV_SYNC_DEBUG, UNIV_MEM_DEBUG,
- UNIV_DEBUG_THREAD_CREATION, UNIV_DEBUG_LOCK_VALIDATE,
- UNIV_DEBUG_PRINT, UNIV_DEBUG_FILE_ACCESS,
- UNIV_LIGHT_MEM_DEBUG, UNIV_LOG_DEBUG,
- UNIV_IBUF_COUNT_DEBUG, UNIV_SEARCH_DEBUG,
- UNIV_LOG_LSN_DEBUG, UNIV_ZIP_DEBUG, UNIV_AHI_DEBUG,
- UNIV_DEBUG_VALGRIND, UNIV_SQL_DEBUG, UNIV_AIO_DEBUG,
- UNIV_BTR_DEBUG, UNIV_LRU_DEBUG, UNIV_BUF_DEBUG,
- UNIV_HASH_DEBUG, UNIV_LIST_DEBUG, UNIV_IBUF_DEBUG
- --with-link-time-optimizer
- Link time optimizations enabled (Requires GCC 4.5
- if GCC used), available for icc as well. This flag
- is only considered if also fast is set.
- --with-mso Special flag used by Open64 compiler (requres at
- least version 4.2.3) that enables optimisations
- for multi-core scalability.
- --configure-only Stop after running 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|SunStudio|open64] Select compiler
- --cpu=[x86|x86_64|sparc|itanium] Select CPU type
- x86 => x86 and 32-bit binary
- x86_64 => x86 and 64 bit binary
- --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 built on
- --static-linking Statically link system libraries into binaries
- --use-tcmalloc Link with tcmalloc instead of standard malloc (Linux only)
- --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, customers using performance-optimised
- MySQL versions and developers to build the product from source on
- these platforms/compilers: Linux/x86 (32-bit and 64-bit) (either using
- gcc or icc), Linux Itanium, Solaris 8,9,10 and 11 x86 and SPARC using
- gcc or SunStudio and MacOSX/x86/gcc.
-
- The script automatically detects CPU type and operating system; The
- default compiler is always gcc.
-
- 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, 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, 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, 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. All packages include support for Performance
- Schema.
-
- 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.
-
- --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
- if possible (GCC and same CC and CXX).
- (cannot be overridden).
-
- --with-pic: Build all binaries using position independent assembler
- to avoid problems with dynamic linkers (cannot be overridden).
-
- --without-example-engine: Ensure that the example engine isn't built,
- it cannot do any useful things, it's merely intended as documentation.
- (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:
-
- --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.
- Investigations have shown mtmalloc to be the best choice on Solaris,
- also umem has good performance on Solaris but better debugging
- capabilities.
-
- Compiler options:
- -----------------
-
- This section describes the compiler options for each of the different
- platforms supported by this script.
-
- The --fast option adds -mtune=cpu_arg to the C/C++ flags (provides
- support for Nocona, K8, and other processors), this option is valid
- when gcc is the compiler.
-
- Use of the --debug option adds -g to the C/C++ flags.
-
- In all cases it is possible to override the definition of CC and CXX
- by calling the script as follows:
- CC="/usr/local/bin/gcc" CXX="/usr/local/bin/g++" BUILD/build_mccge.sh
-
- Feedback profiler on gcc
- ------------------------
- Using gcc --generate-feedback=path causes the following flags to be added
- to the compiler flags.
-
- --fprofile-generate
- --fprofile-dir=path
-
- Using gcc with --use-feedback=path causes the following flags to be added
- to the compiler flags. --fprofile-correction indicates MySQL is a multi-
- threaded application and thus counters can be inconsistent with each other
- and the compiler should take this into account.
-
- --fprofile-use
- --fprofile-dir=path
- --fprofile-correction
-
- Feedback compilation using Open64
- ---------------------------------
-
- Using Open64 with --generate-feedback=path causes the following flags to
- be added to the compiler flags.
-
- -fb-create path/feedback
-
- Using Open64 with --use-feedback=path causes the following flags to be
- added to the compiler flags.
-
- --fb-opt path/feedback
-
- Linux/x86+Itanium/gcc
- -------------
- For debug builds -O is used and otherwise -O3 is used.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.)
-
- When gcc 4.5 is used and the user set --with-link-time-optimizer then
- also --flto is added to compiler flags and linker flags.
-
- Linux/x86+Itanium/icc
- -------------
- Flags used:
- CC = icc -static-libgcc -static-intel
- C++ = icpc -static-libgcc -static-intel
- C/C++ flags = -mp -restrict
-
- On Itanium we also add -no-ftz and to CC and C++ flags.
-
- Note that if the user of this script sets CC or CXX explicitly then
- also -static-libgcc and -static-intel needs to be set in the CC and
- CXX.
-
- The non-debug versions also add the following:
- C/C++ flags += -O3 unroll2 -ip
-
- The fast version adds (if --with-link-time-optimizer is used):
- 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.
-
- Linux/x86/Open64
- ----------------
- For normal builds use -O3, when fast flag is set one also adds
- --march=auto to generate optimized builds for the CPU used. If
- --with-link-time-optimizer is set also -ipa is set. There is also
- a special flag --with-mso which can be set to get --mso set which
- activates optimisation for multi-core scalability.
-
- FreeBSD/x86/gcc
- ---------------
- No flags are used. Instead, configure determines the proper flags to
- use.
-
- Solaris/x86/gcc
- ---------------
- All builds on Solaris are by default 64-bit, so -m64 is always used in
- the C/C++ flags. LDFLAGS is set to -m64 -O/-O2/-O3. If for
- some reason a 32-bit Solaris is used it is necessary to add the flag
- --32 to the script invocation. Due to bugs in compiling with -O3 on
- Solaris only -O2 is used by default, when --fast flag is used -O3 will
- be used instead.
-
- Sets -m64 (default) or -m32 (if specifically set) in LDFLAGS and
- C/C++ flags.
-
- Solaris/Sparc/Forte
- -------------------
- Uses cc as CC and CC as CXX
- Note that SunStudio uses different binaries for C and C++ compilers.
-
- Set -m64 (default) or -m32 (if specifically set) in ASFLAGS,
- LDFLAGS and C/C++ flags.
-
- Sets ASFLAGS=LDFLAGS=compiler flags=xarch=sparc, so that we compile
- Sparc v9 binaries, also -mt is set in all those since we're always
- building a multithreaded program.
-
- C flags = -xstrconst This flag is set only on SPARC
- C++ flags = -noex
-
- Set the following C/C++ flags:
- -fsimple=1
- -ftrap=%none
- -nofstore This flag is set only on x86
- -xbuiltin=%all
- -xlibmil
- -xlibmopt
-
- Set the C++ flag:
- -noex
- -features=no%except This flag is set only on x86
-
- When compiling with fast we set (-ipo only used if we have
- set --with-link-time-optimizer):
- C/C++ flags: -xtarget=native -xunroll=3 -xipo
- LDFLAGS: -xipo
-
- When not compiling with fast we always set -xtarget=generic
-
- When compiling with fast on SPARC we also set:
- C/C++ flags: -xbinopt=prepare
- LDFLAGS: -xbinopt=prepare
-
- When compiling with fast on x86 we also set:
- C/C++ flags: -xregs=frameptr
- When not compiling with fast we set on x86
- C/C++ flags: -xregs=no%frameptr
-
- On SPARC we set
- ASFLAGS = LDFLAGS = C/C++ flags = -xarch=sparc
-
- The optimisation level is
- -xO Debug builds
- -xO2 Production build on SPARC
- -xO3 Production build on x86
- -xO4 Fast builds on SPARC/x86
-
- MacOSX/x86/gcc
- --------------
- C/C++ flags include -fno-common -arch i386.
- When 64-bits builds then i386 is replaced by x86_64.
-
- 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.
-
- Mac OS X builds will always be 32-bit by default, when --64 is added
- the build will be 64 bit instead. Thus the flag --m64 is added only
- when specifically given as an option.
-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="extended"
- ;;
- 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"
- if test "x$m64" = "x" ; then
- m64="no"
- fi
- ;;
- x86_64 )
- cpu_type="x86"
- if test "x$m64" = "x" ; then
- m64="yes"
- fi
- ;;
- 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 | SunStudio | sunstudio )
- compiler="forte"
- ;;
- open64 | Open64 )
- compiler="open64"
- ;;
- *)
- 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-link-time-optimizer)
- with_link_time_optimizer="yes"
- ;;
- --without-debug)
- with_debug_flag="no"
- if test "x$fast_flag" != "xyes" ; then
- fast_flag="generic"
- fi
- ;;
- --use-comment)
- without_comment="no"
- ;;
- --with-fast-mutexes)
- with_fast_mutexes="yes"
- ;;
- --without-fast-mutexes)
- with_fast_mutexes="no"
- ;;
- --without-perfschema)
- with_perfschema="no"
- ;;
- --with-mso)
- with_mso="yes"
- ;;
- --use-tcmalloc)
- use_tcmalloc="yes"
- ;;
- --with-debug)
- with_debug_flag="yes"
- fast_flag="no"
- ;;
- --extra-debug-flag)
- shift
- extra_debug_flags="$extra_debug_flags -D$1"
- ;;
- --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
- ;;
- --generate-feedback)
- shift
- GENERATE_FEEDBACK_PATH="$1"
- ;;
- --use-feedback)
- shift
- USE_FEEDBACK_PATH="$1"
- ;;
- --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$explicit_size_set" != "x" ; then
- echo "Cannot set both --32 and --64"
- exit 1
- fi
- explicit_size_set="yes"
- m64="no"
- ;;
- --64)
- if test "x$explicit_size_set" != "x" ; then
- echo "Cannot set both --32 and --64"
- exit 1
- fi
- explicit_size_set="yes"
- m64="yes"
- ;;
- --package=*)
- package=`get_key_value "$1"`
- parse_package
- ;;
- --parallelism=*)
- parallelism=`get_key_value "$1"`
- ;;
- --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"
- exit 1
- fi
- case "$cpu_arg" in
- core2 | nocona | prescott | pentium* | i*86 )
- # Intel CPU
- cpu_base_type="x86"
- ;;
- athlon* | opteron* | k6 | k8 )
- # AMD CPU
- 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
- if test "x$m64" = "x" ; then
- m64="no"
- fi
- elif test "x$os" = "xSolaris" ; then
- if test "x$m64" = "x" ; then
- m64="yes"
- fi
- elif test "x$m64" = "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"
- else
- m64="no"
- fi
- 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()
-{
- path=`dirname $0`
- cp $path/cmake_configure.sh $path/../configure
- chmod +x $path/../configure
- cflags="$c_warnings $base_cflags $compiler_flags"
- cxxflags="$cxx_warnings $base_cxxflags $compiler_flags"
- configure="./configure $base_configs $with_flags"
-
- env_flags="CC=\"$CC\" CFLAGS=\"$cflags\" CXX=\"$CXX\" CXXFLAGS=\"$cxxflags\""
- if test "x$LDFLAGS" != "x" ; then
- env_flags="$env_flags LDFLAGS=\"$LDFLAGS\""
- fi
- if test "x$ASFLAGS" != "x" ; then
- env_flags="$env_flags ASFLAGS=\"$ASFLAGS\""
- fi
- commands="$commands
- $env_flags $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_ccache_usage()
-{
- 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="-UFORCE_INIT_OF_VARS -DHAVE_purify "
- loc_valgrind_flags="$loc_valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max"
- compiler_flags="$compiler_flags $loc_valgrind_flags"
- with_flags="$with_flags --with-valgrind"
- 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"
- compiler_flags="$compiler_flags -Wuninitialized"
- 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="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS "
- compiler_flags="$compiler_flags $loc_debug_flags"
- fi
- compiler_flags="$compiler_flags $extra_debug_flags"
- 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_flag" = "xyes" ; then
- compiler_flags="$compiler_flags -g"
- fi
-}
-
-#
-# We compile in SSL support if we can, this isn't possible if CXX
-# and CC aren't the same and we're not using GCC.
-#
-set_ssl()
-{
- if test "x$compiler" = "xgcc" && \
- test "x$CC" = "x$CXX" ; then
- base_configs="$base_configs --with-ssl"
- 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"
- 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"
- if test "x$with_fast_mutexes" = "xyes" ; then
- base_configs="$base_configs --with-fast-mutexes"
- fi
- base_configs="$base_configs --with-pic"
- base_configs="$base_configs --with-csv-storage-engine"
- if test "x$with_perfschema" != "xno" ; then
- base_configs="$base_configs --with-perfschema"
- fi
-}
-
-#
-# 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="--with-archive-storage-engine"
- engine_configs="$engine_configs --with-blackhole-storage-engine"
- engine_configs="$engine_configs --without-example-storage-engine"
- engine_configs="$engine_configs --with-federated-storage-engine"
- engine_configs="$engine_configs --with-partition"
- base_configs="$base_configs $engine_configs"
-}
-
-set_innodb_engine()
-{
- base_configs="$base_configs --with-innodb"
-}
-
-set_ndb_engine()
-{
- base_configs="$base_configs --with-ndbcluster"
- base_configs="$base_configs --without-ndb-debug"
-}
-
-set_pro_package()
-{
- if test "x$without_comment" != "xyes" ; then
- base_configs="$base_configs --with-comment=\"MySQL Enterprise Pro $version_text built from source\""
- fi
- if test "x$with_debug_flag" = "xyes" ; then
- base_configs="$base_configs --with-server-suffix=\"-debug\""
- fi
-}
-
-set_cge_extended_package()
-{
- if test "x$without_comment" != "xyes" ; then
- base_configs="$base_configs --with-comment=\"MySQL Cluster Carrier Grade Extended Edition $version_text built from source\""
- fi
- 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()
-{
- if test "x$without_comment" != "xyes" ; then
- base_configs="$base_configs --with-comment=\"MySQL Cluster Carrier Grade Edition $version_text built from source\""
- fi
- 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()
-{
- if test "x$without_comment" != "xyes" ; then
- base_configs="$base_configs --with-comment=\"MySQL Classic $version_text built from source\""
- fi
- if test "x$with_debug_flag" = "xyes" ; then
- base_configs="$base_configs --with-server-suffix=\"-debug\""
- fi
- base_configs="$base_configs --without-example-storage-engine"
-}
-
-#
-# 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/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
-}
-
-set_cc_and_cxx_for_gcc()
-{
- if test "x$CC" = "x" ; then
- CC="gcc -static-libgcc"
- fi
- if test "x$CXX" = "x" ; then
- CXX="g++ -static-libgcc"
- fi
-}
-
-set_cc_and_cxx_for_icc()
-{
- if test "x$CC" = "x" ; then
- CC="icc -static-intel -static-libgcc"
- fi
- if test "x$CXX" = "x" ; then
- CXX="icpc -static-intel -static-libgcc"
- fi
-}
-
-set_cc_and_cxx_for_open64()
-{
- if test "x$CC" = "x" ; then
- CC="opencc -static-libgcc"
- fi
- if test "x$CXX" = "x" ; then
- CXX="openCC -static-libgcc"
- fi
-}
-
-set_cc_and_cxx_for_forte()
-{
- if test "x$CC" = "x" ; then
- CC="cc"
- fi
- if test "x$CXX" = "x" ; then
- CXX="CC"
- 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"
- if test "x$fast_flag" != "xno" ; then
- compiler_flags="$compiler_flags -O3"
- else
- compiler_flags="$compiler_flags -O0"
- fi
- set_cc_and_cxx_for_gcc
-}
-
-check_64_bits()
-{
- echo "Checking for 32/64-bits compilation"
- echo "int main() { return 0; }" > temp_test.c
- if test "x$m64" = "xyes" ; then
- cmd="$CC $compile_flags -m64 temp_test.c"
- if ! $cmd 2>1 ; then
- m64="no"
- echo "Changing to 32-bits since 64-bits didn't work"
- else
- echo "Will use 64-bits"
- fi
- else
- cmd="$CC $compile_flags -m32 temp_test.c"
- if ! $cmd 2>1 ; then
- m64="yes"
- echo "Changing to 64-bits since 32-bits didn't work"
- else
- echo "Will use 32-bits"
- fi
- fi
- rm temp_test.c
-}
-
-#
-# Get GCC version
-#
-get_gcc_version()
-{
- # check if compiler is gcc and dump its version
- cc_verno=`$cc -dumpversion 2>/dev/null`
- if test "x$?" = "x0" ; then
- set -- `echo $cc_verno | tr '.' ' '`
- cc_ver="GCC"
- cc_major=$1
- cc_minor=$2
- cc_patch=$3
- gcc_version=`expr $cc_major '*' 100 '+' $cc_minor`
- fi
-}
-
-#
-# Link time optimizer (interprocedural optimizations) for Open64
-#
-check_for_open64_link_time_optimizer()
-{
- if test "x$with_link_time_optimizer" = "xyes" ; then
- compiler_flags="$compiler_flags -ipa"
- LDFLAGS="$LDFLAGS -ipa"
- fi
-}
-
-#
-# Link time optimizer (interprocedural optimizations) for icc
-#
-check_for_icc_link_time_optimizer()
-{
- if test "x$with_link_time_optimizer" = "xyes" ; then
- compiler_flags="$compiler_flags -ipo"
- LDFLAGS="$LDFLAGS -ipo"
- fi
-}
-
-#
-# Link time optimizer (interprocedural optimizations) for forte
-#
-check_for_forte_link_time_optimizer()
-{
- if test "x$with_link_time_optimizer" = "xyes" ; then
- compiler_flags="$compiler_flags -ipo"
- LDFLAGS="$LDFLAGS -ipo"
- fi
-}
-
-#
-# Link Time Optimizer in GCC (LTO) uses a parameter -flto
-# which was added to GCC 4.5, if --with-link-time-optimizer
-# is set then use this feature
-#
-check_for_gcc_link_time_optimizer()
-{
- get_gcc_version
- if test "$gcc_version" -ge 405 && \
- test "x$with_link_time_optimizer" = "xyes" ; then
- compiler_flags="$compiler_flags -flto"
- LDFLAGS="$LDFLAGS -flto"
- fi
-}
-
-set_feedback_for_gcc()
-{
- if test "x$GENERATE_FEEDBACK_PATH" != "x" ; then
- compiler_flags="$compiler_flags -fprofile-generate"
- compiler_flags="$compiler_flags -fprofile-dir=$GENERATE_FEEDBACK_PATH"
- elif test "x$USE_FEEDBACK_PATH" != "x" ; then
- compiler_flags="$compiler_flags -fprofile-use"
- compiler_flags="$compiler_flags -fprofile-correction"
- compiler_flags="$compiler_flags -fprofile-dir=$USE_FEEDBACK_PATH"
- fi
-}
-
-set_feedback_for_open64()
-{
- if test "x$GENERATE_FEEDBACK_PATH" != "x" ; then
- compiler_flags="$compiler_flags --fb-create=$GENERATE_FEEDBACK_PATH/feedback"
- elif test "x$USE_FEEDBACK_PATH" != "x" ; then
- compiler_flags="$compiler_flags --fb-opt=$USE_FEEDBACK_PATH/feedback"
- fi
-}
-
-#
-# Linux Section
-#
-set_linux_configs()
-{
-# Default to use --with-fast-mutexes on Linux
- if test "x$with_fast_mutexes" = "x" ; then
- base_configs="$base_configs --with-fast-mutexes"
- fi
- if test "x$cpu_base_type" != "xx86" && \
- test "x$cpu_base_type" != "xitanium" ; then
- usage "Only x86 and Itanium CPUs supported for Linux"
- exit 1
- fi
- if test "x$use_tcmalloc" = "xyes" ; then
- base_configs="$base_configs --with-mysqld-libs=-ltcmalloc_minimal"
- fi
- if test "x$cpu_base_type" = "xx86" ; then
- base_configs="$base_configs --enable-assembler"
- fi
- if test "x$compiler" = "xgcc" ; then
- set_cc_and_cxx_for_gcc
- if test "x$fast_flag" != "xno" ; then
- if test "x$fast_flag" = "xyes" ; then
- compiler_flags="$compiler_flags -O3"
- check_for_gcc_link_time_optimizer
- else
- compiler_flags="$compiler_flags -O3"
- fi
- else
- compiler_flags="$compiler_flags -O0"
- fi
- set_feedback_for_gcc
-# configure will set proper compiler flags for gcc on Linux
- elif test "x$compiler" = "xicc" ; then
- compiler_flags="$compiler_flags -mp -restrict"
- set_cc_and_cxx_for_icc
- 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
- check_for_icc_link_time_optimizer
- fi
- fi
- elif test "x$compiler" = "xopen64" ; then
- set_cc_and_cxx_for_open64
- if test "x$fast_flag" != "xno" ; then
- if test "x$fast_flag" = "xyes" ; then
- compiler_flags="$compiler_flags -O3"
-# Generate code specific for the machine you run on
- compiler_flags="$compiler_flags -march=auto"
- check_for_open64_link_time_optimizer
- if test "x$with_mso" = "xyes" ; then
- compiler_flags="$compiler_flags -mso"
- fi
- else
- compiler_flags="$compiler_flags -O3"
- fi
- fi
- set_feedback_for_open64
- else
- usage "Only gcc,icc and Open64 compilers supported for Linux"
- exit 1
- fi
- check_64_bits
- if test "x$m64" = "xyes" ; then
- compiler_flags="$compiler_flags -m64"
- else
- compiler_flags="$compiler_flags -m32"
- fi
-}
-
-#
-# Solaris Section
-#
-set_solaris_configs()
-{
-# Use mtmalloc as malloc, see Tim Cook blog
-# For information on optimal compiler settings, see article at
-# http://developers.sun.com/solaris/articles/mysql_perf_tune.html
-# by Luojia Chen at Sun.
- base_configs="$base_configs --with-named-curses=-lcurses"
- case "`uname -a`" in
- *5.8* | *5.9* )
- ;;
-
- *5.10* | *5.11*)
- base_configs="$base_configs --with-mysqld-libs=-lmtmalloc"
- ;;
- *)
- usage "Only versions 8,9, 10 and 11 supported for Solaris"
- exit 1
- 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" && \
- test "x$compiler" != "xforte" ; then
- usage "Only gcc and Forte compilers supported for Solaris"
- exit 1
- fi
- if test "x$m64" = "xyes" ; then
- compiler_flags="$compiler_flags -m64"
- LDFLAGS="-m64"
- ASFLAGS="$ASFLAGS -m64"
- else
- compiler_flags="$compiler_flags -m32"
- LDFLAGS="-m32"
- ASFLAGS="$ASFLAGS -m32"
- fi
- if test "x$compiler" = "xgcc" ; then
- set_cc_and_cxx_for_gcc
- if test "x$cpu_base_type" != "xx86" ; then
- usage "gcc currently not supported for Solaris on SPARC"
- exit 1
- fi
- if test "x$fast_flag" = "xyes" ; then
- LDFLAGS="$LDFLAGS -O3"
- compiler_flags="$compiler_flags -O3"
- check_for_gcc_link_time_optimizer
- else
- if test "x$fast_flag" = "xgeneric" ; then
- LDFLAGS="$LDFLAGS -O2"
- compiler_flags="$compiler_flags -O2"
- else
- LDFLAGS="$LDFLAGS -O0"
- compiler_flags="$compiler_flags -O0"
- fi
- fi
- else
-#Using Forte compiler (SunStudio)
- set_cc_and_cxx_for_forte
- compiler_flags="$compiler_flags -mt"
- LDFLAGS="$LDFLAGS -mt"
- compiler_flags="$compiler_flags -fsimple=1"
- compiler_flags="$compiler_flags -ftrap=%none"
- compiler_flags="$compiler_flags -xbuiltin=%all"
- compiler_flags="$compiler_flags -xlibmil"
- compiler_flags="$compiler_flags -xlibmopt"
- if test "x$fast_flag" = "xyes" ; then
- compiler_flags="$compiler_flags -xtarget=native"
- compiler_flags="$compiler_flags -xunroll=3"
- check_for_forte_link_time_optimizer
- else
- compiler_flags="$compiler_flags -xtarget=generic"
- fi
- if test "x$cpu_base_type" = "xx86" ; then
- compiler_flags="$compiler_flags -nofstore"
- if test "x$fast_flag" = "xyes" ; then
- compiler_flags="$compiler_flags -xregs=frameptr"
- compiler_flags="$compiler_flags -xO4"
- else
- compiler_flags="$compiler_flags -xregs=no%frameptr"
- if test "x$fast_flag" = "xgeneric" ; then
- compiler_flags="$compiler_flags -xO2"
- else
- compiler_flags="$compiler_flags -xO0"
- fi
- fi
- else
-#Using SPARC cpu with SunStudio (Forte) compiler
- ASFLAGS="$ASFLAGS -xarch=sparc"
- LDFLAGS="$LDFLAGS -xarch=sparc"
- base_cflags="$base_cflags -xstrconst"
- compiler_flags="$compiler_flags -xarch=sparc"
- if test "x$fast_flag" = "xyes" ; then
- compiler_flags="$compiler_flags -xbinopt=prepare"
- LDFLAGS="$LDFLAGS -xbinopt=prepare"
- compiler_flags="$compiler_flags -xO4"
- elif test "x$fast_flag" = "xgeneric" ; then
- compiler_flags="$compiler_flags -xO3"
- else
- compiler_flags="$compiler_flags -xO0"
- fi
- fi
- fi
-}
-
-#
-# Mac OS X Section
-#
-set_macosx_configs()
-{
- if test "x$cpu_base_type" != "xx86" || test "x$compiler" != "xgcc" ; then
- 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.
-#
- base_cxxflags="$base_cxxflags -felide-constructors"
- compiler_flags="$compiler_flags -fno-common"
- if test "x$m64" = "xyes" ; then
- compiler_flags="$compiler_flags -m64"
- compiler_flags="$compiler_flags -arch x86_64"
- else
- compiler_flags="$compiler_flags -m32"
- compiler_flags="$compiler_flags -arch i386"
- fi
- if test "x$fast_flag" != "xno" ; then
- compiler_flags="$compiler_flags -Os"
- else
- compiler_flags="$compiler_flags -O0"
- fi
- set_cc_and_cxx_for_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_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="8"
-fast_flag="generic"
-compiler="gcc"
-gpl="yes"
-version_text=
-developer_flag="no"
-just_configure=
-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=
-extra_debug_flags=
-m64=
-explicit_size_set=
-datadir=
-commands=
-engine_configs=
-ASFLAGS=
-LDFLAGS=
-use_tcmalloc=
-without_comment="yes"
-with_fast_mutexes=
-with_perfschema="yes"
-with_link_time_optimizer=
-with_mso=
-gcc_version="0"
-generate_feedback_path=
-use_feedback_path=
-
-set_defaults_based_on_environment
-
-parse_options "$@"
-
-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`
-if test "x$compiler" = "xgcc" ; then
- compiler=
-fi
-. "$path/check-cpu"
-if test "x$compiler" = "x" ; then
- compiler="gcc"
-fi
-check_os
-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
-if test "x$gpl" = "xyes" ; then
- version_text="GPL version"
-else
- version_text="Commercial version"
-fi
-if test "x$package" = "xpro" ; then
- set_base_engines
- set_innodb_engine
- set_pro_package
-elif test "x$package" = "xextended" ; then
- set_base_engines
- set_ndb_engine
- set_innodb_engine
- set_cge_extended_package
-elif test "x$package" = "xcge" ; then
- set_base_engines
- set_ndb_engine
- 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.
-#
-
-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
-set_ssl
-#
-# 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_ccache_usage
-
-#
-# Set up commands variable from variables prepared for base
-# configurations, compiler flags, and warnings flags.
-#
-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.
-#
-echo "Running command:"
-echo "$commands"
-if test "x$just_print" != "xyes" ; then
- eval "set -x; $commands"
-fi
=== removed file 'BUILD/check-cpu'
--- a/BUILD/check-cpu 2011-09-20 08:58:56 +0000
+++ b/BUILD/check-cpu 1970-01-01 00:00:00 +0000
@@ -1,322 +0,0 @@
-#!/bin/sh
-
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-#
-# Check cpu of current machine and find the
-# best compiler optimization flags for gcc
-# Will return result in:
-# cpu_arg : Type of CPU
-# low_cpu_arg : Type of CPU used up until GCC v3.3
-# check_cpu_args : Arguments for GCC compiler settings
-#
-
-check_compiler_cpu_flags () {
- # different compiler versions have different option names
- # for CPU specific command line options
- if test -z "$CC" ; then
- cc="gcc";
- else
- cc=$CC
- fi
-
- # check if compiler is gcc and dump its version
- cc_verno=`$cc -dumpversion 2>/dev/null`
- if test "x$?" = "x0" ; then
- set -- `echo $cc_verno | tr '.' ' '`
- cc_ver="GCC"
- cc_major=$1
- cc_minor=$2
- cc_patch=$3
- cc_comp=`expr $cc_major '*' 100 '+' $cc_minor`
- fi
-
- case "$cc_ver--$cc_verno" in
- *GCC*)
- # different gcc backends (and versions) have different CPU flags
- case `gcc -dumpmachine` in
- i?86-* | x86_64-*)
- if test "$cc_comp" -lt 304 ; then
- check_cpu_cflags="-mcpu=${low_cpu_arg}"
- elif test "$cc_comp" -ge 402 ; then
- check_cpu_cflags="-mtune=native"
- else
- check_cpu_cflags="-mtune=${cpu_arg}"
- fi
- ;;
- ppc-*)
- check_cpu_cflags="-mcpu=${cpu_arg} -mtune=${cpu_arg}"
- ;;
- *)
- check_cpu_cflags=""
- return
- ;;
- esac
- ;;
- 2.95.*)
- # GCC 2.95 doesn't expose its name in --version output
- check_cpu_cflags="-m${cpu_arg}"
- ;;
- *)
- check_cpu_cflags=""
- return
- ;;
- esac
-
- # now we check whether the compiler really understands the cpu type
- touch __test.c
-
- while [ "$cpu_arg" ] ; do
- printf "testing $cpu_arg ... " >&2
-
- # compile check
- 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=""
- break;
- done
- rm __test.*
- return 0
-}
-
-check_cpu () {
- CPUINFO=/proc/cpuinfo
- if test -n "$TEST_CPUINFO" ; then
- CPUINFO=$TEST_CPUINFO
- fi
- if test -r "$CPUINFO" -a "$CPUINFO" != " " ; then
- # on Linux (and others?) we can get detailed CPU information out of /proc
- cpuinfo="cat $CPUINFO"
-
- # detect CPU architecture
- cpu_arch=`$cpuinfo | grep 'arch' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
-
- # detect CPU family
- cpu_family=`$cpuinfo | grep 'family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
- if test -z "$cpu_family" ; then
- cpu_family=`$cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
- fi
-
- # detect CPU vendor and model
- cpu_vendor=`$cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
- model_name=`$cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -1`
- if test -z "$model_name" ; then
- model_name=`$cpuinfo | grep 'cpu model' | cut -d ':' -f 2 | head -1`
- fi
-
- # fallback: get CPU model from uname output
- if test -z "$model_name" ; then
- model_name=`uname -m`
- fi
-
- # 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
- done
- else
- # Fallback when there is no /proc/cpuinfo
- CPUINFO=" "
- case "`uname -s`" in
- FreeBSD|OpenBSD)
- cpu_family=`uname -m`;
- model_name=`sysctl -n hw.model`
- ;;
- Darwin)
- cpu_family=`sysctl -n machdep.cpu.vendor`
- model_name=`sysctl -n machdep.cpu.brand_string`
- if [ -z "$cpu_family" -o -z "$model_name" ]
- then
- cpu_family=`uname -p`
- model_name=`machine`
- fi
- ;;
- *)
- cpu_family=`uname -p`;
- model_name=`uname -m`;
- ;;
- esac
- fi
-
- # detect CPU shortname as used by gcc options
- # this list is not complete, feel free to add further entries
- cpu_arg=""
- low_cpu_arg=""
- case "$cpu_vendor--$cpu_family--$model_name--$spu_arch" in
- # DEC Alpha
- *Alpha*EV6*)
- cpu_arg="ev6";
- ;;
- #Core 2 Duo
- *Intel*Core\(TM\)2*)
- cpu_arg="nocona"
- core2="yes"
- ;;
- # Intel ia32
- *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 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"
- ;;
- *Pentium\(R\)*\ M*)
- cpu_arg="pentium-m"
- low_cpu_arg="pentium3"
- ;;
- *Pentium\(R\)*\ D*)
- cpu_arg="prescott"
- ;;
- *Pentium*4*)
- cpu_arg="pentium4"
- ;;
- *Pentium*III*Mobile*)
- cpu_arg="pentium3m"
- ;;
- *Pentium*III*)
- cpu_arg="pentium3"
- ;;
- *Pentium*M*pro*)
- cpu_arg="pentium-m"
- ;;
- *Celeron\(R\)*\ M*)
- cpu_arg="pentium-m"
- ;;
- *Celeron*Coppermine*)
- cpu_arg="pentium3"
- ;;
- *Celeron\(R\)*)
- cpu_arg="pentium4"
- ;;
- *Celeron*)
- cpu_arg="pentium2"
- ;;
- *Atom*)
- cpu_arg="prescott"
- ;;
- *GenuineIntel*)
- cpu_arg="pentium"
- ;;
- *Turion*)
- cpu_arg="athlon64"
- ;;
- *Athlon*64*)
- cpu_arg="athlon64"
- ;;
- *Athlon*)
- cpu_arg="athlon"
- ;;
- *AMD-K7*)
- cpu_arg="athlon"
- ;;
- *Athlon*XP\ *)
- cpu_arg="athlon-xp"
- ;;
- *AMD*Sempron\(tm\)*)
- cpu_arg="athlon-mp"
- ;;
- *AMD*Athlon\(tm\)\ 64*)
- cpu_arg="k8"
- ;;
- *Opteron*)
- cpu_arg="opteron"
- ;;
- *Phenom*)
- cpu_arg="k8"
- ;;
- *AuthenticAMD*)
- cpu_arg="k6"
- ;;
- *VIA\ *)
- cpu_arg="i686"
- ;;
- # MacOSX / Intel
- *i386*i486*)
- cpu_arg="pentium-m"
- ;;
- *i386*)
- cpu_arg="i386"
- ;;
- # Intel ia64
- *Itanium*)
- cpu_arg="itanium"
- ;;
- *IA-64*)
- cpu_arg="itanium"
- ;;
- # Solaris Sparc
- *sparc*sun4[uv]*)
- cpu_arg="sparc"
- ;;
- # Power PC
- *ppc*)
- cpu_arg="powerpc"
- ;;
- *powerpc*)
- cpu_arg="powerpc"
- ;;
- # unknown
- *)
- cpu_arg=""
- ;;
- esac
-
- if test "x$low_cpu_arg" = "x" ; then
- low_cpu_arg="$cpu_arg"
- fi
-
- if test -z "$cpu_arg" ; then
- if test "$CPUINFO" != " " ; then
- # fallback to uname if necessary
- TEST_CPUINFO=" "
- check_cpu_cflags=""
- check_cpu
- return
- fi
- echo "BUILD/check-cpu: Oops, could not find out what kind of cpu this machine is using." >&2
- check_cpu_cflags=""
- return
- fi
-
- if test "x$compiler" = "x" ; then
- check_compiler_cpu_flags
- fi
-
- if test "x$core2" = "xyes" ; then
- cpu_arg="core2"
- fi
-
- return 0
-}
-
-check_cpu
=== removed file 'BUILD/cleanup'
--- a/BUILD/cleanup 2010-12-28 18:57:23 +0000
+++ b/BUILD/cleanup 1970-01-01 00:00:00 +0000
@@ -1,23 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2003 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-just_clean=1;
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-alpha'
--- a/BUILD/compile-alpha 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-alpha 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2000, 2002 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$alpha_cflags $fast_cflags"
-extra_configs="$alpha_configs $static_link"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-amd64-debug-max'
--- a/BUILD/compile-amd64-debug-max 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-amd64-debug-max 1970-01-01 00:00:00 +0000
@@ -1,23 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-extra_flags="$amd64_cflags $debug_cflags"
-extra_configs="$amd64_configs $debug_configs $max_configs"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-amd64-debug-max-no-ndb'
--- a/BUILD/compile-amd64-debug-max-no-ndb 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-amd64-debug-max-no-ndb 1970-01-01 00:00:00 +0000
@@ -1,25 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2005, 2006 MySQL AB
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
-
-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"
=== removed file 'BUILD/compile-amd64-gcov'
--- a/BUILD/compile-amd64-gcov 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-amd64-gcov 1970-01-01 00:00:00 +0000
@@ -1,32 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2007 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-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="$amd64_cflags $debug_cflags $max_cflags $gcov_compile_flags"
-c_warnings="$c_warnings $debug_extra_warnings"
-cxx_warnings="$cxx_warnings $debug_extra_warnings"
-extra_configs="$amd64_configs $debug_configs $gcov_configs $max_configs"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-amd64-gprof'
--- a/BUILD/compile-amd64-gprof 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-amd64-gprof 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2007 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$amd64_cflags $gprof_compile_flags"
-extra_configs="$amd64_configs $debug_configs $gprof_link_flags"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-amd64-max'
--- a/BUILD/compile-amd64-max 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-amd64-max 1970-01-01 00:00:00 +0000
@@ -1,23 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-extra_flags="$amd64_cflags $fast_cflags -g"
-extra_configs="$amd64_configs $max_configs"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-amd64-max-sci'
--- a/BUILD/compile-amd64-max-sci 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-amd64-max-sci 1970-01-01 00:00:00 +0000
@@ -1,23 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2007 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-extra_flags="$amd64_cflags $fast_cflags -g"
-extra_configs="$amd64_configs $max_configs --with-ndb-sci=/opt/DIS"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-amd64-valgrind-max'
--- a/BUILD/compile-amd64-valgrind-max 2010-12-29 00:38:59 +0000
+++ b/BUILD/compile-amd64-valgrind-max 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$amd64_cflags $debug_cflags $valgrind_flags"
-extra_configs="$amd64_configs $debug_configs $valgrind_configs $max_configs"
-
-. "$path/FINISH.sh"
=== modified file 'BUILD/compile-dist'
--- a/BUILD/compile-dist 2012-03-16 12:20:24 +0000
+++ b/BUILD/compile-dist 2012-03-21 14:30:53 +0000
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,67 +16,19 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
-# This script's purpose is to update the automake/autoconf helper scripts and
-# to run a plain "configure" without any special compile flags. Only features
-# that affect the content of the source distribution are enabled. The resulting
-# 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.
+# This script's purpose is to prepare for a subsequent 'make dist';
+# We don't actually have to compile anything,
+# as the 'dist' target in our .cmake files is self-contained
+# i.e. it generates source dependencies.
#
-test -f Makefile && make maintainer-clean
path=`dirname $0`
. $path/autorun.sh
-gmake=
-for x in gmake gnumake make; do
- if $x --version 2>/dev/null | grep GNU > /dev/null; then
- gmake=$x
- break;
- fi
-done
-
-if [ -z "$gmake" ]; then
- # Our build may not depend on GNU make, but I wouldn't count on it
- echo "Please install GNU make, and ensure it is in your path as gnumake, gmake, or make" >&2
- exit 2
-fi
-
-# Default to gcc for CC and CXX
-if test -z "$CXX" ; then
- export CXX
- CXX=g++
- # Set some required compile options
- if test -z "$CXXFLAGS" ; then
- export CXXFLAGS
- CXXFLAGS="-felide-constructors"
- fi
-fi
-
-if test -z "$CC" ; then
- export CC
- CC=gcc
-fi
-
-
-# Use ccache, if available
-if ccache -V > /dev/null 2>&1
-then
- if echo "$CC" | grep -v ccache > /dev/null
- then
- export CC
- CC="ccache $CC"
- fi
- if echo "$CXX" | grep -v ccache > /dev/null
- then
- export CXX
- CXX="ccache $CXX"
- fi
-fi
-
-# Make sure to enable all features that affect "make dist"
-# Remember that configure restricts the man pages to the configured features !
+# By default we get the "community" feature set from
+# cmake/build_configurations/feature_set.cmake
+# We include ndbcluster in the configuration, so that it is picked up
+# by 'make dist' in case someone wants a pushbuild tree for cluster.
+#
./configure \
- --with-embedded-server \
- --with-perfschema
-$gmake
-
+ --with-ndbcluster
=== removed file 'BUILD/compile-hpux11-parisc2-aCC'
--- a/BUILD/compile-hpux11-parisc2-aCC 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-hpux11-parisc2-aCC 1970-01-01 00:00:00 +0000
@@ -1,90 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2004, 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-if [ ! -f "sql/mysqld.cc" ]; then
- echo "You must run this script from the MySQL top-level directory."
- exit 1
-fi
-
-# -fast Expand into a set of compiler options to result in
-# improved application run-time. Options include: +O3,
-# +Onolooptransform, +Olibcalls, +FPD, +Oentryschedule,
-# +Ofastaccess.
-# +O4 Perform level 3 as well as doing link time optimizations.
-# Also sends +Oprocelim and +Ofastaccess to the linker
-# (see ld(1)).
-
-release_flags="-fast +O3"
-
-# -z Do not bind anything to address zero. This option
-# allows runtime detection of null pointers. See the
-# note on pointers below.
-cflags="-g -z +O0"
-cxxflags="-g0 -z +O0"
-debug_configure_options="--with-debug"
-
-while [ "$#" != 0 ]; do
- case "$1" in
- --help)
- echo "Usage: $0 [options]"
- echo "Options:"
- echo "--help print this message"
- echo "--debug build debug binary [default] "
- echo "--release build optimised binary"
- echo "-32 build 32 bit binary [default]"
- echo "-64 build 64 bit binary"
- exit 0
- ;;
- --debug)
- echo "Building debug binary"
- ;;
- --release)
- echo "Building release binary"
- cflags="$release_flags"
- cxxflags="$release_flags"
- debug_configure_options=""
- ;;
- -32)
- echo "Building 32-bit binary"
- ;;
- -64)
- echo "Building 64-bit binary"
- cflags="$cflags +DA2.0W +DD64"
- cxxflags="$cxxflags +DA2.0W +DD64"
- ;;
- *)
- echo "$0: invalid option '$1'; use --help to show usage"
- exit 1
- ;;
- esac
- shift
-done
-
-
-set -x
-make maintainer-clean
-
-path=`dirname $0`
-. "$path/autorun.sh"
-
-CC=cc CXX=aCC CFLAGS="$cflags" CXXFLAGS="$cxxflags" \
-./configure --prefix=/usr/local/mysql --disable-shared \
- --with-extra-charsets=complex --enable-thread-safe-client \
- --without-extra-tools $debug_configure_options \
- --disable-dependency-tracking
-
-gmake
=== removed file 'BUILD/compile-ia64-debug-max'
--- a/BUILD/compile-ia64-debug-max 2011-06-30 15:46:53 +0000
+++ b/BUILD/compile-ia64-debug-max 1970-01-01 00:00:00 +0000
@@ -1,25 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-gmake -k maintainer-clean || true
-/bin/rm -f */.deps/*.P config.cache storage/innobase/config.cache
-
-path=`dirname $0`
-. "$path/autorun.sh"
-
-CC=ecc CFLAGS="-w1 -DEXTRA_DEBUG -DSAFE_MUTEX -O2" CXX=ecc CXXFLAGS="-w1 -DEXTRA_DEBUG -DSAFE_MUTEX -O2" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-debug --with-innodb --with-embedded-server --with-archive-storage-engine
-gmake
=== removed file 'BUILD/compile-ndb-autotest'
--- a/BUILD/compile-ndb-autotest 2011-11-14 10:09:35 +0000
+++ b/BUILD/compile-ndb-autotest 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2006 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_configs="$max_configs --with-ndb-test --with-ndb-ccflags='-DERROR_INSERT'"
-extra_flags="$fast_cflags $max_cflags -g"
-
-. "$path/FINISH.sh"
=== modified file 'BUILD/compile-pentium'
--- a/BUILD/compile-pentium 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-pentium 2012-03-21 14:30:53 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 2000, 2002 MySQL AB
+# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,10 +16,5 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $fast_cflags"
-extra_configs="$pentium_configs $static_link"
-strip=yes
-
-. "$path/FINISH.sh"
+cmake $path/.. -DWITH_DEBUG=0
+gmake -j 4
=== removed file 'BUILD/compile-pentium-cybozu'
--- a/BUILD/compile-pentium-cybozu 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-pentium-cybozu 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $fast_cflags -g"
-extra_configs="$pentium_configs --with-charset=utf8 --with-collation=utf8_general_cs"
-
-. "$path/FINISH.sh"
=== modified file 'BUILD/compile-pentium-debug'
--- a/BUILD/compile-pentium-debug 2011-06-30 15:46:53 +0000
+++ b/BUILD/compile-pentium-debug 2012-03-21 14:30:53 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,9 +16,5 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs"
-
-. "$path/FINISH.sh"
+cmake $path/.. -DWITH_DEBUG=1
+gmake -j 4
=== modified file 'BUILD/compile-pentium-debug-max'
--- a/BUILD/compile-pentium-debug-max 2011-06-30 15:46:53 +0000
+++ b/BUILD/compile-pentium-debug-max 2012-03-21 14:30:53 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,9 +16,5 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs $max_configs $error_inject --with-experimental-collations"
-
-. "$path/FINISH.sh"
+cmake $path/.. -DWITH_DEBUG=1
+gmake -j 4
=== removed file 'BUILD/compile-pentium-debug-max-no-embedded'
--- a/BUILD/compile-pentium-debug-max-no-embedded 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-pentium-debug-max-no-embedded 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2004, 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs $max_no_embedded_configs"
-
-. "$path/FINISH.sh"
=== modified file 'BUILD/compile-pentium-debug-max-no-ndb'
--- a/BUILD/compile-pentium-debug-max-no-ndb 2011-11-14 10:09:35 +0000
+++ b/BUILD/compile-pentium-debug-max-no-ndb 2012-03-21 14:30:53 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 2005, 2007 MySQL AB
+# Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,9 +16,5 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs $max_no_ndb_configs"
-
-. "$path/FINISH.sh"
+cmake $path/.. -DWITH_DEBUG=1 -DWITH_NDBCLUSTER=0
+gmake -j 4
=== removed file 'BUILD/compile-pentium-debug-openssl'
--- a/BUILD/compile-pentium-debug-openssl 2011-06-30 15:46:53 +0000
+++ b/BUILD/compile-pentium-debug-openssl 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs"
-
-extra_configs="$extra_configs --with-debug --with-ssl=/usr"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-pentium-debug-yassl'
--- a/BUILD/compile-pentium-debug-yassl 2011-06-30 15:46:53 +0000
+++ b/BUILD/compile-pentium-debug-yassl 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs"
-
-extra_configs="$extra_configs --with-debug --with-ssl"
-
-. "$path/FINISH.sh"
=== modified file 'BUILD/compile-pentium-gcov'
--- a/BUILD/compile-pentium-gcov 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-pentium-gcov 2012-03-21 14:30:53 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 2000, 2007 MySQL AB
+# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,31 +15,6 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-# 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"
-
-export LDFLAGS="$gcov_link_flags"
-
-extra_flags="$pentium_cflags $debug_cflags $max_cflags $gcov_compile_flags"
-c_warnings="$c_warnings $debug_extra_warnings"
-cxx_warnings="$cxx_warnings $debug_extra_warnings"
-extra_configs="$pentium_configs $debug_configs $gcov_configs $max_configs"
-
-. "$path/FINISH.sh"
+cmake $path/.. -DWITH_DEBUG=1 -DENABLE_GCOV=ON
+gmake -j 4
=== modified file 'BUILD/compile-pentium-gprof'
--- a/BUILD/compile-pentium-gprof 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-pentium-gprof 2012-03-21 14:30:53 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 2001, 2007 MySQL AB
+# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,9 +16,5 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $gprof_compile_flags"
-extra_configs="$pentium_configs $debug_configs $gprof_link_flags"
-
-. "$path/FINISH.sh"
+cmake $path/.. -DWITH_DEBUG=0 -DENABLE_GPROF=ON
+gmake -j 4
=== removed file 'BUILD/compile-pentium-max'
--- a/BUILD/compile-pentium-max 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-pentium-max 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2001, 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $fast_cflags -g"
-extra_configs="$pentium_configs $max_configs"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-pentium-myodbc'
--- a/BUILD/compile-pentium-myodbc 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-pentium-myodbc 1970-01-01 00:00:00 +0000
@@ -1,27 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2000 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $fast_cflags"
-extra_configs="$pentium_configs --without-server"
-
-make=no
-strip=yes
-
-. "$path/FINISH.sh"
=== modified file 'BUILD/compile-pentium-valgrind-max'
--- a/BUILD/compile-pentium-valgrind-max 2011-09-20 08:58:56 +0000
+++ b/BUILD/compile-pentium-valgrind-max 2012-03-21 14:30:53 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,10 +15,9 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $debug_cflags $valgrind_flags"
-extra_configs="$pentium_configs $debug_configs $valgrind_configs $max_configs"
+# WITH_VALGRIND : include valgrind/memcheck.h;valgrind/valgrind.h
+# -DHAVE_purify : activates misc. ifdefs in the source code
-. "$path/FINISH.sh"
+path=`dirname $0`
+cmake $path/.. -DWITH_DEBUG=1 -DWITH_VALGRIND=1 -DCMAKE_CXX_FLAGS=-DHAVE_purify
+gmake -j 4
=== modified file 'BUILD/compile-pentium-valgrind-max-no-ndb'
--- a/BUILD/compile-pentium-valgrind-max-no-ndb 2010-12-29 00:38:59 +0000
+++ b/BUILD/compile-pentium-valgrind-max-no-ndb 2012-03-21 14:30:53 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
@@ -18,9 +18,7 @@
# MA 02111-1307, USA
path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $debug_cflags $valgrind_flags"
-extra_configs="$pentium_configs $debug_configs $valgrind_configs $max_no_ndb_configs"
-
-. "$path/FINISH.sh"
+cmake $path/.. -DWITH_DEBUG=1 \
+ -DWITH_VALGRIND=1 -DCMAKE_CXX_FLAGS=-DHAVE_purify \
+ -DWITH_NDBCLUSTER=0
+gmake -j 4
=== modified file 'BUILD/compile-pentium64'
--- a/BUILD/compile-pentium64 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-pentium64 2012-03-21 14:30:53 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 2006, 2007 MySQL AB
+# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
@@ -18,11 +18,5 @@
# MA 02111-1307, USA
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"
+cmake $path/.. -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_C_FLAGS=-m64
+gmake -j 4
=== removed file 'BUILD/compile-pentium64-debug'
--- a/BUILD/compile-pentium64-debug 2011-06-30 15:46:53 +0000
+++ b/BUILD/compile-pentium64-debug 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium64_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs $static_link"
-
-extra_configs="$extra_configs "
-CC="$CC --pipe"
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-pentium64-debug-max'
--- a/BUILD/compile-pentium64-debug-max 2011-06-30 15:46:53 +0000
+++ b/BUILD/compile-pentium64-debug-max 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium64_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs $max_configs"
-
-extra_configs="$extra_configs "
-CC="$CC --pipe"
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-pentium64-gcov'
--- a/BUILD/compile-pentium64-gcov 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-pentium64-gcov 1970-01-01 00:00:00 +0000
@@ -1,32 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2007 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-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="$pentium64_cflags $debug_cflags $max_cflags $gcov_compile_flags"
-c_warnings="$c_warnings $debug_extra_warnings"
-cxx_warnings="$cxx_warnings $debug_extra_warnings"
-extra_configs="$pentium64_configs $debug_configs $gcov_configs $max_configs"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-pentium64-gprof'
--- a/BUILD/compile-pentium64-gprof 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-pentium64-gprof 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2007 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium64_cflags $gprof_compile_flags"
-extra_configs="$pentium64_configs $debug_configs $gprof_link_flags"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-pentium64-max'
--- a/BUILD/compile-pentium64-max 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-pentium64-max 1970-01-01 00:00:00 +0000
@@ -1,28 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2007 MySQL AB
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
-
-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"
=== removed file 'BUILD/compile-pentium64-max-sci'
--- a/BUILD/compile-pentium64-max-sci 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-pentium64-max-sci 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2007 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium64_cflags $fast_cflags -g"
-extra_configs="$pentium_configs $max_configs --with-ndb-sci=/opt/DIS"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-pentium64-valgrind-max'
--- a/BUILD/compile-pentium64-valgrind-max 2011-09-20 08:58:56 +0000
+++ b/BUILD/compile-pentium64-valgrind-max 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium64_cflags $debug_cflags $valgrind_flags"
-extra_configs="$pentium_configs $debug_configs $valgrind_configs $max_configs"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-ppc'
--- a/BUILD/compile-ppc 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-ppc 1970-01-01 00:00:00 +0000
@@ -1,25 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2004 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$ppc_cflags $fast_cflags"
-extra_configs="$static_link"
-strip=yes
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-ppc-debug'
--- a/BUILD/compile-ppc-debug 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-ppc-debug 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2004 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$ppc_cflags $debug_cflags"
-extra_configs="$debug_configs "
-
-extra_configs="$extra_configs"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-ppc-debug-max'
--- a/BUILD/compile-ppc-debug-max 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-ppc-debug-max 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2004, 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$ppc_cflags $debug_cflags"
-extra_configs="$debug_configs $max_configs"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-ppc-debug-max-no-ndb'
--- a/BUILD/compile-ppc-debug-max-no-ndb 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-ppc-debug-max-no-ndb 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$ppc_cflags $debug_cflags"
-extra_configs="$debug_configs $max_no_ndb_configs"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-ppc-max'
--- a/BUILD/compile-ppc-max 2010-12-28 23:47:05 +0000
+++ b/BUILD/compile-ppc-max 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2004, 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$ppc_cflags $fast_cflags -g"
-extra_configs="$extra_configs $max_configs"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-solaris-amd64'
--- a/BUILD/compile-solaris-amd64 2011-10-11 04:27:52 +0000
+++ b/BUILD/compile-solaris-amd64 1970-01-01 00:00:00 +0000
@@ -1,72 +0,0 @@
-#!/usr/bin/bash
-
-# Copyright (C) 2007 MySQL AB
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
-
-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/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="g++"
-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
=== removed file 'BUILD/compile-solaris-amd64-debug'
--- a/BUILD/compile-solaris-amd64-debug 2010-12-28 18:57:23 +0000
+++ b/BUILD/compile-solaris-amd64-debug 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2007 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-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"
-
-. "$path/FINISH.sh"
=== removed file 'BUILD/compile-solaris-amd64-forte'
--- a/BUILD/compile-solaris-amd64-forte 2011-12-09 21:08:37 +0000
+++ b/BUILD/compile-solaris-amd64-forte 1970-01-01 00:00:00 +0000
@@ -1,69 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2007 MySQL AB, 2008 Sun Microsystems, Inc.
-# Use is subject to license terms.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-gmake -k clean || true
-/bin/rm -f */.deps/*.P config.cache
-
-path=`dirname $0`
-. "$path/autorun.sh"
-
-# 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"
-
-#
-# 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"
-CXX=CC
-CXXFLAGS="$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
-
-gmake -j4
-test $? = 0 && make test
=== removed file 'BUILD/compile-solaris-amd64-forte-debug'
--- a/BUILD/compile-solaris-amd64-forte-debug 2011-12-09 21:08:37 +0000
+++ b/BUILD/compile-solaris-amd64-forte-debug 1970-01-01 00:00:00 +0000
@@ -1,70 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2007 MySQL AB, 2008 Sun Microsystems, Inc.
-# Use is subject to license terms.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-gmake -k clean || true
-/bin/rm -f */.deps/*.P config.cache
-
-path=`dirname $0`
-. "$path/autorun.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"
-CXX=CC
-CXXFLAGS="$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
-
-gmake -j4
=== removed file 'BUILD/compile-solaris-sparc'
--- a/BUILD/compile-solaris-sparc 2011-12-09 21:08:37 +0000
+++ b/BUILD/compile-solaris-sparc 1970-01-01 00:00:00 +0000
@@ -1,30 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2000-2002, 2005-2007 MySQL AB, 2008 Sun Microsystems, Inc.
-# Use is subject to license terms.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-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=g++ 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 -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" LIBS="-lmtmalloc" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client
-
-make -j 4
=== removed file 'BUILD/compile-solaris-sparc-debug'
--- a/BUILD/compile-solaris-sparc-debug 2011-10-11 04:27:52 +0000
+++ b/BUILD/compile-solaris-sparc-debug 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2001, 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-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" CXX=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 -O3 -fno-omit-frame-pointer" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-debug
-
-make -j 4
=== removed file 'BUILD/compile-solaris-sparc-forte'
--- a/BUILD/compile-solaris-sparc-forte 2011-12-09 21:08:37 +0000
+++ b/BUILD/compile-solaris-sparc-forte 1970-01-01 00:00:00 +0000
@@ -1,55 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2001, 2002, 2005, 2007 MySQL AB, 2008 Sun Microsystems, Inc.
-# Use is subject to license terms.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-# 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"
-
-# For "optimal" code for this computer add -fast to EXTRA
-# To compile 32/64 bit, uncomment/comment EXTRA_64_BIT
-
-EXTRA_64_BIT="-m64"
-EXTRA="-fast" # Remove comment to target current machine
-
-#
-# The following should not need to be touched
-#
-
-STD="-mt -D_FORTEC_ $EXTRA $EXTRA_64_BIT"
-CC=cc-5.0 CFLAGS="-Xa -xstrconst $STD" \
-CXX=CC CXXFLAGS="$STD" LIBS="-lmtmalloc" \
-./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --prefix=$PREFIX
-
-make -j 4
-if [ $? = 0 ]
-then
- make test
-fi
=== removed file 'BUILD/compile-solaris-sparc-purify'
--- a/BUILD/compile-solaris-sparc-purify 2011-10-11 04:27:52 +0000
+++ b/BUILD/compile-solaris-sparc-purify 1970-01-01 00:00:00 +0000
@@ -1,125 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2000, 2005 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-mode=""
-cxxfilt=""
-
-# For g++ 3.X, the PurifyPlus tools needs a program named "cxxfilt",
-# "c++file" or similar. It is part of libtool. If not found, you can
-# specify the path to it.
-
-while test $# -gt 0
-do
- case "$1" in
- --debug) EXTRA_CONFIG_FLAGS=--with-debug ;;
- --purify) mode=purify ;;
- --purecov*) mode=purecov ;;
- --quantify) mode=quantify ;;
- --cxxfilt) shift ; cxxfilt=$1 ;;
- -h | --help )
- echo "Usage: $0 [ options ]"
- echo "Where the 'options' are"
- echo " --help | -h Display this help"
- echo " --debug Compile with DBUG enabled"
- echo " --purify Only prepare for Purify"
- echo " --purecov Only prepare for PureCover"
- echo " --quantify Only prepare for Quantify"
- echo " --cxxfilt <cxxfilt> Path to cxxfilt/c++filt program"
- echo " This program is needed for gcc 3.X"
- exit 0 ;;
- *) echo "No such option '$1'" ; exit 1 ;;
- esac
- shift
-done
-
-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=g++ 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 -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
-
-make -j 4
-
-# ----------------------------------------------------------------------
-
-#set -x
-
-purifying_binaries ()
-{
- while test $1
- do
- dir=$1
- shift
- target=$1
- shift
- binary=$1
- shift
-
- opts=""
- if [ -n "$cxxfilt" ] ; then
- opts="$opts -demangle-program=$cxxfilt"
- fi
- opts="$opts -best-effort"
-
- back=`pwd`
- cd $dir
-
- # Because of libtool magic, the target and binary
- # created might not be the same. To trigger rebuild,
- # we need to move them both.
-
- mv $binary $binary-old
- if [ -f $target ] ; then
- mv $target $target-old
- fi
-
- if [ -n "$mode" -a $mode = purify ] ; then
- make CCLD="purify $opts gcc" CXXLD="purify $opts g++" $target
- mv $binary $binary-purify
- fi
-
- if [ -n "$mode" -a $mode = quantify ] ; then
- make CCLD="quantify $opts gcc" CXXLD="quantify $opts g++" $target
- mv $binary $binary-quantify
- fi
-
- if [ -n "$mode" -a $mode = purecov ] ; then
- make CCLD="purecov $opts gcc" CXXLD="purecov $opts g++" $target
- mv $binary $binary-purecov
- fi
-
- mv $binary-old $binary
- if [ -f $target-old ] ; then
- mv $target-old $target
- fi
-
- cd $back
- done
-}
-
-
-purifying_binaries \
- sql mysqld mysqld \
- client mysqltest .libs/mysqltest \
- tests mysql_client_test mysql_client_test \
- libmysqld/examples mysqltest_embedded mysqltest_embedded \
- libmysqld/examples mysql_client_test_embedded mysql_client_test_embedded
-
-# ----------------------------------------------------------------------
-
=== modified file 'CMakeLists.txt'
--- a/CMakeLists.txt 2012-03-06 14:29:42 +0000
+++ b/CMakeLists.txt 2012-03-21 14:30:53 +0000
@@ -92,6 +92,12 @@ ELSE()
ENDIF()
PROJECT(${MYSQL_PROJECT_NAME})
+OPTION(WITH_DEFAULT_COMPILER_OPTIONS
+ "Use flags from cmake/build_configurations/compiler_options.cmake"
+ ON)
+OPTION(WITH_DEFAULT_FEATURE_SET
+ "Use feature set in cmake/build_configurations/feature_set.cmake"
+ ON)
IF(BUILD_CONFIG)
INCLUDE(
${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake)
@@ -122,6 +128,15 @@ IF(DEFINED ENV{CPPFLAGS})
ADD_DEFINITIONS($ENV{CPPFLAGS})
ENDIF()
+INCLUDE(CheckTypeSize)
+CHECK_TYPE_SIZE("void *" SIZEOF_VOIDP)
+IF(WITH_DEFAULT_COMPILER_OPTIONS)
+ INCLUDE(${CMAKE_SOURCE_DIR}/cmake/build_configurations/compiler_options.cmake)
+ENDIF()
+IF(WITH_DEFAULT_FEATURE_SET)
+ INCLUDE(${CMAKE_SOURCE_DIR}/cmake/build_configurations/feature_set.cmake)
+ENDIF()
+
#
# Control aspects of the development environment which are
# specific to MySQL maintainers and developers.
@@ -183,11 +198,26 @@ IF(ENABLE_DEBUG_SYNC)
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC")
ENDIF()
+# Older versions of ccache must be disabled: export CCACHE_DISABLE=1
+# See http://www.cmake.org/Wiki/CTest/Coverage
OPTION(ENABLE_GCOV "Enable gcov (debug, Linux builds only)" OFF)
IF (ENABLE_GCOV AND NOT WIN32 AND NOT APPLE)
- SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage")
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage")
- SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage -lgcov")
+ SET(CMAKE_CXX_FLAGS_DEBUG
+ "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage")
+ SET(CMAKE_C_FLAGS_DEBUG
+ "${CMAKE_C_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage")
+ SET(CMAKE_EXE_LINKER_FLAGS_DEBUG
+ "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage -lgcov")
+ENDIF()
+
+OPTION(ENABLE_GPROF "Enable gprof (optimized, Linux builds only)" OFF)
+IF (ENABLE_GPROF AND NOT WIN32 AND NOT APPLE)
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO
+ "${CMAKE_C_FLAGS_RELWITHDEBINFO} -pg")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
+ "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -pg")
+ SET(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+ "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} -pg")
ENDIF()
OPTION(ENABLED_LOCAL_INFILE
=== added file 'cmake/build_configurations/compiler_options.cmake'
--- a/cmake/build_configurations/compiler_options.cmake 1970-01-01 00:00:00 +0000
+++ b/cmake/build_configurations/compiler_options.cmake 2012-03-21 14:30:53 +0000
@@ -0,0 +1,123 @@
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
+
+IF(SIZEOF_VOIDP EQUAL 4)
+ SET(32BIT 1)
+ENDIF()
+IF(SIZEOF_VOIDP EQUAL 8)
+ SET(64BIT 1)
+ENDIF()
+
+# Compiler options
+IF(UNIX)
+
+ # Default GCC flags
+ IF(CMAKE_COMPILER_IS_GNUCC)
+ SET(COMMON_C_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
+ # Disable inline optimizations for valgrind testing to avoid false positives
+ IF(WITH_VALGRIND)
+ SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}")
+ ENDIF()
+ SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}")
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
+ ENDIF()
+ IF(CMAKE_COMPILER_IS_GNUCXX)
+ SET(COMMON_CXX_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
+ # Disable inline optimizations for valgrind testing to avoid false positives
+ IF(WITH_VALGRIND)
+ SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}")
+ ENDIF()
+ SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}")
+ ENDIF()
+
+ # HPUX flags
+ IF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
+ IF(CMAKE_C_COMPILER_ID MATCHES "HP")
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64")
+ SET(COMMON_C_FLAGS "+DSitanium2 -mt -AC99")
+ SET(COMMON_CXX_FLAGS "+DSitanium2 -mt -Aa")
+ SET(CMAKE_C_FLAGS_DEBUG "+O0 -g ${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_DEBUG "+O0 -g ${COMMON_CXX_FLAGS}")
+ # We have seen compiler bugs with optimisation and -g, so disabled for now
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "+O2 ${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "+O2 ${COMMON_CXX_FLAGS}")
+ ENDIF()
+ ENDIF()
+ SET(WITH_SSL no)
+ ENDIF()
+
+ # Linux flags
+ IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ IF(CMAKE_C_COMPILER_ID MATCHES "Intel")
+ SET(COMMON_C_FLAGS "-static-intel -static-libgcc -g -mp -restrict")
+ SET(COMMON_CXX_FLAGS "-static-intel -static-libgcc -g -mp -restrict")
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64")
+ SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -no-ftz -no-prefetch")
+ SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -no-ftz -no-prefetch")
+ ENDIF()
+ SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}")
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -unroll2 -ip ${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -unroll2 -ip ${COMMON_CXX_FLAGS}")
+ SET(WITH_SSL no)
+ ENDIF()
+ ENDIF()
+
+ # OSX flags
+ IF(APPLE)
+ SET(COMMON_C_FLAGS "-g -fno-strict-aliasing")
+ SET(COMMON_CXX_FLAGS "-g -fno-strict-aliasing")
+ SET(CMAKE_C_FLAGS_DEBUG "-O ${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_DEBUG "-O ${COMMON_CXX_FLAGS}")
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os ${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Os ${COMMON_CXX_FLAGS}")
+ ENDIF()
+
+ # Solaris flags
+ IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
+ IF(CMAKE_SYSTEM_VERSION VERSION_GREATER "5.9")
+ # Link mysqld with mtmalloc on Solaris 10 and later
+ SET(WITH_MYSQLD_LDFLAGS "-lmtmalloc" CACHE STRING "")
+ ENDIF()
+ IF(CMAKE_C_COMPILER_ID MATCHES "SunPro")
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "i386")
+ SET(COMMON_C_FLAGS "-g -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic")
+ SET(COMMON_CXX_FLAGS "-g0 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic -library=stlport4")
+ SET(CMAKE_C_FLAGS_DEBUG "-xO1 ${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_DEBUG "-xO1 ${COMMON_CXX_FLAGS}")
+ IF(32BIT)
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-xO2 ${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xO2 ${COMMON_CXX_FLAGS}")
+ ELSEIF(64BIT)
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_CXX_FLAGS}")
+ ENDIF()
+ ELSE()
+ # Assume !x86 is SPARC
+ SET(COMMON_C_FLAGS "-g -Xa -xstrconst -mt")
+ SET(COMMON_CXX_FLAGS "-g0 -mt -library=stlport4")
+ IF(32BIT)
+ SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -xarch=sparc")
+ SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -xarch=sparc")
+ ENDIF()
+ SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}")
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_CXX_FLAGS}")
+ ENDIF()
+ ENDIF()
+ ENDIF()
+ENDIF()
=== added file 'cmake/build_configurations/feature_set.cmake'
--- a/cmake/build_configurations/feature_set.cmake 1970-01-01 00:00:00 +0000
+++ b/cmake/build_configurations/feature_set.cmake 2012-03-21 14:30:53 +0000
@@ -0,0 +1,82 @@
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA
+
+SET(FEATURE_SET "community" CACHE STRING
+" Selection of features. Options are
+ - xsmall :
+ - small: embedded
+ - classic: embedded + archive + federated + blackhole
+ - large : embedded + archive + federated + blackhole + innodb
+ - xlarge: embedded + archive + federated + blackhole + innodb + partition
+ - community: all features (currently == xlarge)
+"
+)
+
+SET(FEATURE_SET_xsmall 1)
+SET(FEATURE_SET_small 2)
+SET(FEATURE_SET_classic 3)
+SET(FEATURE_SET_large 5)
+SET(FEATURE_SET_xlarge 6)
+SET(FEATURE_SET_community 7)
+
+IF(FEATURE_SET)
+ STRING(TOLOWER ${FEATURE_SET} feature_set)
+ SET(num ${FEATURE_SET_${feature_set}})
+ IF(NOT num)
+ MESSAGE(FATAL_ERROR "Invalid FEATURE_SET option '${feature_set}'.
+ Should be xsmall, small, classic, large, or community
+ ")
+ ENDIF()
+ SET(WITH_PARTITION_STORAGE_ENGINE OFF)
+ IF(num EQUAL FEATURE_SET_xsmall)
+ SET(WITH_NONE ON)
+ ENDIF()
+
+ IF(num GREATER FEATURE_SET_xsmall)
+ SET(WITH_EMBEDDED_SERVER ON CACHE BOOL "")
+ ENDIF()
+ IF(num GREATER FEATURE_SET_small)
+ SET(WITH_ARCHIVE_STORAGE_ENGINE ON)
+ SET(WITH_BLACKHOLE_STORAGE_ENGINE ON)
+ SET(WITH_FEDERATED_STORAGE_ENGINE ON)
+ ENDIF()
+ IF(num GREATER FEATURE_SET_classic)
+ SET(WITH_INNOBASE_STORAGE_ENGINE ON)
+ ENDIF()
+ IF(num GREATER FEATURE_SET_large)
+ SET(WITH_PARTITION_STORAGE_ENGINE ON)
+ ENDIF()
+ IF(num GREATER FEATURE_SET_xlarge)
+ # OPTION(WITH_ALL ON)
+ # better no set this, otherwise server would be linked
+ # statically with experimental stuff like audit_null
+ ENDIF()
+
+ # Update cache with current values, remove engines we do not care about
+ # from build.
+ FOREACH(eng ARCHIVE BLACKHOLE FEDERATED INNOBASE PARTITION EXAMPLE)
+ IF(NOT WITH_${eng}_STORAGE_ENGINE)
+ SET(WITHOUT_${eng}_STORAGE_ENGINE ON CACHE BOOL "")
+ MARK_AS_ADVANCED(WITHOUT_${eng}_STORAGE_ENGINE)
+ SET(WITH_${eng}_STORAGE_ENGINE OFF CACHE BOOL "")
+ ELSE()
+ SET(WITH_${eng}_STORAGE_ENGINE ON CACHE BOOL "")
+ ENDIF()
+ ENDFOREACH()
+ENDIF()
+
+OPTION(ENABLED_LOCAL_INFILE "" ON)
+SET(WITH_SSL bundled CACHE STRING "")
+SET(WITH_ZLIB bundled CACHE STRING "")
=== modified file 'cmake/build_configurations/mysql_release.cmake'
--- a/cmake/build_configurations/mysql_release.cmake 2012-03-01 12:32:57 +0000
+++ b/cmake/build_configurations/mysql_release.cmake 2012-03-21 14:30:53 +0000
@@ -17,84 +17,6 @@
INCLUDE(CheckIncludeFiles)
INCLUDE(CheckLibraryExists)
-INCLUDE(CheckTypeSize)
-
-# XXX package_name.cmake uses this too, move it somewhere global
-CHECK_TYPE_SIZE("void *" SIZEOF_VOIDP)
-IF(SIZEOF_VOIDP EQUAL 4)
- SET(32BIT 1)
-ENDIF()
-IF(SIZEOF_VOIDP EQUAL 8)
- SET(64BIT 1)
-ENDIF()
-
-SET(FEATURE_SET "community" CACHE STRING
-" Selection of features. Options are
- - xsmall :
- - small: embedded
- - classic: embedded + archive + federated + blackhole
- - large : embedded + archive + federated + blackhole + innodb
- - xlarge: embedded + archive + federated + blackhole + innodb + partition
- - community: all features (currently == xlarge)
-"
-)
-
-SET(FEATURE_SET_xsmall 1)
-SET(FEATURE_SET_small 2)
-SET(FEATURE_SET_classic 3)
-SET(FEATURE_SET_large 5)
-SET(FEATURE_SET_xlarge 6)
-SET(FEATURE_SET_community 7)
-
-IF(FEATURE_SET)
- STRING(TOLOWER ${FEATURE_SET} feature_set)
- SET(num ${FEATURE_SET_${feature_set}})
- IF(NOT num)
- MESSAGE(FATAL_ERROR "Invalid FEATURE_SET option '${feature_set}'.
- Should be xsmall, small, classic, large, or community
- ")
- ENDIF()
- SET(WITH_PARTITION_STORAGE_ENGINE OFF)
- IF(num EQUAL FEATURE_SET_xsmall)
- SET(WITH_NONE ON)
- ENDIF()
-
- IF(num GREATER FEATURE_SET_xsmall)
- SET(WITH_EMBEDDED_SERVER ON CACHE BOOL "")
- ENDIF()
- IF(num GREATER FEATURE_SET_small)
- SET(WITH_ARCHIVE_STORAGE_ENGINE ON)
- SET(WITH_BLACKHOLE_STORAGE_ENGINE ON)
- SET(WITH_FEDERATED_STORAGE_ENGINE ON)
- ENDIF()
- IF(num GREATER FEATURE_SET_classic)
- SET(WITH_INNOBASE_STORAGE_ENGINE ON)
- ENDIF()
- IF(num GREATER FEATURE_SET_large)
- SET(WITH_PARTITION_STORAGE_ENGINE ON)
- ENDIF()
- IF(num GREATER FEATURE_SET_xlarge)
- # OPTION(WITH_ALL ON)
- # better no set this, otherwise server would be linked
- # statically with experimental stuff like audit_null
- ENDIF()
-
- # Update cache with current values, remove engines we do not care about
- # from build.
- FOREACH(eng ARCHIVE BLACKHOLE FEDERATED INNOBASE PARTITION EXAMPLE)
- IF(NOT WITH_${eng}_STORAGE_ENGINE)
- SET(WITHOUT_${eng}_STORAGE_ENGINE ON CACHE BOOL "")
- MARK_AS_ADVANCED(WITHOUT_${eng}_STORAGE_ENGINE)
- SET(WITH_${eng}_STORAGE_ENGINE OFF CACHE BOOL "")
- ELSE()
- SET(WITH_${eng}_STORAGE_ENGINE ON CACHE BOOL "")
- ENDIF()
- ENDFOREACH()
-ENDIF()
-
-OPTION(ENABLED_LOCAL_INFILE "" ON)
-SET(WITH_SSL bundled CACHE STRING "")
-SET(WITH_ZLIB bundled CACHE STRING "")
OPTION(DEBUG_EXTNAME "" ON)
@@ -139,104 +61,3 @@ IF(UNIX)
ENDIF()
-# Compiler options
-IF(UNIX)
-
- # Default GCC flags
- IF(CMAKE_COMPILER_IS_GNUCC)
- SET(COMMON_C_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
- # Disable inline optimizations for valgrind testing to avoid false positives
- IF(WITH_VALGRIND)
- SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}")
- ENDIF()
- SET(CMAKE_C_FLAGS_DEBUG "-O ${COMMON_C_FLAGS}")
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
- ENDIF()
- IF(CMAKE_COMPILER_IS_GNUCXX)
- SET(COMMON_CXX_FLAGS "-g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing")
- # Disable inline optimizations for valgrind testing to avoid false positives
- IF(WITH_VALGRIND)
- SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}")
- ENDIF()
- SET(CMAKE_CXX_FLAGS_DEBUG "-O ${COMMON_CXX_FLAGS}")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}")
- ENDIF()
-
- # HPUX flags
- IF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
- IF(CMAKE_C_COMPILER_ID MATCHES "HP")
- IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64")
- SET(COMMON_C_FLAGS "+DSitanium2 -mt -AC99")
- SET(COMMON_CXX_FLAGS "+DSitanium2 -mt -Aa")
- SET(CMAKE_C_FLAGS_DEBUG "+O0 -g ${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_DEBUG "+O0 -g ${COMMON_CXX_FLAGS}")
- # We have seen compiler bugs with optimisation and -g, so disabled for now
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "+O2 ${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "+O2 ${COMMON_CXX_FLAGS}")
- ENDIF()
- ENDIF()
- SET(WITH_SSL no)
- ENDIF()
-
- # Linux flags
- IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
- IF(CMAKE_C_COMPILER_ID MATCHES "Intel")
- SET(COMMON_C_FLAGS "-static-intel -static-libgcc -g -mp -restrict")
- SET(COMMON_CXX_FLAGS "-static-intel -static-libgcc -g -mp -restrict")
- IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64")
- SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -no-ftz -no-prefetch")
- SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -no-ftz -no-prefetch")
- ENDIF()
- SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -unroll2 -ip ${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -unroll2 -ip ${COMMON_CXX_FLAGS}")
- SET(WITH_SSL no)
- ENDIF()
- ENDIF()
-
- # OSX flags
- IF(APPLE)
- SET(COMMON_C_FLAGS "-g -fno-strict-aliasing")
- SET(COMMON_CXX_FLAGS "-g -fno-strict-aliasing")
- SET(CMAKE_C_FLAGS_DEBUG "-O ${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_DEBUG "-O ${COMMON_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os ${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Os ${COMMON_CXX_FLAGS}")
- ENDIF()
-
- # Solaris flags
- IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
- IF(CMAKE_SYSTEM_VERSION VERSION_GREATER "5.9")
- # Link mysqld with mtmalloc on Solaris 10 and later
- SET(WITH_MYSQLD_LDFLAGS "-lmtmalloc" CACHE STRING "")
- ENDIF()
- IF(CMAKE_C_COMPILER_ID MATCHES "SunPro")
- IF(CMAKE_SYSTEM_PROCESSOR MATCHES "i386")
- SET(COMMON_C_FLAGS "-g -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic")
- SET(COMMON_CXX_FLAGS "-g0 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic -library=stlport4")
- SET(CMAKE_C_FLAGS_DEBUG "-xO1 ${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_DEBUG "-xO1 ${COMMON_CXX_FLAGS}")
- IF(32BIT)
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-xO2 ${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xO2 ${COMMON_CXX_FLAGS}")
- ELSEIF(64BIT)
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_CXX_FLAGS}")
- ENDIF()
- ELSE()
- # Assume !x86 is SPARC
- SET(COMMON_C_FLAGS "-g -Xa -xstrconst -mt")
- SET(COMMON_CXX_FLAGS "-g0 -mt -library=stlport4")
- IF(32BIT)
- SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -xarch=sparc")
- SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -xarch=sparc")
- ENDIF()
- SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_CXX_FLAGS}")
- ENDIF()
- ENDIF()
- ENDIF()
-ENDIF()
=== modified file 'cmake/package_name.cmake'
--- a/cmake/package_name.cmake 2011-06-30 15:50:45 +0000
+++ b/cmake/package_name.cmake 2012-03-21 14:30:53 +0000
@@ -15,8 +15,7 @@
# Produce meaningful package name for the binary package
# The logic is rather involved with special cases for different OSes
-INCLUDE(CheckTypeSize)
-CHECK_TYPE_SIZE("void *" SIZEOF_VOIDP)
+
MACRO(GET_PACKAGE_FILE_NAME Var)
IF(NOT VERSION)
MESSAGE(FATAL_ERROR
=== modified file 'storage/ndb/CMakeLists.txt'
--- a/storage/ndb/CMakeLists.txt 2011-11-14 14:25:51 +0000
+++ b/storage/ndb/CMakeLists.txt 2012-03-21 14:30:53 +0000
@@ -111,8 +111,9 @@ MYSQL_ADD_PLUGIN(ndbcluster ${NDBCLUSTER
#
# Add NDB binaries if ndbcluster is built
#
-IF (NOT DEFINED WITH_NDBCLUSTER)
+IF (NOT WITH_NDBCLUSTER)
# Not building NDB
+ MESSAGE(STATUS "Not building NDB")
RETURN()
ENDIF()
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-trunk branch (tor.didriksen:3818 to 3819) Bug#13595996 | Tor Didriksen | 21 Mar |