xref: /aosp_15_r20/external/mesa3d/src/gfxstream/guest/vulkan/Android.bp (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker/*
2*61046927SAndroid Build Coastguard Worker * Copyright (C) 2023 The Android Open Source Project
3*61046927SAndroid Build Coastguard Worker *
4*61046927SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*61046927SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*61046927SAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*61046927SAndroid Build Coastguard Worker *
8*61046927SAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*61046927SAndroid Build Coastguard Worker *
10*61046927SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*61046927SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*61046927SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*61046927SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*61046927SAndroid Build Coastguard Worker * limitations under the License.
15*61046927SAndroid Build Coastguard Worker */
16*61046927SAndroid Build Coastguard Worker
17*61046927SAndroid Build Coastguard Workerpackage {
18*61046927SAndroid Build Coastguard Worker    // See: http://go/android-license-faq
19*61046927SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_mesa3d_license"],
20*61046927SAndroid Build Coastguard Worker}
21*61046927SAndroid Build Coastguard Worker
22*61046927SAndroid Build Coastguard Workercc_library_shared {
23*61046927SAndroid Build Coastguard Worker    name: "vulkan.ranchu",
24*61046927SAndroid Build Coastguard Worker    defaults: [
25*61046927SAndroid Build Coastguard Worker        "mesa_gfxstream_guest_cc_defaults",
26*61046927SAndroid Build Coastguard Worker        "mesa_common_defaults",
27*61046927SAndroid Build Coastguard Worker        "mesa_platform_virtgpu_defaults",
28*61046927SAndroid Build Coastguard Worker    ],
29*61046927SAndroid Build Coastguard Worker    generated_headers: [
30*61046927SAndroid Build Coastguard Worker        "vk_cmd_queue_header",
31*61046927SAndroid Build Coastguard Worker        "vk_physical_device_features_header",
32*61046927SAndroid Build Coastguard Worker        "vk_physical_device_properties_header",
33*61046927SAndroid Build Coastguard Worker        "spirv_info_header",
34*61046927SAndroid Build Coastguard Worker    ],
35*61046927SAndroid Build Coastguard Worker    header_libs: [
36*61046927SAndroid Build Coastguard Worker        "mesa_compiler_headers",
37*61046927SAndroid Build Coastguard Worker        "mesa_common_headers",
38*61046927SAndroid Build Coastguard Worker        "libnativewindow_headers",
39*61046927SAndroid Build Coastguard Worker        "mesa_vulkan_enc_headers",
40*61046927SAndroid Build Coastguard Worker        "mesa_gfxstream_aemu_headers",
41*61046927SAndroid Build Coastguard Worker    ],
42*61046927SAndroid Build Coastguard Worker    static_libs: [
43*61046927SAndroid Build Coastguard Worker        "mesa_compiler",
44*61046927SAndroid Build Coastguard Worker        "mesa_util_c11",
45*61046927SAndroid Build Coastguard Worker        "mesa_vulkan_util",
46*61046927SAndroid Build Coastguard Worker        "mesa_vulkan_runtime",
47*61046927SAndroid Build Coastguard Worker        "mesa_vulkan_wsi",
48*61046927SAndroid Build Coastguard Worker        "mesa_gfxstream_vulkan_entrypoints",
49*61046927SAndroid Build Coastguard Worker        "mesa_util",
50*61046927SAndroid Build Coastguard Worker        "mesa_util_format",
51*61046927SAndroid Build Coastguard Worker        "mesa_goldfish_address_space",
52*61046927SAndroid Build Coastguard Worker        "libringbuffer",
53*61046927SAndroid Build Coastguard Worker        "libqemupipe.ranchu",
54*61046927SAndroid Build Coastguard Worker        "libarect",
55*61046927SAndroid Build Coastguard Worker        "mesa_gfxstream_aemu",
56*61046927SAndroid Build Coastguard Worker        "mesa_gfxstream_guest_android",
57*61046927SAndroid Build Coastguard Worker        "mesa_gfxstream_connection_manager",
58*61046927SAndroid Build Coastguard Worker        "libgfxstream_rcEnc_static",
59*61046927SAndroid Build Coastguard Worker        "libgfxstream_androidemu_static",
60*61046927SAndroid Build Coastguard Worker    ],
61*61046927SAndroid Build Coastguard Worker    shared_libs: [
62*61046927SAndroid Build Coastguard Worker        "liblog",
63*61046927SAndroid Build Coastguard Worker        "libcutils",
64*61046927SAndroid Build Coastguard Worker        "libbase",
65*61046927SAndroid Build Coastguard Worker        "libdrm",
66*61046927SAndroid Build Coastguard Worker        "libOpenglCodecCommon",
67*61046927SAndroid Build Coastguard Worker    ],
68*61046927SAndroid Build Coastguard Worker    cflags: [
69*61046927SAndroid Build Coastguard Worker        "-DLOG_TAG=\"goldfish_vulkan\"",
70*61046927SAndroid Build Coastguard Worker        "-DVK_NO_PROTOTYPES",
71*61046927SAndroid Build Coastguard Worker        "-fstrict-aliasing",
72*61046927SAndroid Build Coastguard Worker        "-fvisibility=hidden",
73*61046927SAndroid Build Coastguard Worker        "-Wno-missing-field-initializers",
74*61046927SAndroid Build Coastguard Worker        "-Wno-unused-function",
75*61046927SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
76*61046927SAndroid Build Coastguard Worker        "-Wno-cast-calling-convention",
77*61046927SAndroid Build Coastguard Worker    ],
78*61046927SAndroid Build Coastguard Worker    ldflags: [
79*61046927SAndroid Build Coastguard Worker        // Mesa always adds Bsymbolic when available (see 'ld_args_bsymbolic' in Meson build). Duplicate that
80*61046927SAndroid Build Coastguard Worker        // behavior here. '--gc-sections' has stronger justification: this lets drivers drop
81*61046927SAndroid Build Coastguard Worker        // shared code unused by that specific driver (particularly relevant for Vulkan drivers).
82*61046927SAndroid Build Coastguard Worker        "-Wl,-Bsymbolic",
83*61046927SAndroid Build Coastguard Worker        "-Wl,--gc-sections",
84*61046927SAndroid Build Coastguard Worker    ],
85*61046927SAndroid Build Coastguard Worker    srcs: [
86*61046927SAndroid Build Coastguard Worker        "gfxstream_vk_device.cpp",
87*61046927SAndroid Build Coastguard Worker        "gfxstream_vk_cmd.cpp",
88*61046927SAndroid Build Coastguard Worker        "gfxstream_vk_wsi.cpp",
89*61046927SAndroid Build Coastguard Worker        ":mesa_vulkan_enc_impl",
90*61046927SAndroid Build Coastguard Worker    ],
91*61046927SAndroid Build Coastguard Worker    target: {
92*61046927SAndroid Build Coastguard Worker        android: {
93*61046927SAndroid Build Coastguard Worker            relative_install_path: "hw",
94*61046927SAndroid Build Coastguard Worker            static_libs: [
95*61046927SAndroid Build Coastguard Worker                "mesa_u_gralloc",
96*61046927SAndroid Build Coastguard Worker            ],
97*61046927SAndroid Build Coastguard Worker            header_libs: [
98*61046927SAndroid Build Coastguard Worker                "hwvulkan_headers",
99*61046927SAndroid Build Coastguard Worker                "libnativebase_headers",
100*61046927SAndroid Build Coastguard Worker            ],
101*61046927SAndroid Build Coastguard Worker            shared_libs: [
102*61046927SAndroid Build Coastguard Worker                "libsync",
103*61046927SAndroid Build Coastguard Worker                "libhardware",
104*61046927SAndroid Build Coastguard Worker                "libnativewindow",
105*61046927SAndroid Build Coastguard Worker                "libhidlbase",
106*61046927SAndroid Build Coastguard Worker                "libutils",
107*61046927SAndroid Build Coastguard Worker            ],
108*61046927SAndroid Build Coastguard Worker            srcs: [
109*61046927SAndroid Build Coastguard Worker                "gfxstream_vk_android.cpp",
110*61046927SAndroid Build Coastguard Worker            ],
111*61046927SAndroid Build Coastguard Worker        },
112*61046927SAndroid Build Coastguard Worker        host: {
113*61046927SAndroid Build Coastguard Worker            cflags: [
114*61046927SAndroid Build Coastguard Worker                "-DEND2END_TESTS",
115*61046927SAndroid Build Coastguard Worker            ],
116*61046927SAndroid Build Coastguard Worker        },
117*61046927SAndroid Build Coastguard Worker    },
118*61046927SAndroid Build Coastguard Worker}
119