blob: 879d2d0fa7b63576fdac3c2b39508e24bea4e5c6 [file] [log] [blame]
Dan Albert0fbb5322016-10-04 17:49:33 -07001// Copyright (C) 2016 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Jesse Hallb9d7b812019-04-12 16:05:37 -070015// Headers module is in external/vulkan-headers/Android.bp.
Bob Badour3c538232021-02-12 21:26:48 -080016package {
17 // See: http://go/android-license-faq
18 // A large-scale-change added 'default_applicable_licenses' to import
19 // all of the 'license_kinds' from "frameworks_native_license"
20 // to get the below license kinds:
21 // SPDX-license-identifier-Apache-2.0
22 default_applicable_licenses: ["frameworks_native_license"],
23}
24
Dan Albert0fbb5322016-10-04 17:49:33 -070025ndk_library {
Dan Willemsen219db6c2017-04-07 15:48:39 -070026 name: "libvulkan",
Dan Albert0fbb5322016-10-04 17:49:33 -070027 symbol_file: "libvulkan.map.txt",
28 first_version: "24",
Dan Albertb9c62a62017-01-05 15:58:50 -080029 unversioned_until: "current",
Dan Albert0fbb5322016-10-04 17:49:33 -070030}
Colin Cross7884c192016-12-05 13:26:22 -080031
Tom Murphyea321842024-06-14 18:26:58 +000032aconfig_declarations {
33 name: "libvulkan_flags",
34 package: "com.android.graphics.libvulkan.flags",
35 container: "system",
36 srcs: ["libvulkan_flags.aconfig"],
37}
38
39cc_aconfig_library {
40 name: "libvulkanflags",
41 aconfig_declarations: "libvulkan_flags",
42}
43
Colin Cross7884c192016-12-05 13:26:22 -080044cc_library_shared {
45 name: "libvulkan",
Colin Cross03943642021-04-21 16:47:25 -070046 llndk: {
47 symbol_file: "libvulkan.map.txt",
48 export_llndk_headers: [
Colin Crossed0e6e62021-04-26 17:19:59 -070049 "vulkan_headers",
Colin Cross03943642021-04-21 16:47:25 -070050 ],
51 },
Colin Cross7884c192016-12-05 13:26:22 -080052 sanitize: {
53 misc_undefined: ["integer"],
54 },
55
56 cflags: [
57 "-DLOG_TAG=\"vulkan\"",
58 "-DVK_USE_PLATFORM_ANDROID_KHR",
59 "-DVK_NO_PROTOTYPES",
60 "-fvisibility=hidden",
61 "-fstrict-aliasing",
Colin Cross1383d9f2019-11-06 13:33:40 -080062 "-Wextra",
Colin Cross7884c192016-12-05 13:26:22 -080063 "-Werror",
64 "-Wno-padded",
Colin Cross1383d9f2019-11-06 13:33:40 -080065 "-Wno-sign-compare",
Colin Cross7884c192016-12-05 13:26:22 -080066 "-Wno-switch-enum",
Colin Cross1383d9f2019-11-06 13:33:40 -080067 "-Wno-unused-variable",
68 "-Wno-unused-function",
Colin Cross7884c192016-12-05 13:26:22 -080069
dimitrya7cc50d2018-12-10 17:06:07 +010070 // Have clang emit complete debug_info.
71 "-fstandalone-debug",
72
Colin Cross7884c192016-12-05 13:26:22 -080073 //"-DLOG_NDEBUG=0",
74 ],
75
76 cppflags: [
Colin Cross7884c192016-12-05 13:26:22 -080077 "-Wno-c99-extensions",
78 "-Wno-c++98-compat-pedantic",
79 "-Wno-exit-time-destructors",
Dan Stoza71bded52016-10-19 11:10:33 -070080 "-Wno-float-equal",
Colin Cross7884c192016-12-05 13:26:22 -080081 "-Wno-global-constructors",
82 "-Wno-zero-length-array",
83 ],
84
85 srcs: [
86 "api.cpp",
87 "api_gen.cpp",
88 "debug_report.cpp",
89 "driver.cpp",
90 "driver_gen.cpp",
91 "layers_extensions.cpp",
92 "stubhal.cpp",
93 "swapchain.cpp",
Colin Cross7884c192016-12-05 13:26:22 -080094 ],
95
Stephen Kiazyke77dce22017-03-14 15:38:12 -070096 header_libs: [
Jesse Hall408eda02019-04-12 15:39:16 -070097 "hwvulkan_headers",
Paul Duffin08026182019-09-12 15:01:28 +010098 "libnativeloader-headers",
Colin Cross7884c192016-12-05 13:26:22 -080099 "vulkan_headers",
Sundong Ahnbc37dd52020-04-23 21:21:00 +0900100 "libsurfaceflinger_headers",
Colin Cross7884c192016-12-05 13:26:22 -0800101 ],
Jesse Hall408eda02019-04-12 15:39:16 -0700102 export_header_lib_headers: ["vulkan_headers"],
Colin Cross7884c192016-12-05 13:26:22 -0800103 shared_libs: [
Courtney Goeltzenleuchter7671d462018-01-24 11:51:01 -0800104 "android.hardware.configstore@1.0",
105 "android.hardware.configstore-utils",
Jaekyun Seokd56dec82016-11-25 16:20:40 +0900106 "libziparchive",
Colin Cross7884c192016-12-05 13:26:22 -0800107 "libhardware",
108 "libsync",
109 "libbase",
Courtney Goeltzenleuchter7671d462018-01-24 11:51:01 -0800110 "libhidlbase",
Colin Cross7884c192016-12-05 13:26:22 -0800111 "liblog",
Mathias Agopian991d2542017-02-06 13:51:32 -0800112 "libui",
Jiyong Park27c39e12017-05-08 13:00:02 +0900113 "libgraphicsenv",
Colin Cross7884c192016-12-05 13:26:22 -0800114 "libutils",
115 "libcutils",
116 "libz",
Jiyong Park2d81f3c2019-01-29 00:36:19 +0900117 "libnativebridge_lazy",
118 "libnativeloader_lazy",
Brian Andersondc96fdf2017-03-20 16:54:25 -0700119 "libnativewindow",
Yiwei Zhang06c66fb2020-10-14 08:42:26 -0700120 "libvndksupport",
Jooyung Han749b0ec2023-11-15 13:38:06 +0900121 "libdl_android",
Daniel Kochf25f5bb2017-10-05 00:26:58 -0400122 "android.hardware.graphics.common@1.0",
Sundong Ahnbc37dd52020-04-23 21:21:00 +0900123 "libSurfaceFlingerProp",
Colin Cross7884c192016-12-05 13:26:22 -0800124 ],
Tom Murphyea321842024-06-14 18:26:58 +0000125 static_libs: [
126 "libgrallocusage",
127 "libvulkanflags",
128 ],
Colin Cross7884c192016-12-05 13:26:22 -0800129}