Merge changes from topic "adbd_host"

* changes:
  Allowlist python dependency of adb targets
  bp2build support for host_ldlibs
This commit is contained in:
Treehugger Robot
2023-05-17 05:23:21 +00:00
committed by Gerrit Code Review
4 changed files with 62 additions and 12 deletions

View File

@@ -85,6 +85,7 @@ var (
"development/apps/DevelopmentSettings": Bp2BuildDefaultTrue, "development/apps/DevelopmentSettings": Bp2BuildDefaultTrue,
"development/apps/Fallback": Bp2BuildDefaultTrue, "development/apps/Fallback": Bp2BuildDefaultTrue,
"development/apps/WidgetPreview": Bp2BuildDefaultTrue, "development/apps/WidgetPreview": Bp2BuildDefaultTrue,
"development/python-packages/adb": Bp2BuildDefaultTrueRecursively,
"development/samples/BasicGLSurfaceView": Bp2BuildDefaultTrue, "development/samples/BasicGLSurfaceView": Bp2BuildDefaultTrue,
"development/samples/BluetoothChat": Bp2BuildDefaultTrue, "development/samples/BluetoothChat": Bp2BuildDefaultTrue,
"development/samples/BrokenKeyDerivation": Bp2BuildDefaultTrue, "development/samples/BrokenKeyDerivation": Bp2BuildDefaultTrue,

View File

@@ -31,11 +31,11 @@ const (
// OsType names in arch.go // OsType names in arch.go
OsAndroid = "android" OsAndroid = "android"
osDarwin = "darwin" OsDarwin = "darwin"
osLinux = "linux_glibc" OsLinux = "linux_glibc"
osLinuxMusl = "linux_musl" osLinuxMusl = "linux_musl"
osLinuxBionic = "linux_bionic" osLinuxBionic = "linux_bionic"
osWindows = "windows" OsWindows = "windows"
// Targets in arch.go // Targets in arch.go
osArchAndroidArm = "android_arm" osArchAndroidArm = "android_arm"
@@ -156,11 +156,11 @@ var (
// constraint_value for the @platforms//os:os constraint_setting // constraint_value for the @platforms//os:os constraint_setting
platformOsMap = map[string]string{ platformOsMap = map[string]string{
OsAndroid: "//build/bazel/platforms/os:android", OsAndroid: "//build/bazel/platforms/os:android",
osDarwin: "//build/bazel/platforms/os:darwin", OsDarwin: "//build/bazel/platforms/os:darwin",
osLinux: "//build/bazel/platforms/os:linux_glibc", OsLinux: "//build/bazel/platforms/os:linux_glibc",
osLinuxMusl: "//build/bazel/platforms/os:linux_musl", osLinuxMusl: "//build/bazel/platforms/os:linux_musl",
osLinuxBionic: "//build/bazel/platforms/os:linux_bionic", 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. ConditionsDefaultConfigKey: ConditionsDefaultSelectKey, // The default condition of an os select map.
} }
@@ -192,22 +192,22 @@ var (
// in a cyclic dependency. // in a cyclic dependency.
osToArchMap = map[string][]string{ osToArchMap = map[string][]string{
OsAndroid: {archArm, archArm64, archRiscv64, archX86, archX86_64}, OsAndroid: {archArm, archArm64, archRiscv64, archX86, archX86_64},
osLinux: {archX86, archX86_64}, OsLinux: {archX86, archX86_64},
osLinuxMusl: {archX86, archX86_64}, osLinuxMusl: {archX86, archX86_64},
osDarwin: {archArm64, archX86_64}, OsDarwin: {archArm64, archX86_64},
osLinuxBionic: {archArm64, archX86_64}, osLinuxBionic: {archArm64, archX86_64},
// TODO(cparsons): According to arch.go, this should contain archArm, archArm64, as well. // 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{ osAndInApexMap = map[string]string{
AndroidAndInApex: "//build/bazel/rules/apex:android-in_apex", AndroidAndInApex: "//build/bazel/rules/apex:android-in_apex",
AndroidPlatform: "//build/bazel/rules/apex:system", AndroidPlatform: "//build/bazel/rules/apex:system",
osDarwin: "//build/bazel/platforms/os:darwin", OsDarwin: "//build/bazel/platforms/os:darwin",
osLinux: "//build/bazel/platforms/os:linux_glibc", OsLinux: "//build/bazel/platforms/os:linux_glibc",
osLinuxMusl: "//build/bazel/platforms/os:linux_musl", osLinuxMusl: "//build/bazel/platforms/os:linux_musl",
osLinuxBionic: "//build/bazel/platforms/os:linux_bionic", osLinuxBionic: "//build/bazel/platforms/os:linux_bionic",
osWindows: "//build/bazel/platforms/os:windows", OsWindows: "//build/bazel/platforms/os:windows",
ConditionsDefaultConfigKey: ConditionsDefaultSelectKey, ConditionsDefaultConfigKey: ConditionsDefaultSelectKey,
} }

View File

@@ -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": `["."]`,
}),
},
})
}

View File

@@ -1266,6 +1266,9 @@ func (la *linkerAttributes) bp2buildForAxisAndConfig(ctx android.BazelConversion
} }
la.additionalLinkerInputs.SetSelectValue(axis, config, additionalLinkerInputs) 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) la.linkopts.SetSelectValue(axis, config, linkerFlags)
if axisFeatures != nil { if axisFeatures != nil {