]> granicus.if.org Git - clang/commitdiff
Driver: Use the compile time linker version as the default for -mlinker-version,
authorDaniel Dunbar <daniel@zuster.org>
Thu, 12 Aug 2010 00:05:12 +0000 (00:05 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 12 Aug 2010 00:05:12 +0000 (00:05 +0000)
if detected.
 - This is a hack, we really want the linker version at execution time, but we
   don't have any infrastructure for getting that. Yet.

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

include/clang/Driver/Options.td
lib/Driver/Driver.cpp

index baed8b357e3bb4e77894e8e8bc6701c2e3446b7d..042c6c64d09c8b89e7f6820c4d102b9ce122317f 100644 (file)
@@ -442,7 +442,7 @@ def mhard_float : Flag<"-mhard-float">, Group<m_Group>;
 def miphoneos_version_min_EQ : Joined<"-miphoneos-version-min=">, Group<m_Group>;
 def mios_version_min_EQ : Joined<"-mios-version-min=">, Alias<miphoneos_version_min_EQ>;
 def mkernel : Flag<"-mkernel">, Group<m_Group>;
-def mlinker_version_EQ : Joined<"-mlinker-version=">, Group<m_Group>;
+def mlinker_version_EQ : Joined<"-mlinker-version=">;
 def mllvm : Separate<"-mllvm">;
 def mmacosx_version_min_EQ : Joined<"-mmacosx-version-min=">, Group<m_Group>;
 def mmmx : Flag<"-mmmx">, Group<m_x86_Features_Group>;
index cc0cf9fc893a8e04095a6b185ecef697bbc103bc..4b3bf32b492783a4175303c639924913f7996cb1 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "clang/Basic/Version.h"
 
+#include "llvm/Config/config.h"
 #include "llvm/ADT/StringSet.h"
 #include "llvm/ADT/OwningPtr.h"
 #include "llvm/Support/PrettyStackTrace.h"
@@ -159,6 +160,15 @@ DerivedArgList *Driver::TranslateInputArgs(const InputArgList &Args) const {
     DAL->append(*it);
   }
 
+  // Add a default value of -mlinker-version=, if one was given and the user
+  // didn't specify one.
+#if defined(HOST_LINK_VERSION)
+  if (!Args.hasArg(options::OPT_mlinker_version_EQ)) {
+    DAL->AddJoinedArg(0, Opts->getOption(options::OPT_mlinker_version_EQ),
+                      HOST_LINK_VERSION);
+  }
+#endif
+
   return DAL;
 }