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 export_include_dirs: ["include_private"], 64 65 defaults: [ 66 "linux_bionic_supported", 67 "bug_24465209_workaround", 68 ], 69 70 arch: { 71 arm: { 72 version_script: ":libdl.arm.map", 73 }, 74 arm64: { 75 version_script: ":libdl.arm64.map", 76 }, 77 riscv64: { 78 version_script: ":libdl.riscv64.map", 79 }, 80 x86: { 81 version_script: ":libdl.x86.map", 82 }, 83 x86_64: { 84 version_script: ":libdl.x86_64.map", 85 }, 86 }, 87 shared: { 88 whole_static_libs: ["libdl_static"], 89 }, 90 static: { 91 srcs: ["libdl_static.cpp"], 92 }, 93 cflags: [ 94 "-Wall", 95 "-Wextra", 96 "-Wunused", 97 "-Werror", 98 ], 99 stl: "none", 100 101 nocrt: true, 102 system_shared_libs: [], 103 header_libs: ["libc_headers"], 104 105 // Opt out of native_coverage when opting out of system_shared_libs 106 native_coverage: false, 107 108 // This is placeholder library the actual implementation is (currently) 109 // provided by the linker. 110 shared_libs: ["ld-android"], 111 112 sanitize: { 113 never: true, 114 }, 115 116 stubs: { 117 symbol_file: "libdl.map.txt", 118 versions: [ 119 "29", 120 "current", 121 ], 122 }, 123 llndk: { 124 symbol_file: "libdl.map.txt", 125 }, 126 127 apex_available: [ 128 "com.android.runtime", 129 ], 130} 131 132cc_library { 133 name: "libdl_android", 134 135 defaults: ["linux_bionic_supported"], 136 ramdisk_available: true, 137 vendor_ramdisk_available: true, 138 recovery_available: true, 139 native_bridge_supported: true, 140 141 srcs: ["libdl_android.cpp"], 142 version_script: "libdl_android.map.txt", 143 144 cflags: [ 145 "-Wall", 146 "-Wextra", 147 "-Wunused", 148 "-Werror", 149 ], 150 151 stl: "none", 152 153 nocrt: true, 154 system_shared_libs: [], 155 header_libs: ["libc_headers"], 156 157 // Opt out of native_coverage when opting out of system_shared_libs 158 native_coverage: false, 159 160 // This is placeholder library the actual implementation is (currently) 161 // provided by the linker. 162 shared_libs: ["ld-android"], 163 164 sanitize: { 165 never: true, 166 }, 167 168 stubs: { 169 symbol_file: "libdl_android.map.txt", 170 versions: ["current"], 171 }, 172 173 apex_available: [ 174 "com.android.runtime", 175 ], 176} 177 178ndk_library { 179 name: "libdl", 180 symbol_file: "libdl.map.txt", 181 first_version: "9", 182} 183 184genrule { 185 name: "libdl.arm.map", 186 out: ["libdl.arm.map.txt"], 187 srcs: ["libdl.map.txt"], 188 tools: ["generate-version-script"], 189 cmd: "$(location generate-version-script) arm $(in) $(out)", 190} 191 192genrule { 193 name: "libdl.arm64.map", 194 out: ["libdl.arm64.map.txt"], 195 srcs: ["libdl.map.txt"], 196 tools: ["generate-version-script"], 197 cmd: "$(location generate-version-script) arm64 $(in) $(out)", 198} 199 200genrule { 201 name: "libdl.riscv64.map", 202 out: ["libdl.riscv64.map.txt"], 203 srcs: ["libdl.map.txt"], 204 tools: ["generate-version-script"], 205 cmd: "$(location generate-version-script) riscv64 $(in) $(out)", 206} 207 208genrule { 209 name: "libdl.x86.map", 210 out: ["libdl.x86.map.txt"], 211 srcs: ["libdl.map.txt"], 212 tools: ["generate-version-script"], 213 cmd: "$(location generate-version-script) x86 $(in) $(out)", 214} 215 216genrule { 217 name: "libdl.x86_64.map", 218 out: ["libdl.x86_64.map.txt"], 219 srcs: ["libdl.map.txt"], 220 tools: ["generate-version-script"], 221 cmd: "$(location generate-version-script) x86_64 $(in) $(out)", 222} 223