summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2015-02-11 21:39:41 +0100
committerOlivier Bertrand <bertrandop@gmail.com>2015-02-11 21:39:41 +0100
commitdcfe068d5936259d49ac4d6d665122486d2ceda3 (patch)
treef735ae80849a538cc7e9341d6faa5a5f258f1aa9
parent3c097fd68919c220eb6492650e4f1d01612f5b33 (diff)
downloadmariadb-git-dcfe068d5936259d49ac4d6d665122486d2ceda3.tar.gz
- Adding json udf's. Making the second version of json tables.
added: storage/connect/jsonudf.cpp modified: storage/connect/CMakeLists.txt storage/connect/json.cpp storage/connect/json.h storage/connect/tabjson.cpp storage/connect/tabjson.h - Fix utf8 issues with PROXY tables modified: storage/connect/ha_connect.cc storage/connect/tabutil.cpp storage/connect/tabutil.h
-rw-r--r--BUILD/FINISH.sh70
-rwxr-xr-xBUILD/SETUP.sh295
-rwxr-xr-xBUILD/autorun.sh27
-rwxr-xr-xBUILD/build_mccge.sh1876
-rwxr-xr-xBUILD/check-cpu321
-rwxr-xr-xBUILD/cleanup23
-rw-r--r--BUILD/cmake_configure.sh35
-rwxr-xr-xBUILD/compile-alpha24
-rwxr-xr-xBUILD/compile-alpha-debug12
-rwxr-xr-xBUILD/compile-amd64-debug-all7
-rwxr-xr-xBUILD/compile-amd64-debug-max24
-rwxr-xr-xBUILD/compile-amd64-debug-max-no-ndb25
-rwxr-xr-xBUILD/compile-amd64-gcov32
-rwxr-xr-xBUILD/compile-amd64-gprof24
-rwxr-xr-xBUILD/compile-amd64-gprof-no-ndb7
-rwxr-xr-xBUILD/compile-amd64-max24
-rw-r--r--BUILD/compile-amd64-max-sci23
-rwxr-xr-xBUILD/compile-amd64-valgrind-max26
-rwxr-xr-xBUILD/compile-bintar79
-rwxr-xr-xBUILD/compile-darwin-mwcc66
-rwxr-xr-xBUILD/compile-dist82
-rwxr-xr-xBUILD/compile-hpux11-parisc2-aCC91
-rwxr-xr-xBUILD/compile-ia64-debug-max25
-rwxr-xr-xBUILD/compile-innodb25
-rwxr-xr-xBUILD/compile-irix-mips64-mipspro95
-rwxr-xr-xBUILD/compile-ndb-autotest24
-rwxr-xr-xBUILD/compile-pentium26
-rwxr-xr-xBUILD/compile-pentium-cybozu24
-rwxr-xr-xBUILD/compile-pentium-debug24
-rwxr-xr-xBUILD/compile-pentium-debug-all10
-rwxr-xr-xBUILD/compile-pentium-debug-max24
-rwxr-xr-xBUILD/compile-pentium-debug-max-no-embedded25
-rwxr-xr-xBUILD/compile-pentium-debug-max-no-ndb24
-rwxr-xr-xBUILD/compile-pentium-debug-max-no-qc10
-rwxr-xr-xBUILD/compile-pentium-debug-openssl26
-rwxr-xr-xBUILD/compile-pentium-debug-yassl26
-rwxr-xr-xBUILD/compile-pentium-gcov45
-rwxr-xr-xBUILD/compile-pentium-gprof24
-rwxr-xr-xBUILD/compile-pentium-icc40
-rwxr-xr-xBUILD/compile-pentium-icc-valgrind-max63
-rw-r--r--BUILD/compile-pentium-icc-yassl40
-rwxr-xr-xBUILD/compile-pentium-max25
-rwxr-xr-xBUILD/compile-pentium-myodbc28
-rwxr-xr-xBUILD/compile-pentium-pgcc18
-rwxr-xr-xBUILD/compile-pentium-valgrind-max38
-rwxr-xr-xBUILD/compile-pentium-valgrind-max-no-ndb26
-rwxr-xr-xBUILD/compile-pentium6414
-rwxr-xr-xBUILD/compile-pentium64-debug26
-rwxr-xr-xBUILD/compile-pentium64-debug-all12
-rwxr-xr-xBUILD/compile-pentium64-debug-max26
-rwxr-xr-xBUILD/compile-pentium64-gcov33
-rwxr-xr-xBUILD/compile-pentium64-gprof25
-rwxr-xr-xBUILD/compile-pentium64-max32
-rw-r--r--BUILD/compile-pentium64-max-sci25
-rwxr-xr-xBUILD/compile-pentium64-valgrind-max38
-rwxr-xr-xBUILD/compile-ppc26
-rwxr-xr-xBUILD/compile-ppc-debug27
-rwxr-xr-xBUILD/compile-ppc-debug-max25
-rwxr-xr-xBUILD/compile-ppc-debug-max-no-ndb25
-rwxr-xr-xBUILD/compile-ppc-max25
-rwxr-xr-xBUILD/compile-solaris-amd648
-rwxr-xr-xBUILD/compile-solaris-amd64-debug27
-rwxr-xr-xBUILD/compile-solaris-amd64-debug-forte27
-rwxr-xr-xBUILD/compile-solaris-amd64-forte46
-rwxr-xr-xBUILD/compile-solaris-amd64-forte-debug31
-rwxr-xr-xBUILD/compile-solaris-sparc29
-rwxr-xr-xBUILD/compile-solaris-sparc-debug11
-rwxr-xr-xBUILD/compile-solaris-sparc-forte70
-rwxr-xr-xBUILD/compile-solaris-sparc-purify110
-rwxr-xr-xBUILD/compile-solaris-x86-3211
-rwxr-xr-xBUILD/compile-solaris-x86-32-debug11
-rwxr-xr-xBUILD/compile-solaris-x86-32-debug-forte27
-rwxr-xr-xBUILD/compile-solaris-x86-forte-3219
-rw-r--r--BUILD/util.sh48
-rw-r--r--storage/connect/CMakeLists.txt6
-rw-r--r--storage/connect/ha_connect.cc7
-rw-r--r--storage/connect/json.cpp29
-rw-r--r--storage/connect/json.h6
-rw-r--r--storage/connect/jsonudf.cpp382
-rw-r--r--storage/connect/tabjson.cpp156
-rw-r--r--storage/connect/tabjson.h10
-rw-r--r--storage/connect/tabutil.cpp19
-rw-r--r--storage/connect/tabutil.h6
83 files changed, 554 insertions, 4829 deletions
diff --git a/BUILD/FINISH.sh b/BUILD/FINISH.sh
deleted file mode 100644
index 86085fcc593..00000000000
--- a/BUILD/FINISH.sh
+++ /dev/null
@@ -1,70 +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 $EXTRA_FLAGS $EXTRA_CFLAGS"
-cxxflags="$cxx_warnings $base_cxxflags $extra_flags $EXTRA_FLAGS $EXTRA_CXXFLAGS"
-extra_configs="$extra_configs $local_infile_configs $EXTRA_CONFIGS"
-
-configure="./configure $base_configs $extra_configs"
-
-if test "$just_print" = "1" -a "$just_configure" = "1"
-then
- just_print=""
- configure="$configure --print"
-fi
-
-if test "$AM_EXTRA_MAKEFLAGS" = "VERBOSE=1" -o "$verbose_make" = "1"
-then
- configure="$configure --verbose"
-fi
-
-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 $AM_EXTRA_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
diff --git a/BUILD/SETUP.sh b/BUILD/SETUP.sh
deleted file mode 100755
index bde095b0aa8..00000000000
--- a/BUILD/SETUP.sh
+++ /dev/null
@@ -1,295 +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., 51 Franklin Street, Fifth Floor, Boston,
-# MA 02110-1301, 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.
- --extra-configs=xxx Add this to configure options
- --extra-flags=xxx Add this C and CXX flags
- --extra-cflags=xxx Add this to C flags
- --extra-cxxflags=xxx Add this to CXX flags
- --verbose Print out full compile lines
- --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"`;;
- --extra-flags=*)
- EXTRA_FLAGS=`get_key_value "$1"`;;
- --extra-cflags=*)
- EXTRA_CFLAGS=`get_key_value "$1"`;;
- --extra-cxxflags=*)
- EXTRA_CXXFLAGS=`get_key_value "$1"`;;
- --extra-configs=*)
- EXTRA_CONFIGS=`get_key_value "$1"`;;
- --extra-makeflags=*)
- EXTRA_MAKEFLAGS=`get_key_value "$1"`;;
- -c | --just-configure)
- just_configure=1;;
- -n | --just-print | --print)
- just_print=1;;
- --verbose)
- verbose_make=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=
-verbose_make=
-
-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"
-. "$path/util.sh"
-
-get_make_parallel_flag
-
-# SSL library to use.--with-ssl will select our bundled yaSSL
-# implementation of SSL. To use OpenSSL you will need to specify
-# the location of OpenSSL headers and libs 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 -Wno-uninitialized"
-
-# For more warnings, uncomment the following line
-# warnings="$warnings -Wshadow"
-
-# C warnings
- c_warnings="$warnings"
-# C++ warnings
- cxx_warnings="$warnings -Wno-unused-parameter -Wno-invalid-offsetof"
-# 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="-DHAVE_valgrind -USAFEMALLOC"
-valgrind_flags="$valgrind_flags -UFORCE_INIT_OF_VARS -Wno-uninitialized"
-valgrind_flags="$valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max"
-valgrind_configs="--with-valgrind"
-#
-# Used in -debug builds
-debug_cflags="-DEXTRA_DEBUG -DSAFE_MUTEX -DSAFEMALLOC"
-error_inject="--with-error-inject "
-#
-# Base C++ flags for all builds
-base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti"
-#
-# Flags for optimizing builds.
-# Be as fast as we can be without losing our ability to backtrace.
-fast_cflags="-O3 -fno-omit-frame-pointer"
-
-debug_configs="--with-debug"
-if [ -z "$full_debug" ]
-then
- debug_cflags="$debug_cflags $debug_extra_cflags"
-fi
-
-# 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"
-
-#
-# 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"
-base_configs="$base_configs --with-plugin-aria --with-aria-tmp-tables"
-
-if test -d "$path/../cmd-line-utils/readline"
-then
- base_configs="$base_configs --with-readline"
-elif test -d "$path/../cmd-line-utils/libedit"
-then
- base_configs="$base_configs --with-libedit"
-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"
-
-#
-# 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
-
-
-#
-# Set -Wuninitialized to debug flags for gcc 4.4 and above
-# because it is allowed there without -O
-#
-if test `$CC -v 2>&1 | tail -1 | sed 's/ .*$//'` = 'gcc' ; then
- GCCVERSION=`$CC -v 2>&1 | tail -1 | \
- sed 's/^[a-zA-Z][a-zA-Z]* [a-zA-Z][a-zA-Z]* //' | sed 's/ .*$//'`
- GCCV1=`echo $GCCVERSION | sed 's/\..*$//'`
- GCCV2=`echo $GCCVERSION | sed 's/[0-9][0-9]*\.//'|sed 's/\..*$//'`
- if test '(' "$GCCV1" -gt '4' ')' -o \
- '(' '(' "$GCCV1" -eq '4' ')' -a '(' "$GCCV2" -ge '4' ')' ')'
- then
- debug_cflags="$debug_cflags -DFORCE_INIT_OF_VARS -Wuninitialized"
- fi
-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"
-
diff --git a/BUILD/autorun.sh b/BUILD/autorun.sh
deleted file mode 100755
index 1d7cf5561ad..00000000000
--- a/BUILD/autorun.sh
+++ /dev/null
@@ -1,27 +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 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
-
-# Create MySQL cmake configure wrapper
-
-die() { echo "$@"; exit 1; }
-
-# Use a configure script that will call CMake.
-path=`dirname $0`
-cp $path/cmake_configure.sh $path/../configure
-chmod +x $path/../configure
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/check-cpu b/BUILD/check-cpu
deleted file mode 100755
index ad8816dc421..00000000000
--- a/BUILD/check-cpu
+++ /dev/null
@@ -1,321 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates.
-#
-# 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
diff --git a/BUILD/cleanup b/BUILD/cleanup
deleted file mode 100755
index 1a3cfa7b24e..00000000000
--- a/BUILD/cleanup
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2003 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"
-
-just_clean=1;
-
-. "$path/FINISH.sh"
diff --git a/BUILD/cmake_configure.sh b/BUILD/cmake_configure.sh
deleted file mode 100644
index 668d6a81b5c..00000000000
--- a/BUILD/cmake_configure.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-# Copyright (c) 2009, 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
-
-# Ensure cmake and perl are there
-cmake -P cmake/check_minimal_version.cmake >/dev/null 2>&1 || HAVE_CMAKE=no
-perl --version >/dev/null 2>&1 || HAVE_PERL=no
-scriptdir=`dirname $0`
-if test "$HAVE_CMAKE" = "no"
-then
- echo "CMake is required to build MySQL."
- exit 1
-elif test "$HAVE_PERL" = "no"
-then
- echo "Perl is required to build MySQL using the configure to CMake translator."
- exit 1
-else
- perl $scriptdir/cmake/configure.pl "$@"
-fi
-
diff --git a/BUILD/compile-alpha b/BUILD/compile-alpha
deleted file mode 100755
index 45f72eb90e1..00000000000
--- a/BUILD/compile-alpha
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2000, 2002 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="$alpha_cflags $fast_cflags"
-extra_configs="$alpha_configs $static_link"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-alpha-debug b/BUILD/compile-alpha-debug
deleted file mode 100755
index 2d8869227dc..00000000000
--- a/BUILD/compile-alpha-debug
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /bin/sh
-
-/bin/rm -f */.deps/*.P */*.o
-make -k maintainer-clean
-/bin/rm -f */.deps/*.P */*.o
-/bin/rm -f */.deps/*.P config.cache storage/innobase/config.cache mysql-*.tar.gz
-
-path=`dirname $0`
-. "$path/autorun.sh"
-
-CFLAGS=-O1 CC=gcc CXX=g++ CXXFLAGS="-O1 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-debug --with-extra-charsets=complex --without-extra-tools
-make
diff --git a/BUILD/compile-amd64-debug-all b/BUILD/compile-amd64-debug-all
deleted file mode 100755
index b8b2ed05402..00000000000
--- a/BUILD/compile-amd64-debug-all
+++ /dev/null
@@ -1,7 +0,0 @@
-#! /bin/sh
-path=`dirname $0`
-. "$path/SETUP.sh"
-extra_flags="$amd64_cflags $debug_cflags"
-extra_configs="$amd64_configs $debug_configs $all_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-amd64-debug-max b/BUILD/compile-amd64-debug-max
deleted file mode 100755
index 923379598d4..00000000000
--- a/BUILD/compile-amd64-debug-max
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2005, 2006 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 $debug_cflags"
-extra_configs="$amd64_configs $debug_configs $max_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-amd64-debug-max-no-ndb b/BUILD/compile-amd64-debug-max-no-ndb
deleted file mode 100755
index 100a17163a4..00000000000
--- a/BUILD/compile-amd64-debug-max-no-ndb
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2005, 2006 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 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 Street, Fifth Floor, Boston,
-# MA 02110-1301, 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"
diff --git a/BUILD/compile-amd64-gcov b/BUILD/compile-amd64-gcov
deleted file mode 100755
index 80936d1f3ec..00000000000
--- a/BUILD/compile-amd64-gcov
+++ /dev/null
@@ -1,32 +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"
-
-# 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"
diff --git a/BUILD/compile-amd64-gprof b/BUILD/compile-amd64-gprof
deleted file mode 100755
index b6e38a68b8f..00000000000
--- a/BUILD/compile-amd64-gprof
+++ /dev/null
@@ -1,24 +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 $gprof_compile_flags"
-extra_configs="$amd64_configs $debug_configs $gprof_link_flags"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-amd64-gprof-no-ndb b/BUILD/compile-amd64-gprof-no-ndb
deleted file mode 100755
index 9fd4c67155c..00000000000
--- a/BUILD/compile-amd64-gprof-no-ndb
+++ /dev/null
@@ -1,7 +0,0 @@
-#! /bin/sh
-path=`dirname $0`
-. "$path/SETUP.sh"
-extra_flags="$amd64_cflags -pg -g"
-extra_configs="$amd64_configs $max_no_ndb_configs --disable-shared $static_link"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-amd64-max b/BUILD/compile-amd64-max
deleted file mode 100755
index 3814a98b74f..00000000000
--- a/BUILD/compile-amd64-max
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2005, 2006 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"
-
-. "$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-amd64-valgrind-max b/BUILD/compile-amd64-valgrind-max
deleted file mode 100755
index 303b73e4bae..00000000000
--- a/BUILD/compile-amd64-valgrind-max
+++ /dev/null
@@ -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., 51 Franklin Street, Fifth Floor, Boston,
-# MA 02110-1301, 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"
diff --git a/BUILD/compile-bintar b/BUILD/compile-bintar
deleted file mode 100755
index 2b039e439c0..00000000000
--- a/BUILD/compile-bintar
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/bin/bash
-#
-# MariaDB SQL server.
-# Copyright (C) 2010 Kristian Nielsen and Monty Program 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.
-
-
-# This script's purpose is to build the binary tarball packages for MariaDB
-# (currently only on Linux systems).
-#
-# Thus BUILD/compile-bintar from the appropriate source tarball will reproduce
-# such a release, provided the build environment (gcc version etc.) matches
-# (use scripts/make_binary_distribution after running this script to actually
-# create the binary tarball package).
-#
-# Note that packages are built from source tarballs not bzr checkouts.
-# Therefore, this script assumes autotools have already been run.
-#
-# We link libc dynamically, otherwise we get lots of problems loading
-# .so files at runtime (either system stuff like NSS, or server
-# plugins).
-#
-# We link libgcc statically to avoid reduce nasty library version dependencies.
-
-test -f Makefile && make distclean
-
-path=`dirname $0`
-. $path/util.sh
-
-SYSTEM_TYPE="$(uname -o)"
-MACHINE_TYPE="$(uname -m)"
-
-# We cannot have a slash '/' in tarfile name.
-SYSTEM_TYPE="$(echo ${SYSTEM_TYPE} | sed -e 's/GNU\///')"
-
-# Get correct options for architecture into CPUOPT.
-get_cpuopt
-# Get correct -j option into AM_MAKEFLAGS
-get_make_parallel_flag
-
-# Use gcc rather than g++ to avoid linking libstdc++.so (which we don't need).
-FLAGS="-O2 -fno-omit-frame-pointer -g -pipe -Wall $CPUOPT"
-
-# Don't press on in case of error.
-set -e
-
-CC="gcc -static-libgcc" CXX="g++ -static-libgcc" CFLAGS="$FLAGS" CXXFLAGS="$FLAGS" \
- ./configure \
- --prefix=/usr/local/mysql \
- --exec-prefix=/usr/local/mysql \
- --libexecdir=/usr/local/mysql/bin \
- --localstatedir=/usr/local/mysql/data \
- \
- --with-comment="(MariaDB - http://mariadb.com/)" \
- --with-system-type="${SYSTEM_TYPE}" \
- --with-machine-type="${MACHINE_TYPE}" \
- \
- --enable-shared --enable-static \
- --with-client-ldflags=-static --with-mysqld-ldflags=-static \
- --enable-thread-safe-client --enable-local-infile --with-big-tables \
- --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 \
- --without-plugin-innodb_plugin
-
-make $AM_MAKEFLAGS
diff --git a/BUILD/compile-darwin-mwcc b/BUILD/compile-darwin-mwcc
deleted file mode 100755
index 06332910eaa..00000000000
--- a/BUILD/compile-darwin-mwcc
+++ /dev/null
@@ -1,66 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2005, 2006 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"
-
-c_warnings=""
-cxx_warnings=""
-fast_cflags="-O3"
-base_cxxflags="-fno-handle-exceptions"
-
-# FIXME do we need to link static, not to depend on CodeWarrior libs?
-
-if [ x$MODE = x ] ; then
- echo "You need to give an argument, 'standard', 'max', 'debug' or 'debug-max'"
- echo "Like: MODE=standard BUILD/compile-darwin-codewarrior"
- exit 1
-else
- case $MODE in
- standard|pro-gpl)
- # FIXME pro/pro-gpl different libedit/readline
- extra_flags="$ppc_cflags $fast_cflags"
- ;;
- pro)
- # FIXME pro/pro-gpl different libedit/readline
- extra_flags="$ppc_cflags $fast_cflags"
- extra_configs="--with-libedit"
- ;;
- max)
- extra_flags="$ppc_cflags $fast_cflags"
- extra_configs="$max_configs"
- ;;
- debug)
- extra_flags="$ppc_cflags $debug_cflags"
- extra_configs="$debug_configs"
- ;;
- debug-max)
- extra_flags="$ppc_cflags $debug_cflags"
- extra_configs="$debug_configs $max_configs"
- ;;
- *)
- echo "You need to give an argument, 'standard', 'max', 'debug' or 'debug-max'"
- echo "Like: MODE=standard BUILD/compile-darwin-codewarrior"
- exit 1
- ;;
- esac
-fi
-
-extra_configs="$extra_configs --with-darwin-mwcc"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-dist b/BUILD/compile-dist
deleted file mode 100755
index becfea638f8..00000000000
--- a/BUILD/compile-dist
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2004-2008 MySQL AB, 2008, 2009 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
-
-#
-# 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.
-#
-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 -fno-exceptions -fno-rtti"
- 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 !
-./configure \
- --with-embedded-server \
- --with-perfschema \
- --with-plugins=max-no-ndb
-$gmake -j4
diff --git a/BUILD/compile-hpux11-parisc2-aCC b/BUILD/compile-hpux11-parisc2-aCC
deleted file mode 100755
index 0a3c8e78b10..00000000000
--- a/BUILD/compile-hpux11-parisc2-aCC
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh
-
-# Copyright (c) 2004, 2005, 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
-
-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
diff --git a/BUILD/compile-ia64-debug-max b/BUILD/compile-ia64-debug-max
deleted file mode 100755
index 508cadf73e2..00000000000
--- a/BUILD/compile-ia64-debug-max
+++ /dev/null
@@ -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
diff --git a/BUILD/compile-innodb b/BUILD/compile-innodb
deleted file mode 100755
index fa791282b28..00000000000
--- a/BUILD/compile-innodb
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2006, 2013, 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
-#
-
-# we assume this script is in storage/innobase/
-
-MYSQL_ROOT="$(dirname ${0})/../.."
-
-cd ${MYSQL_ROOT}
-
-cmake -DWITH_INNOBASE_STORAGE_ENGINE:BOOL=ON
-make -j$(nproc)
diff --git a/BUILD/compile-irix-mips64-mipspro b/BUILD/compile-irix-mips64-mipspro
deleted file mode 100755
index 4a55654e938..00000000000
--- a/BUILD/compile-irix-mips64-mipspro
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/sh
-
-# Copyright (c) 2004, 2005, 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
-
-if [ ! -f "sql/mysqld.cc" ]; then
- echo "You must run this script from the MySQL top-level directory."
- exit 1
-fi
-
-cflags="-64 -mips4"
-config_args=
-if [ "$#" != 0 ]; then
- case "$1" in
- --help)
- echo "Usage: $0 [options]"
- echo "Options:"
- echo "--help print this message"
- echo "-32 build 32-bit binary"
- echo "-64 build 64-bit binary [default]"
- exit 0
- ;;
- -64)
- echo "Building 64-bit binary"
- ;;
- -32)
- echo "Building 32-bit binary"
- cflags=""
- ;;
- *)
- config_args="$config_args $1"; shift
- ;;
- esac
-else
- echo "Building 64-bit binary"
-fi
-
-set -x
-make maintainer-clean
-
-path=`dirname $0`
-. "$path/autorun.sh"
-
-# C options:
-# -apo - auto-parallize for multiprocessors (implies -mp)
-# -mp - generate multiprocessor code
-# These two common optimization options apparently use 'sproc' model of
-# threading, which is not compatible with PTHREADS: don't add them unless you
-# know what you're doing.
-#
-# -c99 - enable C features standardized in C99, such as long long,
-# strtoll, stroull etc.
-# This option is vital to compile MySQL.
-# -woff - turn off some warnings
-# -64 - generate 64 bit object (implies -mips4)
-# -mips4 - produce code for MIPS R10000, MIPS R12000 and further 64 bit
-# processors
-# -OPT:Olimit=0 - no limits exists to size of function for compiler to optimize
-# it
-nowarn="-woff 1064,1188,1460,1552,1681,1682,3303"
-cflags="$cflags $nowarn -O3 -c99 -OPT:Olimit=0"
-
-# C++ only options:
-# -LANG:exceptions=OFF - don't generate exception handling code
-# MySQL doesn't use exceptions.
-# -LANG:std=OFF - don't link standard C++ library, such as
-# <iostream>, <complex>, etc.
-# -LANG:libc_in_namespace_std=OFF - libstdc functions can be
-# declared in namespace 'std', when included
-# into C++ code. Switch this feature off.
-# This option is vital to compile MySQL
-
-cxxflags="$cflags -LANG:exceptions=OFF -LANG:std=OFF"
-cxxflags="$cxxflags -LANG:libc_in_namespace_std=OFF"
-
-CC=cc CXX=CC CFLAGS="$cflags" CXXFLAGS="$cxxflags" \
-./configure --prefix=/usr/local/mysql --disable-shared \
- --with-extra-charsets=complex --enable-thread-safe-client \
- --without-extra-tools --disable-dependency-tracking \
- $config_args
-
-make
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 b/BUILD/compile-pentium
deleted file mode 100755
index c197d9b49bf..00000000000
--- a/BUILD/compile-pentium
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2000-2002, 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="$pentium_cflags $fast_cflags"
-extra_configs="$pentium_configs"
-strip=yes
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-cybozu b/BUILD/compile-pentium-cybozu
deleted file mode 100755
index fc65adf1ea1..00000000000
--- a/BUILD/compile-pentium-cybozu
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2005 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="$pentium_cflags $fast_cflags -g"
-extra_configs="$pentium_configs --with-charset=utf8 --with-collation=utf8_general_cs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-debug b/BUILD/compile-pentium-debug
deleted file mode 100755
index faeb1b89597..00000000000
--- a/BUILD/compile-pentium-debug
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# 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 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"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-debug-all b/BUILD/compile-pentium-debug-all
deleted file mode 100755
index 710ce8af63c..00000000000
--- a/BUILD/compile-pentium-debug-all
+++ /dev/null
@@ -1,10 +0,0 @@
-#! /bin/sh
-
-path=`dirname $0`
-set -- "$@" --with-debug=full
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs $all_configs $error_inject --with-experimental-collations"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-debug-max b/BUILD/compile-pentium-debug-max
deleted file mode 100755
index 0c925d8426f..00000000000
--- a/BUILD/compile-pentium-debug-max
+++ /dev/null
@@ -1,24 +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 $max_configs $error_inject --with-experimental-collations"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-debug-max-no-embedded b/BUILD/compile-pentium-debug-max-no-embedded
deleted file mode 100755
index 2394c8aa2c7..00000000000
--- a/BUILD/compile-pentium-debug-max-no-embedded
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2004-2006 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="$pentium_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs $max_no_embedded_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-debug-max-no-ndb b/BUILD/compile-pentium-debug-max-no-ndb
deleted file mode 100755
index fa8069414b2..00000000000
--- a/BUILD/compile-pentium-debug-max-no-ndb
+++ /dev/null
@@ -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 Street, 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_no_ndb_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-debug-max-no-qc b/BUILD/compile-pentium-debug-max-no-qc
deleted file mode 100755
index 6407b4b09ad..00000000000
--- a/BUILD/compile-pentium-debug-max-no-qc
+++ /dev/null
@@ -1,10 +0,0 @@
-#! /bin/sh
-# Builds server without query cache support
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs $max_no_qc_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-debug-openssl b/BUILD/compile-pentium-debug-openssl
deleted file mode 100755
index abf6b41a2d2..00000000000
--- a/BUILD/compile-pentium-debug-openssl
+++ /dev/null
@@ -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"
diff --git a/BUILD/compile-pentium-debug-yassl b/BUILD/compile-pentium-debug-yassl
deleted file mode 100755
index e8cfff6cb07..00000000000
--- a/BUILD/compile-pentium-debug-yassl
+++ /dev/null
@@ -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"
diff --git a/BUILD/compile-pentium-gcov b/BUILD/compile-pentium-gcov
deleted file mode 100755
index 56072f619e5..00000000000
--- a/BUILD/compile-pentium-gcov
+++ /dev/null
@@ -1,45 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2000, 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
-
-# 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"
diff --git a/BUILD/compile-pentium-gprof b/BUILD/compile-pentium-gprof
deleted file mode 100755
index 52231e7832a..00000000000
--- a/BUILD/compile-pentium-gprof
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2001, 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="$pentium_cflags $gprof_compile_flags"
-extra_configs="$pentium_configs $debug_configs $gprof_link_flags"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-icc b/BUILD/compile-pentium-icc
deleted file mode 100755
index 23333a13c15..00000000000
--- a/BUILD/compile-pentium-icc
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2005 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"
-
-# Note that we can't use ccache with icc as the generated .deps file will
-# then contain wrong information
-CC=icc
-CXX=icpc
-CXXLD="$CXX -static-libcxa"
-export CC CXX CXXLD
-
-c_warnings=""
-cxx_warnings=""
-extra_flags="$fast_cflags -unroll2 -ip -mp -restrict"
-
-# Use -no-ipo if you get this error
-# IPO link: can not find "-lstdc++_shared"
-# icpc: error: problem during multi-file optimization compilation (code 1)
-extra_flags="$extra_flags -no-ipo"
-base_cxxflags="-fno-exceptions -fno-rtti"
-extra_configs="$pentium_configs $static_link"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-icc-valgrind-max b/BUILD/compile-pentium-icc-valgrind-max
deleted file mode 100755
index 4858f796fab..00000000000
--- a/BUILD/compile-pentium-icc-valgrind-max
+++ /dev/null
@@ -1,63 +0,0 @@
-#! /bin/sh
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates.
-#
-# 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
-
-# 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"
-
-# Note that we can't use ccache with icc as the generated .deps file will
-# then contain wrong information
-CC=icc
-CXX=icpc
-export CC CXX
-
-extra_flags="$pentium_cflags $debug_cflags $valgrind_flags"
-
-# Disable following warnings as these are generated by header files:
-# 161 unrecognized pragma
-# 444 destructor for base class xxx is not virtual
-# 279 controlling expression is constant
-# 810 conversion from ulonglong to ulong with cast
-# 981 operands are evaluated in unspecified order
-# 1292 warning for unknown 'attribute' options
-# 1469 "xxx" clobber ignored
-# 1572 floating-point equality and inequality comparisons are unreliable
-
-# In C++
-# 869 parameter "xxx" was never referenced
-# (Problem with virtual functions)
-# 874 support for placement delete is disabled
-
-c_warnings="-Wall -Wcheck -wd161,444,279,810,981,1292,1469,1572"
-cxx_warnings="$c_warnings -wd869,874"
-base_cxxflags="-fno-exceptions -fno-rtti"
-extra_configs="$pentium_configs $debug_configs $valgrind_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-icc-yassl b/BUILD/compile-pentium-icc-yassl
deleted file mode 100644
index ef0ec1a5d76..00000000000
--- a/BUILD/compile-pentium-icc-yassl
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2005 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"
-
-# Note that we can't use ccache with icc as the generated .deps file will
-# then contain wrong information
-CC=icc
-CXX=icpc
-CXXLD="$CXX -static-libcxa"
-export CC CXX CXXLD
-
-c_warnings=""
-cxx_warnings=""
-extra_flags="$fast_cflags -unroll2 -ip -mp -restrict"
-
-# Use -no-ipo if you get this error
-# IPO link: can not find "-lstdc++_shared"
-# icpc: error: problem during multi-file optimization compilation (code 1)
-extra_flags="$extra_flags -no-ipo"
-base_cxxflags="-fno-exceptions -fno-rtti"
-extra_configs="$pentium_configs $static_link --with-yassl"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-max b/BUILD/compile-pentium-max
deleted file mode 100755
index 470596f8eb9..00000000000
--- a/BUILD/compile-pentium-max
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2001-2006 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="$pentium_cflags $fast_cflags -g"
-extra_configs="$pentium_configs $max_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-myodbc b/BUILD/compile-pentium-myodbc
deleted file mode 100755
index d9b1dd47129..00000000000
--- a/BUILD/compile-pentium-myodbc
+++ /dev/null
@@ -1,28 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2000 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="$pentium_cflags $fast_cflags"
-extra_configs="$pentium_configs --without-server"
-
-make=no
-strip=yes
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-pgcc b/BUILD/compile-pentium-pgcc
deleted file mode 100755
index 5b2193c9fe9..00000000000
--- a/BUILD/compile-pentium-pgcc
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /bin/sh
-
-AM_MAKEFLAGS="-j 2"
-gmake -k maintainer-clean || true
-/bin/rm -f */.deps/*.P config.cache
-
-path=`dirname $0`
-. "$path/autorun.sh"
-
-export PATH=/usr/local/pgcc/bin:$PATH
-CFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O6 -mpentiumpro -fomit-frame-pointer -mstack-align-double" CXX=g++ CXXFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O6 -fomit-frame-pointer -mpentiumpro -mstack-align-double" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static
-
-gmake -j 4
-
-mkdir -p tmp
-nm --numeric-sort sql/mysqld > tmp/mysqld.sym
-objdump -d sql/mysqld > tmp/mysqld.S
-strip sql/mysqld
diff --git a/BUILD/compile-pentium-valgrind-max b/BUILD/compile-pentium-valgrind-max
deleted file mode 100755
index c4cb1845ba1..00000000000
--- a/BUILD/compile-pentium-valgrind-max
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/sh
-# Copyright (c) 2002, 2010, Oracle and/or its affiliates.
-#
-# 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
-
-# Copyright (c) 2002, 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 $valgrind_flags"
-extra_configs="$pentium_configs $debug_configs $valgrind_configs $max_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium-valgrind-max-no-ndb b/BUILD/compile-pentium-valgrind-max-no-ndb
deleted file mode 100755
index c3ebb47cc22..00000000000
--- a/BUILD/compile-pentium-valgrind-max-no-ndb
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2008, 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 Street, 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_no_ndb_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium64 b/BUILD/compile-pentium64
deleted file mode 100755
index 01eb2adf88b..00000000000
--- a/BUILD/compile-pentium64
+++ /dev/null
@@ -1,14 +0,0 @@
-#! /bin/sh
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium64_cflags $fast_cflags"
-# On CentOS/Fedora Core 10 amd64, there is system libz.so but not
-# libz.a, so need to use bundled zlib when building static
-# binary. Hence we use --with-zlib-dir=bundled
-extra_configs="$pentium_configs $static_link --with-zlib-dir=bundled"
-CC="$CC --pipe"
-strip=yes
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium64-debug b/BUILD/compile-pentium64-debug
deleted file mode 100755
index 74909c346ec..00000000000
--- a/BUILD/compile-pentium64-debug
+++ /dev/null
@@ -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"
diff --git a/BUILD/compile-pentium64-debug-all b/BUILD/compile-pentium64-debug-all
deleted file mode 100755
index 7824f7ad47f..00000000000
--- a/BUILD/compile-pentium64-debug-all
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /bin/sh
-
-path=`dirname $0`
-set -- "$@" --with-debug=full
-. "$path/SETUP.sh"
-
-extra_flags="$pentium64_cflags $debug_cflags"
-extra_configs="$pentium_configs $debug_configs $all_configs"
-
-extra_configs="$extra_configs "
-CC="$CC --pipe"
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium64-debug-max b/BUILD/compile-pentium64-debug-max
deleted file mode 100755
index 49a9c7daf3a..00000000000
--- a/BUILD/compile-pentium64-debug-max
+++ /dev/null
@@ -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"
diff --git a/BUILD/compile-pentium64-gcov b/BUILD/compile-pentium64-gcov
deleted file mode 100755
index 36d4b6192ec..00000000000
--- a/BUILD/compile-pentium64-gcov
+++ /dev/null
@@ -1,33 +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"
-
-# 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 $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 --with-zlib-dir=bundled"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium64-gprof b/BUILD/compile-pentium64-gprof
deleted file mode 100755
index b7821e06b6e..00000000000
--- a/BUILD/compile-pentium64-gprof
+++ /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 $gprof_compile_flags"
-extra_configs="$pentium_configs $max_configs $gprof_link_flags --with-zlib-dir=bundled"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-pentium64-max b/BUILD/compile-pentium64-max
deleted file mode 100755
index 7f63d408f1a..00000000000
--- a/BUILD/compile-pentium64-max
+++ /dev/null
@@ -1,32 +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 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 Street, Fifth Floor, Boston,
-# MA 02110-1301, USA
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="$pentium64_cflags $fast_cflags"
-# On CentOS/Fedora Core 10 amd64, there is system libz.so but not
-# libz.a, so need to use bundled zlib when building static
-# binary. Hence we use --with-zlib-dir=bundled
-extra_configs="$pentium_configs $max_configs $static_link --with-zlib-dir=bundled"
-CC="$CC --pipe"
-strip=yes
-
-. "$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-pentium64-valgrind-max b/BUILD/compile-pentium64-valgrind-max
deleted file mode 100755
index beb2ee2532c..00000000000
--- a/BUILD/compile-pentium64-valgrind-max
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/sh
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates.
-#
-# 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
-
-# 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"
diff --git a/BUILD/compile-ppc b/BUILD/compile-ppc
deleted file mode 100755
index 18051aa33ee..00000000000
--- a/BUILD/compile-ppc
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2004 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="$ppc_cflags $fast_cflags"
-extra_configs="$static_link"
-strip=yes
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-ppc-debug b/BUILD/compile-ppc-debug
deleted file mode 100755
index cbd8ef6533a..00000000000
--- a/BUILD/compile-ppc-debug
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2004, 2006 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="$ppc_cflags $debug_cflags"
-extra_configs="$debug_configs "
-
-extra_configs="$extra_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-ppc-debug-max b/BUILD/compile-ppc-debug-max
deleted file mode 100755
index ecc2b183b4b..00000000000
--- a/BUILD/compile-ppc-debug-max
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2004-2006 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="$ppc_cflags $debug_cflags"
-extra_configs="$debug_configs $max_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-ppc-debug-max-no-ndb b/BUILD/compile-ppc-debug-max-no-ndb
deleted file mode 100755
index ba7fe9aee5b..00000000000
--- a/BUILD/compile-ppc-debug-max-no-ndb
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2005, 2006 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="$ppc_cflags $debug_cflags"
-extra_configs="$debug_configs $max_no_ndb_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-ppc-max b/BUILD/compile-ppc-max
deleted file mode 100755
index 419f096a95b..00000000000
--- a/BUILD/compile-ppc-max
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /bin/sh
-
-# Copyright (c) 2004-2006 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="$ppc_cflags $fast_cflags -g"
-extra_configs="$extra_configs $max_configs"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-solaris-amd64 b/BUILD/compile-solaris-amd64
deleted file mode 100755
index 2ae8ff333e8..00000000000
--- a/BUILD/compile-solaris-amd64
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-# used for sol10-64 builder in buildbot, don't use it elsewhere
-export LDFLAGS='-m64 -lmtmalloc -R/usr/sfw/lib/64'
-export CFLAGS='-mtune=i386 -D__sun -m64 -mtune=athlon64'
-export CXXFLAGS='-mtune=i386 -D__sun -m64 -mtune=athlon64'
-cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_EXTRA_CHARSETS=complex -DWITH_READLINE=ON -DWITH_SSL=bundled -DWITH_MAX=ON -DWITH_EMBEDDED_SERVER=ON
-gmake -j6 VERBOSE=1
-
diff --git a/BUILD/compile-solaris-amd64-debug b/BUILD/compile-solaris-amd64-debug
deleted file mode 100755
index 49e1e90ebeb..00000000000
--- a/BUILD/compile-solaris-amd64-debug
+++ /dev/null
@@ -1,27 +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 -D__sun -m64 -mtune=athlon64 $debug_cflags"
-extra_configs="$amd64_configs $debug_configs $max_configs --with-libevent"
-
-LDFLAGS="-m64 -lmtmalloc -R/usr/sfw/lib/64"
-export LDFLAGS
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-solaris-amd64-debug-forte b/BUILD/compile-solaris-amd64-debug-forte
deleted file mode 100755
index 7ccf0f3a9a3..00000000000
--- a/BUILD/compile-solaris-amd64-debug-forte
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-# Take only #define options - the others are gcc specific.
-# (real fix is for SETUP.sh not to put gcc specific options in $debug_cflags)
-DEFS=""
-for F in $debug_cflags ; do
- expr "$F" : "^-D" && DEFS="$DEFS $F"
-done
-debug_cflags="-O0 -g $DEFS"
-
-extra_flags="-m64 -mt -D_FORTEC_ -xlibmopt -fns=no $debug_cflags"
-extra_configs="$max_configs --with-libevent $debug_configs"
-
-warnings=""
-c_warnings=""
-cxx_warnings=""
-base_cxxflags="-noex"
-
-CC=cc
-CFLAGS="-xstrconst"
-CXX=CC
-LDFLAGS="-lmtmalloc"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-solaris-amd64-forte b/BUILD/compile-solaris-amd64-forte
deleted file mode 100755
index a55627d2401..00000000000
--- a/BUILD/compile-solaris-amd64-forte
+++ /dev/null
@@ -1,46 +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
-
-# See file compile-solaris-amd64 for basic pre-requisites.
-
-# This build uses the Sun Studio compilers (cc, CC), available from:
-# http://developers.sun.com/sunstudio/downloads/index.jsp
-# Note that you may want to apply current patches, as the downloaded version
-# is typically out of date. Download the PKG version if you intend to patch!
-
-# After installing, add /opt/SUNWspro/bin to your $PATH
-
-gmake -k clean || true
-/bin/rm -f */.deps/*.P config.cache
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="-m64 -fast -mt -D_FORTEC_ -xbuiltin=%all -xlibmil -xlibmopt -fns=no -xprefetch=auto -xprefetch_level=3"
-extra_configs="$max_configs --with-libevent"
-
-warnings=""
-c_warnings=""
-cxx_warnings=""
-base_cxxflags="-noex"
-
-CC=cc
-CFLAGS="-xstrconst"
-CXX=CC
-LDFLAGS="-lmtmalloc"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-solaris-amd64-forte-debug b/BUILD/compile-solaris-amd64-forte-debug
deleted file mode 100755
index 08a095b05c8..00000000000
--- a/BUILD/compile-solaris-amd64-forte-debug
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-# See file compile-solaris-amd64 for basic pre-requisites.
-
-# This build uses the Sun Studio compilers (cc, CC), available from:
-# http://developers.sun.com/sunstudio/downloads/index.jsp
-# Note that you may want to apply current patches, as the downloaded version
-# is typically out of date. Download the PKG version if you intend to patch!
-
-# After installing, add /opt/SUNWspro/bin to your $PATH
-
-
-gmake -k clean || true
-/bin/rm -f */.deps/*.P config.cache
-
-. "$path/SETUP.sh"
-
-extra_flags="-g -m64 -mt -D_FORTEC_ -xbuiltin=%all -xlibmil -xlibmopt -fns=no -xprefetch=auto -xprefetch_level=3"
-extra_configs="$max_configs --with-libevent"
-
-warnings=""
-c_warnings=""
-cxx_warnings=""
-base_cxxflags="-noex"
-
-CC=cc
-CFLAGS="-xstrconst"
-CXX=CC
-LDFLAGS="-lmtmalloc"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-solaris-sparc b/BUILD/compile-solaris-sparc
deleted file mode 100755
index ddecb0e3436..00000000000
--- a/BUILD/compile-solaris-sparc
+++ /dev/null
@@ -1,29 +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 $EXTRA_FLAGS $EXTRA_CFLAGS" 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 -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g $EXTRA_FLAGS $EXTRA_CXXFLAGS" LIBS="-lmtmalloc" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client
-
-make -j 4
diff --git a/BUILD/compile-solaris-sparc-debug b/BUILD/compile-solaris-sparc-debug
deleted file mode 100755
index e960039baff..00000000000
--- a/BUILD/compile-solaris-sparc-debug
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-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 -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-debug
-
-make -j 4
diff --git a/BUILD/compile-solaris-sparc-forte b/BUILD/compile-solaris-sparc-forte
deleted file mode 100755
index cf17fa49c51..00000000000
--- a/BUILD/compile-solaris-sparc-forte
+++ /dev/null
@@ -1,70 +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
-
-# 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="-noex $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
diff --git a/BUILD/compile-solaris-sparc-purify b/BUILD/compile-solaris-sparc-purify
deleted file mode 100755
index 22fe5b5616e..00000000000
--- a/BUILD/compile-solaris-sparc-purify
+++ /dev/null
@@ -1,110 +0,0 @@
-#! /bin/sh
-
-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_valgrind -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 -fno-exceptions -fno-rtti -DHAVE_valgrind -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
-
-# ----------------------------------------------------------------------
-
diff --git a/BUILD/compile-solaris-x86-32 b/BUILD/compile-solaris-x86-32
deleted file mode 100755
index 29965524479..00000000000
--- a/BUILD/compile-solaris-x86-32
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-extra_flags="-D__sun -m32"
-extra_configs="$max_configs --with-libevent"
-
-LDFLAGS="-lmtmalloc -R/usr/sfw/lib"
-export LDFLAGS
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-solaris-x86-32-debug b/BUILD/compile-solaris-x86-32-debug
deleted file mode 100755
index 9ce91495c1c..00000000000
--- a/BUILD/compile-solaris-x86-32-debug
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-extra_flags="-D__sun -m32 $debug_cflags"
-extra_configs="$max_configs --with-libevent $debug_configs"
-
-LDFLAGS="-lmtmalloc -R/usr/sfw/lib"
-export LDFLAGS
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-solaris-x86-32-debug-forte b/BUILD/compile-solaris-x86-32-debug-forte
deleted file mode 100755
index 777360865a2..00000000000
--- a/BUILD/compile-solaris-x86-32-debug-forte
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-# Take only #define options - the others are gcc specific.
-# (real fix is for SETUP.sh not to put gcc specific options in $debug_cflags)
-DEFS=""
-for F in $debug_cflags ; do
- expr "$F" : "^-D" && DEFS="$DEFS $F"
-done
-debug_cflags="-O0 -g $DEFS"
-
-extra_flags="-m32 -mt -D_FORTEC_ -xbuiltin=%all -xlibmil -xlibmopt -fns=no -xprefetch=auto -xprefetch_level=3 $debug_cflags"
-extra_configs="$max_configs --with-libevent $debug_configs"
-
-warnings=""
-c_warnings=""
-cxx_warnings=""
-base_cxxflags="-noex"
-
-CC=cc
-CFLAGS="-xstrconst"
-CXX=CC
-LDFLAGS="-lmtmalloc"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/compile-solaris-x86-forte-32 b/BUILD/compile-solaris-x86-forte-32
deleted file mode 100755
index 5aac376a44c..00000000000
--- a/BUILD/compile-solaris-x86-forte-32
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-path=`dirname $0`
-. "$path/SETUP.sh"
-
-extra_flags="-m32 -mt -D_FORTEC_ -xbuiltin=%all -xlibmil -xlibmopt -fns=no -xprefetch=auto -xprefetch_level=3"
-extra_configs="$max_configs --with-libevent"
-
-warnings=""
-c_warnings=""
-cxx_warnings=""
-base_cxxflags="-noex"
-
-CC=cc
-CFLAGS="-xstrconst"
-CXX=CC
-LDFLAGS="-lmtmalloc"
-
-. "$path/FINISH.sh"
diff --git a/BUILD/util.sh b/BUILD/util.sh
deleted file mode 100644
index c8559184013..00000000000
--- a/BUILD/util.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-# MariaDB SQL server.
-# Copyright (C) 2010 Kristian Nielsen and Monty Program 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.
-
-# Setting cpu options.
-get_cpuopt () {
- case "$(uname -o)" in
- *Linux*)
- case "$(gcc -dumpmachine)" in
- x86_64-*)
- # gcc barfs on -march=... on x64
- CPUOPT="-m64 -mtune=generic"
- ;;
- *)
- # we'd use i586 to not trip up mobile/lowpower devices
- CPUOPT="-m32 -march=i586 -mtune=generic"
- ;;
- esac
- ;;
- *Solaris*)
- # ToDo: handle 32-bit build? For now default to 64-bit.
- CPUOPT="-D__sun -m64 -mtune=athlon64"
- ;;
- esac
- return 0
-}
-
-# Default to a parallel build, but only if AM_MAKEFLAGS is not set.
-# (So buildbots can easily disable this behaviour if required.)
-get_make_parallel_flag () {
- if test -z "$AM_MAKEFLAGS"
- then
- AM_MAKEFLAGS="-j 6"
- fi
- return 0
-}
diff --git a/storage/connect/CMakeLists.txt b/storage/connect/CMakeLists.txt
index df5dddd85fe..3ca534f5e2a 100644
--- a/storage/connect/CMakeLists.txt
+++ b/storage/connect/CMakeLists.txt
@@ -21,9 +21,9 @@ ha_connect.cc connect.cc user_connect.cc mycat.cc
fmdlex.c osutil.c plugutil.c rcmsg.c rcmsg.h
array.cpp blkfil.cpp colblk.cpp csort.cpp
filamap.cpp filamdbf.cpp filamfix.cpp filamtxt.cpp filamvct.cpp filamzip.cpp
-filter.cpp json.cpp maputil.cpp myutil.cpp plgdbutl.cpp reldef.cpp tabcol.cpp
-tabdos.cpp tabfix.cpp tabfmt.cpp tabjson.cpp table.cpp tabmul.cpp taboccur.cpp
-tabpivot.cpp tabsys.cpp tabtbl.cpp tabutil.cpp tabvct.cpp tabvir.cpp
+filter.cpp json.cpp jasonudf.cpp maputil.cpp myutil.cpp plgdbutl.cpp reldef.cpp
+tabcol.cpp tabdos.cpp tabfix.cpp tabfmt.cpp tabjson.cpp table.cpp tabmul.cpp
+taboccur.cpp tabpivot.cpp tabsys.cpp tabtbl.cpp tabutil.cpp tabvct.cpp tabvir.cpp
tabxcl.cpp valblk.cpp value.cpp xindex.cpp xobject.cpp
array.h blkfil.h block.h catalog.h checklvl.h colblk.h connect.h csort.h
diff --git a/storage/connect/ha_connect.cc b/storage/connect/ha_connect.cc
index c3f9535b7bd..125b6921e12 100644
--- a/storage/connect/ha_connect.cc
+++ b/storage/connect/ha_connect.cc
@@ -2866,7 +2866,7 @@ const COND *ha_connect::cond_push(const COND *cond)
} else if (x && cond)
tdbp->SetCondFil(filp); // Wrong filter
- } else
+ } else if (tty != TYPE_AM_JSN && tty != TYPE_AM_JSON)
tdbp->SetFilter(CondFilter(g, (Item *)cond));
fin:
@@ -5370,9 +5370,10 @@ static int connect_assisted_discovery(handlerton *hton, THD* thd,
for (crp= qrp->Colresp; crp; crp= crp->Next)
switch (crp->Fld) {
case FLD_NAME:
- if (ttp == TAB_CSV && topt->data_charset &&
+ if (ttp == TAB_PRX ||
+ (ttp == TAB_CSV && topt->data_charset &&
(!stricmp(topt->data_charset, "UTF8") ||
- !stricmp(topt->data_charset, "UTF-8")))
+ !stricmp(topt->data_charset, "UTF-8"))))
cnm= crp->Kdata->GetCharValue(i);
else
cnm= encode(g, crp->Kdata->GetCharValue(i));
diff --git a/storage/connect/json.cpp b/storage/connect/json.cpp
index 0d15c8eed21..0ace3d9159b 100644
--- a/storage/connect/json.cpp
+++ b/storage/connect/json.cpp
@@ -505,8 +505,11 @@ PSZ Serialize(PGLOBAL g, PJSON jsp, FILE *fs, int pretty)
err = (b && jp->WriteChr('\t'));
err |= SerializeObject(jp, (PJOB)jsp);
break;
+ case TYPE_JVAL:
+ err = SerializeValue(jp, (PJVAL)jsp);
+ break;
default:
- strcpy(g->Message, "json tree is not an Array or an Object");
+ strcpy(g->Message, "Invalid json tree");
} // endswitch Type
if (fs) {
@@ -1056,3 +1059,27 @@ PSZ JVALUE::GetString(void)
return (Value) ? Value->GetCharString(buf) : NULL;
} // end of GetString
+/***********************************************************************/
+/* Set the Value's value as the given integer. */
+/***********************************************************************/
+void JVALUE::SetInteger(PGLOBAL g, int n)
+{
+ Value = AllocateValue(g, &n, TYPE_INT);
+} // end of AddInteger
+
+/***********************************************************************/
+/* Set the Value's value as the given DOUBLE. */
+/***********************************************************************/
+void JVALUE::SetFloat(PGLOBAL g, double f)
+{
+ Value = AllocateValue(g, &f, TYPE_DOUBLE, 6);
+} // end of AddFloat
+
+/***********************************************************************/
+/* Set the Value's value as the given string. */
+/***********************************************************************/
+void JVALUE::SetString(PGLOBAL g, PSZ s)
+{
+ Value = AllocateValue(g, s, TYPE_STRING);
+} // end of AddFloat
+
diff --git a/storage/connect/json.h b/storage/connect/json.h
index 7f16ccf025a..e56803f63c9 100644
--- a/storage/connect/json.h
+++ b/storage/connect/json.h
@@ -157,6 +157,9 @@ class JSON : public BLOCK {
virtual void SetValue(PGLOBAL g, PJVAL jvp, PSZ key) {X}
virtual void SetValue(PVAL valp) {X}
virtual void SetValue(PJSON jsp) {X}
+ virtual void SetString(PGLOBAL g, PSZ s) {X}
+ virtual void SetInteger(PGLOBAL g, int n) {X}
+ virtual void SetFloat(PGLOBAL g, double f) {X}
virtual bool DeleteValue(int i) {X return true;}
protected:
@@ -243,6 +246,9 @@ class JVALUE : public JSON {
virtual PSZ GetString(void);
virtual void SetValue(PVAL valp) {Value = valp;}
virtual void SetValue(PJSON jsp) {Jsp = jsp;}
+ virtual void SetString(PGLOBAL g, PSZ s);
+ virtual void SetInteger(PGLOBAL g, int n);
+ virtual void SetFloat(PGLOBAL g, double f);
protected:
PJSON Jsp; // To the json value
diff --git a/storage/connect/jsonudf.cpp b/storage/connect/jsonudf.cpp
new file mode 100644
index 00000000000..59ffd5a424a
--- /dev/null
+++ b/storage/connect/jsonudf.cpp
@@ -0,0 +1,382 @@
+/************* jsonudf C++ Program Source Code File (.CPP) *************/
+/* PROGRAM NAME: jsonudf Version 1.0 */
+/* (C) Copyright to the author Olivier BERTRAND 2015 */
+/* This program are the JSON User Defined Functions . */
+/***********************************************************************/
+
+/***********************************************************************/
+/* Include relevant sections of the MariaDB header file. */
+/***********************************************************************/
+#include <my_global.h>
+#include <mysql.h>
+
+#include "global.h"
+#include "plgdbsem.h"
+#include "json.h"
+
+extern "C" {
+DllExport my_bool Json_Value_init(UDF_INIT*, UDF_ARGS*, char*);
+DllExport char *Json_Value(UDF_INIT*, UDF_ARGS*, char*,
+ unsigned long*, char *, char *);
+DllExport void Json_Value_deinit(UDF_INIT*);
+DllExport my_bool Json_Array_init(UDF_INIT*, UDF_ARGS*, char*);
+DllExport char *Json_Array(UDF_INIT*, UDF_ARGS*, char*,
+ unsigned long*, char *, char *);
+DllExport void Json_Array_deinit(UDF_INIT*);
+DllExport my_bool Json_Object_init(UDF_INIT*, UDF_ARGS*, char*);
+DllExport char *Json_Object(UDF_INIT*, UDF_ARGS*, char*,
+ unsigned long*, char *, char *);
+DllExport void Json_Object_deinit(UDF_INIT*);
+DllExport my_bool Json_Array_Grp_init(UDF_INIT*, UDF_ARGS*, char*);
+DllExport void Json_Array_Grp_add(UDF_INIT *, UDF_ARGS *, char *, char *);
+DllExport char *Json_Array_Grp(UDF_INIT*, UDF_ARGS*, char*,
+ unsigned long*, char *, char *);
+DllExport void Json_Array_Grp_clear(UDF_INIT *, char *, char *);
+DllExport void Json_Array_Grp_deinit(UDF_INIT*);
+DllExport my_bool Json_Object_Grp_init(UDF_INIT*, UDF_ARGS*, char*);
+DllExport void Json_Object_Grp_add(UDF_INIT *, UDF_ARGS *, char *, char *);
+DllExport char *Json_Object_Grp(UDF_INIT*, UDF_ARGS*, char*,
+ unsigned long*, char *, char *);
+DllExport void Json_Object_Grp_clear(UDF_INIT *, char *, char *);
+DllExport void Json_Object_Grp_deinit(UDF_INIT*);
+} // extern "C"
+
+/***********************************************************************/
+/* Allocate and initialise the memory area. */
+/***********************************************************************/
+my_bool JsonInit(UDF_INIT *initid, char *message, unsigned long len)
+{
+ PGLOBAL g = PlugInit(NULL, len);
+
+ if (!g) {
+ strcpy(message, "Allocation error");
+ return true;
+ } else if (g->Sarea_Size == 0) {
+ strcpy(message, g->Message);
+ PlugExit(g);
+ return true;
+ } else
+ initid->ptr = (char*)g;
+
+ initid->maybe_null = false;
+ initid->max_length = len - 512;
+ return false;
+} // end of Json_Object_init
+
+/***********************************************************************/
+/* Returns true if the argument is a JSON string. */
+/***********************************************************************/
+static my_bool IsJson(UDF_ARGS *args, int i)
+{
+ return (args->arg_type[i] == STRING_RESULT &&
+ !strnicmp(args->attributes[i], "Json_", 5));
+} // end of IsJson
+
+/***********************************************************************/
+/* Make a zero terminated string from the passed argument. */
+/***********************************************************************/
+static PSZ MakePSZ(PGLOBAL g, UDF_ARGS *args, int i)
+{
+ if (args->args[i]) {
+ int n = args->lengths[i];
+ PSZ s = (PSZ)PlugSubAlloc(g, NULL, n + 1);
+
+ memcpy(s, args->args[i], n);
+ s[n] = 0;
+ return s;
+ } else
+ return NULL;
+
+} // end of MakePSZ
+
+/***********************************************************************/
+/* Make a valid key from the passed argument. */
+/***********************************************************************/
+static PSZ MakeKey(PGLOBAL g, UDF_ARGS *args, int i)
+{
+ int n = args->attribute_lengths[i];
+ bool b; // true if attribute is zero terminated
+ PSZ p, s = args->attributes[i];
+
+ if (s && *s && (n || *s == '\'')) {
+ if ((b = (!n || !s[n])))
+ n = strlen(s);
+
+ if (n > 5 && IsJson(args, i)) {
+ s += 5;
+ n -= 5;
+ } else if (*s == '\'' && s[n-1] == '\'') {
+ s++;
+ n -= 2;
+ b = false;
+ } // endif *s
+
+ if (n < 1)
+ return "Key";
+
+ if (!b) {
+ p = (PSZ)PlugSubAlloc(g, NULL, n + 1);
+ memcpy(p, s, n);
+ p[n] = 0;
+ s = p;
+ } // endif b
+
+ } // endif s
+
+ return s;
+} // end of MakeKey
+
+/***********************************************************************/
+/* Make a JSON value from the passed argument. */
+/***********************************************************************/
+static PJVAL MakeValue(PGLOBAL g, UDF_ARGS *args, int i)
+{
+ char *str;
+ PJVAL jvp = new(g) JVALUE;
+
+ switch (args->arg_type[i]) {
+ case STRING_RESULT:
+ if ((str = MakePSZ(g, args, i))) {
+ if (IsJson(args, i))
+ jvp->SetValue(ParseJson(g, str, strlen(str), 0));
+ else
+ jvp->SetString(g, str);
+
+ } // endif str
+
+ break;
+ case INT_RESULT:
+ jvp->SetInteger(g, *(int*)args->args[i]);
+ break;
+ case REAL_RESULT:
+ jvp->SetFloat(g, *(double*)args->args[i]);
+ break;
+ case DECIMAL_RESULT:
+ jvp->SetFloat(g, atof(MakePSZ(g, args, i)));
+ break;
+ case TIME_RESULT:
+ case ROW_RESULT:
+ case IMPOSSIBLE_RESULT:
+ default:
+ break;
+ } // endswitch arg_type
+
+ return jvp;
+} // end of MakeValue
+
+/***********************************************************************/
+/* Make a Json value containing the parameter. */
+/***********************************************************************/
+my_bool Json_Value_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
+{
+ if (args->arg_count > 1) {
+ strcpy(message, "Json_Value cannot accept more than 1 argument");
+ return true;
+ } // endif arg_count
+
+ return JsonInit(initid, message, 1024);
+} // end of Json_Value_init
+
+char *Json_Value(UDF_INIT *initid, UDF_ARGS *args, char *result,
+ unsigned long *res_length, char *is_null, char *error)
+{
+ char *str;
+ PJVAL jvp;
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+
+ PlugSubSet(g, g->Sarea, g->Sarea_Size);
+ jvp = MakeValue(g, args, 0);
+
+ if (!(str = Serialize(g, jvp, NULL, 0)))
+ str = strcpy(result, g->Message);
+
+ *res_length = strlen(str);
+ return str;
+} // end of Json_Value
+
+void Json_Value_deinit(UDF_INIT* initid)
+{
+ PlugExit((PGLOBAL)initid->ptr);
+} // end of Json_Value_deinit
+
+/***********************************************************************/
+/* Make a Json array containing all the parameters. */
+/***********************************************************************/
+my_bool Json_Array_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
+{
+ return JsonInit(initid, message, 8192);
+} // end of Json_Array_init
+
+char *Json_Array(UDF_INIT *initid, UDF_ARGS *args, char *result,
+ unsigned long *res_length, char *is_null, char *error)
+{
+ char *str;
+ uint i;
+ PJAR arp;
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+
+ PlugSubSet(g, g->Sarea, g->Sarea_Size);
+ arp = new(g) JARRAY;
+
+ for (i = 0; i < args->arg_count; i++)
+ arp->AddValue(g, MakeValue(g, args, i));
+
+ arp->InitArray(g);
+
+ if (!(str = Serialize(g, arp, NULL, 0)))
+ str = strcpy(result, g->Message);
+
+ *res_length = strlen(str);
+ return str;
+} // end of Json_Array
+
+void Json_Array_deinit(UDF_INIT* initid)
+{
+ PlugExit((PGLOBAL)initid->ptr);
+} // end of Json_Array_deinit
+
+/***********************************************************************/
+/* Make a Json Oject containing all the parameters. */
+/***********************************************************************/
+my_bool Json_Object_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
+{
+ return JsonInit(initid, message, 8192);
+} // end of Json_Object_init
+
+char *Json_Object(UDF_INIT *initid, UDF_ARGS *args, char *result,
+ unsigned long *res_length, char *is_null, char *error)
+{
+ char *str;
+ uint i;
+ PJOB objp;
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+
+ PlugSubSet(g, g->Sarea, g->Sarea_Size);
+ objp = new(g) JOBJECT;
+
+ for (i = 0; i < args->arg_count; i++)
+ objp->SetValue(g, MakeValue(g, args, i), MakeKey(g, args, i));
+
+ if (!(str = Serialize(g, objp, NULL, 0)))
+ str = strcpy(result, g->Message);
+
+ *res_length = strlen(str);
+ return str;
+} // end of Json_Object
+
+void Json_Object_deinit(UDF_INIT* initid)
+{
+ PlugExit((PGLOBAL)initid->ptr);
+} // end of Json_Object_deinit
+
+/***********************************************************************/
+/* Make a Json array from values comming from rows. */
+/***********************************************************************/
+my_bool Json_Array_Grp_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
+{
+ if (args->arg_count != 1) {
+ strcpy(message, "Json_Array_Grp can only accept 1 argument");
+ return true;
+ } else if (JsonInit(initid, message, 16384))
+ return true;
+
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+
+ PlugSubSet(g, g->Sarea, g->Sarea_Size);
+ g->Activityp = (PACTIVITY)new(g) JARRAY;
+ return false;
+} // end of Json_Array_Grp_init
+
+void Json_Array_Grp_add(UDF_INIT *initid, UDF_ARGS *args,
+ char *is_null, char *error)
+{
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+ PJAR arp = (PJAR)g->Activityp;
+
+ arp->AddValue(g, MakeValue(g, args, 0));
+} // end of Json_Array_Grp_add
+
+char *Json_Array_Grp(UDF_INIT *initid, UDF_ARGS *args, char *result,
+ unsigned long *res_length, char *is_null, char *error)
+{
+ char *str;
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+ PJAR arp = (PJAR)g->Activityp;
+
+ arp->InitArray(g);
+
+ if (!(str = Serialize(g, arp, NULL, 0)))
+ str = strcpy(result, g->Message);
+
+ *res_length = strlen(str);
+ return str;
+} // end of Json_Array_Grp
+
+void Json_Array_Grp_clear(UDF_INIT *initid, char *is_null, char *error)
+{
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+
+ PlugSubSet(g, g->Sarea, g->Sarea_Size);
+ g->Activityp = (PACTIVITY)new(g) JARRAY;
+} // end of Json_Array_Grp_clear
+
+void Json_Array_Grp_deinit(UDF_INIT* initid)
+{
+ PlugExit((PGLOBAL)initid->ptr);
+} // end of Json_Array_Grp_deinit
+
+/***********************************************************************/
+/* Make a Json object from values comming from rows. */
+/***********************************************************************/
+my_bool Json_Object_Grp_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
+{
+ if (args->arg_count != 2) {
+ strcpy(message, "Json_Array_Grp can only accept 2 argument");
+ return true;
+ } else if (JsonInit(initid, message, 16384))
+ return true;
+
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+
+ PlugSubSet(g, g->Sarea, g->Sarea_Size);
+ g->Activityp = (PACTIVITY)new(g) JOBJECT;
+ return false;
+} // end of Json_Object_Grp_init
+
+void Json_Object_Grp_add(UDF_INIT *initid, UDF_ARGS *args,
+ char *is_null, char *error)
+{
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+ PJOB objp = (PJOB)g->Activityp;
+
+ objp->SetValue(g, MakeValue(g, args, 0), MakePSZ(g, args, 1));
+} // end of Json_Object_Grp_add
+
+char *Json_Object_Grp(UDF_INIT *initid, UDF_ARGS *args, char *result,
+ unsigned long *res_length, char *is_null, char *error)
+{
+ char *str;
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+ PJOB objp = (PJOB)g->Activityp;
+
+ if (!(str = Serialize(g, objp, NULL, 0)))
+ str = strcpy(result, g->Message);
+
+ *res_length = strlen(str);
+ return str;
+} // end of Json_Object_Grp
+
+void Json_Object_Grp_clear(UDF_INIT *initid, char *is_null, char *error)
+{
+ PGLOBAL g = (PGLOBAL)initid->ptr;
+
+ PlugSubSet(g, g->Sarea, g->Sarea_Size);
+ g->Activityp = (PACTIVITY)new(g) JOBJECT;
+} // end of Json_Object_Grp_clear
+
+void Json_Object_Grp_deinit(UDF_INIT* initid)
+{
+ PlugExit((PGLOBAL)initid->ptr);
+} // end of Json_Object_Grp_deinit
+
+
diff --git a/storage/connect/tabjson.cpp b/storage/connect/tabjson.cpp
index 1f84bdc02a3..b4b9ca18cda 100644
--- a/storage/connect/tabjson.cpp
+++ b/storage/connect/tabjson.cpp
@@ -387,7 +387,7 @@ bool JSONCOL::CheckExpand(PGLOBAL g, int i, PSZ nm, bool b)
if ((Tjp->Xcol && nm && !strcmp(nm, Tjp->Xcol) &&
(Tjp->Xval < 0 || Tjp->Xval == i)) || Xpd) {
Xpd = true; // Expandable object
- Nodes[i].Op = OP_XX;
+ Nodes[i].Op = OP_EXP;
} else if (b) {
strcpy(g->Message, "Cannot expand more than one branch");
return true;
@@ -426,7 +426,7 @@ bool JSONCOL::SetArrayOptions(PGLOBAL g, char *p, int i, PSZ nm)
// Default specifications
if (CheckExpand(g, i, nm, false))
return true;
- else if (jnp->Op != OP_XX)
+ else if (jnp->Op != OP_EXP)
if (!Value->IsTypeNum()) {
jnp->CncVal = AllocateValue(g, (void*)", ", TYPE_STRING);
jnp->Op = OP_CNC;
@@ -448,13 +448,13 @@ bool JSONCOL::SetArrayOptions(PGLOBAL g, char *p, int i, PSZ nm)
case '*': jnp->Op = OP_MULT; break;
case '>': jnp->Op = OP_MAX; break;
case '<': jnp->Op = OP_MIN; break;
- case '#': jnp->Op = OP_NUM; break;
case '!': jnp->Op = OP_SEP; break; // Average
+ case '#': jnp->Op = OP_NUM; break;
case 'x':
case 'X': // Expand this array
if (!Tjp->Xcol && nm) {
Xpd = true;
- jnp->Op = OP_XX;
+ jnp->Op = OP_EXP;
Tjp->Xval = i;
Tjp->Xcol = nm;
} else if (CheckExpand(g, i, nm, true))
@@ -557,6 +557,9 @@ bool JSONCOL::ParseJpath(PGLOBAL g)
if (SetArrayOptions(g, p, i, Nodes[i-1].Key))
return true;
+ } else if (*p == '*') {
+ // Return JSON
+ Nodes[i].Op = OP_XX;
} else {
Nodes[i].Key = p;
Nodes[i].Op = OP_EXIST;
@@ -570,6 +573,20 @@ bool JSONCOL::ParseJpath(PGLOBAL g)
} // end of ParseJpath
/***********************************************************************/
+/* MakeJson: Serialize the json item and set value to it. */
+/***********************************************************************/
+PVAL JSONCOL::MakeJson(PGLOBAL g, PJSON jsp)
+ {
+ if (Value->IsTypeNum()) {
+ strcpy(g->Message, "Cannot make Json for a numeric column");
+ Value->Reset();
+ } else
+ Value->SetValue_psz(Serialize(g, jsp, NULL, 0));
+
+ return Value;
+ } // end of MakeJson
+
+/***********************************************************************/
/* SetValue: Set a value from a JVALUE contains. */
/***********************************************************************/
void JSONCOL::SetJsonValue(PGLOBAL g, PVAL vp, PJVAL val, int n)
@@ -622,16 +639,16 @@ void JSONCOL::ReadColumn(PGLOBAL g)
PVAL JSONCOL::GetColumnValue(PGLOBAL g, PJSON row, int i)
{
int n = Nod - 1;
- int nextsame = 0;
bool expd = false;
PJAR arp;
PJVAL val = NULL;
-//for (; i < Nod-1 && row; i++) {
for (; i < Nod && row; i++) {
if (Nodes[i].Op == OP_NUM) {
Value->SetValue(row->GetType() == TYPE_JAR ? row->size() : 1);
return(Value);
+ } else if (Nodes[i].Op == OP_XX) {
+ return MakeJson(g, row);
} else switch (row->GetType()) {
case TYPE_JOB:
if (!Nodes[i].Key) {
@@ -652,7 +669,7 @@ PVAL JSONCOL::GetColumnValue(PGLOBAL g, PJSON row, int i)
if (Nodes[i].Op != OP_NULL) {
if (Nodes[i].Rank) {
val = arp->GetValue(Nodes[i].Rank - 1);
- } else if (Nodes[i].Op == OP_XX) {
+ } else if (Nodes[i].Op == OP_EXP) {
return ExpandArray(g, arp, i);
} else
return CalculateArray(g, arp, i);
@@ -694,7 +711,11 @@ PVAL JSONCOL::ExpandArray(PGLOBAL g, PJAR arp, int n)
JVALUE jval;
ars = MY_MIN(Tjp->Limit, arp->size());
- jvp = arp->GetValue(Nodes[n].Nx);
+
+ if (!(jvp = arp->GetValue(Nodes[n].Nx))) {
+ strcpy(g->Message, "Logical error expanding array");
+ longjmp(g->jumper[g->jump_level], 666);
+ } // endif jvp
if (n < Nod - 1 && jvp->GetJson()) {
jval.SetValue(GetColumnValue(g, jvp->GetJson(), n + 1));
@@ -720,63 +741,68 @@ PVAL JSONCOL::ExpandArray(PGLOBAL g, PJAR arp, int n)
/***********************************************************************/
PVAL JSONCOL::CalculateArray(PGLOBAL g, PJAR arp, int n)
{
- int i, ars;
+ int i, ars, nv = 0, nextsame = Tjp->NextSame;
bool err;
OPVAL op = Nodes[n].Op;
PVAL val[2], vp = Nodes[n].Valp;
- PJVAL jvp;
+ PJVAL jvrp, jvp;
JVALUE jval;
vp->Reset();
ars = MY_MIN(Tjp->Limit, arp->size());
for (i = 0; i < ars; i++) {
- jvp = arp->GetValue(i);
+ jvrp = arp->GetValue(i);
- if (n < Nod - 1 && jvp->GetJson()) {
- jval.SetValue(GetColumnValue(g, jvp->GetJson(), n + 1));
- jvp = &jval;
- } // endif n
-
- if (!i) {
- SetJsonValue(g, vp, jvp, n);
- continue;
- } else
- SetJsonValue(g, MulVal, jvp, n);
-
- if (!MulVal->IsZero()) {
- switch (op) {
- case OP_CNC:
- if (Nodes[n].CncVal) {
- val[0] = Nodes[n].CncVal;
+ do {
+ if (n < Nod - 1 && jvrp->GetJson()) {
+ Tjp->NextSame = nextsame;
+ jval.SetValue(GetColumnValue(g, jvrp->GetJson(), n + 1));
+ jvp = &jval;
+ } else
+ jvp = jvrp;
+
+ if (!nv++) {
+ SetJsonValue(g, vp, jvp, n);
+ continue;
+ } else
+ SetJsonValue(g, MulVal, jvp, n);
+
+ if (!MulVal->IsZero()) {
+ switch (op) {
+ case OP_CNC:
+ if (Nodes[n].CncVal) {
+ val[0] = Nodes[n].CncVal;
+ err = vp->Compute(g, val, 1, op);
+ } // endif CncVal
+
+ val[0] = MulVal;
err = vp->Compute(g, val, 1, op);
- } // endif CncVal
-
- val[0] = MulVal;
- err = vp->Compute(g, val, 1, op);
- break;
- case OP_NUM:
- case OP_SEP:
- val[0] = Nodes[n].Valp;
- val[1] = MulVal;
- err = vp->Compute(g, val, 2, OP_ADD);
- break;
- default:
- val[0] = Nodes[n].Valp;
- val[1] = MulVal;
- err = vp->Compute(g, val, 2, op);
- } // endswitch Op
-
- if (err)
- vp->Reset();
+ break;
+// case OP_NUM:
+ case OP_SEP:
+ val[0] = Nodes[n].Valp;
+ val[1] = MulVal;
+ err = vp->Compute(g, val, 2, OP_ADD);
+ break;
+ default:
+ val[0] = Nodes[n].Valp;
+ val[1] = MulVal;
+ err = vp->Compute(g, val, 2, op);
+ } // endswitch Op
+
+ if (err)
+ vp->Reset();
+
+ } // endif Zero
- } // endif Zero
+ } while (Tjp->NextSame > nextsame);
} // endfor i
if (op == OP_SEP) {
// Calculate average
- MulVal->SetValue(ars);
+ MulVal->SetValue(nv);
val[0] = vp;
val[1] = MulVal;
@@ -785,6 +811,7 @@ PVAL JSONCOL::CalculateArray(PGLOBAL g, PJAR arp, int n)
} // endif Op
+ Tjp->NextSame = nextsame;
return vp;
} // end of CalculateArray
@@ -838,12 +865,13 @@ PJSON JSONCOL::GetRow(PGLOBAL g)
} else {
// Construct missing objects
for (i++; row && i < Nod; i++) {
- if (!Nodes[i].Key) {
+ if (Nodes[i].Op == OP_XX)
+ break;
+ else if (!Nodes[i].Key)
// Construct intermediate array
nwr = new(g) JARRAY;
- } else {
+ else
nwr = new(g) JOBJECT;
- } // endif Nodes
if (row->GetType() == TYPE_JOB) {
((PJOB)row)->SetValue(g, new(g) JVALUE(nwr), Nodes[i-1].Key);
@@ -883,10 +911,11 @@ void JSONCOL::WriteColumn(PGLOBAL g)
if (Value->IsNull() && Tjp->Mode == MODE_INSERT)
return;
+ char *s;
PJOB objp = NULL;
PJAR arp = NULL;
PJVAL jvp = NULL;
- PJSON row = GetRow(g);
+ PJSON jsp, row = GetRow(g);
JTYP type = row->GetType();
switch (row->GetType()) {
@@ -898,6 +927,24 @@ void JSONCOL::WriteColumn(PGLOBAL g)
if (row) switch (Buf_Type) {
case TYPE_STRING:
+ if (Nodes[Nod-1].Op == OP_XX) {
+ s = Value->GetCharValue();
+ jsp = ParseJson(g, s, (int)strlen(s), 0);
+
+ if (arp) {
+ arp->AddValue(g, new(g) JVALUE(jsp));
+ arp->InitArray(g);
+ } else if (objp) {
+ if (Nod > 1 && Nodes[Nod-2].Key)
+ objp->SetValue(g, new(g) JVALUE(jsp), Nodes[Nod-2].Key);
+
+ } else if (jvp)
+ jvp->SetValue(jsp);
+
+ break;
+ } // endif Op
+
+ // Passthru
case TYPE_DATE:
case TYPE_INT:
case TYPE_DOUBLE:
@@ -1319,9 +1366,10 @@ int TDBJSON::WriteDB(PGLOBAL g)
return RC_FX;
} else { // if (Jmode == MODE_VALUE)
- if (Mode == MODE_INSERT)
+ if (Mode == MODE_INSERT) {
Doc->AddValue(g, (PJVAL)Row);
- else if (Doc->SetValue(g, (PJVAL)Row, Fpos))
+ Row = new(g) JVALUE;
+ } else if (Doc->SetValue(g, (PJVAL)Row, Fpos))
return RC_FX;
} // endif Jmode
diff --git a/storage/connect/tabjson.h b/storage/connect/tabjson.h
index a152db72fa8..f46a59c5498 100644
--- a/storage/connect/tabjson.h
+++ b/storage/connect/tabjson.h
@@ -15,9 +15,6 @@ enum JMODE {MODE_OBJECT, MODE_ARRAY, MODE_VALUE};
typedef class JSONDEF *PJDEF;
typedef class TDBJSON *PJTDB;
typedef class JSONCOL *PJCOL;
-typedef class JARLST *PJARS;
-
-class TDBJSN;
/***********************************************************************/
/* The JSON tree node. Can be an Object or an Array. */
@@ -133,9 +130,10 @@ class JSONCOL : public DOSCOL {
protected:
bool CheckExpand(PGLOBAL g, int i, PSZ nm, bool b);
bool SetArrayOptions(PGLOBAL g, char *p, int i, PSZ nm);
- PVAL GetColumnValue(PGLOBAL g, PJSON row, int i);
- PVAL ExpandArray(PGLOBAL g, PJAR arp, int n);
- PVAL CalculateArray(PGLOBAL g, PJAR arp, int n);
+ PVAL GetColumnValue(PGLOBAL g, PJSON row, int i);
+ PVAL ExpandArray(PGLOBAL g, PJAR arp, int n);
+ PVAL CalculateArray(PGLOBAL g, PJAR arp, int n);
+ PVAL MakeJson(PGLOBAL g, PJSON jsp);
void SetJsonValue(PGLOBAL g, PVAL vp, PJVAL val, int n);
PJSON GetRow(PGLOBAL g);
diff --git a/storage/connect/tabutil.cpp b/storage/connect/tabutil.cpp
index be806cb0f64..c1c112633fd 100644
--- a/storage/connect/tabutil.cpp
+++ b/storage/connect/tabutil.cpp
@@ -671,6 +671,22 @@ PRXCOL::PRXCOL(PRXCOL *col1, PTDB tdbp) : COLBLK(col1, tdbp)
} // end of PRXCOL copy constructor
/***********************************************************************/
+/* Convert an UTF-8 name to latin characters. */
+/***********************************************************************/
+char *PRXCOL::Decode(PGLOBAL g, const char *cnm)
+ {
+ char *buf= (char*)PlugSubAlloc(g, NULL, strlen(cnm) + 1);
+ uint dummy_errors;
+ uint32 len= copy_and_convert(buf, strlen(cnm) + 1,
+ &my_charset_latin1,
+ cnm, strlen(cnm),
+ &my_charset_utf8_general_ci,
+ &dummy_errors);
+ buf[len]= '\0';
+ return buf;
+ } // end of Decode
+
+/***********************************************************************/
/* PRXCOL initialization routine. */
/* Look for the matching column in the object table. */
/***********************************************************************/
@@ -685,6 +701,9 @@ bool PRXCOL::Init(PGLOBAL g, PTDBASE tp)
if (Colp) {
MODE mode = To_Tdb->GetMode();
+ // Needed for MYSQL subtables
+ ((XCOLBLK*)Colp)->Name = Decode(g, Colp->GetName());
+
// May not have been done elsewhere
Colp->InitValue(g);
To_Val = Colp->GetValue();
diff --git a/storage/connect/tabutil.h b/storage/connect/tabutil.h
index 06dd4d5128b..d9db8751a65 100644
--- a/storage/connect/tabutil.h
+++ b/storage/connect/tabutil.h
@@ -118,6 +118,8 @@ class DllExport PRXCOL : public COLBLK {
virtual bool Init(PGLOBAL g, PTDBASE tp);
protected:
+ char *PRXCOL::Decode(PGLOBAL g, const char *cnm);
+
// Default constructor not to be used
PRXCOL(void) {}
@@ -145,4 +147,8 @@ class TDBTBC : public TDBCAT {
PSZ Tab; // Table name
}; // end of class TDBMCL
+class XCOLBLK : public COLBLK {
+ friend class PRXCOL;
+}; // end of class XCOLBLK
+
#endif // TABUTIL