diff options
| author | 2023-05-17 05:23:21 +0000 | |
|---|---|---|
| committer | 2023-05-17 05:23:21 +0000 | |
| commit | 3daa129afaeb95380edcef7316e441ac19b192ea (patch) | |
| tree | 8add02c7dc3bc371a42a1e5eff57f89a35870cf4 | |
| parent | 7e80f945d33f3fd54c98780108eab4e6ca0ad4ea (diff) | |
| parent | b3d5c48cade01a9f8be8dcdb75875ef8e380efb7 (diff) | |
Merge changes from topic "adbd_host"
* changes:
Allowlist python dependency of adb targets
bp2build support for host_ldlibs
| -rw-r--r-- | android/allowlists/allowlists.go | 1 | ||||
| -rw-r--r-- | bazel/configurability.go | 24 | ||||
| -rw-r--r-- | bp2build/cc_library_conversion_test.go | 46 | ||||
| -rw-r--r-- | cc/bp2build.go | 3 |
4 files changed, 62 insertions, 12 deletions
diff --git a/android/allowlists/allowlists.go b/android/allowlists/allowlists.go index 64c58cf46..dfea759ec 100644 --- a/android/allowlists/allowlists.go +++ b/android/allowlists/allowlists.go @@ -85,6 +85,7 @@ var ( "development/apps/DevelopmentSettings": Bp2BuildDefaultTrue, "development/apps/Fallback": Bp2BuildDefaultTrue, "development/apps/WidgetPreview": Bp2BuildDefaultTrue, + "development/python-packages/adb": Bp2BuildDefaultTrueRecursively, "development/samples/BasicGLSurfaceView": Bp2BuildDefaultTrue, "development/samples/BluetoothChat": Bp2BuildDefaultTrue, "development/samples/BrokenKeyDerivation": Bp2BuildDefaultTrue, diff --git a/bazel/configurability.go b/bazel/configurability.go index d042fe8b8..8f63ec45b 100644 --- a/bazel/configurability.go +++ b/bazel/configurability.go @@ -31,11 +31,11 @@ const ( // OsType names in arch.go OsAndroid = "android" - osDarwin = "darwin" - osLinux = "linux_glibc" + OsDarwin = "darwin" + OsLinux = "linux_glibc" osLinuxMusl = "linux_musl" osLinuxBionic = "linux_bionic" - osWindows = "windows" + OsWindows = "windows" // Targets in arch.go osArchAndroidArm = "android_arm" @@ -156,11 +156,11 @@ var ( // constraint_value for the @platforms//os:os constraint_setting platformOsMap = map[string]string{ OsAndroid: "//build/bazel/platforms/os:android", - osDarwin: "//build/bazel/platforms/os:darwin", - osLinux: "//build/bazel/platforms/os:linux_glibc", + OsDarwin: "//build/bazel/platforms/os:darwin", + 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", + OsWindows: "//build/bazel/platforms/os:windows", ConditionsDefaultConfigKey: ConditionsDefaultSelectKey, // The default condition of an os select map. } @@ -192,22 +192,22 @@ var ( // in a cyclic dependency. osToArchMap = map[string][]string{ OsAndroid: {archArm, archArm64, archRiscv64, archX86, archX86_64}, - osLinux: {archX86, archX86_64}, + OsLinux: {archX86, archX86_64}, osLinuxMusl: {archX86, archX86_64}, - osDarwin: {archArm64, archX86_64}, + OsDarwin: {archArm64, archX86_64}, osLinuxBionic: {archArm64, archX86_64}, // TODO(cparsons): According to arch.go, this should contain archArm, archArm64, as well. - osWindows: {archX86, archX86_64}, + OsWindows: {archX86, archX86_64}, } osAndInApexMap = map[string]string{ AndroidAndInApex: "//build/bazel/rules/apex:android-in_apex", AndroidPlatform: "//build/bazel/rules/apex:system", - osDarwin: "//build/bazel/platforms/os:darwin", - osLinux: "//build/bazel/platforms/os:linux_glibc", + OsDarwin: "//build/bazel/platforms/os:darwin", + 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", + OsWindows: "//build/bazel/platforms/os:windows", ConditionsDefaultConfigKey: ConditionsDefaultSelectKey, } diff --git a/bp2build/cc_library_conversion_test.go b/bp2build/cc_library_conversion_test.go index 5f3ff6217..0e8705b54 100644 --- a/bp2build/cc_library_conversion_test.go +++ b/bp2build/cc_library_conversion_test.go @@ -4663,3 +4663,49 @@ cc_library { }, }) } + +func TestCcLibraryHostLdLibs(t *testing.T) { + runCcLibraryTestCase(t, Bp2buildTestCase{ + Description: "cc_binary linker flags for host_ldlibs", + ModuleTypeUnderTest: "cc_binary", + ModuleTypeUnderTestFactory: cc.BinaryFactory, + Blueprint: soongCcLibraryPreamble + `cc_binary { + name: "a", + host_supported: true, + ldflags: ["-lcommon"], + target: { + linux: { + host_ldlibs: [ + "-llinux", + ], + }, + darwin: { + ldflags: ["-ldarwinadditional"], + host_ldlibs: [ + "-ldarwin", + ], + }, + windows: { + host_ldlibs: [ + "-lwindows", + ], + }, + }, +} +`, + ExpectedBazelTargets: []string{ + MakeBazelTargetNoRestrictions("cc_binary", "a", AttrNameToString{ + "linkopts": `["-lcommon"] + select({ + "//build/bazel/platforms/os:darwin": [ + "-ldarwinadditional", + "-ldarwin", + ], + "//build/bazel/platforms/os:linux_glibc": ["-llinux"], + "//build/bazel/platforms/os:windows": ["-lwindows"], + "//conditions:default": [], + })`, + "local_includes": `["."]`, + }), + }, + }) +} diff --git a/cc/bp2build.go b/cc/bp2build.go index 202eebce1..fa98df4cd 100644 --- a/cc/bp2build.go +++ b/cc/bp2build.go @@ -1266,6 +1266,9 @@ func (la *linkerAttributes) bp2buildForAxisAndConfig(ctx android.BazelConversion } la.additionalLinkerInputs.SetSelectValue(axis, config, additionalLinkerInputs) + if axis == bazel.OsConfigurationAxis && (config == bazel.OsDarwin || config == bazel.OsLinux || config == bazel.OsWindows) { + linkerFlags = append(linkerFlags, props.Host_ldlibs...) + } la.linkopts.SetSelectValue(axis, config, linkerFlags) if axisFeatures != nil { |