blob: d0e34eef4333804b278ea85a37b74ecba8d870ef [file] [log] [blame]
Jiwen 'Steve' Cai64177e82017-05-08 17:07:52 -07001// Copyright (C) 2017 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
15
16cc_library_headers {
17 name: "libdvr_headers",
Jiwen 'Steve' Cai64177e82017-05-08 17:07:52 -070018 export_include_dirs: ["include"],
Jiwen 'Steve' Cai0f950842018-01-16 17:05:54 -080019 vendor_available: false,
20 vndk: {
21 enabled: true,
22 },
Jiwen 'Steve' Cai64177e82017-05-08 17:07:52 -070023}
24
Steven Thomas3be0aa62017-05-08 15:45:30 -070025cflags = [
26 "-DLOG_TAG=\"libdvr\"",
Jiwen 'Steve' Cai656f4062017-05-22 13:02:33 -070027 "-DTRACE=0",
Chih-Hung Hsiehe1900832017-10-05 14:27:38 -070028 "-Wall",
29 "-Werror",
Steven Thomas3be0aa62017-05-08 15:45:30 -070030]
31
32srcs = [
33 "dvr_api.cpp",
34 "dvr_buffer.cpp",
35 "dvr_buffer_queue.cpp",
Hendrik Wagenaarbcb03d02017-05-23 14:59:08 -070036 "dvr_configuration_data.cpp",
Steven Thomas3be0aa62017-05-08 15:45:30 -070037 "dvr_display_manager.cpp",
38 "dvr_hardware_composer_client.cpp",
Corey Tabakafeb636d2017-06-23 16:20:07 -070039 "dvr_performance.cpp",
Marie White5096c652017-08-08 22:23:45 -070040 "dvr_pose.cpp",
Steven Thomas3be0aa62017-05-08 15:45:30 -070041 "dvr_surface.cpp",
42 "dvr_vsync.cpp",
43]
44
45static_libs = [
Okan Arikan822b7102017-05-08 13:31:34 -070046 "libbroadcastring",
Steven Thomas3be0aa62017-05-08 15:45:30 -070047 "libvrsensor",
Okan Arikan822b7102017-05-08 13:31:34 -070048 "libdisplay",
Steven Thomas3be0aa62017-05-08 15:45:30 -070049 "libvirtualtouchpadclient",
50 "libvr_hwc-impl",
51 "libvr_hwc-binder",
52 "libgrallocusage",
Corey Tabakafeb636d2017-06-23 16:20:07 -070053 "libperformance",
Steven Thomas3be0aa62017-05-08 15:45:30 -070054]
55
56shared_libs = [
57 "android.hardware.graphics.bufferqueue@1.0",
58 "android.hidl.token@1.0-utils",
59 "libbase",
Jiwen 'Steve' Cai037f35a2018-01-25 19:40:23 -080060 "libbufferhubqueue",
Steven Thomas3be0aa62017-05-08 15:45:30 -070061 "libbinder",
62 "liblog",
63 "libcutils",
64 "libutils",
65 "libnativewindow",
66 "libgui",
67 "libui",
Jiwen 'Steve' Cai037f35a2018-01-25 19:40:23 -080068 "libpdx_default_transport",
Steven Thomas3be0aa62017-05-08 15:45:30 -070069]
70
71cc_library_shared {
Jiwen 'Steve' Cai64177e82017-05-08 17:07:52 -070072 name: "libdvr",
73 owner: "google",
Steven Thomas3be0aa62017-05-08 15:45:30 -070074 cflags: cflags,
Jiwen 'Steve' Cai64177e82017-05-08 17:07:52 -070075 header_libs: ["libdvr_headers"],
76 export_header_lib_headers: ["libdvr_headers"],
Steven Thomas3be0aa62017-05-08 15:45:30 -070077 srcs: srcs,
78 static_libs: static_libs,
79 shared_libs: shared_libs,
80 version_script: "exported_apis.lds",
81}
Jiwen 'Steve' Cai64177e82017-05-08 17:07:52 -070082
Steven Thomas3be0aa62017-05-08 15:45:30 -070083// Also build a static libdvr for linking into tests. The linker script
84// restricting function access in the shared lib makes it inconvenient to use in
85// test code.
86cc_library_static {
87 name: "libdvr_static",
88 owner: "google",
89 cflags: cflags,
90 header_libs: ["libdvr_headers"],
91 export_header_lib_headers: ["libdvr_headers"],
92 srcs: srcs,
93 static_libs: static_libs,
94 shared_libs: shared_libs,
Jiwen 'Steve' Cai64177e82017-05-08 17:07:52 -070095}
96
97subdirs = [
98 "tests",
99]