xref: /aosp_15_r20/frameworks/base/core/jni/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1package {
2    default_applicable_licenses: ["frameworks_base_core_jni_license"],
3}
4
5// Added automatically by a large-scale-change
6// See: http://go/android-license-faq
7license {
8    name: "frameworks_base_core_jni_license",
9    visibility: [":__subpackages__"],
10    license_kinds: [
11        "SPDX-license-identifier-Apache-2.0",
12    ],
13    license_text: [
14        "NOTICE",
15    ],
16}
17
18soong_config_module_type {
19    name: "cc_library_shared_for_libandroid_runtime",
20    module_type: "cc_library_shared",
21    config_namespace: "ANDROID",
22    bool_variables: [
23        "release_binder_death_recipient_weak_from_jni",
24        "release_package_libandroid_runtime_punch_holes",
25    ],
26    properties: [
27        "cflags",
28    ],
29}
30
31cc_library_shared_for_libandroid_runtime {
32    name: "libandroid_runtime",
33    host_supported: true,
34    cflags: [
35        "-Wno-unused-parameter",
36        "-Wno-non-virtual-dtor",
37        "-Wno-maybe-uninitialized",
38        "-Wno-parentheses",
39
40        "-DGL_GLEXT_PROTOTYPES",
41        "-DEGL_EGLEXT_PROTOTYPES",
42
43        "-DU_USING_ICU_NAMESPACE=0",
44
45        "-Wall",
46        "-Werror",
47        "-Wextra",
48        "-Wthread-safety",
49        "-Wno-error=deprecated-declarations",
50        "-Wno-unused-parameter",
51        "-Wunused",
52        "-Wunreachable-code",
53    ],
54
55    cppflags: ["-Wno-conversion-null"],
56
57    product_variables: {
58        eng: {
59            cflags: ["-DNO_RESET_STACK_PROTECTOR"],
60        },
61    },
62
63    soong_config_variables: {
64        release_binder_death_recipient_weak_from_jni: {
65            cflags: ["-DBINDER_DEATH_RECIPIENT_WEAK_FROM_JNI"],
66        },
67        release_package_libandroid_runtime_punch_holes: {
68            cflags: ["-DENABLE_PUNCH_HOLES"],
69        },
70    },
71
72    cpp_std: "gnu++20",
73
74    srcs: [
75        "android_animation_PropertyValuesHolder.cpp",
76        "android_content_res_ApkAssets.cpp",
77        "android_os_SystemClock.cpp",
78        "android_os_SystemProperties.cpp",
79        "android_text_AndroidCharacter.cpp",
80        "android_text_Hyphenator.cpp",
81        "android_util_AssetManager.cpp",
82        "android_util_EventLog.cpp",
83        "android_util_Log.cpp",
84        "android_util_StringBlock.cpp",
85        "android_util_XmlBlock.cpp",
86        "android_util_jar_StrictJarFile.cpp",
87        "android_view_InputDevice.cpp",
88        "android_view_KeyCharacterMap.cpp",
89        "android_view_KeyEvent.cpp",
90        "android_view_MotionEvent.cpp",
91        "android_view_Surface.cpp",
92        "android_view_VelocityTracker.cpp",
93        "android_view_VerifiedKeyEvent.cpp",
94        "android_view_VerifiedMotionEvent.cpp",
95        "com_android_internal_util_VirtualRefBasePtr.cpp",
96        "core_jni_helpers.cpp",
97        ":deviceproductinfoconstants_aidl",
98    ],
99
100    include_dirs: [
101        "external/skia/include/private",
102        "frameworks/base/media/jni",
103        "system/media/camera/include",
104        "system/media/private/camera/include",
105    ],
106
107    static_libs: [
108        "libziparchive_for_incfs",
109        "libguiflags",
110    ],
111
112    export_include_dirs: [
113        ".",
114        "include",
115    ],
116
117    defaults: [
118        "aconfig_lib_cc_shared_link.defaults",
119        "latest_android_media_audio_common_types_cpp_target_shared",
120    ],
121
122    target: {
123        android: {
124            srcs: [
125                "AndroidRuntime.cpp",
126                "com_android_internal_content_F2fsUtils.cpp",
127                "com_android_internal_content_FileSystemUtils.cpp",
128                "com_android_internal_content_NativeLibraryHelper.cpp",
129                "com_google_android_gles_jni_EGLImpl.cpp",
130                "com_google_android_gles_jni_GLImpl.cpp", // TODO: .arm
131                "android_app_Activity.cpp",
132                "android_app_ActivityThread.cpp",
133                "android_app_NativeActivity.cpp",
134                "android_app_admin_SecurityLog.cpp",
135                "android_opengl_EGL14.cpp",
136                "android_opengl_EGL15.cpp",
137                "android_opengl_EGLExt.cpp",
138                "android_opengl_GLES10.cpp",
139                "android_opengl_GLES10Ext.cpp",
140                "android_opengl_GLES11.cpp",
141                "android_opengl_GLES11Ext.cpp",
142                "android_opengl_GLES20.cpp",
143                "android_opengl_GLES30.cpp",
144                "android_opengl_GLES31.cpp",
145                "android_opengl_GLES31Ext.cpp",
146                "android_opengl_GLES32.cpp",
147                "android_database_CursorWindow.cpp",
148                "android_database_SQLiteCommon.cpp",
149                "android_database_SQLiteConnection.cpp",
150                "android_database_SQLiteGlobal.cpp",
151                "android_database_SQLiteDebug.cpp",
152                "android_database_SQLiteRawStatement.cpp",
153                "android_graphics_GraphicBuffer.cpp",
154                "android_graphics_SurfaceTexture.cpp",
155                "android_view_CompositionSamplingListener.cpp",
156                "android_view_DisplayEventReceiver.cpp",
157                "android_view_InputChannel.cpp",
158                "android_view_InputEventReceiver.cpp",
159                "android_view_InputEventSender.cpp",
160                "android_view_InputQueue.cpp",
161                "android_view_MotionPredictor.cpp",
162                "android_view_PointerIcon.cpp",
163                "android_view_SurfaceControl.cpp",
164                "android_view_SurfaceControlActivePictureListener.cpp",
165                "android_view_SurfaceControlHdrLayerInfoListener.cpp",
166                "android_view_WindowManagerGlobal.cpp",
167                "android_graphics_BLASTBufferQueue.cpp",
168                "android_view_SurfaceSession.cpp",
169                "android_view_TextureView.cpp",
170                "android_view_TunnelModeEnabledListener.cpp",
171                "android_os_Debug.cpp",
172                "android_os_GraphicsEnvironment.cpp",
173                "android_os_HidlMemory.cpp",
174                "android_os_HidlSupport.cpp",
175                "android_os_HwBinder.cpp",
176                "android_os_HwBlob.cpp",
177                "android_os_HwParcel.cpp",
178                "android_os_HwRemoteBinder.cpp",
179                "android_os_NativeHandle.cpp",
180                "android_os_MemoryFile.cpp",
181                "android_os_MessageQueue.cpp",
182                "android_os_Parcel.cpp",
183                "android_os_PerformanceHintManager.cpp",
184                "android_os_SELinux.cpp",
185                "android_os_ServiceManager.cpp",
186                "android_os_ServiceManagerNative.cpp",
187                "android_os_SharedMemory.cpp",
188                "android_os_storage_StorageManager.cpp",
189                "android_os_Trace.cpp",
190                "android_os_UEventObserver.cpp",
191                "android_os_incremental_IncrementalManager.cpp",
192                "android_net_LocalSocketImpl.cpp",
193                "android_service_DataLoaderService.cpp",
194                "android_util_Binder.cpp",
195                "android_util_CharsetUtils.cpp",
196                "android_util_MemoryIntArray.cpp",
197                "android_util_Process.cpp",
198                "android_media_audio_common_AidlConversion.cpp",
199                "android_media_AudioDeviceAttributes.cpp",
200                "android_media_AudioEffectDescriptor.cpp",
201                "android_media_AudioRecord.cpp",
202                "android_media_AudioSystem.cpp",
203                "android_media_AudioTrackCallback.cpp",
204                "android_media_AudioTrack.cpp",
205                "android_media_AudioAttributes.cpp",
206                "android_media_AudioProductStrategies.cpp",
207                "android_media_AudioVolumeGroups.cpp",
208                "android_media_AudioVolumeGroupCallback.cpp",
209                "android_media_DeviceCallback.cpp",
210                "android_media_MediaMetricsJNI.cpp",
211                "android_media_MicrophoneInfo.cpp",
212                "android_media_midi.cpp",
213                "android_media_RemoteDisplay.cpp",
214                "android_media_ToneGenerator.cpp",
215                "android_hardware_Camera.cpp",
216                "android_hardware_camera2_CameraMetadata.cpp",
217                "android_hardware_camera2_CameraDevice.cpp",
218                "android_hardware_camera2_DngCreator.cpp",
219                "android_hardware_camera2_impl_CameraExtensionJpegProcessor.cpp",
220                "android_hardware_camera2_utils_SurfaceUtils.cpp",
221                "android_hardware_display_DisplayManagerGlobal.cpp",
222                "android_hardware_display_DisplayViewport.cpp",
223                "android_hardware_display_DisplayTopology.cpp",
224                "android_hardware_HardwareBuffer.cpp",
225                "android_hardware_OverlayProperties.cpp",
226                "android_hardware_SensorManager.cpp",
227                "android_hardware_SerialPort.cpp",
228                "android_hardware_SyncFence.cpp",
229                "android_hardware_UsbDevice.cpp",
230                "android_hardware_UsbDeviceConnection.cpp",
231                "android_hardware_UsbRequest.cpp",
232                "android_hardware_location_ActivityRecognitionHardware.cpp",
233                "android_util_FileObserver.cpp",
234                "android/opengl/poly_clip.cpp", // TODO: .arm
235                "android/opengl/util.cpp",
236                "android_ddm_DdmHandleNativeHeap.cpp",
237                "android_backup_BackupDataInput.cpp",
238                "android_backup_BackupDataOutput.cpp",
239                "android_backup_FileBackupHelperBase.cpp",
240                "android_backup_BackupHelperDispatcher.cpp",
241                "android_app_PropertyInvalidatedCache.cpp",
242                "android_app_backup_FullBackup.cpp",
243                "android_content_res_ObbScanner.cpp",
244                "android_content_res_Configuration.cpp",
245                "android_content_res_ResourceTimer.cpp",
246                "android_security_Scrypt.cpp",
247                "com_android_internal_content_om_OverlayConfig.cpp",
248                "com_android_internal_content_om_OverlayManagerImpl.cpp",
249                "com_android_internal_net_NetworkUtilsInternal.cpp",
250                "com_android_internal_os_ApplicationSharedMemory.cpp",
251                "com_android_internal_os_ClassLoaderFactory.cpp",
252                "com_android_internal_os_DebugStore.cpp",
253                "com_android_internal_os_FuseAppLoop.cpp",
254                "com_android_internal_os_KernelAllocationStats.cpp",
255                "com_android_internal_os_KernelCpuBpfTracking.cpp",
256                "com_android_internal_os_KernelCpuTotalBpfMapReader.cpp",
257                "com_android_internal_os_KernelCpuUidBpfMapReader.cpp",
258                "com_android_internal_os_KernelSingleProcessCpuThreadReader.cpp",
259                "com_android_internal_os_KernelSingleUidTimeReader.cpp",
260                "com_android_internal_os_LongArrayMultiStateCounter.cpp",
261                "com_android_internal_os_LongMultiStateCounter.cpp",
262                "com_android_internal_os_Zygote.cpp",
263                "com_android_internal_os_ZygoteCommandBuffer.cpp",
264                "com_android_internal_os_ZygoteInit.cpp",
265                "com_android_internal_security_VerityUtils.cpp",
266                "com_android_internal_util_ArrayUtils.cpp",
267                "hwbinder/EphemeralStorage.cpp",
268                "fd_utils.cpp",
269                "android_hardware_input_InputWindowHandle.cpp",
270                "android_hardware_input_InputApplicationHandle.cpp",
271                "android_window_InputTransferToken.cpp",
272                "android_window_WindowInfosListener.cpp",
273                "android_window_ScreenCapture.cpp",
274                "jni_common.cpp",
275                "android_tracing_PerfettoDataSource.cpp",
276                "android_tracing_PerfettoDataSourceInstance.cpp",
277                "android_tracing_PerfettoProducer.cpp",
278            ],
279
280            static_libs: [
281                "libasync_safe",
282                "libbinderthreadstateutils",
283                "libdmabufinfo",
284                "libgenfslabelsversion.ffi",
285                "libgui_window_info_static",
286                "libkernelconfigs",
287                "libnativehelper_lazy",
288                "libseccomp_policy",
289                "libgrallocusage",
290                "libscrypt_static",
291                "libstatssocket_lazy",
292                "libskia",
293            ],
294
295            shared_libs: [
296                "libbase",
297                "libharfbuzz_ng",
298                "liblog",
299                "libmediautils",
300                "libminikin",
301                "libz",
302                "android.database.sqlite-aconfig-cc",
303                "android.media.audiopolicy-aconfig-cc",
304                "audioclient-types-aidl-cpp",
305                "audioflinger-aidl-cpp",
306                "audiopolicy-types-aidl-cpp",
307                "spatializer-aidl-cpp",
308                "av-types-aidl-cpp",
309                "[email protected]",
310                "camera_platform_flags_c_lib",
311                "android.hardware.common.fmq-V1-cpp",
312                "android.hardware.common-V2-cpp",
313                "android.hardware.common.fmq-V1-ndk",
314                "android.hardware.common-V2-ndk",
315                "libandroid_net",
316                "libfmq",
317                "libbattery",
318                "libnetdutils",
319                "libmemtrack",
320                "libandroidfw",
321                "libappfuse",
322                "libcrypto",
323                "libcutils",
324                "libdebuggerd_client",
325                "libdebugstore_cxx",
326                "libutils",
327                "libbinder",
328                "libbinderdebug",
329                "libbinder_ndk",
330                "libui",
331                "libgraphicsenv",
332                "libgui",
333                "libhwui",
334                "libmediandk",
335                "libpermission",
336                "libPlatformProperties",
337                "libsensor",
338                "libinput",
339                "libicu",
340                "libcamera_client",
341                "libcamera_metadata",
342                "libprocinfo",
343                "libsqlite",
344                "libEGL",
345                "libGLESv1_CM",
346                "libGLESv2",
347                "libGLESv3",
348                "libincfs",
349                "libdataloader",
350                "libvulkan",
351                "libETC1",
352                "libjpeg",
353                "libhardware",
354                "libhardware_legacy",
355                "libselinux",
356                "libmedia",
357                "libmedia_helper",
358                "libmediametrics",
359                "libmeminfo",
360                "libaudioclient",
361                "libaudioclient_aidl_conversion",
362                "libaudiofoundation",
363                "libaudiopolicy",
364                "libusbhost",
365                "libpdfium",
366                "libimg_utils",
367                "libnetd_client",
368                "libprocessgroup",
369                "libnativebridge_lazy",
370                "libnativeloader_lazy",
371                "libmemunreachable",
372                "libhidlbase",
373                "libnativedisplay",
374                "libnativewindow",
375                "libdl",
376                "libdl_android",
377                "libtimeinstate",
378                "server_configurable_flags",
379                "libaconfig_storage_read_api_cc",
380                "libimage_io",
381                "libultrahdr",
382                "libperfetto_c",
383                "libtracing_perfetto",
384            ],
385            export_shared_lib_headers: [
386                // our headers include libnativewindow's public headers
387                "libnativewindow",
388            ],
389            export_static_lib_headers: [
390                // AndroidRuntime.h depends on nativehelper/jni.h
391                "libnativehelper_lazy",
392            ],
393            header_libs: [
394                "bionic_libc_platform_headers",
395                "dnsproxyd_protocol_headers",
396                "flatbuffer_headers",
397                "tensorflow_headers",
398            ],
399            runtime_libs: [
400                "libidmap2",
401            ],
402        },
403        host: {
404            cflags: [
405                "-Wno-unused-const-variable",
406                "-Wno-unused-function",
407            ],
408            srcs: [
409                "platform/host/HostRuntime.cpp",
410                "platform/host/native_window_jni.cpp",
411            ],
412            include_dirs: [
413                "external/vulkan-headers/include",
414                "frameworks/native/libs/math/include",
415                "frameworks/native/libs/nativebase/include",
416                "frameworks/native/libs/nativewindow/include",
417            ],
418            static_libs: [
419                "libandroidfw",
420                "libbase",
421                "libbinary_parse",
422                "libcutils",
423                "libdng_sdk",
424                "libft2",
425                "libharfbuzz_ng",
426                "libhostgraphics",
427                "libhwui",
428                "libicui18n",
429                "libicuuc",
430                "libicuuc_stubdata",
431                "libimage_type_recognition",
432                "libinput",
433                "libjpeg",
434                "liblog",
435                "libminikin",
436                "libnativehelper_jvm",
437                "libpiex",
438                "libpng",
439                "libtiff_directory",
440                "libui-types",
441                "libutils",
442                "libwebp-decode",
443                "libwebp-encode",
444                "libwuffs_mirror_release_c",
445                "libz",
446                "libimage_io",
447                "libjpegdecoder",
448                "libjpegencoder",
449                "libultrahdr",
450                "server_configurable_flags",
451            ],
452            export_static_lib_headers: [
453                "libnativehelper_jvm",
454                "libui-types",
455            ],
456            stl: "libc++_static",
457        },
458        host_linux: {
459            srcs: [
460                "android_database_CursorWindow.cpp",
461                "android_database_SQLiteCommon.cpp",
462                "android_database_SQLiteConnection.cpp",
463                "android_database_SQLiteGlobal.cpp",
464                "android_database_SQLiteDebug.cpp",
465                "android_database_SQLiteRawStatement.cpp",
466                "android_hardware_input_InputApplicationHandle.cpp",
467                "android_os_MessageQueue.cpp",
468                "android_os_Parcel.cpp",
469
470                "android_view_InputChannel.cpp",
471                "android_view_InputEventReceiver.cpp",
472                "android_view_InputEventSender.cpp",
473
474                "android_util_Binder.cpp",
475
476                "android_util_FileObserver.cpp",
477            ],
478            static_libs: [
479                "libbinderthreadstateutils",
480                "libsqlite",
481                "libgui_window_info_static",
482                "libbinder",
483                "libhidlbase", // libhwbinder is in here
484            ],
485        },
486        linux_glibc_x86_64: {
487            ldflags: ["-static-libgcc"],
488            dist: {
489                targets: ["layoutlib"],
490                dir: "layoutlib_native/linux",
491                tag: "stripped_all",
492            },
493        },
494    },
495}
496
497cc_library_shared {
498    name: "libvintf_jni",
499
500    cpp_std: "gnu++20",
501
502    srcs: [
503        "android_os_VintfObject.cpp",
504        "android_os_VintfRuntimeInfo.cpp",
505    ],
506
507    shared_libs: [
508        "libbase",
509        "liblog",
510        "libnativehelper",
511        "libvintf",
512    ],
513
514    required: [
515        "vintf",
516    ],
517}
518