summaryrefslogtreecommitdiff
path: root/BUILD/compile-irix-mips64-mipspro
diff options
context:
space:
mode:
authorunknown <konstantin@mysql.com>2004-02-04 20:51:26 +0300
committerunknown <konstantin@mysql.com>2004-02-04 20:51:26 +0300
commit91f51913fe8366b0c9c2e008a2a50f535e3b8e2e (patch)
treea3f7bdf879b8b6940eac7fe469171e52c78bf9b4 /BUILD/compile-irix-mips64-mipspro
parent3886b5620b2e0785cf12598b1b010383dc937e07 (diff)
downloadmariadb-git-91f51913fe8366b0c9c2e008a2a50f535e3b8e2e.tar.gz
Fix for bug #2214:
"CC: ERROR File = item.h, Line = 401 The identifier strtoll is undefined" (compilation failure on SGI IRIX + MIPSPro 7.41) Compilation script implemented. Tested in 32 and 64 bit mode configure.in: Fix for bug #2214: we should not reset CXXFLAGS on IRIX for build script to work
Diffstat (limited to 'BUILD/compile-irix-mips64-mipspro')
-rwxr-xr-xBUILD/compile-irix-mips64-mipspro84
1 files changed, 84 insertions, 0 deletions
diff --git a/BUILD/compile-irix-mips64-mipspro b/BUILD/compile-irix-mips64-mipspro
new file mode 100755
index 00000000000..d8107ad73c0
--- /dev/null
+++ b/BUILD/compile-irix-mips64-mipspro
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+if [ ! -f "sql/mysqld.cc" ]; then
+ echo "You must run this script from the MySQL top-level directory."
+ exit 1
+fi
+
+cflags="-64 -mips4"
+
+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=""
+ ;;
+ *)
+ echo "$0: invalid option '$1'; use --help to show usage"
+ exit 1
+ ;;
+ esac
+else
+ echo "Building 64-bit binary"
+fi
+
+set -x
+make distclean
+aclocal
+autoheader
+libtoolize --automake --force
+automake --force --add-missing
+autoconf
+
+(cd bdb/dist && sh s_all)
+(cd innobase && aclocal && autoheader && aclocal && automake && autoconf)
+
+# 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
+
+make