mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
- 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
This commit is contained in:
@@ -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
|
|
295
BUILD/SETUP.sh
295
BUILD/SETUP.sh
@@ -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"
|
|
||||||
|
|
@@ -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
|
|
1876
BUILD/build_mccge.sh
1876
BUILD/build_mccge.sh
File diff suppressed because it is too large
Load Diff
321
BUILD/check-cpu
321
BUILD/check-cpu
@@ -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
|
|
@@ -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"
|
|
@@ -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
|
|
||||||
|
|
@@ -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"
|
|
@@ -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
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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
|
|
@@ -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"
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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)
|
|
@@ -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
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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
|
|
||||||
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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"
|
|
@@ -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
|
|
||||||
}
|
|
@@ -21,9 +21,9 @@ ha_connect.cc connect.cc user_connect.cc mycat.cc
|
|||||||
fmdlex.c osutil.c plugutil.c rcmsg.c rcmsg.h
|
fmdlex.c osutil.c plugutil.c rcmsg.c rcmsg.h
|
||||||
array.cpp blkfil.cpp colblk.cpp csort.cpp
|
array.cpp blkfil.cpp colblk.cpp csort.cpp
|
||||||
filamap.cpp filamdbf.cpp filamfix.cpp filamtxt.cpp filamvct.cpp filamzip.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
|
filter.cpp json.cpp jasonudf.cpp maputil.cpp myutil.cpp plgdbutl.cpp reldef.cpp
|
||||||
tabdos.cpp tabfix.cpp tabfmt.cpp tabjson.cpp table.cpp tabmul.cpp taboccur.cpp
|
tabcol.cpp tabdos.cpp tabfix.cpp tabfmt.cpp tabjson.cpp table.cpp tabmul.cpp
|
||||||
tabpivot.cpp tabsys.cpp tabtbl.cpp tabutil.cpp tabvct.cpp tabvir.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
|
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
|
array.h blkfil.h block.h catalog.h checklvl.h colblk.h connect.h csort.h
|
||||||
|
@@ -2866,7 +2866,7 @@ const COND *ha_connect::cond_push(const COND *cond)
|
|||||||
} else if (x && cond)
|
} else if (x && cond)
|
||||||
tdbp->SetCondFil(filp); // Wrong filter
|
tdbp->SetCondFil(filp); // Wrong filter
|
||||||
|
|
||||||
} else
|
} else if (tty != TYPE_AM_JSN && tty != TYPE_AM_JSON)
|
||||||
tdbp->SetFilter(CondFilter(g, (Item *)cond));
|
tdbp->SetFilter(CondFilter(g, (Item *)cond));
|
||||||
|
|
||||||
fin:
|
fin:
|
||||||
@@ -5370,9 +5370,10 @@ static int connect_assisted_discovery(handlerton *hton, THD* thd,
|
|||||||
for (crp= qrp->Colresp; crp; crp= crp->Next)
|
for (crp= qrp->Colresp; crp; crp= crp->Next)
|
||||||
switch (crp->Fld) {
|
switch (crp->Fld) {
|
||||||
case FLD_NAME:
|
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, "UTF8") ||
|
||||||
!stricmp(topt->data_charset, "UTF-8")))
|
!stricmp(topt->data_charset, "UTF-8"))))
|
||||||
cnm= crp->Kdata->GetCharValue(i);
|
cnm= crp->Kdata->GetCharValue(i);
|
||||||
else
|
else
|
||||||
cnm= encode(g, crp->Kdata->GetCharValue(i));
|
cnm= encode(g, crp->Kdata->GetCharValue(i));
|
||||||
|
@@ -505,8 +505,11 @@ PSZ Serialize(PGLOBAL g, PJSON jsp, FILE *fs, int pretty)
|
|||||||
err = (b && jp->WriteChr('\t'));
|
err = (b && jp->WriteChr('\t'));
|
||||||
err |= SerializeObject(jp, (PJOB)jsp);
|
err |= SerializeObject(jp, (PJOB)jsp);
|
||||||
break;
|
break;
|
||||||
|
case TYPE_JVAL:
|
||||||
|
err = SerializeValue(jp, (PJVAL)jsp);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
strcpy(g->Message, "json tree is not an Array or an Object");
|
strcpy(g->Message, "Invalid json tree");
|
||||||
} // endswitch Type
|
} // endswitch Type
|
||||||
|
|
||||||
if (fs) {
|
if (fs) {
|
||||||
@@ -1056,3 +1059,27 @@ PSZ JVALUE::GetString(void)
|
|||||||
return (Value) ? Value->GetCharString(buf) : NULL;
|
return (Value) ? Value->GetCharString(buf) : NULL;
|
||||||
} // end of GetString
|
} // 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
|
||||||
|
|
||||||
|
@@ -157,6 +157,9 @@ class JSON : public BLOCK {
|
|||||||
virtual void SetValue(PGLOBAL g, PJVAL jvp, PSZ key) {X}
|
virtual void SetValue(PGLOBAL g, PJVAL jvp, PSZ key) {X}
|
||||||
virtual void SetValue(PVAL valp) {X}
|
virtual void SetValue(PVAL valp) {X}
|
||||||
virtual void SetValue(PJSON jsp) {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;}
|
virtual bool DeleteValue(int i) {X return true;}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -243,6 +246,9 @@ class JVALUE : public JSON {
|
|||||||
virtual PSZ GetString(void);
|
virtual PSZ GetString(void);
|
||||||
virtual void SetValue(PVAL valp) {Value = valp;}
|
virtual void SetValue(PVAL valp) {Value = valp;}
|
||||||
virtual void SetValue(PJSON jsp) {Jsp = jsp;}
|
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:
|
protected:
|
||||||
PJSON Jsp; // To the json value
|
PJSON Jsp; // To the json value
|
||||||
|
382
storage/connect/jsonudf.cpp
Normal file
382
storage/connect/jsonudf.cpp
Normal file
@@ -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
|
||||||
|
|
||||||
|
|
@@ -387,7 +387,7 @@ bool JSONCOL::CheckExpand(PGLOBAL g, int i, PSZ nm, bool b)
|
|||||||
if ((Tjp->Xcol && nm && !strcmp(nm, Tjp->Xcol) &&
|
if ((Tjp->Xcol && nm && !strcmp(nm, Tjp->Xcol) &&
|
||||||
(Tjp->Xval < 0 || Tjp->Xval == i)) || Xpd) {
|
(Tjp->Xval < 0 || Tjp->Xval == i)) || Xpd) {
|
||||||
Xpd = true; // Expandable object
|
Xpd = true; // Expandable object
|
||||||
Nodes[i].Op = OP_XX;
|
Nodes[i].Op = OP_EXP;
|
||||||
} else if (b) {
|
} else if (b) {
|
||||||
strcpy(g->Message, "Cannot expand more than one branch");
|
strcpy(g->Message, "Cannot expand more than one branch");
|
||||||
return true;
|
return true;
|
||||||
@@ -426,7 +426,7 @@ bool JSONCOL::SetArrayOptions(PGLOBAL g, char *p, int i, PSZ nm)
|
|||||||
// Default specifications
|
// Default specifications
|
||||||
if (CheckExpand(g, i, nm, false))
|
if (CheckExpand(g, i, nm, false))
|
||||||
return true;
|
return true;
|
||||||
else if (jnp->Op != OP_XX)
|
else if (jnp->Op != OP_EXP)
|
||||||
if (!Value->IsTypeNum()) {
|
if (!Value->IsTypeNum()) {
|
||||||
jnp->CncVal = AllocateValue(g, (void*)", ", TYPE_STRING);
|
jnp->CncVal = AllocateValue(g, (void*)", ", TYPE_STRING);
|
||||||
jnp->Op = OP_CNC;
|
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_MULT; break;
|
||||||
case '>': jnp->Op = OP_MAX; break;
|
case '>': jnp->Op = OP_MAX; break;
|
||||||
case '<': jnp->Op = OP_MIN; break;
|
case '<': jnp->Op = OP_MIN; break;
|
||||||
case '#': jnp->Op = OP_NUM; break;
|
|
||||||
case '!': jnp->Op = OP_SEP; break; // Average
|
case '!': jnp->Op = OP_SEP; break; // Average
|
||||||
|
case '#': jnp->Op = OP_NUM; break;
|
||||||
case 'x':
|
case 'x':
|
||||||
case 'X': // Expand this array
|
case 'X': // Expand this array
|
||||||
if (!Tjp->Xcol && nm) {
|
if (!Tjp->Xcol && nm) {
|
||||||
Xpd = true;
|
Xpd = true;
|
||||||
jnp->Op = OP_XX;
|
jnp->Op = OP_EXP;
|
||||||
Tjp->Xval = i;
|
Tjp->Xval = i;
|
||||||
Tjp->Xcol = nm;
|
Tjp->Xcol = nm;
|
||||||
} else if (CheckExpand(g, i, nm, true))
|
} 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))
|
if (SetArrayOptions(g, p, i, Nodes[i-1].Key))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
} else if (*p == '*') {
|
||||||
|
// Return JSON
|
||||||
|
Nodes[i].Op = OP_XX;
|
||||||
} else {
|
} else {
|
||||||
Nodes[i].Key = p;
|
Nodes[i].Key = p;
|
||||||
Nodes[i].Op = OP_EXIST;
|
Nodes[i].Op = OP_EXIST;
|
||||||
@@ -569,6 +572,20 @@ bool JSONCOL::ParseJpath(PGLOBAL g)
|
|||||||
return false;
|
return false;
|
||||||
} // end of ParseJpath
|
} // 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. */
|
/* SetValue: Set a value from a JVALUE contains. */
|
||||||
/***********************************************************************/
|
/***********************************************************************/
|
||||||
@@ -622,16 +639,16 @@ void JSONCOL::ReadColumn(PGLOBAL g)
|
|||||||
PVAL JSONCOL::GetColumnValue(PGLOBAL g, PJSON row, int i)
|
PVAL JSONCOL::GetColumnValue(PGLOBAL g, PJSON row, int i)
|
||||||
{
|
{
|
||||||
int n = Nod - 1;
|
int n = Nod - 1;
|
||||||
int nextsame = 0;
|
|
||||||
bool expd = false;
|
bool expd = false;
|
||||||
PJAR arp;
|
PJAR arp;
|
||||||
PJVAL val = NULL;
|
PJVAL val = NULL;
|
||||||
|
|
||||||
//for (; i < Nod-1 && row; i++) {
|
|
||||||
for (; i < Nod && row; i++) {
|
for (; i < Nod && row; i++) {
|
||||||
if (Nodes[i].Op == OP_NUM) {
|
if (Nodes[i].Op == OP_NUM) {
|
||||||
Value->SetValue(row->GetType() == TYPE_JAR ? row->size() : 1);
|
Value->SetValue(row->GetType() == TYPE_JAR ? row->size() : 1);
|
||||||
return(Value);
|
return(Value);
|
||||||
|
} else if (Nodes[i].Op == OP_XX) {
|
||||||
|
return MakeJson(g, row);
|
||||||
} else switch (row->GetType()) {
|
} else switch (row->GetType()) {
|
||||||
case TYPE_JOB:
|
case TYPE_JOB:
|
||||||
if (!Nodes[i].Key) {
|
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].Op != OP_NULL) {
|
||||||
if (Nodes[i].Rank) {
|
if (Nodes[i].Rank) {
|
||||||
val = arp->GetValue(Nodes[i].Rank - 1);
|
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);
|
return ExpandArray(g, arp, i);
|
||||||
} else
|
} else
|
||||||
return CalculateArray(g, arp, i);
|
return CalculateArray(g, arp, i);
|
||||||
@@ -694,7 +711,11 @@ PVAL JSONCOL::ExpandArray(PGLOBAL g, PJAR arp, int n)
|
|||||||
JVALUE jval;
|
JVALUE jval;
|
||||||
|
|
||||||
ars = MY_MIN(Tjp->Limit, arp->size());
|
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()) {
|
if (n < Nod - 1 && jvp->GetJson()) {
|
||||||
jval.SetValue(GetColumnValue(g, jvp->GetJson(), n + 1));
|
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)
|
PVAL JSONCOL::CalculateArray(PGLOBAL g, PJAR arp, int n)
|
||||||
{
|
{
|
||||||
int i, ars;
|
int i, ars, nv = 0, nextsame = Tjp->NextSame;
|
||||||
bool err;
|
bool err;
|
||||||
OPVAL op = Nodes[n].Op;
|
OPVAL op = Nodes[n].Op;
|
||||||
PVAL val[2], vp = Nodes[n].Valp;
|
PVAL val[2], vp = Nodes[n].Valp;
|
||||||
PJVAL jvp;
|
PJVAL jvrp, jvp;
|
||||||
JVALUE jval;
|
JVALUE jval;
|
||||||
|
|
||||||
vp->Reset();
|
vp->Reset();
|
||||||
ars = MY_MIN(Tjp->Limit, arp->size());
|
ars = MY_MIN(Tjp->Limit, arp->size());
|
||||||
|
|
||||||
for (i = 0; i < ars; i++) {
|
for (i = 0; i < ars; i++) {
|
||||||
jvp = arp->GetValue(i);
|
jvrp = arp->GetValue(i);
|
||||||
|
|
||||||
if (n < Nod - 1 && jvp->GetJson()) {
|
do {
|
||||||
jval.SetValue(GetColumnValue(g, jvp->GetJson(), n + 1));
|
if (n < Nod - 1 && jvrp->GetJson()) {
|
||||||
jvp = &jval;
|
Tjp->NextSame = nextsame;
|
||||||
} // endif n
|
jval.SetValue(GetColumnValue(g, jvrp->GetJson(), n + 1));
|
||||||
|
jvp = &jval;
|
||||||
if (!i) {
|
} else
|
||||||
SetJsonValue(g, vp, jvp, n);
|
jvp = jvrp;
|
||||||
continue;
|
|
||||||
} else
|
if (!nv++) {
|
||||||
SetJsonValue(g, MulVal, jvp, n);
|
SetJsonValue(g, vp, jvp, n);
|
||||||
|
continue;
|
||||||
if (!MulVal->IsZero()) {
|
} else
|
||||||
switch (op) {
|
SetJsonValue(g, MulVal, jvp, n);
|
||||||
case OP_CNC:
|
|
||||||
if (Nodes[n].CncVal) {
|
if (!MulVal->IsZero()) {
|
||||||
val[0] = Nodes[n].CncVal;
|
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);
|
err = vp->Compute(g, val, 1, op);
|
||||||
} // endif CncVal
|
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
|
||||||
|
|
||||||
val[0] = MulVal;
|
if (err)
|
||||||
err = vp->Compute(g, val, 1, op);
|
vp->Reset();
|
||||||
break;
|
|
||||||
case OP_NUM:
|
} // endif Zero
|
||||||
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)
|
} while (Tjp->NextSame > nextsame);
|
||||||
vp->Reset();
|
|
||||||
|
|
||||||
} // endif Zero
|
|
||||||
|
|
||||||
} // endfor i
|
} // endfor i
|
||||||
|
|
||||||
if (op == OP_SEP) {
|
if (op == OP_SEP) {
|
||||||
// Calculate average
|
// Calculate average
|
||||||
MulVal->SetValue(ars);
|
MulVal->SetValue(nv);
|
||||||
val[0] = vp;
|
val[0] = vp;
|
||||||
val[1] = MulVal;
|
val[1] = MulVal;
|
||||||
|
|
||||||
@@ -785,6 +811,7 @@ PVAL JSONCOL::CalculateArray(PGLOBAL g, PJAR arp, int n)
|
|||||||
|
|
||||||
} // endif Op
|
} // endif Op
|
||||||
|
|
||||||
|
Tjp->NextSame = nextsame;
|
||||||
return vp;
|
return vp;
|
||||||
} // end of CalculateArray
|
} // end of CalculateArray
|
||||||
|
|
||||||
@@ -838,12 +865,13 @@ PJSON JSONCOL::GetRow(PGLOBAL g)
|
|||||||
} else {
|
} else {
|
||||||
// Construct missing objects
|
// Construct missing objects
|
||||||
for (i++; row && i < Nod; i++) {
|
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
|
// Construct intermediate array
|
||||||
nwr = new(g) JARRAY;
|
nwr = new(g) JARRAY;
|
||||||
} else {
|
else
|
||||||
nwr = new(g) JOBJECT;
|
nwr = new(g) JOBJECT;
|
||||||
} // endif Nodes
|
|
||||||
|
|
||||||
if (row->GetType() == TYPE_JOB) {
|
if (row->GetType() == TYPE_JOB) {
|
||||||
((PJOB)row)->SetValue(g, new(g) JVALUE(nwr), Nodes[i-1].Key);
|
((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)
|
if (Value->IsNull() && Tjp->Mode == MODE_INSERT)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
char *s;
|
||||||
PJOB objp = NULL;
|
PJOB objp = NULL;
|
||||||
PJAR arp = NULL;
|
PJAR arp = NULL;
|
||||||
PJVAL jvp = NULL;
|
PJVAL jvp = NULL;
|
||||||
PJSON row = GetRow(g);
|
PJSON jsp, row = GetRow(g);
|
||||||
JTYP type = row->GetType();
|
JTYP type = row->GetType();
|
||||||
|
|
||||||
switch (row->GetType()) {
|
switch (row->GetType()) {
|
||||||
@@ -898,6 +927,24 @@ void JSONCOL::WriteColumn(PGLOBAL g)
|
|||||||
|
|
||||||
if (row) switch (Buf_Type) {
|
if (row) switch (Buf_Type) {
|
||||||
case TYPE_STRING:
|
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_DATE:
|
||||||
case TYPE_INT:
|
case TYPE_INT:
|
||||||
case TYPE_DOUBLE:
|
case TYPE_DOUBLE:
|
||||||
@@ -1319,9 +1366,10 @@ int TDBJSON::WriteDB(PGLOBAL g)
|
|||||||
return RC_FX;
|
return RC_FX;
|
||||||
|
|
||||||
} else { // if (Jmode == MODE_VALUE)
|
} else { // if (Jmode == MODE_VALUE)
|
||||||
if (Mode == MODE_INSERT)
|
if (Mode == MODE_INSERT) {
|
||||||
Doc->AddValue(g, (PJVAL)Row);
|
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;
|
return RC_FX;
|
||||||
|
|
||||||
} // endif Jmode
|
} // endif Jmode
|
||||||
|
@@ -15,9 +15,6 @@ enum JMODE {MODE_OBJECT, MODE_ARRAY, MODE_VALUE};
|
|||||||
typedef class JSONDEF *PJDEF;
|
typedef class JSONDEF *PJDEF;
|
||||||
typedef class TDBJSON *PJTDB;
|
typedef class TDBJSON *PJTDB;
|
||||||
typedef class JSONCOL *PJCOL;
|
typedef class JSONCOL *PJCOL;
|
||||||
typedef class JARLST *PJARS;
|
|
||||||
|
|
||||||
class TDBJSN;
|
|
||||||
|
|
||||||
/***********************************************************************/
|
/***********************************************************************/
|
||||||
/* The JSON tree node. Can be an Object or an Array. */
|
/* The JSON tree node. Can be an Object or an Array. */
|
||||||
@@ -133,9 +130,10 @@ class JSONCOL : public DOSCOL {
|
|||||||
protected:
|
protected:
|
||||||
bool CheckExpand(PGLOBAL g, int i, PSZ nm, bool b);
|
bool CheckExpand(PGLOBAL g, int i, PSZ nm, bool b);
|
||||||
bool SetArrayOptions(PGLOBAL g, char *p, int i, PSZ nm);
|
bool SetArrayOptions(PGLOBAL g, char *p, int i, PSZ nm);
|
||||||
PVAL GetColumnValue(PGLOBAL g, PJSON row, int i);
|
PVAL GetColumnValue(PGLOBAL g, PJSON row, int i);
|
||||||
PVAL ExpandArray(PGLOBAL g, PJAR arp, int n);
|
PVAL ExpandArray(PGLOBAL g, PJAR arp, int n);
|
||||||
PVAL CalculateArray(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);
|
void SetJsonValue(PGLOBAL g, PVAL vp, PJVAL val, int n);
|
||||||
PJSON GetRow(PGLOBAL g);
|
PJSON GetRow(PGLOBAL g);
|
||||||
|
|
||||||
|
@@ -670,6 +670,22 @@ PRXCOL::PRXCOL(PRXCOL *col1, PTDB tdbp) : COLBLK(col1, tdbp)
|
|||||||
Colnum = col1->Colnum;
|
Colnum = col1->Colnum;
|
||||||
} // end of PRXCOL copy constructor
|
} // 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. */
|
/* PRXCOL initialization routine. */
|
||||||
/* Look for the matching column in the object table. */
|
/* Look for the matching column in the object table. */
|
||||||
@@ -685,6 +701,9 @@ bool PRXCOL::Init(PGLOBAL g, PTDBASE tp)
|
|||||||
if (Colp) {
|
if (Colp) {
|
||||||
MODE mode = To_Tdb->GetMode();
|
MODE mode = To_Tdb->GetMode();
|
||||||
|
|
||||||
|
// Needed for MYSQL subtables
|
||||||
|
((XCOLBLK*)Colp)->Name = Decode(g, Colp->GetName());
|
||||||
|
|
||||||
// May not have been done elsewhere
|
// May not have been done elsewhere
|
||||||
Colp->InitValue(g);
|
Colp->InitValue(g);
|
||||||
To_Val = Colp->GetValue();
|
To_Val = Colp->GetValue();
|
||||||
|
@@ -118,6 +118,8 @@ class DllExport PRXCOL : public COLBLK {
|
|||||||
virtual bool Init(PGLOBAL g, PTDBASE tp);
|
virtual bool Init(PGLOBAL g, PTDBASE tp);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
char *PRXCOL::Decode(PGLOBAL g, const char *cnm);
|
||||||
|
|
||||||
// Default constructor not to be used
|
// Default constructor not to be used
|
||||||
PRXCOL(void) {}
|
PRXCOL(void) {}
|
||||||
|
|
||||||
@@ -145,4 +147,8 @@ class TDBTBC : public TDBCAT {
|
|||||||
PSZ Tab; // Table name
|
PSZ Tab; // Table name
|
||||||
}; // end of class TDBMCL
|
}; // end of class TDBMCL
|
||||||
|
|
||||||
|
class XCOLBLK : public COLBLK {
|
||||||
|
friend class PRXCOL;
|
||||||
|
}; // end of class XCOLBLK
|
||||||
|
|
||||||
#endif // TABUTIL
|
#endif // TABUTIL
|
||||||
|
Reference in New Issue
Block a user