Changeset: 594cf02392d7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=594cf02392d7
Modified Files:
configure.ag
Branch: default
Log Message:
Merge with Jan2014 branch.
diffs (115 lines):
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -129,6 +129,7 @@ case "$CC" in
9.*) CC="$CC -no-gcc";;
10.*) CC="$CC -no-gcc";;
11.*) CC="$CC -no-gcc";;
+ *) AC_MSG_WARN([icc ($CC) $icc_ver not handled, yet]);;
esac
;;
esac
@@ -383,14 +384,48 @@ case $host in
;;
esac
+dnl (try to) determine compiler type (gcc, icc, clang) (and version)
+dnl independent of call ($CC) and result of AC_PROG_CC() ($GCC)
+dnl (e.g., on OSX, Apple pretends its clang were gcc)
+AC_MSG_CHECKING(compiler type & version)
gcc_ver=""
icc_ver=""
-case $GCC-$CC in
-yes-*clang*)
+CC_ver=""
+CC_version="`$CC --version 2>&1`"
+case "$CC_version" in
+*gcc*GCC*)
+ gcc_ver="`$CC -dumpversion 2>/dev/null`"
+ CC_ver="gcc-$gcc_ver"
+ ;;
+*icc*ICC*)
+ icc_ver="`$CC -dumpversion 2>/dev/null`"
+ CC_ver="icc-$icc_ver"
+ ;;
+*clang*)
dnl `clang -dumpversion` reports the original/old gcc version it is
based on
- gcc_ver="`$CC -v 2>&1 | grep -w '[[Vv]]ersion [[0-9]]\+\.[[0-9]]\+' |
sed 's|^.*[[Vv]]ersion \([[0-9]]\+\(\.[[0-9]]\+\)\+\).*$|\1|'`";;
-yes-*) gcc_ver="`$CC -dumpversion 2>/dev/null`";;
--*icc*) icc_ver="`$CC -dumpversion 2>/dev/null`";;
+ gcc_ver="`$CC -v 2>&1 | grep -w '[[Vv]]ersion [[0-9]]\+\.[[0-9]]\+' |
sed 's|^.*[[Vv]]ersion \([[0-9]]\+\(\.[[0-9]]\+\)\+\).*$|\1|'`"
+ CC_ver="clang-$gcc_ver"
+ ;;
+*)
+ AC_MSG_WARN([compiler not recognized: `$CC --version` says
+$CC_version
+ ]);;
+esac
+AC_MSG_RESULT($CC_ver)
+
+dnl sanity/consistency check
+case "$GCC!$CC!$CC_ver" in
+yes!*clang*!clang-*) ;;
+yes!*gcc*!clang-*) ;;
+yes!*gcc*!gcc-*) ;;
+!*icc*!icc-*) ;;
+*) AC_MSG_WARN([compiler potentially not (correctly) recognized:
+GCC=$GCC
+CC=$CC
+CC_ver=$CC_ver
+CC_version=
+$CC_version
+ ]);;
esac
AC_ARG_WITH(bits,
@@ -563,15 +598,15 @@ yes-*-*)
MCHECK_ADD_FLAG([-Wmissing-include-dirs])
MCHECK_ADD_FLAG([-Wlogical-op])
- dnl With clang 2.8 & 3.3 dnl (no other tested) and gcc < 4.5
+ dnl With clang 2.8 & 3.3 (no other tested, yet) and gcc < 4.5
dnl (tested 3.4.6, 4.2.1, 4.3.2, 4.4.4, 4.4.5, 4.5.1, 4.5.2),
dnl "-Wunreachable-code" triggers numerous "will never be
dnl executed" (at least) in our stream code, mostly (if
dnl not all) false positives, though, as well as in
dnl YACC/BISON-generated code; thus, we do not use
dnl "-Wunreachable-code" with clang 2.8 and gcc < 4.5 .
- case "$CC-$gcc_ver" in
- *clang*-2.8|*clang*-3.3|*gcc*-[[0-3]].*|*gcc*-4.[[0-4]].*)
+ case "$CC_ver" in
+ clang-2.8|clang-3.3|gcc-[[0-3]].*|gcc-4.[[0-4]].*)
;;
*)
MCHECK_ADD_FLAG([-Wunreachable-code])
@@ -912,8 +947,8 @@ if test "x$enable_optimize" = xyes; then
JAVACFLAGS="`echo "$JAVACFLAGS" | sed -e 's| -g | |g' -e 's|
-g:[[a-z]]* | |g' -e 's|^ ||' -e 's| $||'`"
dnl Optimization flags
JAVACFLAGS="$JAVACFLAGS -g:none -O"
- case "$GCC-$CC" in
- yes-*clang*)
+ case "$GCC-$CC_ver" in
+ yes-clang-*)
CFLAGS="$CFLAGS -O3 -fomit-frame-pointer -finline-functions"
;;
yes-*)
@@ -1834,8 +1869,17 @@ if test "x$have_pthread" != xno; then
save_LIBS="$LIBS"
save_CPPFLAGS="$CPPFLAGS"
- case $GCC-$have_pthread in
- yes-auto|yes-yes)
+ case $GCC-$have_pthread-$CC_ver in
+ yes-auto-clang-*|yes-yes-clang-*)
+ # clang does not seem to have / require -pthread as
+ # compiler option; in fact, on Mac OSX Mavericks,
+ # "Apple LLVM version 5.0 (clang-500.2.79) (based on
+ # LLVM 3.3svn)" complains about "error: argument
+ # unused during compilation: '-pthread'"
+ PTHREAD_LIBS="-pthread"
+ LIBS="$LIBS $PTHREAD_LIBS"
+ ;;
+ yes-auto-*|yes-yes-*)
# use GCC's knowledge about the target platform, sets
flags
# for both the preprocessor as well as the linker
PTHREAD_INCS="-pthread"
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list