]> git.donarmstrong.com Git - lilypond.git/commitdiff
Build: don't check gcc version numbers with clang
authorGraham Percival <graham@percival-music.ca>
Mon, 28 Nov 2011 09:08:40 +0000 (01:08 -0800)
committerGraham Percival <graham@percival-music.ca>
Fri, 2 Dec 2011 05:43:09 +0000 (21:43 -0800)
Joy, this was totally worth an hour.  :(   I hate build systems.

configure.in
stepmake/aclocal.m4

index f7638ad389e4b837a314fde6f2c39cdb6d809a3f..74a27bbfa8a29bdbc0e2ba83f56cddaa4e48f725 100644 (file)
@@ -91,10 +91,14 @@ AC_MSG_RESULT($NCSB_SOURCE_FILES)
 AC_LANG([C++])
 
 STEPMAKE_PYTHON(REQUIRED, 2.4)
-STEPMAKE_GCC(REQUIRED, 3.4)
+# this checks if we have GNU C by compiling a program with
+# __GNUC__, but that macro now unofficially means "the compiler
+# supports the GNU C extensions" -- the intel C compiler and clang
+# both support __GNUC__!
+STEPMAKE_GCC_OR_CLANG(REQUIRED, 3.4)
 
 STEPMAKE_CXX(REQUIRED)
-STEPMAKE_GXX(REQUIRED, 3.4)
+STEPMAKE_GXX_OR_CLANG(REQUIRED, 3.4)
 STEPMAKE_CXXTEMPLATE
 STEPMAKE_STL_DATA_METHOD
 STEPMAKE_LIB(REQUIRED)
index 8fe2dddb728027d6ea956c7c65655923d673924d..c29621b4097a92391adf498a12f7ac6f6bbe9c62 100644 (file)
@@ -494,13 +494,17 @@ EOF
         AC_MSG_RESULT($FLEXLEXER_FILE)
 ])
 
-AC_DEFUN(STEPMAKE_GCC, [
-    if test "$GCC" = "yes"; then
-        STEPMAKE_CHECK_VERSION(CC, $1, $2)
-    else
-       warn="$CC (Please install *GNU* cc)"
-       STEPMAKE_ADD_ENTRY($1, $warn)
+AC_DEFUN(STEPMAKE_GCC_OR_CLANG, [
+    STEPMAKE_HAS_CLANG()
+    if test "$HAS_CLANG" = "no"; then
+        if test "$GCC" = "yes"; then
+            STEPMAKE_CHECK_VERSION(CC, $1, $2)
+        else
+           warn="$CC (Please install *GNU* cc)"
+           STEPMAKE_ADD_ENTRY($1, $warn)
+        fi
     fi
+    # no else, we're fine with any clang
 ])
 
 AC_DEFUN(STEPMAKE_GETTEXT, [
@@ -616,13 +620,25 @@ AC_DEFUN(STEPMAKE_DLOPEN, [
     AC_CHECK_FUNCS(dlopen)
 ])
 
-AC_DEFUN(STEPMAKE_GXX, [
-    if test "$GXX" = "yes"; then
-        STEPMAKE_CHECK_VERSION(CXX, $1, $2)
-    else
-       warn="$CXX (Please install *GNU* c++)"
-       STEPMAKE_ADD_ENTRY($1, $warn)
+AC_DEFUN(STEPMAKE_HAS_CLANG, [
+    AC_EGREP_CPP(yes,
+      [#ifdef __clang__
+       yes
+       #endif
+      ], HAS_CLANG=yes, HAS_CLANG=no)
+])
+
+AC_DEFUN(STEPMAKE_GXX_OR_CLANG, [
+    STEPMAKE_HAS_CLANG()
+    if test "$HAS_CLANG" = "no"; then
+        if test "$GXX" = "yes"; then
+            STEPMAKE_CHECK_VERSION(CXX, $1, $2)
+        else
+           warn="$CXX (Please install *GNU* c++)"
+           STEPMAKE_ADD_ENTRY($1, $warn)
+        fi
     fi
+    # no else, we're fine with any clang
 ])