From 1f67a7be7282310783728c636add4345ba8e2c16 Mon Sep 17 00:00:00 2001 From: Chris Parsons Date: Mon, 23 May 2016 19:23:24 +0000 Subject: libtool wrapper script to isolate the unfortunate hacks we must make to get around apple's buggy libtool tool -- MOS_MIGRATED_REVID=123024674 --- .../build/lib/rules/objc/CompilationSupport.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java') diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java index 882faebbce..3fff5d53bd 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java @@ -38,7 +38,6 @@ import static com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.CLANG_PLU import static com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.COMPILABLE_SRCS_TYPE; import static com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.DSYMUTIL; import static com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.HEADERS; -import static com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.LIBTOOL; import static com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.NON_ARC_SRCS_TYPE; import static com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.PRECOMPILED_SRCS_TYPE; import static com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.SRCS_TYPE; @@ -143,7 +142,14 @@ public final class CompilationSupport { * Returns the location of the xcrunwrapper tool. */ public static final FilesToRunProvider xcrunwrapper(RuleContext ruleContext) { - return ruleContext.getExecutablePrerequisite("$xcrunwrapper", Mode.HOST); + return ruleContext.getExecutablePrerequisite("$xcrunwrapper", Mode.HOST); + } + + /** + * Returns the location of the libtool tool. + */ + public static final FilesToRunProvider libtool(RuleContext ruleContext) { + return ruleContext.getExecutablePrerequisite(ObjcRuleClasses.LIBTOOL_ATTRIBUTE, Mode.HOST); } /** @@ -719,9 +725,8 @@ public final class CompilationSupport { actions.add(ObjcRuleClasses.spawnAppleEnvActionBuilder( ruleContext, appleConfiguration.getIosCpuPlatform()) .setMnemonic("ObjcLink") - .setExecutable(xcrunwrapper(ruleContext)) + .setExecutable(libtool(ruleContext)) .setCommandLine(new CustomCommandLine.Builder() - .add(LIBTOOL) .add("-static") .add("-filelist").add(objList.getExecPathString()) .add("-arch_only").add(appleConfiguration.getIosCpu()) @@ -750,9 +755,8 @@ public final class CompilationSupport { ruleContext.registerAction(ObjcRuleClasses.spawnAppleEnvActionBuilder( ruleContext, appleConfiguration.getIosCpuPlatform()) .setMnemonic("ObjcLink") - .setExecutable(xcrunwrapper(ruleContext)) + .setExecutable(libtool(ruleContext)) .setCommandLine(new CustomCommandLine.Builder() - .add(LIBTOOL) .add("-static") .add("-arch_only").add(appleConfiguration.getIosCpu()) .add("-syslibroot").add(AppleToolchain.sdkDir()) -- cgit v1.2.3