Home | History | Annotate | Download | only in jni
      1 
      2 genrule {
      3     name: "android_util_StatsLog.cpp",
      4     tools: ["stats-log-api-gen"],
      5     cmd: "$(location stats-log-api-gen) --jni $(genDir)/android_util_StatsLog.cpp",
      6     out: [
      7         "android_util_StatsLog.cpp",
      8     ],
      9 }
     10 
     11 cc_library_shared {
     12     name: "libandroid_runtime",
     13 
     14     cflags: [
     15         "-Wno-unused-parameter",
     16         "-Wno-non-virtual-dtor",
     17         "-Wno-maybe-uninitialized",
     18         "-Wno-parentheses",
     19 
     20         "-DGL_GLEXT_PROTOTYPES",
     21         "-DEGL_EGLEXT_PROTOTYPES",
     22 
     23         "-DU_USING_ICU_NAMESPACE=0",
     24 
     25         "-Wall",
     26         "-Werror",
     27         "-Wno-error=deprecated-declarations",
     28         "-Wunused",
     29         "-Wunreachable-code",
     30 
     31         // TODO: Linear blending should be enabled by default, but we are
     32         // TODO: making it an opt-in while it's a work in progress
     33         //"-DANDROID_ENABLE_LINEAR_BLENDING",
     34     ],
     35 
     36     cppflags: ["-Wno-conversion-null"],
     37     cpp_std: "c++17",
     38 
     39     srcs: [
     40         "AndroidRuntime.cpp",
     41         "com_android_internal_content_NativeLibraryHelper.cpp",
     42         "com_google_android_gles_jni_EGLImpl.cpp",
     43         "com_google_android_gles_jni_GLImpl.cpp", // TODO: .arm
     44         "android_app_Activity.cpp",
     45         "android_app_NativeActivity.cpp",
     46         "android_app_admin_SecurityLog.cpp",
     47         "android_opengl_EGL14.cpp",
     48         "android_opengl_EGLExt.cpp",
     49         "android_opengl_GLES10.cpp",
     50         "android_opengl_GLES10Ext.cpp",
     51         "android_opengl_GLES11.cpp",
     52         "android_opengl_GLES11Ext.cpp",
     53         "android_opengl_GLES20.cpp",
     54         "android_opengl_GLES30.cpp",
     55         "android_opengl_GLES31.cpp",
     56         "android_opengl_GLES31Ext.cpp",
     57         "android_opengl_GLES32.cpp",
     58         "android_database_CursorWindow.cpp",
     59         "android_database_SQLiteCommon.cpp",
     60         "android_database_SQLiteConnection.cpp",
     61         "android_database_SQLiteGlobal.cpp",
     62         "android_database_SQLiteDebug.cpp",
     63         "android_graphics_drawable_AnimatedVectorDrawable.cpp",
     64         "android_graphics_drawable_VectorDrawable.cpp",
     65         "android_view_DisplayEventReceiver.cpp",
     66         "android_view_DisplayListCanvas.cpp",
     67         "android_view_TextureLayer.cpp",
     68         "android_view_InputChannel.cpp",
     69         "android_view_InputDevice.cpp",
     70         "android_view_InputEventReceiver.cpp",
     71         "android_view_InputEventSender.cpp",
     72         "android_view_InputQueue.cpp",
     73         "android_view_KeyCharacterMap.cpp",
     74         "android_view_KeyEvent.cpp",
     75         "android_view_MotionEvent.cpp",
     76         "android_view_PointerIcon.cpp",
     77         "android_view_RenderNode.cpp",
     78         "android_view_RenderNodeAnimator.cpp",
     79         "android_view_Surface.cpp",
     80         "android_view_SurfaceControl.cpp",
     81         "android_view_SurfaceSession.cpp",
     82         "android_view_TextureView.cpp",
     83         "android_view_ThreadedRenderer.cpp",
     84         "android_view_VelocityTracker.cpp",
     85         "android_text_AndroidCharacter.cpp",
     86         "android_text_Hyphenator.cpp",
     87         "android_text_MeasuredParagraph.cpp",
     88         "android_text_StaticLayout.cpp",
     89         "android_os_Debug.cpp",
     90         "android_os_GraphicsEnvironment.cpp",
     91         "android_os_HidlSupport.cpp",
     92         "android_os_HwBinder.cpp",
     93         "android_os_HwBlob.cpp",
     94         "android_os_HwParcel.cpp",
     95         "android_os_HwRemoteBinder.cpp",
     96         "android_os_MemoryFile.cpp",
     97         "android_os_MessageQueue.cpp",
     98         "android_os_Parcel.cpp",
     99         "android_os_SELinux.cpp",
    100         "android_os_SharedMemory.cpp",
    101         "android_os_SystemClock.cpp",
    102         "android_os_SystemProperties.cpp",
    103         "android_os_Trace.cpp",
    104         "android_os_UEventObserver.cpp",
    105         "android_os_VintfObject.cpp",
    106         "android_os_VintfRuntimeInfo.cpp",
    107         "android_net_LocalSocketImpl.cpp",
    108         "android_net_NetUtils.cpp",
    109         "android_nio_utils.cpp",
    110         "android_util_AssetManager.cpp",
    111         "android_util_Binder.cpp",
    112         "android_util_EventLog.cpp",
    113         "android_util_Log.cpp",
    114         "android_util_MemoryIntArray.cpp",
    115         "android_util_PathParser.cpp",
    116         "android_util_Process.cpp",
    117         "android_util_StringBlock.cpp",
    118         "android_util_XmlBlock.cpp",
    119         "android_util_jar_StrictJarFile.cpp",
    120         "android_graphics_Canvas.cpp",
    121         "android_graphics_Picture.cpp",
    122         "android/graphics/AnimatedImageDrawable.cpp",
    123         "android/graphics/Bitmap.cpp",
    124         "android/graphics/BitmapFactory.cpp",
    125         "android/graphics/ByteBufferStreamAdaptor.cpp",
    126         "android/graphics/Camera.cpp",
    127         "android/graphics/CanvasProperty.cpp",
    128         "android/graphics/ColorFilter.cpp",
    129         "android/graphics/DrawFilter.cpp",
    130         "android/graphics/FontFamily.cpp",
    131         "android/graphics/FontUtils.cpp",
    132         "android/graphics/CreateJavaOutputStreamAdaptor.cpp",
    133         "android/graphics/GIFMovie.cpp",
    134         "android/graphics/GraphicBuffer.cpp",
    135         "android/graphics/Graphics.cpp",
    136         "android/graphics/HarfBuzzNGFaceSkia.cpp",
    137         "android/graphics/ImageDecoder.cpp",
    138         "android/graphics/Interpolator.cpp",
    139         "android/graphics/MaskFilter.cpp",
    140         "android/graphics/Matrix.cpp",
    141         "android/graphics/Movie.cpp",
    142         "android/graphics/MovieImpl.cpp",
    143         "android/graphics/NinePatch.cpp",
    144         "android/graphics/NinePatchPeeker.cpp",
    145         "android/graphics/Paint.cpp",
    146         "android/graphics/Path.cpp",
    147         "android/graphics/PathMeasure.cpp",
    148         "android/graphics/PathEffect.cpp",
    149         "android/graphics/Picture.cpp",
    150         "android/graphics/BitmapRegionDecoder.cpp",
    151         "android/graphics/Region.cpp",
    152         "android/graphics/Shader.cpp",
    153         "android/graphics/SurfaceTexture.cpp",
    154         "android/graphics/Typeface.cpp",
    155         "android/graphics/Utils.cpp",
    156         "android/graphics/YuvToJpegEncoder.cpp",
    157         "android/graphics/pdf/PdfDocument.cpp",
    158         "android/graphics/pdf/PdfEditor.cpp",
    159         "android/graphics/pdf/PdfRenderer.cpp",
    160         "android/graphics/pdf/PdfUtils.cpp",
    161         "android_media_AudioRecord.cpp",
    162         "android_media_AudioSystem.cpp",
    163         "android_media_AudioTrack.cpp",
    164         "android_media_DeviceCallback.cpp",
    165         "android_media_JetPlayer.cpp",
    166         "android_media_MediaMetricsJNI.cpp",
    167         "android_media_MicrophoneInfo.cpp",
    168         "android_media_RemoteDisplay.cpp",
    169         "android_media_ToneGenerator.cpp",
    170         "android_hardware_Camera.cpp",
    171         "android_hardware_camera2_CameraMetadata.cpp",
    172         "android_hardware_camera2_legacy_LegacyCameraDevice.cpp",
    173         "android_hardware_camera2_legacy_PerfMeasurement.cpp",
    174         "android_hardware_camera2_DngCreator.cpp",
    175         "android_hardware_display_DisplayViewport.cpp",
    176         "android_hardware_HardwareBuffer.cpp",
    177         "android_hardware_SensorManager.cpp",
    178         "android_hardware_SerialPort.cpp",
    179         "android_hardware_SoundTrigger.cpp",
    180         "android_hardware_UsbDevice.cpp",
    181         "android_hardware_UsbDeviceConnection.cpp",
    182         "android_hardware_UsbRequest.cpp",
    183         "android_hardware_location_ActivityRecognitionHardware.cpp",
    184         "android_util_FileObserver.cpp",
    185         "android/opengl/poly_clip.cpp", // TODO: .arm
    186         "android/opengl/util.cpp",
    187         "android_server_NetworkManagementSocketTagger.cpp",
    188         "android_ddm_DdmHandleNativeHeap.cpp",
    189         "android_backup_BackupDataInput.cpp",
    190         "android_backup_BackupDataOutput.cpp",
    191         "android_backup_FileBackupHelperBase.cpp",
    192         "android_backup_BackupHelperDispatcher.cpp",
    193         "android_app_backup_FullBackup.cpp",
    194         "android_content_res_ApkAssets.cpp",
    195         "android_content_res_ObbScanner.cpp",
    196         "android_content_res_Configuration.cpp",
    197         "android_animation_PropertyValuesHolder.cpp",
    198         "android_security_Scrypt.cpp",
    199         "com_android_internal_net_NetworkStatsFactory.cpp",
    200         "com_android_internal_os_ClassLoaderFactory.cpp",
    201         "com_android_internal_os_FuseAppLoop.cpp",
    202         "com_android_internal_os_Zygote.cpp",
    203         "com_android_internal_os_ZygoteInit.cpp",
    204         "com_android_internal_util_VirtualRefBasePtr.cpp",
    205         "com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp",
    206         "hwbinder/EphemeralStorage.cpp",
    207         "fd_utils.cpp",
    208     ],
    209 
    210     include_dirs: [
    211         // we need to access the private Bionic header
    212         // <bionic_tls.h> in com_google_android_gles_jni_GLImpl.cpp
    213         "bionic/libc/private",
    214 
    215         "external/skia/include/private",
    216         "external/skia/src/codec",
    217         "external/skia/src/core",
    218         "external/skia/src/effects",
    219         "external/skia/src/image",
    220         "external/skia/src/images",
    221         "frameworks/base/media/jni",
    222         "libcore/include",
    223         "system/media/camera/include",
    224         "system/media/private/camera/include",
    225     ],
    226 
    227     static_libs: [
    228         "libgif",
    229         "libseccomp_policy",
    230         "libselinux",
    231         "libgrallocusage",
    232         "libscrypt_static",
    233     ],
    234 
    235     shared_libs: [
    236         "libbpf",
    237         "libnetdutils",
    238         "libmemtrack",
    239         "libandroidfw",
    240         "libappfuse",
    241         "libbase",
    242         "libcrypto",
    243         "libnativehelper",
    244         "liblog",
    245         "libcutils",
    246         "libdebuggerd_client",
    247         "libutils",
    248         "libbinder",
    249         "libui",
    250         "libgraphicsenv",
    251         "libgui",
    252         "libsensor",
    253         "libinput",
    254         "libcamera_client",
    255         "libcamera_metadata",
    256         "libsqlite",
    257         "libEGL",
    258         "libGLESv1_CM",
    259         "libGLESv2",
    260         "libvulkan",
    261         "libziparchive",
    262         "libETC1",
    263         "libhardware",
    264         "libhardware_legacy",
    265         "libselinux",
    266         "libicuuc",
    267         "libmedia",
    268         "libmediametrics",
    269         "libaudioclient",
    270         "libjpeg",
    271         "libusbhost",
    272         "libharfbuzz_ng",
    273         "libz",
    274         "libpdfium",
    275         "libimg_utils",
    276         "libnetd_client",
    277         "libsoundtrigger",
    278         "libminikin",
    279         "libprocessgroup",
    280         "libnativebridge",
    281         "libnativeloader",
    282         "libmemunreachable",
    283         "libhidlbase",
    284         "libhidltransport",
    285         "libhwbinder",
    286         "libvintf",
    287         "libnativewindow",
    288         "libhwui",
    289         "libdl",
    290         "libstatslog",
    291     ],
    292 
    293     generated_sources: ["android_util_StatsLog.cpp"],
    294 
    295     local_include_dirs: ["android/graphics"],
    296     export_include_dirs: [
    297         ".",
    298         "include",
    299     ],
    300     export_shared_lib_headers: [
    301         // AndroidRuntime.h depends on nativehelper/jni.h
    302         "libnativehelper",
    303 
    304         // our headers include libnativewindow's public headers
    305         "libnativewindow",
    306 
    307         // GraphicsJNI.h includes hwui headers
    308         "libhwui",
    309     ],
    310 }
    311