1LOCAL_PATH:= $(call my-dir)
2include $(CLEAR_VARS)
3LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
4
5LOCAL_CFLAGS += -DHAVE_CONFIG_H -DKHTML_NO_EXCEPTIONS -DGKWQ_NO_JAVA
6LOCAL_CFLAGS += -DNO_SUPPORT_JS_BINDING -DQT_NO_WHEELEVENT -DKHTML_NO_XBL
7LOCAL_CFLAGS += -U__APPLE__
8LOCAL_CFLAGS += -Wno-unused-parameter
9LOCAL_CFLAGS += -Wno-non-virtual-dtor
10LOCAL_CFLAGS += -Wno-maybe-uninitialized -Wno-parentheses
11LOCAL_CPPFLAGS += -Wno-conversion-null
12
13ifeq ($(TARGET_ARCH), arm)
14    LOCAL_CFLAGS += -DPACKED="__attribute__ ((packed))"
15else
16    LOCAL_CFLAGS += -DPACKED=""
17endif
18
19ifneq ($(ENABLE_CPUSETS),)
20    LOCAL_CFLAGS += -DENABLE_CPUSETS
21endif
22
23ifneq ($(ENABLE_SCHED_BOOST),)
24    LOCAL_CFLAGS += -DENABLE_SCHED_BOOST
25endif
26
27LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
28
29LOCAL_CFLAGS += -DU_USING_ICU_NAMESPACE=0
30
31LOCAL_SRC_FILES:= \
32    AndroidRuntime.cpp \
33    com_android_internal_content_NativeLibraryHelper.cpp \
34    com_google_android_gles_jni_EGLImpl.cpp \
35    com_google_android_gles_jni_GLImpl.cpp.arm \
36    android_app_NativeActivity.cpp \
37    android_opengl_EGL14.cpp \
38    android_opengl_EGLExt.cpp \
39    android_opengl_GLES10.cpp \
40    android_opengl_GLES10Ext.cpp \
41    android_opengl_GLES11.cpp \
42    android_opengl_GLES11Ext.cpp \
43    android_opengl_GLES20.cpp \
44    android_opengl_GLES30.cpp \
45    android_opengl_GLES31.cpp \
46    android_opengl_GLES31Ext.cpp \
47    android_database_CursorWindow.cpp \
48    android_database_SQLiteCommon.cpp \
49    android_database_SQLiteConnection.cpp \
50    android_database_SQLiteGlobal.cpp \
51    android_database_SQLiteDebug.cpp \
52    android_emoji_EmojiFactory.cpp \
53    android_view_DisplayEventReceiver.cpp \
54    android_view_DisplayListCanvas.cpp \
55    android_view_GraphicBuffer.cpp \
56    android_view_HardwareLayer.cpp \
57    android_view_InputChannel.cpp \
58    android_view_InputDevice.cpp \
59    android_view_InputEventReceiver.cpp \
60    android_view_InputEventSender.cpp \
61    android_view_InputQueue.cpp \
62    android_view_KeyCharacterMap.cpp \
63    android_view_KeyEvent.cpp \
64    android_view_MotionEvent.cpp \
65    android_view_PointerIcon.cpp \
66    android_view_RenderNode.cpp \
67    android_view_RenderNodeAnimator.cpp \
68    android_view_Surface.cpp \
69    android_view_SurfaceControl.cpp \
70    android_view_SurfaceSession.cpp \
71    android_view_TextureView.cpp \
72    android_view_ThreadedRenderer.cpp \
73    android_view_VelocityTracker.cpp \
74    android_text_AndroidCharacter.cpp \
75    android_text_AndroidBidi.cpp \
76    android_text_StaticLayout.cpp \
77    android_os_Debug.cpp \
78    android_os_MemoryFile.cpp \
79    android_os_MessageQueue.cpp \
80    android_os_Parcel.cpp \
81    android_os_SELinux.cpp \
82    android_os_SystemClock.cpp \
83    android_os_SystemProperties.cpp \
84    android_os_Trace.cpp \
85    android_os_UEventObserver.cpp \
86    android_net_LocalSocketImpl.cpp \
87    android_net_NetUtils.cpp \
88    android_net_TrafficStats.cpp \
89    android_nio_utils.cpp \
90    android_util_AssetManager.cpp \
91    android_util_Binder.cpp \
92    android_util_EventLog.cpp \
93    android_util_Log.cpp \
94    android_util_Process.cpp \
95    android_util_StringBlock.cpp \
96    android_util_XmlBlock.cpp \
97    android_graphics_Canvas.cpp \
98    android_graphics_Picture.cpp \
99    android/graphics/AutoDecodeCancel.cpp \
100    android/graphics/AvoidXfermode.cpp \
101    android/graphics/Bitmap.cpp \
102    android/graphics/BitmapFactory.cpp \
103    android/graphics/Camera.cpp \
104    android/graphics/CanvasProperty.cpp \
105    android/graphics/ColorFilter.cpp \
106    android/graphics/DrawFilter.cpp \
107    android/graphics/FontFamily.cpp \
108    android/graphics/CreateJavaOutputStreamAdaptor.cpp \
109    android/graphics/Graphics.cpp \
110    android/graphics/HarfBuzzNGFaceSkia.cpp \
111    android/graphics/Interpolator.cpp \
112    android/graphics/MaskFilter.cpp \
113    android/graphics/Matrix.cpp \
114    android/graphics/MinikinSkia.cpp \
115    android/graphics/MinikinUtils.cpp \
116    android/graphics/Movie.cpp \
117    android/graphics/NinePatch.cpp \
118    android/graphics/NinePatchImpl.cpp \
119    android/graphics/NinePatchPeeker.cpp \
120    android/graphics/Paint.cpp \
121    android/graphics/PaintImpl.cpp \
122    android/graphics/Path.cpp \
123    android/graphics/PathMeasure.cpp \
124    android/graphics/PathEffect.cpp \
125    android/graphics/Picture.cpp \
126    android/graphics/PorterDuff.cpp \
127    android/graphics/BitmapRegionDecoder.cpp \
128    android/graphics/Rasterizer.cpp \
129    android/graphics/Region.cpp \
130    android/graphics/Shader.cpp \
131    android/graphics/SurfaceTexture.cpp \
132    android/graphics/Typeface.cpp \
133    android/graphics/TypefaceImpl.cpp \
134    android/graphics/Utils.cpp \
135    android/graphics/Xfermode.cpp \
136    android/graphics/YuvToJpegEncoder.cpp \
137    android/graphics/pdf/PdfDocument.cpp \
138    android/graphics/pdf/PdfEditor.cpp \
139    android/graphics/pdf/PdfRenderer.cpp \
140    android_media_AudioRecord.cpp \
141    android_media_AudioSystem.cpp \
142    android_media_AudioTrack.cpp \
143    android_media_DeviceCallback.cpp \
144    android_media_JetPlayer.cpp \
145    android_media_RemoteDisplay.cpp \
146    android_media_ToneGenerator.cpp \
147    android_hardware_Camera.cpp \
148    android_hardware_camera2_CameraMetadata.cpp \
149    android_hardware_camera2_legacy_LegacyCameraDevice.cpp \
150    android_hardware_camera2_legacy_PerfMeasurement.cpp \
151    android_hardware_camera2_DngCreator.cpp \
152    android_hardware_Radio.cpp \
153    android_hardware_SensorManager.cpp \
154    android_hardware_SerialPort.cpp \
155    android_hardware_SoundTrigger.cpp \
156    android_hardware_UsbDevice.cpp \
157    android_hardware_UsbDeviceConnection.cpp \
158    android_hardware_UsbRequest.cpp \
159    android_hardware_location_ActivityRecognitionHardware.cpp \
160    android_util_FileObserver.cpp \
161    android/opengl/poly_clip.cpp.arm \
162    android/opengl/util.cpp \
163    android_server_NetworkManagementSocketTagger.cpp \
164    android_server_Watchdog.cpp \
165    android_ddm_DdmHandleNativeHeap.cpp \
166    android_backup_BackupDataInput.cpp \
167    android_backup_BackupDataOutput.cpp \
168    android_backup_FileBackupHelperBase.cpp \
169    android_backup_BackupHelperDispatcher.cpp \
170    android_app_backup_FullBackup.cpp \
171    android_content_res_ObbScanner.cpp \
172    android_content_res_Configuration.cpp \
173    android_animation_PropertyValuesHolder.cpp \
174    com_android_internal_net_NetworkStatsFactory.cpp \
175    com_android_internal_os_Zygote.cpp \
176    com_android_internal_util_VirtualRefBasePtr.cpp \
177    com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp
178
179LOCAL_C_INCLUDES += \
180    $(JNI_H_INCLUDE) \
181    $(LOCAL_PATH)/android/graphics \
182    $(LOCAL_PATH)/../../libs/hwui \
183    $(LOCAL_PATH)/../../../native/opengl/libs \
184    $(call include-path-for, bluedroid) \
185    $(call include-path-for, libhardware)/hardware \
186    $(call include-path-for, libhardware_legacy)/hardware_legacy \
187    $(TOP)/frameworks/av/include \
188    $(TOP)/frameworks/base/media/jni \
189    $(TOP)/system/media/camera/include \
190    $(TOP)/system/netd/include \
191    external/pdfium/core/include/fpdfapi \
192    external/pdfium/core/include/fpdfdoc \
193    external/pdfium/fpdfsdk/include \
194    external/pdfium/public \
195    external/skia/src/core \
196    external/skia/src/effects \
197    external/skia/src/images \
198    external/sqlite/dist \
199    external/sqlite/android \
200    external/expat/lib \
201    external/tremor/Tremor \
202    external/jpeg \
203    external/harfbuzz_ng/src \
204    frameworks/opt/emoji \
205    libcore/include \
206    $(call include-path-for, audio-utils) \
207    frameworks/minikin/include \
208    external/freetype/include
209# TODO: clean up Minikin so it doesn't need the freetype include
210
211LOCAL_SHARED_LIBRARIES := \
212    libmemtrack \
213    libandroidfw \
214    libexpat \
215    libnativehelper \
216    liblog \
217    libcutils \
218    libutils \
219    libbinder \
220    libnetutils \
221    libui \
222    libgui \
223    libinput \
224    libinputflinger \
225    libcamera_client \
226    libcamera_metadata \
227    libskia \
228    libsqlite \
229    libEGL \
230    libGLESv1_CM \
231    libGLESv2 \
232    libETC1 \
233    libhardware \
234    libhardware_legacy \
235    libselinux \
236    libsonivox \
237    libcrypto \
238    libssl \
239    libicuuc \
240    libicui18n \
241    libmedia \
242    libjpeg \
243    libusbhost \
244    libharfbuzz_ng \
245    libz \
246    libaudioutils \
247    libpdfium \
248    libimg_utils \
249    libnetd_client \
250    libradio \
251    libsoundtrigger \
252    libminikin \
253    libprocessgroup \
254    libnativebridge \
255    libradio_metadata
256
257LOCAL_SHARED_LIBRARIES += \
258    libhwui \
259    libdl
260
261# we need to access the private Bionic header
262# <bionic_tls.h> in com_google_android_gles_jni_GLImpl.cpp
263LOCAL_C_INCLUDES += bionic/libc/private
264
265LOCAL_MODULE:= libandroid_runtime
266
267# -Wno-unknown-pragmas: necessary for Clang as the GL bindings need to turn
268#                       off a GCC warning that Clang doesn't know.
269LOCAL_CFLAGS += -Wall -Werror -Wno-error=deprecated-declarations -Wunused -Wunreachable-code \
270        -Wno-unknown-pragmas
271
272# -Wno-c++11-extensions: Clang warns about Skia using the C++11 override keyword, but this project
273#                        is not being compiled with that level. Remove once this has changed.
274LOCAL_CFLAGS += -Wno-c++11-extensions
275
276# b/22414716: thread_local (android/graphics/Paint.cpp) and Clang don't like each other at the
277#             moment.
278LOCAL_CLANG := false
279
280include $(BUILD_SHARED_LIBRARY)
281
282include $(call all-makefiles-under,$(LOCAL_PATH))
283