From 133782e4bb269715c884d910b7a2edbe9bc313f1 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 20 Dec 2022 15:29:31 -0800 Subject: [PATCH 1/2] Use //build/bazel/platforms/os:linux_glibc for osLinux osLinux is implicitly glibc, use //build/bazel/platforms/os:linux_glibc for the configurability select key for it. Bug: 259266326 Test: build/bazel/ci/mixed_libc.sh Test: USE_HOST_MUSL=true build/bazel/ci/mixed_libc.sh Change-Id: Ifbd121ab3d943f3fdfbd3f6c3e982d1eaaaa9ec1 --- bazel/configurability.go | 4 ++-- bp2build/build_conversion_test.go | 14 +++++++------- bp2build/cc_library_conversion_test.go | 14 +++++++------- bp2build/cc_library_headers_conversion_test.go | 4 ++-- bp2build/cc_test_conversion_test.go | 4 ++-- bp2build/java_import_conversion_test.go | 2 +- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/bazel/configurability.go b/bazel/configurability.go index 3f4cc735f..2b8753b3e 100644 --- a/bazel/configurability.go +++ b/bazel/configurability.go @@ -157,7 +157,7 @@ var ( platformOsMap = map[string]string{ OsAndroid: "//build/bazel/platforms/os:android", osDarwin: "//build/bazel/platforms/os:darwin", - osLinux: "//build/bazel/platforms/os:linux", + osLinux: "//build/bazel/platforms/os:linux_glibc", osLinuxMusl: "//build/bazel/platforms/os:linux_musl", osLinuxBionic: "//build/bazel/platforms/os:linux_bionic", osWindows: "//build/bazel/platforms/os:windows", @@ -204,7 +204,7 @@ var ( AndroidAndInApex: "//build/bazel/rules/apex:android-in_apex", AndroidAndNonApex: "//build/bazel/rules/apex:android-non_apex", osDarwin: "//build/bazel/platforms/os:darwin", - osLinux: "//build/bazel/platforms/os:linux", + osLinux: "//build/bazel/platforms/os:linux_glibc", osLinuxMusl: "//build/bazel/platforms/os:linux_musl", osLinuxBionic: "//build/bazel/platforms/os:linux_bionic", osWindows: "//build/bazel/platforms/os:windows", diff --git a/bp2build/build_conversion_test.go b/bp2build/build_conversion_test.go index c40c45a31..8433f5213 100644 --- a/bp2build/build_conversion_test.go +++ b/bp2build/build_conversion_test.go @@ -426,13 +426,6 @@ custom { "darwin.txt", "not_windows.txt", ], - "//build/bazel/platforms/os:linux": [ - "host.txt", - "linux.txt", - "glibc.txt", - "linux_glibc.txt", - "not_windows.txt", - ], "//build/bazel/platforms/os:linux_bionic": [ "host.txt", "linux.txt", @@ -440,6 +433,13 @@ custom { "linux_bionic.txt", "not_windows.txt", ], + "//build/bazel/platforms/os:linux_glibc": [ + "host.txt", + "linux.txt", + "glibc.txt", + "linux_glibc.txt", + "not_windows.txt", + ], "//build/bazel/platforms/os:linux_musl": [ "host.txt", "linux.txt", diff --git a/bp2build/cc_library_conversion_test.go b/bp2build/cc_library_conversion_test.go index ee6e5b807..0ee5a3c5e 100644 --- a/bp2build/cc_library_conversion_test.go +++ b/bp2build/cc_library_conversion_test.go @@ -149,8 +149,8 @@ cc_library { "android.cpp", ], "//build/bazel/platforms/os:darwin": ["darwin.cpp"], - "//build/bazel/platforms/os:linux": ["linux.cpp"], "//build/bazel/platforms/os:linux_bionic": ["bionic.cpp"], + "//build/bazel/platforms/os:linux_glibc": ["linux.cpp"], "//conditions:default": [], })`, "sdk_version": `"current"`, @@ -1927,14 +1927,14 @@ cc_library { "android.cpp", ], "//build/bazel/platforms/os:darwin": ["darwin.cpp"], - "//build/bazel/platforms/os:linux": [ - "linux.cpp", - "linux_glibc.cpp", - ], "//build/bazel/platforms/os:linux_bionic": [ "linux.cpp", "bionic.cpp", ], + "//build/bazel/platforms/os:linux_glibc": [ + "linux.cpp", + "linux_glibc.cpp", + ], "//build/bazel/platforms/os:linux_musl": [ "linux.cpp", "linux_musl.cpp", @@ -3011,15 +3011,15 @@ cc_library { ExpectedBazelTargets: makeCcLibraryTargets("foolib", AttrNameToString{ "implementation_dynamic_deps": `select({ "//build/bazel/platforms/os:darwin": [":bazlib"], - "//build/bazel/platforms/os:linux": [":bazlib"], "//build/bazel/platforms/os:linux_bionic": [":bazlib"], + "//build/bazel/platforms/os:linux_glibc": [":bazlib"], "//build/bazel/platforms/os:linux_musl": [":bazlib"], "//build/bazel/platforms/os:windows": [":bazlib"], "//conditions:default": [], }) + select({ "//build/bazel/platforms/os:darwin": [":quxlib"], - "//build/bazel/platforms/os:linux": [":quxlib"], "//build/bazel/platforms/os:linux_bionic": [":quxlib"], + "//build/bazel/platforms/os:linux_glibc": [":quxlib"], "//build/bazel/platforms/os:linux_musl": [":quxlib"], "//build/bazel/platforms/os:windows": [":quxlib"], "//build/bazel/rules/apex:android-in_apex": [ diff --git a/bp2build/cc_library_headers_conversion_test.go b/bp2build/cc_library_headers_conversion_test.go index 686c9d569..32500a0df 100644 --- a/bp2build/cc_library_headers_conversion_test.go +++ b/bp2build/cc_library_headers_conversion_test.go @@ -250,8 +250,8 @@ cc_library_headers { "deps": `[":base-lib"] + select({ "//build/bazel/platforms/os:android": [":android-lib"], "//build/bazel/platforms/os:darwin": [":darwin-lib"], - "//build/bazel/platforms/os:linux": [":linux-lib"], "//build/bazel/platforms/os:linux_bionic": [":linux_bionic-lib"], + "//build/bazel/platforms/os:linux_glibc": [":linux-lib"], "//build/bazel/platforms/os:windows": [":windows-lib"], "//conditions:default": [], })`, @@ -343,7 +343,7 @@ func TestCcLibraryHeadersArchAndTargetExportSystemIncludes(t *testing.T) { "export_system_includes": `select({ "//build/bazel/platforms/os:android": ["android_include_dir"], "//build/bazel/platforms/os:darwin": ["darwin_include_dir"], - "//build/bazel/platforms/os:linux": ["linux_include_dir"], + "//build/bazel/platforms/os:linux_glibc": ["linux_include_dir"], "//conditions:default": [], }) + select({ "//build/bazel/platforms/arch:arm": ["arm_include_dir"], diff --git a/bp2build/cc_test_conversion_test.go b/bp2build/cc_test_conversion_test.go index b20f6ffbc..20adddbca 100644 --- a/bp2build/cc_test_conversion_test.go +++ b/bp2build/cc_test_conversion_test.go @@ -97,8 +97,8 @@ cc_test { ]`, "deps": `select({ "//build/bazel/platforms/os:darwin": [":hostlib"], - "//build/bazel/platforms/os:linux": [":hostlib"], "//build/bazel/platforms/os:linux_bionic": [":hostlib"], + "//build/bazel/platforms/os:linux_glibc": [":hostlib"], "//build/bazel/platforms/os:linux_musl": [":hostlib"], "//build/bazel/platforms/os:windows": [":hostlib"], "//conditions:default": [], @@ -115,8 +115,8 @@ cc_test { "linux.cpp", "android.cpp", ], - "//build/bazel/platforms/os:linux": ["linux.cpp"], "//build/bazel/platforms/os:linux_bionic": ["linux.cpp"], + "//build/bazel/platforms/os:linux_glibc": ["linux.cpp"], "//build/bazel/platforms/os:linux_musl": ["linux.cpp"], "//conditions:default": [], })`, diff --git a/bp2build/java_import_conversion_test.go b/bp2build/java_import_conversion_test.go index ac7dfff15..a5c01cb4f 100644 --- a/bp2build/java_import_conversion_test.go +++ b/bp2build/java_import_conversion_test.go @@ -81,7 +81,7 @@ java_import { MakeBazelTarget("java_import", "example_import", AttrNameToString{ "jars": `select({ "//build/bazel/platforms/os:android": ["android.jar"], - "//build/bazel/platforms/os:linux": ["linux.jar"], + "//build/bazel/platforms/os:linux_glibc": ["linux.jar"], "//conditions:default": [], })`, }), From 046fcea8304a67f09aa7f45d37da20486c3a3ec6 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 20 Dec 2022 15:32:18 -0800 Subject: [PATCH 2/2] Return linux as host OS from getConfigString when using musl linux_musl is an alternative host OS, return "linux" from getConfigString when it is being used. Bug: 259266326 Test: build/bazel/ci/mixed_libc.sh Test: USE_HOST_MUSL=true build/bazel/ci/mixed_libc.sh Change-Id: I47b8fdd93b36345f82dd4e8455edb4c579f805e9 --- android/bazel_handler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/bazel_handler.go b/android/bazel_handler.go index 0b768a7ec..1a6bfb6a5 100644 --- a/android/bazel_handler.go +++ b/android/bazel_handler.go @@ -1201,7 +1201,7 @@ func getConfigString(key cqueryKey) string { } } osName := key.configKey.osType.Name - if len(osName) == 0 || osName == "common_os" || osName == "linux_glibc" { + if len(osName) == 0 || osName == "common_os" || osName == "linux_glibc" || osName == "linux_musl" { // Use host OS, which is currently hardcoded to be linux. osName = "linux" }