xref: /aosp_15_r20/frameworks/native/vulkan/libvulkan/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1*38e8c45fSAndroid Build Coastguard Worker// Copyright (C) 2016 The Android Open Source Project
2*38e8c45fSAndroid Build Coastguard Worker//
3*38e8c45fSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*38e8c45fSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*38e8c45fSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*38e8c45fSAndroid Build Coastguard Worker//
7*38e8c45fSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*38e8c45fSAndroid Build Coastguard Worker//
9*38e8c45fSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*38e8c45fSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*38e8c45fSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*38e8c45fSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*38e8c45fSAndroid Build Coastguard Worker// limitations under the License.
14*38e8c45fSAndroid Build Coastguard Worker
15*38e8c45fSAndroid Build Coastguard Worker// Headers module is in external/vulkan-headers/Android.bp.
16*38e8c45fSAndroid Build Coastguard Workerpackage {
17*38e8c45fSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
18*38e8c45fSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
19*38e8c45fSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_native_license"
20*38e8c45fSAndroid Build Coastguard Worker    // to get the below license kinds:
21*38e8c45fSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
22*38e8c45fSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_native_license"],
23*38e8c45fSAndroid Build Coastguard Worker}
24*38e8c45fSAndroid Build Coastguard Worker
25*38e8c45fSAndroid Build Coastguard Workerndk_library {
26*38e8c45fSAndroid Build Coastguard Worker    name: "libvulkan",
27*38e8c45fSAndroid Build Coastguard Worker    symbol_file: "libvulkan.map.txt",
28*38e8c45fSAndroid Build Coastguard Worker    first_version: "24",
29*38e8c45fSAndroid Build Coastguard Worker    unversioned_until: "current",
30*38e8c45fSAndroid Build Coastguard Worker}
31*38e8c45fSAndroid Build Coastguard Worker
32*38e8c45fSAndroid Build Coastguard Workeraconfig_declarations {
33*38e8c45fSAndroid Build Coastguard Worker    name: "libvulkan_flags",
34*38e8c45fSAndroid Build Coastguard Worker    package: "com.android.graphics.libvulkan.flags",
35*38e8c45fSAndroid Build Coastguard Worker    container: "system",
36*38e8c45fSAndroid Build Coastguard Worker    srcs: ["libvulkan_flags.aconfig"],
37*38e8c45fSAndroid Build Coastguard Worker}
38*38e8c45fSAndroid Build Coastguard Worker
39*38e8c45fSAndroid Build Coastguard Workercc_aconfig_library {
40*38e8c45fSAndroid Build Coastguard Worker    name: "libvulkanflags",
41*38e8c45fSAndroid Build Coastguard Worker    aconfig_declarations: "libvulkan_flags",
42*38e8c45fSAndroid Build Coastguard Worker}
43*38e8c45fSAndroid Build Coastguard Worker
44*38e8c45fSAndroid Build Coastguard Workercc_library_shared {
45*38e8c45fSAndroid Build Coastguard Worker    name: "libvulkan",
46*38e8c45fSAndroid Build Coastguard Worker    llndk: {
47*38e8c45fSAndroid Build Coastguard Worker        symbol_file: "libvulkan.map.txt",
48*38e8c45fSAndroid Build Coastguard Worker        export_llndk_headers: [
49*38e8c45fSAndroid Build Coastguard Worker            "vulkan_headers",
50*38e8c45fSAndroid Build Coastguard Worker        ],
51*38e8c45fSAndroid Build Coastguard Worker    },
52*38e8c45fSAndroid Build Coastguard Worker    sanitize: {
53*38e8c45fSAndroid Build Coastguard Worker        misc_undefined: ["integer"],
54*38e8c45fSAndroid Build Coastguard Worker    },
55*38e8c45fSAndroid Build Coastguard Worker
56*38e8c45fSAndroid Build Coastguard Worker    cflags: [
57*38e8c45fSAndroid Build Coastguard Worker        "-DLOG_TAG=\"vulkan\"",
58*38e8c45fSAndroid Build Coastguard Worker        "-DVK_USE_PLATFORM_ANDROID_KHR",
59*38e8c45fSAndroid Build Coastguard Worker        "-DVK_NO_PROTOTYPES",
60*38e8c45fSAndroid Build Coastguard Worker        "-fvisibility=hidden",
61*38e8c45fSAndroid Build Coastguard Worker        "-fstrict-aliasing",
62*38e8c45fSAndroid Build Coastguard Worker        "-Wextra",
63*38e8c45fSAndroid Build Coastguard Worker        "-Werror",
64*38e8c45fSAndroid Build Coastguard Worker        "-Wno-padded",
65*38e8c45fSAndroid Build Coastguard Worker        "-Wno-sign-compare",
66*38e8c45fSAndroid Build Coastguard Worker        "-Wno-switch-enum",
67*38e8c45fSAndroid Build Coastguard Worker        "-Wno-unused-variable",
68*38e8c45fSAndroid Build Coastguard Worker        "-Wno-unused-function",
69*38e8c45fSAndroid Build Coastguard Worker
70*38e8c45fSAndroid Build Coastguard Worker        // Have clang emit complete debug_info.
71*38e8c45fSAndroid Build Coastguard Worker        "-fstandalone-debug",
72*38e8c45fSAndroid Build Coastguard Worker
73*38e8c45fSAndroid Build Coastguard Worker        //"-DLOG_NDEBUG=0",
74*38e8c45fSAndroid Build Coastguard Worker    ],
75*38e8c45fSAndroid Build Coastguard Worker
76*38e8c45fSAndroid Build Coastguard Worker    cppflags: [
77*38e8c45fSAndroid Build Coastguard Worker        "-Wno-c99-extensions",
78*38e8c45fSAndroid Build Coastguard Worker        "-Wno-c++98-compat-pedantic",
79*38e8c45fSAndroid Build Coastguard Worker        "-Wno-exit-time-destructors",
80*38e8c45fSAndroid Build Coastguard Worker        "-Wno-float-equal",
81*38e8c45fSAndroid Build Coastguard Worker        "-Wno-global-constructors",
82*38e8c45fSAndroid Build Coastguard Worker        "-Wno-zero-length-array",
83*38e8c45fSAndroid Build Coastguard Worker    ],
84*38e8c45fSAndroid Build Coastguard Worker
85*38e8c45fSAndroid Build Coastguard Worker    srcs: [
86*38e8c45fSAndroid Build Coastguard Worker        "api.cpp",
87*38e8c45fSAndroid Build Coastguard Worker        "api_gen.cpp",
88*38e8c45fSAndroid Build Coastguard Worker        "debug_report.cpp",
89*38e8c45fSAndroid Build Coastguard Worker        "driver.cpp",
90*38e8c45fSAndroid Build Coastguard Worker        "driver_gen.cpp",
91*38e8c45fSAndroid Build Coastguard Worker        "layers_extensions.cpp",
92*38e8c45fSAndroid Build Coastguard Worker        "stubhal.cpp",
93*38e8c45fSAndroid Build Coastguard Worker        "swapchain.cpp",
94*38e8c45fSAndroid Build Coastguard Worker    ],
95*38e8c45fSAndroid Build Coastguard Worker
96*38e8c45fSAndroid Build Coastguard Worker    header_libs: [
97*38e8c45fSAndroid Build Coastguard Worker        "hwvulkan_headers",
98*38e8c45fSAndroid Build Coastguard Worker        "libnativeloader-headers",
99*38e8c45fSAndroid Build Coastguard Worker        "vulkan_headers",
100*38e8c45fSAndroid Build Coastguard Worker        "libsurfaceflinger_headers",
101*38e8c45fSAndroid Build Coastguard Worker    ],
102*38e8c45fSAndroid Build Coastguard Worker    export_header_lib_headers: ["vulkan_headers"],
103*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
104*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
105*38e8c45fSAndroid Build Coastguard Worker        "android.hardware.configstore-utils",
106*38e8c45fSAndroid Build Coastguard Worker        "libziparchive",
107*38e8c45fSAndroid Build Coastguard Worker        "libhardware",
108*38e8c45fSAndroid Build Coastguard Worker        "libsync",
109*38e8c45fSAndroid Build Coastguard Worker        "libbase",
110*38e8c45fSAndroid Build Coastguard Worker        "libhidlbase",
111*38e8c45fSAndroid Build Coastguard Worker        "liblog",
112*38e8c45fSAndroid Build Coastguard Worker        "libui",
113*38e8c45fSAndroid Build Coastguard Worker        "libgraphicsenv",
114*38e8c45fSAndroid Build Coastguard Worker        "libutils",
115*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
116*38e8c45fSAndroid Build Coastguard Worker        "libz",
117*38e8c45fSAndroid Build Coastguard Worker        "libnativebridge_lazy",
118*38e8c45fSAndroid Build Coastguard Worker        "libnativeloader_lazy",
119*38e8c45fSAndroid Build Coastguard Worker        "libnativewindow",
120*38e8c45fSAndroid Build Coastguard Worker        "libvndksupport",
121*38e8c45fSAndroid Build Coastguard Worker        "libdl_android",
122*38e8c45fSAndroid Build Coastguard Worker        "[email protected]",
123*38e8c45fSAndroid Build Coastguard Worker        "libSurfaceFlingerProp",
124*38e8c45fSAndroid Build Coastguard Worker    ],
125*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
126*38e8c45fSAndroid Build Coastguard Worker        "libgrallocusage",
127*38e8c45fSAndroid Build Coastguard Worker        "libvulkanflags",
128*38e8c45fSAndroid Build Coastguard Worker    ],
129*38e8c45fSAndroid Build Coastguard Worker}
130