diff options
author | Colin Cross <ccross@android.com> | 2022-03-08 15:12:48 -0800 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2022-03-15 12:51:38 -0700 |
commit | 7020415b80a2fd3fa734f0984e9936769869aed8 (patch) | |
tree | 55a034c0ccf6c1a9c0889f649b49d62a4fe3c7fc | |
parent | 2c598e83f9bb800a6bf38ec4aa2cfd02dd971f26 (diff) | |
download | cpython3-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.bp | 42 | ||||
-rw-r--r-- | Lib/Android.bp | 14 |
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: { |