blob: 7fdb7b2d794f3d5f7695589b323577fdfa1dc232 [file] [log] [blame]
Iliyan Malchev6d016452013-03-27 16:27:56 -07001LOCAL_PATH:= $(call my-dir)
2
3ifeq ($(TARGET_BOARD_PLATFORM),msm8960)
4ifneq ($(USE_CAMERA_STUB),true)
5ifeq ($(USE_DEVICE_SPECIFIC_CAMERA),true)
6
7 # When zero we link against libmmcamera; when 1, we dlopen libmmcamera.
8 DLOPEN_LIBMMCAMERA:=1
9 ifneq ($(BUILD_TINY_ANDROID),true)
10 V4L2_BASED_LIBCAM := true
11
12 LOCAL_PATH1:= $(call my-dir)
13
14 include $(CLEAR_VARS)
15
16 LOCAL_CFLAGS:= -DDLOPEN_LIBMMCAMERA=$(DLOPEN_LIBMMCAMERA)
17
18 #define BUILD_UNIFIED_CODE
19 ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
20 BUILD_UNIFIED_CODE := true
21 else
22 BUILD_UNIFIED_CODE := false
23 endif
24
25 ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
26 LOCAL_CFLAGS+= -DVFE_7X27A
27 endif
28
29 ifeq ($(strip $(TARGET_USES_ION)),true)
30 LOCAL_CFLAGS += -DUSE_ION
31 endif
32
Shuzhen Wang78d57b32013-05-12 22:23:52 -070033 LOCAL_CFLAGS += -DCAMERA_ION_HEAP_ID=ION_IOMMU_HEAP_ID
34 LOCAL_CFLAGS += -DCAMERA_ZSL_ION_HEAP_ID=ION_IOMMU_HEAP_ID
Iliyan Malchev6d016452013-03-27 16:27:56 -070035 ifeq ($(TARGET_BOARD_PLATFORM),msm8960)
Mansoor Aftabc6b54b72013-05-01 14:37:51 -070036 LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_IOMMU_HEAP
37 LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_SYSTEM_HEAP
Iliyan Malchev6d016452013-03-27 16:27:56 -070038 LOCAL_CFLAGS += -DCAMERA_ION_FALLBACK_HEAP_ID=ION_IOMMU_HEAP_ID
39 LOCAL_CFLAGS += -DCAMERA_ZSL_ION_FALLBACK_HEAP_ID=ION_IOMMU_HEAP_ID
40 LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=0
41 else ifeq ($(TARGET_BOARD_PLATFORM),msm8660)
42 LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_CAMERA_HEAP
43 LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_CAMERA_HEAP # Don't Care
44 LOCAL_CFLAGS += -DCAMERA_ION_FALLBACK_HEAP_ID=ION_CAMERA_HEAP_ID # EBI
45 LOCAL_CFLAGS += -DCAMERA_ZSL_ION_FALLBACK_HEAP_ID=ION_CAMERA_HEAP_ID
46 LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=0
47 else
48 LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_ADSP_HEAP
49 LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_ADSP_HEAP # Don't Care
50 LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=GRALLOC_USAGE_PRIVATE_UNCACHED #uncached
51 endif
52
53 ifeq ($(V4L2_BASED_LIBCAM),true)
54 ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
55 LOCAL_HAL_FILES := QCameraHAL.cpp QCameraHWI_Parm.cpp\
56 QCameraHWI.cpp QCameraHWI_Preview.cpp \
57 QCameraHWI_Record_7x27A.cpp QCameraHWI_Still.cpp \
58 QCameraHWI_Mem.cpp QCameraHWI_Display.cpp \
59 QCameraStream.cpp QualcommCamera2.cpp
60 else
61 LOCAL_HAL_FILES := QCameraHAL.cpp QCameraHWI_Parm.cpp\
62 QCameraHWI.cpp QCameraHWI_Preview.cpp \
63 QCameraHWI_Record.cpp QCameraHWI_Still.cpp \
64 QCameraHWI_Mem.cpp QCameraHWI_Display.cpp \
65 QCameraStream.cpp QualcommCamera2.cpp QCameraParameters.cpp
66 endif
67
68 else
69 LOCAL_HAL_FILES := QualcommCamera.cpp QualcommCameraHardware.cpp
70 endif
71
72 LOCAL_CFLAGS+= -DHW_ENCODE
73
74 # if debug service layer and up , use stub camera!
75 LOCAL_C_INCLUDES += \
76 frameworks/base/services/camera/libcameraservice #
77
78 LOCAL_SRC_FILES := $(MM_CAM_FILES) $(LOCAL_HAL_FILES)
79
80 ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
81 LOCAL_CFLAGS+= -DNUM_PREVIEW_BUFFERS=6 -D_ANDROID_
82 else
83 LOCAL_CFLAGS+= -DNUM_PREVIEW_BUFFERS=4 -D_ANDROID_
84 endif
85
86 # To Choose neon/C routines for YV12 conversion
87 LOCAL_CFLAGS+= -DUSE_NEON_CONVERSION
88 # Uncomment below line to enable smooth zoom
89 #LOCAL_CFLAGS+= -DCAMERA_SMOOTH_ZOOM
90
91 ifeq ($(V4L2_BASED_LIBCAM),true)
92 LOCAL_C_INCLUDES+= hardware/qcom/media/mm-core/inc
93 LOCAL_C_INCLUDES+= $(LOCAL_PATH)/mm-camera-interface
94 endif
95
96 LOCAL_C_INCLUDES+= hardware/qcom/display/libgralloc
97 LOCAL_C_INCLUDES+= hardware/qcom/display/libgenlock
98 LOCAL_C_INCLUDES+= hardware/qcom/media/libstagefrighthw
99
100
101 ifeq ($(V4L2_BASED_LIBCAM),true)
102 LOCAL_SHARED_LIBRARIES:= libutils libui libcamera_client liblog libcutils
103 LOCAL_SHARED_LIBRARIES += libmmcamera_interface2
104 else
105 LOCAL_SHARED_LIBRARIES:= libutils libui libcamera_client liblog libcutils libmmjpeg
106 endif
107
108 LOCAL_SHARED_LIBRARIES+= libgenlock libbinder
109 ifneq ($(DLOPEN_LIBMMCAMERA),1)
110 LOCAL_SHARED_LIBRARIES+= liboemcamera
111 else
112 LOCAL_SHARED_LIBRARIES+= libdl
113 endif
114
115 LOCAL_CFLAGS += -include bionic/libc/include/sys/socket.h
116
117 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
118 LOCAL_MODULE:= camera.$(TARGET_DEVICE)
119 LOCAL_MODULE_TAGS := optional
120 include $(BUILD_SHARED_LIBRARY)
121
122 endif # BUILD_TINY_ANDROID
123
124ifeq ($(V4L2_BASED_LIBCAM),true)
125include $(LOCAL_PATH)/mm-camera-interface/Android.mk
126endif
127
128#Enable only to compile new interafece and HAL files.
129ifeq ($(V4L2_BASED_LIBCAM),true)
130#include $(LOCAL_PATH1)/QCamera/Android.mk
131endif
132
133endif # USE_CAMERA_STUB
134endif
135endif