• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_CPPFLAGS += -Wno-conversion-null
11
12ifeq ($(TARGET_ARCH), arm)
13    LOCAL_CFLAGS += -DPACKED="__attribute__ ((packed))"
14else
15    LOCAL_CFLAGS += -DPACKED=""
16endif
17
18ifneq ($(ENABLE_CPUSETS),)
19    LOCAL_CFLAGS += -DENABLE_CPUSETS
20endif
21
22# TODO: Linear blending should be enabled by default, but we are
23# TODO: making it an opt-in while it's a work in progress
24# TODO: The final test should be:
25# TODO: ifneq ($(TARGET_ENABLE_LINEAR_BLENDING),false)
26ifeq ($(TARGET_ENABLE_LINEAR_BLENDING),true)
27    LOCAL_CFLAGS += -DANDROID_ENABLE_LINEAR_BLENDING
28endif
29
30LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
31
32LOCAL_CFLAGS += -DU_USING_ICU_NAMESPACE=0
33
34LOCAL_SRC_FILES:= \
35    AndroidRuntime.cpp \
36    com_android_internal_content_NativeLibraryHelper.cpp \
37    com_google_android_gles_jni_EGLImpl.cpp \
38    com_google_android_gles_jni_GLImpl.cpp.arm \
39    android_app_Activity.cpp \
40    android_app_ApplicationLoaders.cpp \
41    android_app_NativeActivity.cpp \
42    android_app_admin_SecurityLog.cpp \
43    android_opengl_EGL14.cpp \
44    android_opengl_EGLExt.cpp \
45    android_opengl_GLES10.cpp \
46    android_opengl_GLES10Ext.cpp \
47    android_opengl_GLES11.cpp \
48    android_opengl_GLES11Ext.cpp \
49    android_opengl_GLES20.cpp \
50    android_opengl_GLES30.cpp \
51    android_opengl_GLES31.cpp \
52    android_opengl_GLES31Ext.cpp \
53    android_opengl_GLES32.cpp \
54    android_database_CursorWindow.cpp \
55    android_database_SQLiteCommon.cpp \
56    android_database_SQLiteConnection.cpp \
57    android_database_SQLiteGlobal.cpp \
58    android_database_SQLiteDebug.cpp \
59    android_graphics_drawable_AnimatedVectorDrawable.cpp \
60    android_graphics_drawable_VectorDrawable.cpp \
61    android_view_DisplayEventReceiver.cpp \
62    android_view_DisplayListCanvas.cpp \
63    android_view_HardwareLayer.cpp \
64    android_view_InputChannel.cpp \
65    android_view_InputDevice.cpp \
66    android_view_InputEventReceiver.cpp \
67    android_view_InputEventSender.cpp \
68    android_view_InputQueue.cpp \
69    android_view_KeyCharacterMap.cpp \
70    android_view_KeyEvent.cpp \
71    android_view_MotionEvent.cpp \
72    android_view_PointerIcon.cpp \
73    android_view_RenderNode.cpp \
74    android_view_RenderNodeAnimator.cpp \
75    android_view_Surface.cpp \
76    android_view_SurfaceControl.cpp \
77    android_view_SurfaceSession.cpp \
78    android_view_TextureView.cpp \
79    android_view_ThreadedRenderer.cpp \
80    android_view_VelocityTracker.cpp \
81    android_text_AndroidCharacter.cpp \
82    android_text_AndroidBidi.cpp \
83    android_text_StaticLayout.cpp \
84    android_os_Debug.cpp \
85    android_os_GraphicsEnvironment.cpp \
86    android_os_HwBinder.cpp \
87    android_os_HwBlob.cpp \
88    android_os_HwParcel.cpp \
89    android_os_HwRemoteBinder.cpp \
90    android_os_MemoryFile.cpp \
91    android_os_MessageQueue.cpp \
92    android_os_Parcel.cpp \
93    android_os_SELinux.cpp \
94    android_os_seccomp.cpp \
95    android_os_SystemClock.cpp \
96    android_os_SystemProperties.cpp \
97    android_os_Trace.cpp \
98    android_os_UEventObserver.cpp \
99    android_os_VintfObject.cpp \
100    android_os_VintfRuntimeInfo.cpp \
101    android_net_LocalSocketImpl.cpp \
102    android_net_NetUtils.cpp \
103    android_net_TrafficStats.cpp \
104    android_nio_utils.cpp \
105    android_util_AssetManager.cpp \
106    android_util_Binder.cpp \
107    android_util_EventLog.cpp \
108    android_util_MemoryIntArray.cpp \
109    android_util_Log.cpp \
110    android_util_PathParser.cpp \
111    android_util_Process.cpp \
112    android_util_StringBlock.cpp \
113    android_util_XmlBlock.cpp \
114    android_util_jar_StrictJarFile.cpp \
115    android_graphics_Canvas.cpp \
116    android_graphics_Picture.cpp \
117    android/graphics/Bitmap.cpp \
118    android/graphics/BitmapFactory.cpp \
119    android/graphics/Camera.cpp \
120    android/graphics/CanvasProperty.cpp \
121    android/graphics/ColorFilter.cpp \
122    android/graphics/DrawFilter.cpp \
123    android/graphics/FontFamily.cpp \
124    android/graphics/FontUtils.cpp \
125    android/graphics/CreateJavaOutputStreamAdaptor.cpp \
126    android/graphics/GIFMovie.cpp \
127    android/graphics/GraphicBuffer.cpp \
128    android/graphics/Graphics.cpp \
129    android/graphics/HarfBuzzNGFaceSkia.cpp \
130    android/graphics/Interpolator.cpp \
131    android/graphics/MaskFilter.cpp \
132    android/graphics/Matrix.cpp \
133    android/graphics/Movie.cpp \
134    android/graphics/MovieImpl.cpp \
135    android/graphics/NinePatch.cpp \
136    android/graphics/NinePatchPeeker.cpp \
137    android/graphics/Paint.cpp \
138    android/graphics/Path.cpp \
139    android/graphics/PathMeasure.cpp \
140    android/graphics/PathEffect.cpp \
141    android/graphics/Picture.cpp \
142    android/graphics/BitmapRegionDecoder.cpp \
143    android/graphics/Region.cpp \
144    android/graphics/Shader.cpp \
145    android/graphics/SurfaceTexture.cpp \
146    android/graphics/Typeface.cpp \
147    android/graphics/Utils.cpp \
148    android/graphics/YuvToJpegEncoder.cpp \
149    android/graphics/pdf/PdfDocument.cpp \
150    android/graphics/pdf/PdfEditor.cpp \
151    android/graphics/pdf/PdfRenderer.cpp \
152    android/graphics/pdf/PdfUtils.cpp \
153    android_media_AudioRecord.cpp \
154    android_media_AudioSystem.cpp \
155    android_media_AudioTrack.cpp \
156    android_media_DeviceCallback.cpp \
157    android_media_JetPlayer.cpp \
158    android_media_RemoteDisplay.cpp \
159    android_media_ToneGenerator.cpp \
160    android_hardware_Camera.cpp \
161    android_hardware_camera2_CameraMetadata.cpp \
162    android_hardware_camera2_legacy_LegacyCameraDevice.cpp \
163    android_hardware_camera2_legacy_PerfMeasurement.cpp \
164    android_hardware_camera2_DngCreator.cpp \
165    android_hardware_display_DisplayViewport.cpp \
166    android_hardware_HardwareBuffer.cpp \
167    android_hardware_Radio.cpp \
168    android_hardware_SensorManager.cpp \
169    android_hardware_SerialPort.cpp \
170    android_hardware_SoundTrigger.cpp \
171    android_hardware_UsbDevice.cpp \
172    android_hardware_UsbDeviceConnection.cpp \
173    android_hardware_UsbRequest.cpp \
174    android_hardware_location_ActivityRecognitionHardware.cpp \
175    android_util_FileObserver.cpp \
176    android/opengl/poly_clip.cpp.arm \
177    android/opengl/util.cpp \
178    android_server_NetworkManagementSocketTagger.cpp \
179    android_server_Watchdog.cpp \
180    android_ddm_DdmHandleNativeHeap.cpp \
181    android_backup_BackupDataInput.cpp \
182    android_backup_BackupDataOutput.cpp \
183    android_backup_FileBackupHelperBase.cpp \
184    android_backup_BackupHelperDispatcher.cpp \
185    android_app_backup_FullBackup.cpp \
186    android_content_res_ObbScanner.cpp \
187    android_content_res_Configuration.cpp \
188    android_animation_PropertyValuesHolder.cpp \
189    com_android_internal_net_NetworkStatsFactory.cpp \
190    com_android_internal_os_FuseAppLoop.cpp \
191    com_android_internal_os_PathClassLoaderFactory.cpp \
192    com_android_internal_os_Zygote.cpp \
193    com_android_internal_util_VirtualRefBasePtr.cpp \
194    com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp \
195    hwbinder/EphemeralStorage.cpp \
196    fd_utils.cpp \
197
198LOCAL_C_INCLUDES += \
199    $(LOCAL_PATH)/include \
200    $(JNI_H_INCLUDE) \
201    $(LOCAL_PATH)/android/graphics \
202    $(LOCAL_PATH)/../../libs/hwui \
203    $(LOCAL_PATH)/../../../native/vulkan/include \
204    $(call include-path-for, bluedroid) \
205    $(call include-path-for, libhardware)/hardware \
206    $(call include-path-for, libhardware_legacy)/hardware_legacy \
207    $(TOP)/frameworks/base/media/jni \
208    $(TOP)/frameworks/rs/cpp \
209    $(TOP)/frameworks/rs \
210    $(TOP)/system/core/base/include \
211    $(TOP)/system/core/include \
212    $(TOP)/system/core/libappfuse/include \
213    $(TOP)/system/media/camera/include \
214    $(TOP)/system/media/private/camera/include \
215    $(TOP)/system/netd/include \
216    external/giflib \
217    external/pdfium/public \
218    external/skia/include/private \
219    external/skia/src/codec \
220    external/skia/src/core \
221    external/skia/src/effects \
222    external/skia/src/image \
223    external/skia/src/images \
224    external/sqlite/dist \
225    external/sqlite/android \
226    external/tremor/Tremor \
227    external/harfbuzz_ng/src \
228    libcore/include \
229    $(call include-path-for, audio-utils) \
230    frameworks/minikin/include \
231    external/freetype/include
232# TODO: clean up Minikin so it doesn't need the freetype include
233
234LOCAL_STATIC_LIBRARIES := \
235    libgif \
236    libseccomp_policy \
237    libselinux \
238    libcrypto \
239    libgrallocusage \
240
241LOCAL_SHARED_LIBRARIES := \
242    libmemtrack \
243    libandroidfw \
244    libappfuse \
245    libbase \
246    libnativehelper \
247    liblog \
248    libcutils \
249    libdebuggerd_client \
250    libutils \
251    libbinder \
252    libui \
253    libgui \
254    libsensor \
255    libinput \
256    libcamera_client \
257    libcamera_metadata \
258    libskia \
259    libsqlite \
260    libEGL \
261    libGLESv1_CM \
262    libGLESv2 \
263    libvulkan \
264    libziparchive \
265    libETC1 \
266    libhardware \
267    libhardware_legacy \
268    libselinux \
269    libicuuc \
270    libmedia \
271    libaudioclient \
272    libjpeg \
273    libusbhost \
274    libharfbuzz_ng \
275    libz \
276    libpdfium \
277    libimg_utils \
278    libnetd_client \
279    libradio \
280    libsoundtrigger \
281    libminikin \
282    libprocessgroup \
283    libnativebridge \
284    libradio_metadata \
285    libnativeloader \
286    libmemunreachable \
287    libhidlbase \
288    libhidltransport \
289    libhwbinder \
290    libvintf \
291    libnativewindow \
292
293LOCAL_SHARED_LIBRARIES += \
294    libhwui \
295    libdl \
296
297# our headers include libnativewindow's public headers
298LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := \
299    libnativewindow \
300
301# we need to access the private Bionic header
302# <bionic_tls.h> in com_google_android_gles_jni_GLImpl.cpp
303LOCAL_C_INCLUDES += bionic/libc/private
304
305LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
306
307# AndroidRuntime.h depends on nativehelper/jni.h
308LOCAL_EXPORT_C_INCLUDE_DIRS += libnativehelper/include
309
310LOCAL_MODULE:= libandroid_runtime
311
312# -Wno-unknown-pragmas: necessary for Clang as the GL bindings need to turn
313#                       off a GCC warning that Clang doesn't know.
314LOCAL_CFLAGS += -Wall -Werror -Wno-error=deprecated-declarations -Wunused -Wunreachable-code \
315        -Wno-unknown-pragmas
316
317# -Wno-c++11-extensions: Clang warns about Skia using the C++11 override keyword, but this project
318#                        is not being compiled with that level. Remove once this has changed.
319LOCAL_CLANG_CFLAGS += -Wno-c++11-extensions
320
321ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
322LOCAL_CFLAGS += -D__ANDROID_DEBUGGABLE__
323endif
324ifneq (,$(filter true, $(PRODUCT_FULL_TREBLE)))
325LOCAL_CFLAGS += -D__ANDROID_TREBLE__
326endif
327
328include $(BUILD_SHARED_LIBRARY)
329
330include $(call all-makefiles-under,$(LOCAL_PATH))
331