• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Enable SDLLVM compiler option for build flavour >= N flavour
2PLATFORM_SDK_NPDK = 24
3ENABLE_CAM_SDLLVM  := $(shell if [ $(PLATFORM_SDK_VERSION) -ge $(PLATFORM_SDK_NPDK) ] ; then echo true ; else echo false ; fi)
4ifeq ($(ENABLE_CAM_SDLLVM),true)
5SDCLANGSAVE := $(SDCLANG)
6SDCLANG := true
7endif
8
9ifneq (,$(filter $(TARGET_ARCH), arm arm64))
10
11LOCAL_PATH:= $(call my-dir)
12
13include $(CLEAR_VARS)
14
15
16LOCAL_COPY_HEADERS_TO := qcom/camera
17LOCAL_COPY_HEADERS := QCameraFormat.h
18
19LOCAL_SRC_FILES := \
20        util/QCameraBufferMaps.cpp \
21        util/QCameraCmdThread.cpp \
22        util/QCameraFlash.cpp \
23        util/QCameraPerf.cpp \
24        util/QCameraQueue.cpp \
25        util/QCameraCommon.cpp \
26        util/QCameraTrace.cpp \
27        util/camscope_packet_type.cpp \
28        QCamera2Hal.cpp \
29        QCamera2Factory.cpp
30
31#HAL 3.0 source
32LOCAL_SRC_FILES += \
33        HAL3/QCamera3HdrPlusListenerThread.cpp \
34        HAL3/QCamera3HWI.cpp \
35        HAL3/QCamera3Mem.cpp \
36        HAL3/QCamera3Stream.cpp \
37        HAL3/QCamera3Channel.cpp \
38        HAL3/QCamera3VendorTags.cpp \
39        HAL3/QCamera3PostProc.cpp \
40        HAL3/QCamera3CropRegionMapper.cpp \
41        HAL3/QCamera3StreamMem.cpp
42
43LOCAL_CFLAGS := -Wall -Wextra -Werror
44
45#HAL 1.0 source
46
47ifeq ($(TARGET_SUPPORT_HAL1),false)
48LOCAL_CFLAGS += -DQCAMERA_HAL3_SUPPORT
49else
50LOCAL_CFLAGS += -DQCAMERA_HAL1_SUPPORT
51LOCAL_SRC_FILES += \
52        HAL/QCamera2HWI.cpp \
53        HAL/QCameraMuxer.cpp \
54        HAL/QCameraMem.cpp \
55        HAL/QCameraStateMachine.cpp \
56        HAL/QCameraChannel.cpp \
57        HAL/QCameraStream.cpp \
58        HAL/QCameraPostProc.cpp \
59        HAL/QCamera2HWICallbacks.cpp \
60        HAL/QCameraParameters.cpp \
61        HAL/QCameraParametersIntf.cpp \
62        HAL/QCameraThermalAdapter.cpp \
63        util/QCameraFOVControl.cpp \
64        util/QCameraHALPP.cpp \
65        util/QCameraDualFOVPP.cpp \
66        util/QCameraExtZoomTranslator.cpp
67endif
68
69# System header file path prefix
70LOCAL_CFLAGS += -DSYSTEM_HEADER_PREFIX=sys
71
72LOCAL_CFLAGS += -DHAS_MULTIMEDIA_HINTS -D_ANDROID
73
74ifeq ($(TARGET_USES_AOSP),true)
75LOCAL_CFLAGS += -DVANILLA_HAL
76endif
77
78ifeq (1,$(filter 1,$(shell echo "$$(( $(PLATFORM_SDK_VERSION) <= 23 ))" )))
79LOCAL_CFLAGS += -DUSE_HAL_3_3
80endif
81
82#use media extension
83ifeq ($(TARGET_USES_MEDIA_EXTENSIONS), true)
84LOCAL_CFLAGS += -DUSE_MEDIA_EXTENSIONS
85endif
86
87LOCAL_CFLAGS += -std=c++14 -std=gnu++1z
88#HAL 1.0 Flags
89LOCAL_CFLAGS += -DDEFAULT_DENOISE_MODE_ON -DHAL3 -DQCAMERA_REDEFINE_LOG
90
91LOCAL_C_INCLUDES := \
92        $(LOCAL_PATH)/../mm-image-codec/qexif \
93        $(LOCAL_PATH)/../mm-image-codec/qomx_core \
94        $(LOCAL_PATH)/include \
95        $(LOCAL_PATH)/stack/common \
96        $(LOCAL_PATH)/stack/mm-camera-interface/inc \
97        $(LOCAL_PATH)/util \
98        $(LOCAL_PATH)/HAL3 \
99        hardware/libhardware/include/hardware \
100        $(SRC_MEDIA_HAL_DIR)/libstagefrighthw \
101        $(SRC_MEDIA_HAL_DIR)/mm-core/inc \
102        system/core/include/cutils \
103        system/core/include/system \
104        system/media/camera/include/system
105
106#HAL 1.0 Include paths
107LOCAL_C_INCLUDES += \
108        $(LOCAL_PATH)/HAL
109
110ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true)
111LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
112LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
113endif
114ifeq ($(TARGET_TS_MAKEUP),true)
115LOCAL_CFLAGS += -DTARGET_TS_MAKEUP
116LOCAL_C_INCLUDES += $(LOCAL_PATH)/HAL/tsMakeuplib/include
117endif
118ifneq (,$(filter msm8974 msm8916 msm8226 msm8610 msm8916 apq8084 msm8084 msm8994 msm8992 msm8952 msm8937 msm8953 msm8996 msmcobalt sdm660 msm8998, $(TARGET_BOARD_PLATFORM)))
119    LOCAL_CFLAGS += -DVENUS_PRESENT
120endif
121
122# Disable UBWC for Easel HDR+.
123ifeq ($(TARGET_USES_EASEL), false)
124ifneq (,$(filter msm8996 msmcobalt sdm660 msm8998,$(TARGET_BOARD_PLATFORM)))
125    LOCAL_CFLAGS += -DUBWC_PRESENT
126endif
127endif
128
129ifneq (,$(filter msm8996,$(TARGET_BOARD_PLATFORM)))
130    LOCAL_CFLAGS += -DTARGET_MSM8996
131endif
132
133LOCAL_CFLAGS += -DUSE_CAMERA_METABUFFER_UTILS
134
135#LOCAL_STATIC_LIBRARIES := libqcamera2_util
136LOCAL_STATIC_LIBRARIES := android.hardware.camera.common@1.0-helper
137LOCAL_C_INCLUDES += \
138        $(TARGET_OUT_HEADERS)/mm-core/omxcore \
139        $(TARGET_OUT_HEADERS)/qcom/display
140LOCAL_C_INCLUDES += \
141        $(SRC_DISPLAY_HAL_DIR)/libqservice
142LOCAL_SHARED_LIBRARIES := liblog libhardware libutils libcutils libdl libsync
143LOCAL_SHARED_LIBRARIES += libmmcamera_interface libmmjpeg_interface libui libcamera_metadata
144LOCAL_SHARED_LIBRARIES += libqdMetaData libqservice libbinder
145LOCAL_SHARED_LIBRARIES += libbase libcutils libdl libhdrplusclient
146LOCAL_SHARED_LIBRARIES += libhidlbase libhwbinder libutils android.hardware.power@1.2
147LOCAL_SHARED_LIBRARIES += libtinyxml2
148ifeq ($(TARGET_TS_MAKEUP),true)
149LOCAL_SHARED_LIBRARIES += libts_face_beautify_hal libts_detected_face_hal
150endif
151LOCAL_HEADER_LIBRARIES := libhardware_headers media_plugin_headers
152
153LOCAL_MODULE_RELATIVE_PATH := hw
154LOCAL_MODULE := camera.$(TARGET_BOARD_PLATFORM)
155LOCAL_VENDOR_MODULE := true
156LOCAL_MODULE_TAGS := optional
157
158LOCAL_32_BIT_ONLY := $(BOARD_QTI_CAMERA_32BIT_ONLY)
159include $(BUILD_SHARED_LIBRARY)
160
161include $(call first-makefiles-under,$(LOCAL_PATH))
162endif
163ifeq ($(ENABLE_CAM_SDLLVM),true)
164SDCLANG := $(SDCLANGSAVE)
165endif
166