1a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
2a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang#ifeq ($(call is-board-platform,msm8960),true)
3a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangOLD_LOCAL_PATH := $(LOCAL_PATH)
4a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_PATH := $(call my-dir)
5a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
6a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wanginclude $(CLEAR_VARS)
7a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
8a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangDLOPEN_LIBMMCAMERA:=0
9a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
10a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_CFLAGS:= -DDLOPEN_LIBMMCAMERA=$(DLOPEN_LIBMMCAMERA)
11a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
12a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wangifeq ($(strip $(TARGET_USES_ION)),true)
13a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DUSE_ION
14a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wangendif
15a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
16a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_CFLAGS += -DCAMERA_ION_HEAP_ID=ION_CP_MM_HEAP_ID # 8660=SMI, Rest=EBI
17a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_CFLAGS += -DCAMERA_ZSL_ION_HEAP_ID=ION_CP_MM_HEAP_ID
18a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
19a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_CFLAGS+= -DHW_ENCODE
20a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_CFLAGS+= -DUSE_NEON_CONVERSION
21a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
22f5198bf2ec5f39e8a46552172124bd7411f5c63fShuzhen Wangifeq ($(TARGET_BOARD_PLATFORM),msm8960)
23a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_MM_HEAP
24a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_IOMMU_HEAP
25a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_ION_FALLBACK_HEAP_ID=ION_IOMMU_HEAP_ID
26a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_ZSL_ION_FALLBACK_HEAP_ID=ION_IOMMU_HEAP_ID
27a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=0
28f5198bf2ec5f39e8a46552172124bd7411f5c63fShuzhen Wangelse ifeq ($(TARGET_BOARD_PLATFORM),msm8660)
29a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_CAMERA_HEAP
30a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_CAMERA_HEAP # Don't Care
31a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_ION_FALLBACK_HEAP_ID=ION_CAMERA_HEAP_ID # EBI
32a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_ZSL_ION_FALLBACK_HEAP_ID=ION_CAMERA_HEAP_ID
33a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=0
34a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wangelse
35a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_ADSP_HEAP
36a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_ADSP_HEAP # Don't Care
37a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=GRALLOC_USAGE_PRIVATE_UNCACHED #uncached
38a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wangendif
39a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
40a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_HAL_FILES := \
41a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        src/QCameraHAL.cpp \
42a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        src/QCameraHWI.cpp \
43a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        src/QCameraStream.cpp \
44a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        src/QCameraHWI_Metatags.cpp \
45a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang       src/QCameraStream_Preview.cpp
46a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
47a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_HAL_WRAPPER_FILES := ../wrapper/QualcommCamera.cpp
48a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
49a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_C_INCLUDES := \
50a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        $(LOCAL_PATH)/../wrapper \
51a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        $(LOCAL_PATH)/inc \
52a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        $(LOCAL_PATH)/../../stack/mm-camera-interface/inc\
53a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        $(LOCAL_PATH)/../../stack/mm-jpeg-interface/inc\
54a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        $(TARGET_OUT_INTERMEDIATES)/include/mm-camera-interface_badger \
55a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
56a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_C_INCLUDES += hardware/qcom/display/libgralloc \
57a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        hardware/qcom/display/libgenlock \
58a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        hardware/qcom/media/libstagefrighthw \
59a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang	system/media/camera/include
60a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
61a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang# if debug service layer and up , use stub camera!
62a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_C_INCLUDES += \
63a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        frameworks/base/services/camera/libcameraservice
64a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
65a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_SRC_FILES := \
66a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        $(LOCAL_HAL_WRAPPER_FILES) \
67a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang        $(LOCAL_HAL_FILES)
68a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
69a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_SHARED_LIBRARIES := libutils libui libcamera_client liblog libcutils
70a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_SHARED_LIBRARIES += libmmcamera_interface
71a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_SHARED_LIBRARIES+= libgenlock libbinder libcamera_metadata
72a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
73a7716f9683138fcb2f9350ba9125c67d2bb4f1a4Elliott HughesLOCAL_CFLAGS += -include bionic/libc/include/sys/socket.h
74a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
75a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
76a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_MODULE:= camera.$(TARGET_BOARD_PLATFORM)
77a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_MODULE_TAGS := optional
78a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wanginclude $(BUILD_SHARED_LIBRARY)
79a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
80a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen WangLOCAL_PATH := $(OLD_LOCAL_PATH)
81a46eb3014aec9c8a6ed170f2a99b498100d6f392Shuzhen Wang
82