Make the check for GCC version more robust, fix shared library
authorChris Lattner <sabre@nondot.org>
Tue, 5 Feb 2008 19:43:40 +0000 (19:43 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 5 Feb 2008 19:43:40 +0000 (19:43 +0000)
dependencies in makefile, and fix llvm_cv_no_link_all_option
on darwin.

Patch by Shantonu Sen, more info here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-February/012410.html

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46760 91177308-0d34-0410-b5e6-96231b3b80d8

Makefile.rules
autoconf/configure.ac

index 175513a4f60c2454b5a3a315b91699192ef226c1..0367874b2af60d3636d6cd3b5f899349e7eff9b1 100644 (file)
@@ -805,7 +805,7 @@ SharedLibKindMessage := "Loadable Module"
 else
 SharedLibKindMessage := "Shared Library"
 endif
-$(LibName.LA): $(ObjectsLO) $(LibDir)/.dir
+$(LibName.LA): $(ObjectsLO) $(ProjLibsPaths) $(LLVMLibsPaths) $(LibDir)/.dir
        $(Echo) Linking $(BuildMode) $(SharedLibKindMessage) \
          $(LIBRARYNAME)$(SHLIBEXT)
        $(Verb) $(LTLink) -o $@ $(ObjectsLO) $(ProjLibsOptions) \
index 98f0fe6c8b53622be48bf9d93391896e812e6c8d..db9fdddb18a5e37fab24a1a30288af145353c8ce 100644 (file)
@@ -119,7 +119,7 @@ AC_CACHE_CHECK([type of operating system we're going to host on],
     llvm_cv_platform_type="Unix" ;;
   *-*-darwin*)
     llvm_cv_link_all_option="-Wl,-all_load"
-    llvm_cv_link_all_option="-Wl,-noall_load"
+    llvm_cv_no_link_all_option="-Wl,-noall_load"
     llvm_cv_os_type="Darwin"
     llvm_cv_platform_type="Unix" ;;
   *-*-freebsd*)
@@ -656,11 +656,10 @@ fi
 dnl Verify that GCC is version 3.0 or higher
 if test "$GCC" = "yes"
 then
-  gccmajor=`$CC --version | head -n 1 | sed 's/[[^0-9]]*\([[0-9.]]\).*/\1/'`
-  if test "$gccmajor" -lt "3"
-  then
-    AC_MSG_ERROR([gcc 3.x required, but you have a lower version])
-  fi
+  AC_COMPILE_IFELSE([[#if !defined(__GNUC__) || __GNUC__ < 3
+#error Unsupported GCC version
+#endif
+]], [], [AC_MSG_ERROR([gcc 3.x required, but you have a lower version])])
 fi
 
 dnl Check for GNU Make.  We use its extensions, so don't build without it