Commit bb4df7df authored by unknown's avatar unknown

Bug#9263 GCC4: -mcpu is depricated, use -mtune or -march instead

   - Made a script that selects the best compiler optimizations for the current cpu.
   - Use the script from BUILD/SETUP.sh 


BUILD/SETUP.sh:
  Run check-cpu and use the compiler optimization flags it outputs
parent d3b6d41b
...@@ -53,11 +53,14 @@ max_leave_isam_configs="--with-innodb --with-bdb --with-ndbcluster --with-archiv ...@@ -53,11 +53,14 @@ max_leave_isam_configs="--with-innodb --with-bdb --with-ndbcluster --with-archiv
max_no_es_configs="$max_leave_isam_configs --without-isam" max_no_es_configs="$max_leave_isam_configs --without-isam"
max_configs="$max_no_es_configs --with-embedded-server" max_configs="$max_no_es_configs --with-embedded-server"
alpha_cflags="-mcpu=ev6 -Wa,-mev6" # Not used yet path=`dirname $0`
amd64_cflags="-DBIG_TABLES" . "$path/check-cpu"
pentium_cflags="-mcpu=pentiumpro"
pentium64_cflags="-mcpu=nocona -m64" alpha_cflags="$check_cpu_cflags -Wa,-m$cpu_flag"
ppc_cflags="-mpowerpc -mcpu=powerpc" amd64_cflags="$check_cpu_cflags -DBIG_TABLES"
pentium_cflags="$check_cpu_cflags"
pentium64_cflags="$check_cpu_cflags -m64"
ppc_cflags="$check_cpu_cflags"
sparc_cflags="" sparc_cflags=""
# be as fast as we can be without losing our ability to backtrace # be as fast as we can be without losing our ability to backtrace
......
#!/bin/sh
#
# Check cpu of current machine and find the
# best compiler optimization flags for gcc
#
#
if test -r /proc/cpuinfo ; then
cpuinfo="cat /proc/cpuinfo"
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
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
if test -z "$model_name" ; then
model_name=`uname -m`
fi
else
exit 0
fi
case "$cpu_family--$model_name" in
Alpha*EV6*)
cpu_flag="ev6";
;;
*Xeon*)
cpu_flag="nocona";
;;
*Pentium*4*CPU*)
cpu_flag="pentium4";
;;
*Athlon*64*)
cpu_flag="athlon64";
;;
*Athlon*)
cpu_flag="athlon";
;;
*Itanium*)
# Don't need to set any flags for itanium(at the moment)
cpu_flag="";
;;
*ppc)
cpu_flag="powerpc";
;;
*)
cpu_flag="i386";
;;
esac
echo "cpu_flag: $cpu_flag"
if test -z "$CC" ; then
cc="gcc";
else
cc=$CC
fi
cc_ver=`$cc --version | sed 1q`
cc_verno=`echo $cc_ver | sed -e 's/[^0-9. ]//g; s/^ *//g; s/ .*//g'`
case "$cc_ver--$cc_verno" in
*GCC*--3.4*|*GCC*--3.5*|*GCC*--4.*)
check_cpu_cflags="-mtune=$cpu_flag -march=$cpu_flag"
;;
*GCC*)
check_cpu_cflags="-mcpu=$cpu_flag -march=$cpu_flag"
;;
*)
check_cpu_cflags=""
;;
esac
echo $check_cpu_cflags
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment