xref: /aosp_15_r20/art/libnativebridge/Android.bp (revision 795d594fd825385562da6b089ea9b2033f3abf5a)
1*795d594fSAndroid Build Coastguard Workerpackage {
2*795d594fSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*795d594fSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*795d594fSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "art_license"
5*795d594fSAndroid Build Coastguard Worker    // to get the below license kinds:
6*795d594fSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*795d594fSAndroid Build Coastguard Worker    default_applicable_licenses: ["art_license"],
8*795d594fSAndroid Build Coastguard Worker    default_team: "trendy_team_art_mainline",
9*795d594fSAndroid Build Coastguard Worker}
10*795d594fSAndroid Build Coastguard Worker
11*795d594fSAndroid Build Coastguard Workercc_defaults {
12*795d594fSAndroid Build Coastguard Worker    name: "libnativebridge-defaults",
13*795d594fSAndroid Build Coastguard Worker    defaults: ["art_defaults"],
14*795d594fSAndroid Build Coastguard Worker    header_libs: [
15*795d594fSAndroid Build Coastguard Worker        "jni_headers",
16*795d594fSAndroid Build Coastguard Worker        "libnativebridge-headers",
17*795d594fSAndroid Build Coastguard Worker    ],
18*795d594fSAndroid Build Coastguard Worker    export_header_lib_headers: [
19*795d594fSAndroid Build Coastguard Worker        "jni_headers",
20*795d594fSAndroid Build Coastguard Worker        "libnativebridge-headers",
21*795d594fSAndroid Build Coastguard Worker    ],
22*795d594fSAndroid Build Coastguard Worker}
23*795d594fSAndroid Build Coastguard Worker
24*795d594fSAndroid Build Coastguard Workercc_library_headers {
25*795d594fSAndroid Build Coastguard Worker    name: "libnativebridge-headers",
26*795d594fSAndroid Build Coastguard Worker    defaults: ["art_defaults"],
27*795d594fSAndroid Build Coastguard Worker    host_supported: true,
28*795d594fSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
29*795d594fSAndroid Build Coastguard Worker
30*795d594fSAndroid Build Coastguard Worker    apex_available: [
31*795d594fSAndroid Build Coastguard Worker        "//apex_available:platform",
32*795d594fSAndroid Build Coastguard Worker        "com.android.art",
33*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
34*795d594fSAndroid Build Coastguard Worker        "com.android.media",
35*795d594fSAndroid Build Coastguard Worker    ],
36*795d594fSAndroid Build Coastguard Worker}
37*795d594fSAndroid Build Coastguard Worker
38*795d594fSAndroid Build Coastguard Workerart_cc_library {
39*795d594fSAndroid Build Coastguard Worker    name: "libnativebridge",
40*795d594fSAndroid Build Coastguard Worker    defaults: ["libnativebridge-defaults"],
41*795d594fSAndroid Build Coastguard Worker    visibility: [
42*795d594fSAndroid Build Coastguard Worker        "//frameworks/base/cmds/app_process",
43*795d594fSAndroid Build Coastguard Worker        // TODO(b/133140750): Clean this up.
44*795d594fSAndroid Build Coastguard Worker        "//frameworks/base/native/webview/loader/libwebviewchromium_loader",
45*795d594fSAndroid Build Coastguard Worker    ],
46*795d594fSAndroid Build Coastguard Worker    apex_available: [
47*795d594fSAndroid Build Coastguard Worker        "com.android.art",
48*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
49*795d594fSAndroid Build Coastguard Worker        "test_broken_com.android.art",
50*795d594fSAndroid Build Coastguard Worker    ],
51*795d594fSAndroid Build Coastguard Worker
52*795d594fSAndroid Build Coastguard Worker    host_supported: true,
53*795d594fSAndroid Build Coastguard Worker    srcs: ["native_bridge.cc"],
54*795d594fSAndroid Build Coastguard Worker    header_libs: [
55*795d594fSAndroid Build Coastguard Worker        "libbase_headers",
56*795d594fSAndroid Build Coastguard Worker    ],
57*795d594fSAndroid Build Coastguard Worker    shared_libs: [
58*795d594fSAndroid Build Coastguard Worker        "liblog",
59*795d594fSAndroid Build Coastguard Worker    ],
60*795d594fSAndroid Build Coastguard Worker    // TODO(jiyong): remove this line after aosp/885921 lands
61*795d594fSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
62*795d594fSAndroid Build Coastguard Worker
63*795d594fSAndroid Build Coastguard Worker    target: {
64*795d594fSAndroid Build Coastguard Worker        android: {
65*795d594fSAndroid Build Coastguard Worker            header_libs: [
66*795d594fSAndroid Build Coastguard Worker                "libnativeloader-headers", // For dlext_namespaces.h
67*795d594fSAndroid Build Coastguard Worker            ],
68*795d594fSAndroid Build Coastguard Worker            shared_libs: ["libdl_android"],
69*795d594fSAndroid Build Coastguard Worker        },
70*795d594fSAndroid Build Coastguard Worker    },
71*795d594fSAndroid Build Coastguard Worker
72*795d594fSAndroid Build Coastguard Worker    stubs: {
73*795d594fSAndroid Build Coastguard Worker        symbol_file: "libnativebridge.map.txt",
74*795d594fSAndroid Build Coastguard Worker        versions: ["1"],
75*795d594fSAndroid Build Coastguard Worker    },
76*795d594fSAndroid Build Coastguard Worker}
77*795d594fSAndroid Build Coastguard Worker
78*795d594fSAndroid Build Coastguard Worker// TODO(b/124250621): eliminate the need for this library
79*795d594fSAndroid Build Coastguard Workercc_library_shared {
80*795d594fSAndroid Build Coastguard Worker    name: "libnativebridge_lazy",
81*795d594fSAndroid Build Coastguard Worker    defaults: ["libnativebridge-defaults"],
82*795d594fSAndroid Build Coastguard Worker    visibility: [
83*795d594fSAndroid Build Coastguard Worker        "//art/libnativebridge/tests",
84*795d594fSAndroid Build Coastguard Worker        "//frameworks/base/core/jni",
85*795d594fSAndroid Build Coastguard Worker        "//frameworks/native/opengl/libs",
86*795d594fSAndroid Build Coastguard Worker        "//frameworks/native/vulkan/libvulkan",
87*795d594fSAndroid Build Coastguard Worker    ],
88*795d594fSAndroid Build Coastguard Worker    apex_available: [
89*795d594fSAndroid Build Coastguard Worker        "//apex_available:platform",
90*795d594fSAndroid Build Coastguard Worker        "com.android.media",
91*795d594fSAndroid Build Coastguard Worker        "com.android.media.swcodec",
92*795d594fSAndroid Build Coastguard Worker    ],
93*795d594fSAndroid Build Coastguard Worker
94*795d594fSAndroid Build Coastguard Worker    host_supported: false,
95*795d594fSAndroid Build Coastguard Worker    srcs: ["native_bridge_lazy.cc"],
96*795d594fSAndroid Build Coastguard Worker    runtime_libs: ["libnativebridge"],
97*795d594fSAndroid Build Coastguard Worker    shared_libs: ["liblog"],
98*795d594fSAndroid Build Coastguard Worker
99*795d594fSAndroid Build Coastguard Worker    // Apply the libnativebridge stub symbol file to the exported symbols from
100*795d594fSAndroid Build Coastguard Worker    // this shim library, to ensure that any symbols exposed here are also
101*795d594fSAndroid Build Coastguard Worker    // available as an exported API.
102*795d594fSAndroid Build Coastguard Worker    version_script: "libnativebridge.map.txt",
103*795d594fSAndroid Build Coastguard Worker}
104*795d594fSAndroid Build Coastguard Worker
105*795d594fSAndroid Build Coastguard Workersubdirs = ["tests"]
106