diff options
author | Sergei Golubchik <serg@mariadb.org> | 2014-08-21 18:11:46 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2014-10-11 18:53:06 +0200 |
commit | 7f5e51b940d65cf541403a50af74163b9aed5cb8 (patch) | |
tree | e540d3cd4d678cd276a9d496490ac5e527f30a78 /BUILD | |
parent | 57dd1f6f3fcbc7a46e1b3e71257987315f7aa687 (diff) | |
download | mariadb-git-7f5e51b940d65cf541403a50af74163b9aed5cb8.tar.gz |
MDEV-34 delete storage/ndb and sql/*ndb* (and collateral changes)
remove:
* NDB from everywhere
* IM from mtr-v1
* packaging/rpm-oel and packaging/rpm-uln
* few unused spec files
* plug.in file
* .bzrignore
Diffstat (limited to 'BUILD')
-rwxr-xr-x | BUILD/SETUP.sh | 3 | ||||
-rwxr-xr-x | BUILD/build_mccge.sh | 1876 | ||||
-rwxr-xr-x | BUILD/compile-amd64-debug-max-no-ndb | 2 | ||||
-rwxr-xr-x | BUILD/compile-amd64-gprof-no-ndb | 2 | ||||
-rw-r--r-- | BUILD/compile-amd64-max-sci | 23 | ||||
-rwxr-xr-x | BUILD/compile-bintar | 2 | ||||
-rwxr-xr-x | BUILD/compile-dist | 2 | ||||
-rwxr-xr-x | BUILD/compile-ndb-autotest | 24 | ||||
-rwxr-xr-x | BUILD/compile-pentium-debug-max-no-ndb | 2 | ||||
-rwxr-xr-x | BUILD/compile-pentium-valgrind-max-no-ndb | 2 | ||||
-rw-r--r-- | BUILD/compile-pentium64-max-sci | 25 | ||||
-rwxr-xr-x | BUILD/compile-ppc-debug-max-no-ndb | 2 |
12 files changed, 8 insertions, 1957 deletions
diff --git a/BUILD/SETUP.sh b/BUILD/SETUP.sh index 860560767a7..a0fddfb2413 100755 --- a/BUILD/SETUP.sh +++ b/BUILD/SETUP.sh @@ -205,9 +205,8 @@ fi max_no_embedded_configs="$SSL_LIBRARY --with-plugins=max" max_no_qc_configs="$SSL_LIBRARY --with-plugins=max --without-query-cache" -max_no_ndb_configs="$SSL_LIBRARY --with-plugins=max-no-ndb --with-embedded-server --with-libevent" max_configs="$SSL_LIBRARY --with-plugins=max --with-embedded-server --with-libevent" -all_configs="$SSL_LIBRARY --with-plugins=max --with-plugin-ndbcluster --with-embedded-server --with-innodb_plugin --with-libevent" +all_configs="$SSL_LIBRARY --with-plugins=max --with-embedded-server --with-innodb_plugin --with-libevent" # # CPU and platform specific compilation flags. diff --git a/BUILD/build_mccge.sh b/BUILD/build_mccge.sh deleted file mode 100755 index 78e5350dc1b..00000000000 --- a/BUILD/build_mccge.sh +++ /dev/null @@ -1,1876 +0,0 @@ -#!/bin/sh - -# Copyright (c) 2008, 2010, Oracle. -# Copyright (c) 2009-2011 Monty Program 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., 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 MariaDB wanting to try out - early versions 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 build process. - - This help text is targeted towards those that want to debug and test - 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. - - Three environment variables can be used to define 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. - - 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 - - It is assumed that you are building on a computer which is of the - same type as that on which you intend to run the program. - - 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 - MariaDB source 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 of 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 launchpad tree then you should read - --developer-help. - - 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 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 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. -EOF -} - -usage() -{ -cat <<EOF - -Usage: $0 [options] - --help Show this help message. - --sysadmin-help Show help for system administrators wishing - to build MariaDB - --developer-help Show help for developers trying to build MariaDB - --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 MariaDB developers use - --no-developer Do not use extensions that most developers of - MariaDB use - --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=[pro|classic] Select package to build - --parallelism=number Define parallelism in make - --strip Strip binaries - --error-inject Enable error injection into MariaDB 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 to build - performance-optimised MariaDB versions 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. - - Using the --package option, it is also possible to build a "classic" - version of MariaDB having only the MyISAM storage engine, a "Pro" - package including all storage engines and other features except MariaDB - Cluster, and an "extended" package including these features plus MariaDB - Cluster (this is the default if the --developer option is used). - - Different MariaDB 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=pro - storage engines: - ARCHIVE, BLACKHOLE, CSV, FEDERATED, INNODB, MYISAM - (All storage engines except NDB) - comment: Pro versions - version string suffix: [none] - - --package=classic - storage engines: CSV, MYISAM - comment: Version without InnoDB and Maria - 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. - - --with-debug[=full] - This option will ensure that the version is built with debug - information enabled; the optimisation level is decreased to -O. - - --developer - This option changes a number of things to make the version built - more appropriate to the debugging and testing needs of developers. - It changes the default package to "extended". It also changes the - default warning mode from "none" to "normal", which allows an - extensive list of warnings to be generated. - - --error-inject - This flag is used only when the --developer option is also used, and - enables error injection in both the MySQL Server and in MySQL - Cluster data nodes. - - The following is a list of the default configure options used for all - packages: - - --prefix: /usr/local/mysql (can be overridden) - - --libexecdir: <prefix>/bin (can be overridden) - - --localstatedir: <prefix>/data, unless --datadir is used, in which - case it defaults to <datadir>/data (can be overridden by setting - --localstatedir explicitly). - - --enable-local-infile: Enable use of the LOAD DATA FROM LOCAL INFILE - command (cannot be overridden). - - --enable-thread-safe-client: Enable the multi-threaded mysql client - library (cannot be overridden). - - --with-big-tables: Enable use of tables with more than 4G rows (cannot - be overridden). - - --with-extra-charsets=all: Enable use of all character sets supported - by MySQL (cannot be overridden). - - --with-ssl: Enable use of yaSSL library included in the MySQL source - 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" package. - - --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. - - --with-libedit - Use the BSD licensed library for command editing functions. - - --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/gcc" 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" - ;; - *) - 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" - ;; - --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) - 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 -Wno-uninitialized" - - 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="-DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG" - loc_debug_flags="$loc_debug_flags -Wuninitialized -DFORCE_INIT_OF_VARS" - loc_debug_flags="$loc_debug_flags -DSAFEMALLOC" - 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 - base_configs="$base_configs --with-libevent" -} - -# -# Add all standard engines and partitioning -# -set_max_engines() -{ - engine_configs="--with-plugins=max --with-plugin-maria --with-maria-tmp-tables" - engine_configs="$engine_configs --without-plugin-innodb_plugin" - base_configs="$base_configs $engine_configs" -} - -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=\"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_classic_package() -{ - if test "x$without_comment" != "xyes" ; then - base_configs="$base_configs --with-comment=\"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/readline" && test "x$gpl" = "xyes" ; then - base_configs="$base_configs --with-readline" - elif test -d "$path/../cmd-line-utils/libedit" ; then - base_configs="$base_configs --with-libedit" - fi -} - -# -# If fast flag set by user we also add architecture as discovered to -# compiler flags to make binary optimised for architecture at hand. -# We use this feature on gcc compilers. -# -set_gcc_special_options() -{ - if test "x$fast_flag" = "xyes" && test "x$compiler" = "xgcc" ; then - compiler_flags="$compiler_flags $check_cpu_cflags" - fi -} - -# -# If we discover a Core 2 Duo architecture and we have enabled the fast -# flag, we enable a compile especially optimised for Core 2 Duo. This -# feature is currently available on Intel's icc compiler only. -# -set_icc_special_options() -{ - if test "x$fast_flag" = "xyes" && test "x$cpu_arg" = "xcore2" && \ - test "x$compiler" = "xicc" ; then - compiler_flags="$compiler_flags -xT" - fi -} - -set_cc_and_cxx_for_gcc() -{ - if test "x$CC" = "x" ; then - CC="gcc -static-libgcc -fno-exceptions" - fi - if test "x$CXX" = "x" ; then - CXX="gcc -static-libgcc -fno-exceptions" - 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 -fno-exceptions" - fi - if test "x$CXX" = "x" ; then - CXX="openCC -static-libgcc -fno-exceptions" - 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" - base_cxx_flags="$base_cxx_flags -features=no%except" - 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_cxxflags="$base_cxxflags -noex" - 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 - package="extended" - 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 including all storage engines except InnoDB. -# -set_base_configs - version_text="GPL version" -if test "x$package" = "xpro" ; then - set_max_engines - set_pro_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 diff --git a/BUILD/compile-amd64-debug-max-no-ndb b/BUILD/compile-amd64-debug-max-no-ndb index 100a17163a4..d45a51eba54 100755 --- a/BUILD/compile-amd64-debug-max-no-ndb +++ b/BUILD/compile-amd64-debug-max-no-ndb @@ -20,6 +20,6 @@ path=`dirname $0` . "$path/SETUP.sh" extra_flags="$amd64_cflags $debug_cflags" -extra_configs="$amd64_configs $debug_configs $max_no_ndb_configs" +extra_configs="$amd64_configs $debug_configs $max_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-amd64-gprof-no-ndb b/BUILD/compile-amd64-gprof-no-ndb index 9fd4c67155c..ef684274658 100755 --- a/BUILD/compile-amd64-gprof-no-ndb +++ b/BUILD/compile-amd64-gprof-no-ndb @@ -2,6 +2,6 @@ path=`dirname $0` . "$path/SETUP.sh" extra_flags="$amd64_cflags -pg -g" -extra_configs="$amd64_configs $max_no_ndb_configs --disable-shared $static_link" +extra_configs="$amd64_configs $max_configs --disable-shared $static_link" . "$path/FINISH.sh" diff --git a/BUILD/compile-amd64-max-sci b/BUILD/compile-amd64-max-sci deleted file mode 100644 index fbcbba7920b..00000000000 --- a/BUILD/compile-amd64-max-sci +++ /dev/null @@ -1,23 +0,0 @@ -#! /bin/sh - -# Copyright (C) 2007 MySQL AB -# 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 Street, Fifth Floor, Boston, MA 02110-1301, 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" diff --git a/BUILD/compile-bintar b/BUILD/compile-bintar index 2b039e439c0..8434bf57a52 100755 --- a/BUILD/compile-bintar +++ b/BUILD/compile-bintar @@ -73,7 +73,7 @@ CC="gcc -static-libgcc" CXX="g++ -static-libgcc" CFLAGS="$FLAGS" CXXFLAGS="$FLAG --without-docs --with-extra-charsets=all \ --with-libwrap --with-ssl --with-readline --with-libevent --with-zlib-dir=bundled \ --with-partition --with-embedded-server \ - --with-plugins=max-no-ndb \ + --with-plugins=max \ --without-plugin-innodb_plugin make $AM_MAKEFLAGS diff --git a/BUILD/compile-dist b/BUILD/compile-dist index becfea638f8..853fd339769 100755 --- a/BUILD/compile-dist +++ b/BUILD/compile-dist @@ -78,5 +78,5 @@ fi ./configure \ --with-embedded-server \ --with-perfschema \ - --with-plugins=max-no-ndb + --with-plugins=max $gmake -j4 diff --git a/BUILD/compile-ndb-autotest b/BUILD/compile-ndb-autotest deleted file mode 100755 index 691b309fb60..00000000000 --- a/BUILD/compile-ndb-autotest +++ /dev/null @@ -1,24 +0,0 @@ -#! /bin/sh - -# Copyright (c) 2006, 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 Street, Fifth Floor, Boston, MA 02110-1301, 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" diff --git a/BUILD/compile-pentium-debug-max-no-ndb b/BUILD/compile-pentium-debug-max-no-ndb index fa8069414b2..705164c20bc 100755 --- a/BUILD/compile-pentium-debug-max-no-ndb +++ b/BUILD/compile-pentium-debug-max-no-ndb @@ -19,6 +19,6 @@ path=`dirname $0` . "$path/SETUP.sh" extra_flags="$pentium_cflags $debug_cflags" -extra_configs="$pentium_configs $debug_configs $max_no_ndb_configs" +extra_configs="$pentium_configs $debug_configs $max_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium-valgrind-max-no-ndb b/BUILD/compile-pentium-valgrind-max-no-ndb index c3ebb47cc22..4eb47cb2fe2 100755 --- a/BUILD/compile-pentium-valgrind-max-no-ndb +++ b/BUILD/compile-pentium-valgrind-max-no-ndb @@ -21,6 +21,6 @@ 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" +extra_configs="$pentium_configs $debug_configs $valgrind_configs $max_configs" . "$path/FINISH.sh" diff --git a/BUILD/compile-pentium64-max-sci b/BUILD/compile-pentium64-max-sci deleted file mode 100644 index a19351308c5..00000000000 --- a/BUILD/compile-pentium64-max-sci +++ /dev/null @@ -1,25 +0,0 @@ -#! /bin/sh - -# Copyright (C) 2007 MySQL AB -# 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 Street, Fifth Floor, Boston, MA 02110-1301, 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" diff --git a/BUILD/compile-ppc-debug-max-no-ndb b/BUILD/compile-ppc-debug-max-no-ndb index ba7fe9aee5b..0642ddf7a57 100755 --- a/BUILD/compile-ppc-debug-max-no-ndb +++ b/BUILD/compile-ppc-debug-max-no-ndb @@ -20,6 +20,6 @@ path=`dirname $0` . "$path/SETUP.sh" extra_flags="$ppc_cflags $debug_cflags" -extra_configs="$debug_configs $max_no_ndb_configs" +extra_configs="$debug_configs $max_configs" . "$path/FINISH.sh" |