1# Copyright (C) 2012 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# TODO(b/186905324): Switch soc_ver with TARGET_BOARD_PLATFORM
16soc_ver := $(TARGET_BOARD_PLATFORM)
17
18LOCAL_PATH:= $(call my-dir)
19# HAL module implemenation, not prelinked and stored in
20# hw/<COPYPIX_HARDWARE_MODULE_ID>.<ro.product.board>.so
21
22ifeq ($(BOARD_USES_HWC_SERVICES),true)
23
24include $(CLEAR_VARS)
25
26LOCAL_HEADER_LIBRARIES := libhardware_legacy_headers libbinder_headers google_hal_headers
27LOCAL_HEADER_LIBRARIES += libgralloc_headers
28LOCAL_SHARED_LIBRARIES := liblog libcutils libutils libbinder libexynosdisplay libacryl \
29	android.hardware.graphics.composer@2.4 \
30	android.hardware.graphics.allocator@2.0 \
31	android.hardware.graphics.mapper@2.0 \
32	android.hardware.graphics.composer3-V4-ndk \
33	android.hardware.drm-V1-ndk
34
35LOCAL_SHARED_LIBRARIES += com.google.hardware.pixel.display-V13-ndk \
36                          android.frameworks.stats-V2-ndk \
37                          libpixelatoms_defs \
38                          pixelatoms-cpp \
39                          libbinder_ndk \
40                          libbase
41
42LOCAL_STATIC_LIBRARIES += libVendorVideoApi
43LOCAL_PROPRIETARY_MODULE := true
44
45LOCAL_C_INCLUDES += \
46	$(TOP)/hardware/google/graphics/common/include \
47	$(TOP)/hardware/google/graphics/common/libhwc2.1/libdevice \
48	$(TOP)/hardware/google/graphics/common/libhwc2.1/libmaindisplay \
49	$(TOP)/hardware/google/graphics/common/libhwc2.1/libexternaldisplay \
50	$(TOP)/hardware/google/graphics/common/libhwc2.1/libvirtualdisplay \
51	$(TOP)/hardware/google/graphics/common/libhwc2.1/libhwchelper \
52	$(TOP)/hardware/google/graphics/common/libhwc2.1/libresource \
53	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1 \
54	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libmaindisplay \
55	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libexternaldisplay \
56	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libvirtualdisplay \
57	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libresource \
58	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libcolormanager \
59	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libdevice \
60	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libresource \
61	$(TOP)/hardware/google/graphics/common/libhwc2.1/libhwcService \
62	$(TOP)/hardware/google/graphics/common/libhwc2.1/libdisplayinterface \
63	$(TOP)/hardware/google/graphics/common/libhwc2.1/libdrmresource/include
64
65LOCAL_EXPORT_SHARED_LIBRARY_HEADERS += libdrm
66LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_C_INCLUDES)
67
68LOCAL_CFLAGS := -DHLOG_CODE=0
69LOCAL_CFLAGS += -DLOG_TAG=\"hwc-service\"
70LOCAL_CFLAGS += -DSOC_VERSION=$(soc_ver)
71LOCAL_CFLAGS += -Wthread-safety
72
73ifeq ($(CLANG_COVERAGE),true)
74# enable code coverage (these flags are copied from build/soong/cc/coverage.go)
75LOCAL_CFLAGS += -fprofile-instr-generate -fcoverage-mapping
76LOCAL_CFLAGS += -Wno-frame-larger-than=
77LOCAL_WHOLE_STATIC_LIBRARIES += libprofile-clang-extras_ndk
78LOCAL_LDFLAGS += -fprofile-instr-generate
79LOCAL_LDFLAGS += -Wl,--wrap,open
80
81ifeq ($(CLANG_COVERAGE_CONTINUOUS_MODE),true)
82LOCAL_CFLAGS += -mllvm -runtime-counter-relocation
83LOCAL_LDFLAGS += -Wl,-mllvm=-runtime-counter-relocation
84endif
85endif
86
87LOCAL_SRC_FILES := \
88	libhwcService/IExynosHWC.cpp \
89	libhwcService/ExynosHWCService.cpp
90
91LOCAL_MODULE := libExynosHWCService
92LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
93LOCAL_LICENSE_CONDITIONS := notice
94LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
95LOCAL_MODULE_TAGS := optional
96
97include $(TOP)/hardware/google/graphics/common/BoardConfigCFlags.mk
98include $(BUILD_SHARED_LIBRARY)
99
100endif
101
102################################################################################
103
104include $(CLEAR_VARS)
105
106LOCAL_PRELINK_MODULE := false
107LOCAL_MODULE_RELATIVE_PATH := hw
108LOCAL_SHARED_LIBRARIES := liblog libcutils libutils libexynosdisplay libacryl \
109	android.hardware.graphics.composer@2.4 \
110	android.hardware.graphics.allocator@2.0 \
111	android.hardware.graphics.mapper@2.0 \
112	libui
113
114LOCAL_SHARED_LIBRARIES += android.hardware.graphics.composer3-V4-ndk \
115                          android.hardware.drm-V1-ndk \
116                          com.google.hardware.pixel.display-V13-ndk \
117                          android.frameworks.stats-V2-ndk \
118                          libpixelatoms_defs \
119                          pixelatoms-cpp \
120                          libbinder_ndk \
121                          libbase
122
123LOCAL_PROPRIETARY_MODULE := true
124LOCAL_HEADER_LIBRARIES := libhardware_legacy_headers libbinder_headers google_hal_headers
125LOCAL_HEADER_LIBRARIES += libgralloc_headers
126
127LOCAL_CFLAGS := -DHLOG_CODE=0
128LOCAL_CFLAGS += -DLOG_TAG=\"hwc-2\"
129LOCAL_CFLAGS += -DSOC_VERSION=$(soc_ver)
130LOCAL_CFLAGS += -Wthread-safety
131
132ifeq ($(CLANG_COVERAGE),true)
133# enable code coverage (these flags are copied from build/soong/cc/coverage.go)
134LOCAL_CFLAGS += -fprofile-instr-generate -fcoverage-mapping
135LOCAL_CFLAGS += -Wno-frame-larger-than=
136LOCAL_WHOLE_STATIC_LIBRARIES += libprofile-clang-extras_ndk
137LOCAL_LDFLAGS += -fprofile-instr-generate
138LOCAL_LDFLAGS += -Wl,--wrap,open
139
140ifeq ($(CLANG_COVERAGE_CONTINUOUS_MODE),true)
141LOCAL_CFLAGS += -mllvm -runtime-counter-relocation
142LOCAL_LDFLAGS += -Wl,-mllvm=-runtime-counter-relocation
143endif
144endif
145
146ifeq ($(BOARD_USES_HWC_SERVICES),true)
147LOCAL_CFLAGS += -DUSES_HWC_SERVICES
148LOCAL_SHARED_LIBRARIES += libExynosHWCService
149endif
150LOCAL_STATIC_LIBRARIES += libVendorVideoApi
151
152LOCAL_C_INCLUDES += \
153	$(TOP)/hardware/google/graphics/common/include \
154	$(TOP)/hardware/google/graphics/common/libhwc2.1/libdevice \
155	$(TOP)/hardware/google/graphics/common/libhwc2.1/libmaindisplay \
156	$(TOP)/hardware/google/graphics/common/libhwc2.1/libexternaldisplay \
157	$(TOP)/hardware/google/graphics/common/libhwc2.1/libvirtualdisplay \
158	$(TOP)/hardware/google/graphics/common/libhwc2.1/libhwchelper \
159	$(TOP)/hardware/google/graphics/common/libhwc2.1/libresource \
160	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1 \
161	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libmaindisplay \
162	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libexternaldisplay \
163	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libvirtualdisplay \
164	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libcolormanager \
165	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libresource \
166	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libdevice \
167	$(TOP)/hardware/google/graphics/$(soc_ver)/libhwc2.1/libresource \
168	$(TOP)/hardware/google/graphics/$(soc_ver)/include \
169	$(TOP)/hardware/google/graphics/common/libhwc2.1/libhwcService \
170	$(TOP)/hardware/google/graphics/common/libhwc2.1/libdisplayinterface
171
172LOCAL_SRC_FILES := \
173	ExynosHWC.cpp
174
175LOCAL_MODULE := hwcomposer.$(TARGET_BOARD_PLATFORM)
176LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
177LOCAL_LICENSE_CONDITIONS := notice
178LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
179LOCAL_MODULE_TAGS := optional
180
181include $(TOP)/hardware/google/graphics/common/BoardConfigCFlags.mk
182include $(BUILD_SHARED_LIBRARY)
183