blob: eb6afbf93b271ceb205a7a4e91e21ca791592370 [file]
//
// libdl
//
package {
default_applicable_licenses: ["bionic_libdl_license"],
}
license {
name: "bionic_libdl_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
],
license_text: [
"NOTICE",
],
}
cc_library_static {
name: "libdl_static",
defaults: ["linux_bionic_supported"],
ramdisk_available: true,
vendor_ramdisk_available: true,
recovery_available: true,
native_bridge_supported: true,
srcs: [
"libdl.cpp",
"libdl_cfi.cpp",
],
cflags: [
"-Wall",
"-Wextra",
"-Wunused",
"-Werror",
],
// For private/CFIShadow.h.
include_dirs: ["bionic/libc"],
stl: "none",
system_shared_libs: [],
header_libs: ["libc_headers"],
export_header_lib_headers: ["libc_headers"],
sanitize: {
never: true,
},
apex_available: [
"//apex_available:platform",
"com.android.runtime",
],
}
soong_config_module_type {
name: "bionic_cc_library",
module_type: "cc_library",
config_namespace: "ANDROID",
bool_variables: ["release_deprecate_runtime_apex"],
properties: ["apex_available"],
}
bionic_cc_library {
name: "libdl",
ramdisk_available: true,
vendor_ramdisk_available: true,
recovery_available: true,
native_bridge_supported: true,
static_ndk_lib: true,
defaults: [
"linux_bionic_supported",
"bug_24465209_workaround",
],
arch: {
arm: {
version_script: ":libdl.arm.map",
},
arm64: {
version_script: ":libdl.arm64.map",
},
riscv64: {
version_script: ":libdl.riscv64.map",
},
x86: {
version_script: ":libdl.x86.map",
},
x86_64: {
version_script: ":libdl.x86_64.map",
},
},
shared: {
whole_static_libs: ["libdl_static"],
},
static: {
srcs: ["libdl_static.cpp"],
},
cflags: [
"-Wall",
"-Wextra",
"-Wunused",
"-Werror",
],
stl: "none",
nocrt: true,
system_shared_libs: [],
header_libs: [
"libc_headers",
"bionic_libc_platform_headers",
],
// Opt out of native_coverage when opting out of system_shared_libs
native_coverage: false,
// This is placeholder library the actual implementation is (currently)
// provided by the linker.
shared_libs: ["ld-android"],
sanitize: {
never: true,
},
stubs: {
symbol_file: "libdl.map.txt",
versions: [
"29",
"current",
],
},
llndk: {
symbol_file: "libdl.map.txt",
},
soong_config_variables: {
release_deprecate_runtime_apex: {
apex_available: ["//apex_available:platform"],
conditions_default: {
apex_available: ["com.android.runtime"],
},
},
},
}
bionic_cc_library {
name: "libdl_android",
defaults: ["linux_bionic_supported"],
ramdisk_available: true,
vendor_ramdisk_available: true,
recovery_available: true,
native_bridge_supported: true,
export_include_dirs: ["include_private"],
srcs: ["libdl_android.cpp"],
version_script: "libdl_android.map.txt",
cflags: [
"-Wall",
"-Wextra",
"-Wunused",
"-Werror",
],
stl: "none",
nocrt: true,
system_shared_libs: [],
header_libs: [
"libc_headers",
"bionic_libc_platform_headers",
],
export_header_lib_headers: ["bionic_libc_platform_headers"],
// Opt out of native_coverage when opting out of system_shared_libs
native_coverage: false,
// This is placeholder library the actual implementation is (currently)
// provided by the linker.
shared_libs: ["ld-android"],
sanitize: {
never: true,
},
stubs: {
symbol_file: ":stubs_libdl_android.map.txt",
versions: ["current"],
},
soong_config_variables: {
release_deprecate_runtime_apex: {
apex_available: ["//apex_available:platform"],
conditions_default: {
apex_available: ["com.android.runtime"],
},
},
},
}
// RELEASE_DEPRECATE_RUNTIME_APEX: "# apex" should be converted to "# systemapi"
genrule {
name: "stubs_libdl_android.map.txt",
out: ["stubs_libdl_android.map.txt"],
srcs: ["libdl_android.map.txt"],
cmd: select(release_flag("RELEASE_DEPRECATE_RUNTIME_APEX"), {
true: "sed 's/# apex/# systemapi/g' $(in) > $(out)",
default: "cp $(in) $(out)",
}),
}
ndk_library {
name: "libdl",
symbol_file: "libdl.map.txt",
first_version: "9",
// This runtime library does not depend on ART at all, so it simply gets an
// empty denylist.
bypass_artless_denylist: true,
}
genrule {
name: "libdl.arm.map",
out: ["libdl.arm.map.txt"],
srcs: ["libdl.map.txt"],
tools: ["generate-version-script"],
cmd: "$(location generate-version-script) arm $(in) $(out)",
}
genrule {
name: "libdl.arm64.map",
out: ["libdl.arm64.map.txt"],
srcs: ["libdl.map.txt"],
tools: ["generate-version-script"],
cmd: "$(location generate-version-script) arm64 $(in) $(out)",
}
genrule {
name: "libdl.riscv64.map",
out: ["libdl.riscv64.map.txt"],
srcs: ["libdl.map.txt"],
tools: ["generate-version-script"],
cmd: "$(location generate-version-script) riscv64 $(in) $(out)",
}
genrule {
name: "libdl.x86.map",
out: ["libdl.x86.map.txt"],
srcs: ["libdl.map.txt"],
tools: ["generate-version-script"],
cmd: "$(location generate-version-script) x86 $(in) $(out)",
}
genrule {
name: "libdl.x86_64.map",
out: ["libdl.x86_64.map.txt"],
srcs: ["libdl.map.txt"],
tools: ["generate-version-script"],
cmd: "$(location generate-version-script) x86_64 $(in) $(out)",
}