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