aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2022-03-08 15:12:48 -0800
committerColin Cross <ccross@android.com>2022-03-15 12:51:38 -0700
commit7020415b80a2fd3fa734f0984e9936769869aed8 (patch)
tree55a034c0ccf6c1a9c0889f649b49d62a4fe3c7fc
parent2c598e83f9bb800a6bf38ec4aa2cfd02dd971f26 (diff)
downloadcpython3-7020415b80a2fd3fa734f0984e9936769869aed8.tar.gz
Tweak linux_glibc properties for musl builds in external/python/cpython3
For convenience, builds against musl libc currently use the linux_glibc properties because they are almost always linux-specific and not glibc-specific. In preparation for removing this hack, tweak the linux_glibc properties by either moving them to host_linux, which will apply to linux_glibc, linux_musl and linux_bionic, or by setting appropriate musl or linux_musl properties. Properties that must not be repeated while musl uses linux_musl and also still uses the linux_glibc properties are moved to glibc properties, which don't apply to musl. Whether these stay as glibc properties or get moved back to linux_glibc later once the musl hack is removed is TBD. Bug: 223257095 Test: m checkbuild Test: m USE_HOST_MUSL=true host-native Change-Id: If44954d3b047be6784e4782457fd0ea695f79484
-rw-r--r--Android.bp42
-rw-r--r--Lib/Android.bp14
2 files changed, 42 insertions, 14 deletions
diff --git a/Android.bp b/Android.bp
index db5d4c26e8..d58fe9a5cd 100644
--- a/Android.bp
+++ b/Android.bp
@@ -71,7 +71,7 @@ soong_config_module_type {
properties: ["defaults"],
}
-// By default, disable the source and use the prebuilts for host linux_glibc
+// By default, disable the source and use the prebuilts for host linux
// and darwin. Overridden by cpython3-interp-force_build_host when
// force_build_host is true (set on aosp-build-tools).
cc_defaults {
@@ -81,6 +81,9 @@ cc_defaults {
linux_glibc: {
enabled: false,
},
+ linux_musl: {
+ enabled: false,
+ },
darwin: {
enabled: false,
},
@@ -94,6 +97,9 @@ cc_defaults {
linux_glibc: {
enabled: true,
},
+ linux_musl: {
+ enabled: true,
+ },
darwin: {
enabled: true,
},
@@ -167,10 +173,17 @@ cpython3_cc_defaults {
linux_glibc_x86: {
enabled: false,
},
+ linux_musl_x86: {
+ enabled: false,
+ },
linux_glibc_x86_64: {
local_include_dirs: ["android/linux_x86_64/pyconfig"],
cflags: ["-DSOABI=\"cpython-39android-x86_64-linux-gnu\""],
},
+ linux_musl_x86_64: {
+ local_include_dirs: ["android/linux_x86_64/pyconfig"],
+ cflags: ["-DSOABI=\"cpython-39android-x86_64-linux-gnu\""],
+ },
windows: {
enabled: false,
},
@@ -358,10 +371,6 @@ cc_defaults {
target: {
linux_glibc_x86_64: {
host_ldlibs: ["-lutil"],
- static_libs: [
- "libopenssl_ssl",
- "libopenssl_crypto",
- ],
},
linux: {
// Due to test infra limitations, Python native symbols are linked
@@ -375,15 +384,20 @@ cc_defaults {
"-framework SystemConfiguration",
"-framework CoreFoundation",
],
- static_libs: [
- "libopenssl_ssl",
- "libopenssl_crypto",
- ],
},
host: {
static_libs: [
"libsqlite",
"liblog",
+ "libopenssl_ssl",
+ "libopenssl_crypto",
+ ],
+ },
+ linux_bionic: {
+ // Linux Bionic doesn't have openssl prebuilts
+ exclude_static_libs: [
+ "libopenssl_ssl",
+ "libopenssl_crypto",
],
},
android: {
@@ -425,6 +439,9 @@ cc_library_static {
linux_glibc_x86_64: {
srcs: ["android/linux_x86_64/config.c"],
},
+ linux_musl_x86_64: {
+ srcs: ["android/linux_x86_64/config.c"],
+ },
darwin: {
srcs: ["android/darwin_x86_64/config.c"],
},
@@ -483,6 +500,13 @@ cc_library_static {
"libopenssl_crypto",
],
},
+ linux_musl_x86_64: {
+ srcs: [":py3-c-modules-linux_x86_64"],
+ static_libs: [
+ "libopenssl_ssl",
+ "libopenssl_crypto",
+ ],
+ },
darwin: {
srcs: [":py3-c-modules-darwin_x86_64"],
static_libs: [
diff --git a/Lib/Android.bp b/Lib/Android.bp
index 8656f5c134..3b9c289d74 100644
--- a/Lib/Android.bp
+++ b/Lib/Android.bp
@@ -76,7 +76,11 @@ python_defaults {
name: "py3-stdlib-force-build",
defaults_visibility: ["//visibility:private"],
target: {
- linux_glibc: {
+ glibc: {
+ exclude_srcs: [":py3-stdlib-prebuilt-srcs"],
+ srcs: [":py3-stdlib-srcs"],
+ },
+ musl: {
exclude_srcs: [":py3-stdlib-prebuilt-srcs"],
srcs: [":py3-stdlib-srcs"],
},
@@ -93,13 +97,13 @@ cpython3_python_stdlib {
pkg_path: "stdlib",
host_supported: true,
target: {
- android: {
+ bionic: {
srcs: [":py3-stdlib-srcs"],
},
- linux_bionic: {
- srcs: [":py3-stdlib-srcs"],
+ glibc: {
+ srcs: [":py3-stdlib-prebuilt-srcs"],
},
- linux_glibc: {
+ musl: {
srcs: [":py3-stdlib-prebuilt-srcs"],
},
darwin: {