1// 2// libdl 3// 4package { 5 default_applicable_licenses: ["bionic_libdl_license"], 6} 7 8license { 9 name: "bionic_libdl_license", 10 visibility: [":__subpackages__"], 11 license_kinds: [ 12 "SPDX-license-identifier-Apache-2.0", 13 ], 14 license_text: [ 15 "NOTICE", 16 ], 17} 18 19cc_library_static { 20 name: "libdl_static", 21 defaults: ["linux_bionic_supported"], 22 ramdisk_available: true, 23 vendor_ramdisk_available: true, 24 recovery_available: true, 25 native_bridge_supported: true, 26 27 srcs: [ 28 "libdl.cpp", 29 "libdl_cfi.cpp", 30 ], 31 32 cflags: [ 33 "-Wall", 34 "-Wextra", 35 "-Wunused", 36 "-Werror", 37 ], 38 39 // For private/CFIShadow.h. 40 include_dirs: ["bionic/libc"], 41 42 stl: "none", 43 system_shared_libs: [], 44 header_libs: ["libc_headers"], 45 export_header_lib_headers: ["libc_headers"], 46 47 sanitize: { 48 never: true, 49 }, 50 apex_available: [ 51 "com.android.runtime", 52 ], 53} 54 55cc_library { 56 name: "libdl", 57 ramdisk_available: true, 58 vendor_ramdisk_available: true, 59 recovery_available: true, 60 native_bridge_supported: true, 61 static_ndk_lib: true, 62 63 defaults: [ 64 "linux_bionic_supported", 65 "bug_24465209_workaround", 66 ], 67 68 arch: { 69 arm: { 70 version_script: ":libdl.arm.map", 71 }, 72 arm64: { 73 version_script: ":libdl.arm64.map", 74 }, 75 riscv64: { 76 version_script: ":libdl.riscv64.map", 77 }, 78 x86: { 79 version_script: ":libdl.x86.map", 80 }, 81 x86_64: { 82 version_script: ":libdl.x86_64.map", 83 }, 84 }, 85 shared: { 86 whole_static_libs: ["libdl_static"], 87 }, 88 static: { 89 srcs: ["libdl_static.cpp"], 90 }, 91 cflags: [ 92 "-Wall", 93 "-Wextra", 94 "-Wunused", 95 "-Werror", 96 ], 97 stl: "none", 98 99 nocrt: true, 100 system_shared_libs: [], 101 header_libs: ["libc_headers"], 102 103 // Opt out of native_coverage when opting out of system_shared_libs 104 native_coverage: false, 105 106 // This is placeholder library the actual implementation is (currently) 107 // provided by the linker. 108 shared_libs: ["ld-android"], 109 110 sanitize: { 111 never: true, 112 }, 113 114 stubs: { 115 symbol_file: "libdl.map.txt", 116 versions: [ 117 "29", 118 "current", 119 ], 120 }, 121 llndk: { 122 symbol_file: "libdl.map.txt", 123 }, 124 125 apex_available: [ 126 "com.android.runtime", 127 ], 128} 129 130cc_library { 131 name: "libdl_android", 132 133 defaults: ["linux_bionic_supported"], 134 ramdisk_available: true, 135 vendor_ramdisk_available: true, 136 recovery_available: true, 137 native_bridge_supported: true, 138 139 srcs: ["libdl_android.cpp"], 140 version_script: "libdl_android.map.txt", 141 142 cflags: [ 143 "-Wall", 144 "-Wextra", 145 "-Wunused", 146 "-Werror", 147 ], 148 149 stl: "none", 150 151 nocrt: true, 152 system_shared_libs: [], 153 header_libs: ["libc_headers"], 154 155 // Opt out of native_coverage when opting out of system_shared_libs 156 native_coverage: false, 157 158 // This is placeholder library the actual implementation is (currently) 159 // provided by the linker. 160 shared_libs: ["ld-android"], 161 162 sanitize: { 163 never: true, 164 }, 165 166 stubs: { 167 symbol_file: "libdl_android.map.txt", 168 versions: ["current"], 169 }, 170 171 apex_available: [ 172 "com.android.runtime", 173 ], 174} 175 176ndk_library { 177 name: "libdl", 178 symbol_file: "libdl.map.txt", 179 first_version: "9", 180} 181 182genrule { 183 name: "libdl.arm.map", 184 out: ["libdl.arm.map.txt"], 185 srcs: ["libdl.map.txt"], 186 tools: ["generate-version-script"], 187 cmd: "$(location generate-version-script) arm $(in) $(out)", 188} 189 190genrule { 191 name: "libdl.arm64.map", 192 out: ["libdl.arm64.map.txt"], 193 srcs: ["libdl.map.txt"], 194 tools: ["generate-version-script"], 195 cmd: "$(location generate-version-script) arm64 $(in) $(out)", 196} 197 198genrule { 199 name: "libdl.riscv64.map", 200 out: ["libdl.riscv64.map.txt"], 201 srcs: ["libdl.map.txt"], 202 tools: ["generate-version-script"], 203 cmd: "$(location generate-version-script) riscv64 $(in) $(out)", 204} 205 206genrule { 207 name: "libdl.x86.map", 208 out: ["libdl.x86.map.txt"], 209 srcs: ["libdl.map.txt"], 210 tools: ["generate-version-script"], 211 cmd: "$(location generate-version-script) x86 $(in) $(out)", 212} 213 214genrule { 215 name: "libdl.x86_64.map", 216 out: ["libdl.x86_64.map.txt"], 217 srcs: ["libdl.map.txt"], 218 tools: ["generate-version-script"], 219 cmd: "$(location generate-version-script) x86_64 $(in) $(out)", 220} 221