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