Index: tools/gn/toolchain.cc |
diff --git a/tools/gn/toolchain.cc b/tools/gn/toolchain.cc |
index cdd70c02f5546740fdf6adb3c4bd0929f21090ea..933412d5ad0b4551f11a3978bd3cf7409012ec47 100644 |
--- a/tools/gn/toolchain.cc |
+++ b/tools/gn/toolchain.cc |
@@ -17,6 +17,7 @@ const char* Toolchain::kToolObjCxx = "objcxx"; |
const char* Toolchain::kToolRc = "rc"; |
const char* Toolchain::kToolAsm = "asm"; |
const char* Toolchain::kToolAlink = "alink"; |
+const char* Toolchain::kToolDylink = "dylink"; |
const char* Toolchain::kToolSolink = "solink"; |
const char* Toolchain::kToolLink = "link"; |
const char* Toolchain::kToolStamp = "stamp"; |
@@ -48,6 +49,7 @@ Toolchain::ToolType Toolchain::ToolNameToType(const base::StringPiece& str) { |
if (str == kToolRc) return TYPE_RC; |
if (str == kToolAsm) return TYPE_ASM; |
if (str == kToolAlink) return TYPE_ALINK; |
+ if (str == kToolDylink) return TYPE_DYLINK; |
if (str == kToolSolink) return TYPE_SOLINK; |
if (str == kToolLink) return TYPE_LINK; |
if (str == kToolStamp) return TYPE_STAMP; |
@@ -65,6 +67,7 @@ std::string Toolchain::ToolTypeToName(ToolType type) { |
case TYPE_RC: return kToolRc; |
case TYPE_ASM: return kToolAsm; |
case TYPE_ALINK: return kToolAlink; |
+ case TYPE_DYLINK: return kToolDylink; |
case TYPE_SOLINK: return kToolSolink; |
case TYPE_LINK: return kToolLink; |
case TYPE_STAMP: return kToolStamp; |
@@ -139,6 +142,11 @@ Toolchain::ToolType Toolchain::GetToolTypeForTargetFinalOutput( |
case Target::EXECUTABLE: |
return Toolchain::TYPE_LINK; |
case Target::SHARED_LIBRARY: |
+ // TODO(andybons): Uncomment on the next roll, which must include the |
+ // BUILD file changes. |
+ //if (target->loadable_module()) |
+ // return Toolchain::TYPE_SOLINK; |
+ //return Toolchain::TYPE_DYLINK; |
return Toolchain::TYPE_SOLINK; |
case Target::STATIC_LIBRARY: |
return Toolchain::TYPE_ALINK; |