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