From: Graham Percival Date: Mon, 28 Nov 2011 09:08:40 +0000 (-0800) Subject: Build: don't check gcc version numbers with clang X-Git-Tag: release/2.15.21-1~17 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=2b76b924d478e68baaacfca52c6819d4c15b4c56;p=lilypond.git Build: don't check gcc version numbers with clang Joy, this was totally worth an hour. :( I hate build systems. --- diff --git a/configure.in b/configure.in index f7638ad389..74a27bbfa8 100644 --- a/configure.in +++ b/configure.in @@ -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) diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index 8fe2dddb72..c29621b409 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -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 ])