From 1b1905560640ed9d12924e28a86b9267f3748720 Mon Sep 17 00:00:00 2001 From: eschnett Date: Thu, 6 Feb 2014 18:37:09 +0000 Subject: Support Clang on OS X git-svn-id: http://svn.cactuscode.org/flesh/trunk@5076 17b73243-c579-4c4c-a9d2-2d5706c11dac --- lib/make/known-architectures/darwin | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) 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"} -- cgit v1.2.3