xref: /aosp_15_r20/bionic/libdl/Android.bp (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
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