Commit 481083d6 authored by Mikael Ronstrom's avatar Mikael Ronstrom

Made it possible to set CC and CXX on commandline before calling script

for those cases when gcc, cc-5.0, icpc or icc isn't in the path.

Fixed handling of 32 and 64 bits.

Downgraded Solaris builds on Forte to use -xO2 rather than -xO3.

Made it possible to build 64-bits on Mac OS X

Fixed some bugs in setting CC, CXX, ASFLAGS, LDFLAGS

Fixed bugs relating to use of SunStudio/Forte in check-cpu

Reorganized code a bit

Removed the use of --with-fast-mutexes since they aren't really
fast, rather slow.

Added -static-libgcc when using gcc

Added optimising compilation flags on BSD

Added use of curses library on Solaris

Removed the use of MY_ATOMIC_MODE_RWLOCKS which removed use of
atomic instructions

Added support for Forte on Solaris/x86
parent 55f1722c
This diff is collapsed.
...@@ -175,67 +175,69 @@ check_cpu () { ...@@ -175,67 +175,69 @@ check_cpu () {
cc=$CC cc=$CC
fi fi
cc_ver=`$cc --version | sed 1q` if test "x$compiler" = "x" ; then
cc_verno=`echo $cc_ver | sed -e 's/^.*(GCC)//g; s/[^0-9. ]//g; s/^ *//g; s/ .*//g'` cc_ver=`$cc --version | sed 1q`
set -- `echo $cc_verno | tr '.' ' '` cc_verno=`echo $cc_ver | sed -e 's/^.*(GCC)//g; s/[^0-9. ]//g; s/^ *//g; s/ .*//g'`
cc_major=$1 set -- `echo $cc_verno | tr '.' ' '`
cc_minor=$2 cc_major=$1
cc_patch=$3 cc_minor=$2
cc_comp=`expr $cc_major '*' 100 '+' $cc_minor` cc_patch=$3
cc_comp=`expr $cc_major '*' 100 '+' $cc_minor`
case "$cc_ver--$cc_verno" in case "$cc_ver--$cc_verno" in
*GCC*) *GCC*)
# different gcc backends (and versions) have different CPU flags # different gcc backends (and versions) have different CPU flags
case `gcc -dumpmachine` in case `gcc -dumpmachine` in
i?86-* | x86_64-*) i?86-* | x86_64-*)
if test "$cc_comp" -lt 304 ; then if test "$cc_comp" -lt 304 ; then
check_cpu_cflags="-mcpu=${cpu_arg}" check_cpu_cflags="-mcpu=${cpu_arg}"
elif test "$cc_comp" -ge 402 ; then elif test "$cc_comp" -ge 402 ; then
check_cpu_cflags="-mtune=native" check_cpu_cflags="-mtune=native"
else else
check_cpu_cflags="-mtune=${cpu_arg}" check_cpu_cflags="-mtune=${cpu_arg}"
fi fi
;; ;;
ppc-*) ppc-*)
check_cpu_cflags="-mcpu=${cpu_arg} -mtune=${cpu_arg}" check_cpu_cflags="-mcpu=${cpu_arg} -mtune=${cpu_arg}"
;; ;;
*) *)
check_cpu_cflags="" check_cpu_cflags=""
return return
;; ;;
esac esac
;; ;;
2.95.*) 2.95.*)
# GCC 2.95 doesn't expose its name in --version output # GCC 2.95 doesn't expose its name in --version output
check_cpu_cflags="-m${cpu_arg}" check_cpu_cflags="-m${cpu_arg}"
;; ;;
*) *)
check_cpu_cflags="" check_cpu_cflags=""
return return
;; ;;
esac esac
# now we check whether the compiler really understands the cpu type
touch __test.c
# now we check whether the compiler really understands the cpu type while [ "$cpu_arg" ] ; do
touch __test.c 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.*
fi
if test "x$core2" = "xyes" ; then if test "x$core2" = "xyes" ; then
cpu_arg="core2" cpu_arg="core2"
fi fi
while [ "$cpu_arg" ] ; do return 0
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.*
} }
check_cpu check_cpu
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