blob: be8fb3ea1d1735069ddb2c02ca7c00a85ad42cd6 [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
Tom Murphy244dbe42025-02-19 18:50:46 +000025// Expose internal header files to test testing binary
26cc_library_headers {
27 name: "libvulkanprivate_headers-testing",
28 export_include_dirs: ["."],
29 visibility: ["//frameworks/native/vulkan/tests"],
30}
31
Dan Albert0fbb5322016-10-04 17:49:33 -070032ndk_library {
Dan Willemsen219db6c2017-04-07 15:48:39 -070033 name: "libvulkan",
Dan Albert0fbb5322016-10-04 17:49:33 -070034 symbol_file: "libvulkan.map.txt",
35 first_version: "24",
Dan Albertb9c62a62017-01-05 15:58:50 -080036 unversioned_until: "current",
Dan Albert0fbb5322016-10-04 17:49:33 -070037}
Colin Cross7884c192016-12-05 13:26:22 -080038
Tom Murphyea321842024-06-14 18:26:58 +000039aconfig_declarations {
40 name: "libvulkan_flags",
41 package: "com.android.graphics.libvulkan.flags",
42 container: "system",
43 srcs: ["libvulkan_flags.aconfig"],
44}
45
46cc_aconfig_library {
47 name: "libvulkanflags",
48 aconfig_declarations: "libvulkan_flags",
49}
50
Colin Cross7884c192016-12-05 13:26:22 -080051cc_library_shared {
52 name: "libvulkan",
Colin Cross03943642021-04-21 16:47:25 -070053 llndk: {
54 symbol_file: "libvulkan.map.txt",
55 export_llndk_headers: [
Colin Crossed0e6e62021-04-26 17:19:59 -070056 "vulkan_headers",
Colin Cross03943642021-04-21 16:47:25 -070057 ],
58 },
Colin Cross7884c192016-12-05 13:26:22 -080059 sanitize: {
60 misc_undefined: ["integer"],
61 },
62
63 cflags: [
64 "-DLOG_TAG=\"vulkan\"",
65 "-DVK_USE_PLATFORM_ANDROID_KHR",
66 "-DVK_NO_PROTOTYPES",
67 "-fvisibility=hidden",
68 "-fstrict-aliasing",
Colin Cross1383d9f2019-11-06 13:33:40 -080069 "-Wextra",
Colin Cross7884c192016-12-05 13:26:22 -080070 "-Werror",
71 "-Wno-padded",
Colin Cross1383d9f2019-11-06 13:33:40 -080072 "-Wno-sign-compare",
Colin Cross7884c192016-12-05 13:26:22 -080073 "-Wno-switch-enum",
Colin Cross1383d9f2019-11-06 13:33:40 -080074 "-Wno-unused-variable",
75 "-Wno-unused-function",
Colin Cross7884c192016-12-05 13:26:22 -080076
dimitrya7cc50d2018-12-10 17:06:07 +010077 // Have clang emit complete debug_info.
78 "-fstandalone-debug",
79
Colin Cross7884c192016-12-05 13:26:22 -080080 //"-DLOG_NDEBUG=0",
81 ],
82
83 cppflags: [
Colin Cross7884c192016-12-05 13:26:22 -080084 "-Wno-c99-extensions",
85 "-Wno-c++98-compat-pedantic",
86 "-Wno-exit-time-destructors",
Dan Stoza71bded52016-10-19 11:10:33 -070087 "-Wno-float-equal",
Colin Cross7884c192016-12-05 13:26:22 -080088 "-Wno-global-constructors",
89 "-Wno-zero-length-array",
90 ],
91
92 srcs: [
93 "api.cpp",
94 "api_gen.cpp",
95 "debug_report.cpp",
96 "driver.cpp",
97 "driver_gen.cpp",
98 "layers_extensions.cpp",
99 "stubhal.cpp",
100 "swapchain.cpp",
Colin Cross7884c192016-12-05 13:26:22 -0800101 ],
102
Stephen Kiazyke77dce22017-03-14 15:38:12 -0700103 header_libs: [
Jesse Hall408eda02019-04-12 15:39:16 -0700104 "hwvulkan_headers",
Paul Duffin08026182019-09-12 15:01:28 +0100105 "libnativeloader-headers",
Colin Cross7884c192016-12-05 13:26:22 -0800106 "vulkan_headers",
Sundong Ahnbc37dd52020-04-23 21:21:00 +0900107 "libsurfaceflinger_headers",
Colin Cross7884c192016-12-05 13:26:22 -0800108 ],
Jesse Hall408eda02019-04-12 15:39:16 -0700109 export_header_lib_headers: ["vulkan_headers"],
Colin Cross7884c192016-12-05 13:26:22 -0800110 shared_libs: [
Courtney Goeltzenleuchter7671d462018-01-24 11:51:01 -0800111 "android.hardware.configstore@1.0",
112 "android.hardware.configstore-utils",
Jaekyun Seokd56dec82016-11-25 16:20:40 +0900113 "libziparchive",
Colin Cross7884c192016-12-05 13:26:22 -0800114 "libhardware",
115 "libsync",
116 "libbase",
Courtney Goeltzenleuchter7671d462018-01-24 11:51:01 -0800117 "libhidlbase",
Colin Cross7884c192016-12-05 13:26:22 -0800118 "liblog",
Mathias Agopian991d2542017-02-06 13:51:32 -0800119 "libui",
Jiyong Park27c39e12017-05-08 13:00:02 +0900120 "libgraphicsenv",
Colin Cross7884c192016-12-05 13:26:22 -0800121 "libutils",
122 "libcutils",
123 "libz",
Jiyong Park2d81f3c2019-01-29 00:36:19 +0900124 "libnativebridge_lazy",
125 "libnativeloader_lazy",
Brian Andersondc96fdf2017-03-20 16:54:25 -0700126 "libnativewindow",
Yiwei Zhang06c66fb2020-10-14 08:42:26 -0700127 "libvndksupport",
Jooyung Han749b0ec2023-11-15 13:38:06 +0900128 "libdl_android",
Daniel Kochf25f5bb2017-10-05 00:26:58 -0400129 "android.hardware.graphics.common@1.0",
Sundong Ahnbc37dd52020-04-23 21:21:00 +0900130 "libSurfaceFlingerProp",
Colin Cross7884c192016-12-05 13:26:22 -0800131 ],
Tom Murphyea321842024-06-14 18:26:58 +0000132 static_libs: [
133 "libgrallocusage",
134 "libvulkanflags",
135 ],
Colin Cross7884c192016-12-05 13:26:22 -0800136}