mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/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-1335  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 
 |