diff --git a/.bazelrc b/.bazelrc index 33928b89c7cbf..5f8123c7b3442 100644 --- a/.bazelrc +++ b/.bazelrc @@ -18,6 +18,7 @@ build --incompatible_strict_action_env build --host_force_python=PY3 build --java_runtime_version=remotejdk_11 build --tool_java_runtime_version=remotejdk_11 +build --platform_mappings=bazel/platform_mappings build --enable_platform_specific_config diff --git a/bazel/BUILD b/bazel/BUILD index a5d03e3f15271..17319f4c35ef2 100644 --- a/bazel/BUILD +++ b/bazel/BUILD @@ -637,3 +637,78 @@ json_data( load_repository_locations_spec(API_REPOSITORY_LOCATIONS_SPEC), ), ) + +platform( + name = "android_aarch64", + constraint_values = [ + "@platforms//cpu:aarch64", + "@platforms//os:android", + ], +) + +platform( + name = "android_armeabi", + constraint_values = [ + "@platforms//cpu:arm", # TODO(keith): This should be armv7 https://github.com/bazelbuild/bazel/issues/14982 + "@platforms//os:android", + ], +) + +platform( + name = "android_x86", + constraint_values = [ + "@platforms//cpu:x86_32", + "@platforms//os:android", + ], +) + +platform( + name = "android_x86_64", + constraint_values = [ + "@platforms//cpu:x86_64", + "@platforms//os:android", + ], +) + +platform( + name = "macos_x86_64", + constraint_values = [ + "@platforms//cpu:x86_64", + "@platforms//os:macos", + ], +) + +platform( + name = "macos_arm64", + constraint_values = [ + "@platforms//cpu:arm64", + "@platforms//os:macos", + ], +) + +platform( + name = "ios_x86_64_platform", # TODO(keith): Resolve duplicate name issue + constraint_values = [ + "@platforms//cpu:x86_64", + "@platforms//os:ios", + "@build_bazel_apple_support//constraints:simulator", + ], +) + +platform( + name = "ios_sim_arm64", + constraint_values = [ + "@platforms//cpu:arm64", + "@platforms//os:ios", + "@build_bazel_apple_support//constraints:simulator", + ], +) + +platform( + name = "ios_arm64_platform", # TODO(keith): Resolve duplicate name issue + constraint_values = [ + "@platforms//cpu:arm64", + "@platforms//os:ios", + "@build_bazel_apple_support//constraints:device", + ], +) diff --git a/bazel/platform_mappings b/bazel/platform_mappings new file mode 100644 index 0000000000000..7d6694158a238 --- /dev/null +++ b/bazel/platform_mappings @@ -0,0 +1,36 @@ +flags: + --cpu=arm64-v8a + --crosstool_top=//external:android/crosstool + @envoy//bazel:android_aarch64 + + --cpu=armeabi-v7a + --crosstool_top=//external:android/crosstool + @envoy//bazel:android_armeabi + + --cpu=x86 + --crosstool_top=//external:android/crosstool + @envoy//bazel:android_x86 + + --cpu=x86_64 + --crosstool_top=//external:android/crosstool + @envoy//bazel:android_x86_64 + + --cpu=darwin_x86_64 + --apple_platform_type=macos + @envoy//bazel:macos_x86_64 + + --cpu=darwin_arm64 + --apple_platform_type=macos + @envoy//bazel:macos_arm64 + + --cpu=ios_x86_64 + --apple_platform_type=ios + @envoy//bazel:ios_x86_64_platform + + --cpu=ios_sim_arm64 + --apple_platform_type=ios + @envoy//bazel:ios_sim_arm64 + + --cpu=ios_arm64 + --apple_platform_type=ios + @envoy//bazel:ios_arm64_platform diff --git a/ci/filter_example_setup.sh b/ci/filter_example_setup.sh index 2447a79e41d4d..bf35b4ff77f00 100644 --- a/ci/filter_example_setup.sh +++ b/ci/filter_example_setup.sh @@ -24,6 +24,7 @@ sed -e "s|{ENVOY_SRCDIR}|${ENVOY_SRCDIR}|" "${ENVOY_SRCDIR}"/ci/WORKSPACE.filter mkdir -p "${ENVOY_FILTER_EXAMPLE_SRCDIR}"/bazel ln -sf "${ENVOY_SRCDIR}"/bazel/get_workspace_status "${ENVOY_FILTER_EXAMPLE_SRCDIR}"/bazel/ +ln -sf "${ENVOY_SRCDIR}"/bazel/platform_mappings "${ENVOY_FILTER_EXAMPLE_SRCDIR}"/bazel/ cp -f "${ENVOY_SRCDIR}"/.bazelrc "${ENVOY_FILTER_EXAMPLE_SRCDIR}"/ rm -f "${ENVOY_FILTER_EXAMPLE_SRCDIR}"/.bazelversion cp -f "${ENVOY_SRCDIR}"/.bazelversion "${ENVOY_FILTER_EXAMPLE_SRCDIR}"/