Skip to content

Commit aaae8ce

Browse files
keithcopybara-github
authored andcommitted
Update DEFAULT_MACOS_CPU to match host
With Apple Silicon machines host tools that use the apple_binary, or apple fragment to fetch the CPU would be built for the wrong architecture, even though the C++ logic would correctly identify the host CPU. This changes this hardcoded value to correctly determine Apple Silicon as arm64, and otherwise fallback to x86_64. Fixes bazelbuild#12671 Closes bazelbuild#13440. PiperOrigin-RevId: 373421791
1 parent c99992c commit aaae8ce

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.google.devtools.build.lib.skyframe.serialization.SerializationContext;
2727
import com.google.devtools.build.lib.skyframe.serialization.SerializationException;
2828
import com.google.devtools.build.lib.starlarkbuildapi.apple.AppleBitcodeModeApi;
29+
import com.google.devtools.build.lib.util.CPU;
2930
import com.google.devtools.common.options.Converters.CommaSeparatedOptionListConverter;
3031
import com.google.devtools.common.options.EnumConverter;
3132
import com.google.devtools.common.options.Option;
@@ -186,7 +187,8 @@ public class AppleCommandLineOptions extends FragmentOptions {
186187
public static final String DEFAULT_TVOS_CPU = "x86_64";
187188

188189
/** The default macOS CPU value. */
189-
public static final String DEFAULT_MACOS_CPU = "x86_64";
190+
public static final String DEFAULT_MACOS_CPU =
191+
CPU.getCurrent() == CPU.AARCH64 ? "arm64" : "x86_64";
190192

191193
/** The default Catalyst CPU value. */
192194
public static final String DEFAULT_CATALYST_CPU = "x86_64";

src/main/java/com/google/devtools/build/lib/rules/apple/BUILD

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ java_library(
3939
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization",
4040
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
4141
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple",
42+
"//src/main/java/com/google/devtools/build/lib/util",
4243
"//src/main/java/com/google/devtools/common/options",
4344
"//src/main/java/net/starlark/java/eval",
4445
"//src/main/java/net/starlark/java/syntax",

0 commit comments

Comments
 (0)