summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreschnett <eschnett@17b73243-c579-4c4c-a9d2-2d5706c11dac>2014-02-06 18:37:09 +0000
committereschnett <eschnett@17b73243-c579-4c4c-a9d2-2d5706c11dac>2014-02-06 18:37:09 +0000
commit1b1905560640ed9d12924e28a86b9267f3748720 (patch)
treedb147a569b3f908b027a56a902b93a09cf86be0f
parentdd5eb7c6f9ec5fcfff28202843f023f950500ba6 (diff)
Support Clang on OS X
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5076 17b73243-c579-4c4c-a9d2-2d5706c11dac
-rw-r--r--lib/make/known-architectures/darwin29
1 files changed, 28 insertions, 1 deletions
diff --git a/lib/make/known-architectures/darwin b/lib/make/known-architectures/darwin
index ffcecfda..edca50a2 100644
--- a/lib/make/known-architectures/darwin
+++ b/lib/make/known-architectures/darwin
@@ -37,6 +37,8 @@ else
if test "`$CC --version 2>&1 | head -n 1 | grep -i gcc`" ; then
MAC_C_COMP=gcc
+ elif test "`$CC --version 2>&1 | head -n 1 | grep -i clang`" ; then
+ MAC_C_COMP=clang
elif test "`$CC -version 2>&1 | grep xlc`" ; then
MAC_C_COMP=ibm
elif test "`$CC -V 2>&1 | grep -i intel`" ; then
@@ -47,6 +49,8 @@ else
if test "`$CXX --version 2>&1 | head -n 1 | grep -i gcc`" ; then
MAC_CXX_COMP=gcc
+ elif test "`$CXX --version 2>&1 | head -n 1 | grep -i clang`" ; then
+ MAC_CXX_COMP=clang
elif test "`$CXX -version 2>&1 | grep xlc`" ; then
MAC_CXX_COMP=ibm
elif test "`$CXX -V 2>&1 | grep -i intel`" ; then
@@ -62,6 +66,11 @@ else
CPP_VERSION="`cpp --version | awk '{print $3; exit}'`"
CPP_VERSION_MAJOR="`echo $CPP_VERSION | sed 's:\([^. ]*\)\.\([^. ]*\).*:\1:'`"
CPP_VERSION_MINOR="`echo $CPP_VERSION | sed 's:\([^. ]*\)\.\([^. ]*\).*:\2:'`"
+ elif test "`$CPP --version | grep -i clang`"; then
+ CPP_VENDOR=LLVM
+ CPP_VERSION="`cpp --version | awk '{print $3; exit}'`"
+ CPP_VERSION_MAJOR="`echo $CPP_VERSION | sed 's:\([^. ]*\)\.\([^. ]*\).*:\1:'`"
+ CPP_VERSION_MINOR="`echo $CPP_VERSION | sed 's:\([^. ]*\)\.\([^. ]*\).*:\2:'`"
elif test "`$CPP --version | grep -i Cactus`"; then
CPP_VENDOR=Cactus
CPP_VERSION="`cpp --version | awk '{print $3; exit}'`"
@@ -69,7 +78,7 @@ else
CPP_VERSION_MINOR="`echo $CPP_VERSION | sed 's:\([^. ]*\)\.\([^. ]*\).*:\2:'`"
fi
- if test "$MAC_C_COMP" = "gcc" ; then
+ if test "$MAC_C_COMP" = "gcc" -o "$MAC_C_COMP" = "clang" ; then
: ${C_DEPEND='$(CC) -M -MP $(CPPFLAGS) $(CFLAGS)'}
: ${CXX_DEPEND='$(CXX) -M -MP $(CPPFLAGS) $(CXXFLAGS)'}
elif test "$MAC_C_COMP" = "intel" ; then
@@ -89,6 +98,8 @@ else
MAC_F90_COMP=absoft
elif test "`$F90 --version 2>&1 | head -n 1 | grep -i gcc`" ; then
MAC_F90_COMP=gcc
+ elif test "`$F90 --version 2>&1 | head -n 1 | grep -i clang`" ; then
+ MAC_F90_COMP=clang
elif test "`$F90 -V 2>&1 | grep -i intel`" ; then
MAC_F90_COMP=intel
else
@@ -128,6 +139,8 @@ else
MAC_F77_COMP=absoft77
elif test "`$F77 --version 2>&1 | head -n 1 | grep -i gcc`" ; then
MAC_F77_COMP=gcc
+ elif test "`$F77 --version 2>&1 | head -n 1 | grep -i clang`" ; then
+ MAC_F77_COMP=clang
elif test "`$F77 -V 2>&1 | grep -i intel`" ; then
MAC_F77_COMP=intel
else
@@ -150,6 +163,12 @@ else
# : ${CFLAGS="-mlongcall"}
: ${CFLAGS=-std=gnu99}
;;
+ clang)
+ CC_VERSION="`$CC --version 2>&1 | head -n 1`"
+ # : ${CFLAGS="-no-cpp-precomp -mlongcall"}
+ # : ${CFLAGS="-mlongcall"}
+ : ${CFLAGS=-std=gnu99}
+ ;;
intel)
CC_VERSION="`$CC --version 2>&1 | head -n 1`"
: ${CFLAGS="-align"}
@@ -176,6 +195,14 @@ else
# Darwin with the default compiler
# : ${CXXFLAGS=-std=gnu++0x}
;;
+ clang)
+ CXX_VERSION="`$CXX --version 2>&1 | head -n 1`"
+ # : ${CXXFLAGS="-no-cpp-precomp -mlongcall"}
+ # : ${CXXFLAGS="-mlongcall"}
+ # The setting below would be desirable, but isn't available on
+ # Darwin with the default compiler
+ # : ${CXXFLAGS=-std=gnu++0x}
+ ;;
intel)
CXX_VERSION="`$CXX --version 2>&1 | head -n 1`"
: ${CXXFLAGS="-align"}