• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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