blob: 7b9844f7df73bfd6722f36f7bd82a2f8f11b4153 [file]
package {
default_applicable_licenses: ["frameworks_base_core_jni_license"],
}
// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
name: "frameworks_base_core_jni_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
],
license_text: [
"NOTICE",
],
}
soong_config_module_type {
name: "cc_defaults_for_libandroid_runtime",
module_type: "cc_defaults",
config_namespace: "ANDROID",
bool_variables: [
"release_binder_death_recipient_weak_from_jni",
],
properties: [
"cflags",
],
}
cc_defaults_for_libandroid_runtime {
name: "libandroid_runtime_defaults",
host_supported: true,
cflags: [
"-Wno-cast-function-type-mismatch",
"-Wno-unused-parameter",
"-Wno-non-virtual-dtor",
"-Wno-maybe-uninitialized",
"-Wno-parentheses",
"-DGL_GLEXT_PROTOTYPES",
"-DEGL_EGLEXT_PROTOTYPES",
"-DU_USING_ICU_NAMESPACE=0",
"-DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION",
"-Wall",
"-Werror",
"-Wextra",
"-Wthread-safety",
"-Wno-error=deprecated-declarations",
"-Wno-unused-parameter",
"-Wunused",
"-Wunreachable-code",
],
cppflags: ["-Wno-conversion-null"],
header_libs: [
"libhwui_internal_headers",
"libbinder_internal_headers",
],
product_variables: {
eng: {
cflags: ["-DNO_RESET_STACK_PROTECTOR"],
},
},
soong_config_variables: {
release_binder_death_recipient_weak_from_jni: {
cflags: ["-DBINDER_DEATH_RECIPIENT_WEAK_FROM_JNI"],
},
},
srcs: [
"android_animation_PropertyValuesHolder.cpp",
"android_content_res_ApkAssets.cpp",
"android_database_CursorWindow.cpp",
"android_database_SQLiteCommon.cpp",
"android_database_SQLiteConnection.cpp",
"android_database_SQLiteGlobal.cpp",
"android_database_SQLiteDebug.cpp",
"android_database_SQLiteRawStatement.cpp",
"android_media_ImageReader.cpp",
"android_media_PublicFormatUtils.cpp",
"android_media_Utils.cpp",
"android_os_SystemClock.cpp",
"android_os_SystemProperties.cpp",
"android_text_AndroidCharacter.cpp",
"android_text_Hyphenator.cpp",
"android_util_AssetManager.cpp",
"android_util_EventLog.cpp",
"android_util_Log.cpp",
"android_util_StringBlock.cpp",
"android_util_XmlBlock.cpp",
"android_util_jar_StrictJarFile.cpp",
"android_view_InputDevice.cpp",
"android_view_KeyCharacterMap.cpp",
"android_view_KeyEvent.cpp",
"android_view_MotionEvent.cpp",
"android_view_MotionPredictor.cpp",
"android_view_Surface.cpp",
"android_view_VelocityTracker.cpp",
"android_view_VerifiedKeyEvent.cpp",
"android_view_VerifiedMotionEvent.cpp",
"com_android_internal_util_VirtualRefBasePtr.cpp",
"core_jni_helpers.cpp",
":deviceproductinfoconstants_aidl",
],
include_dirs: [
"external/skia/include/private",
"frameworks/base/media/jni",
"system/media/camera/include",
"system/media/private/camera/include",
],
static_libs: [
"android.content.res.flags-aconfig-cc-host-ro",
"libkernelconfigs",
"libziparchive_for_incfs",
"libguiflags",
"libPlatformProperties",
],
export_include_dirs: [
".",
"include",
],
defaults: [
"aconfig_lib_cc_shared_link.defaults",
"latest_android_media_audio_common_types_cpp_target_shared",
],
target: {
android: {
srcs: [
"AndroidRuntime.cpp",
"com_android_internal_content_F2fsUtils.cpp",
"com_android_internal_content_FileSystemUtils.cpp",
"com_android_internal_content_NativeLibraryHelper.cpp",
"com_google_android_gles_jni_EGLImpl.cpp",
"com_google_android_gles_jni_GLImpl.cpp", // TODO: .arm
"android_app_Activity.cpp",
"android_app_ActivityThread.cpp",
"android_app_NativeActivity.cpp",
"android_app_admin_SecurityLog.cpp",
"android_media_ImageWriter.cpp",
"android_opengl_EGL14.cpp",
"android_opengl_EGL15.cpp",
"android_opengl_EGLExt.cpp",
"android_opengl_GLES10.cpp",
"android_opengl_GLES10Ext.cpp",
"android_opengl_GLES11.cpp",
"android_opengl_GLES11Ext.cpp",
"android_opengl_GLES20.cpp",
"android_opengl_GLES30.cpp",
"android_opengl_GLES31.cpp",
"android_opengl_GLES31Ext.cpp",
"android_opengl_GLES32.cpp",
"android_graphics_GraphicBuffer.cpp",
"android_graphics_SurfaceTexture.cpp",
"android_view_CompositionSamplingListener.cpp",
"android_view_DisplayEventReceiver.cpp",
"android_view_InputChannel.cpp",
"android_view_InputEventReceiver.cpp",
"android_view_InputEventSender.cpp",
"android_view_InputQueue.cpp",
"android_view_PointerIcon.cpp",
"android_view_SurfaceControl.cpp",
"android_view_SurfaceControlActivePictureListener.cpp",
"android_view_SurfaceControlHdrLayerInfoListener.cpp",
"android_view_WindowManagerGlobal.cpp",
"android_graphics_BLASTBufferQueue.cpp",
"android_view_SurfaceSession.cpp",
"android_view_TextureView.cpp",
"android_view_TunnelModeEnabledListener.cpp",
"android_os_Debug.cpp",
"android_os_GraphicsEnvironment.cpp",
"android_os_HidlMemory.cpp",
"android_os_HidlSupport.cpp",
"android_os_HwBinder.cpp",
"android_os_HwBlob.cpp",
"android_os_HwParcel.cpp",
"android_os_HwRemoteBinder.cpp",
"android_os_NativeHandle.cpp",
"android_os_MemoryFile.cpp",
"android_os_MessageQueue.cpp",
"android_os_Parcel.cpp",
"android_os_PerformanceHintManager.cpp",
"android_os_SELinux.cpp",
"android_os_ServiceManager.cpp",
"android_os_ServiceManagerNative.cpp",
"android_os_SharedMemory.cpp",
"android_os_storage_StorageManager.cpp",
"android_os_Trace.cpp",
"android_os_UEventObserver.cpp",
"android_os_incremental_IncrementalManager.cpp",
"android_net_LocalSocketImpl.cpp",
"android_service_DataLoaderService.cpp",
"android_util_Binder.cpp",
"android_util_CharsetUtils.cpp",
"android_util_MemoryIntArray.cpp",
"android_util_Process.cpp",
"android_media_audio_common_AidlConversion.cpp",
"android_media_AudioDeviceAttributes.cpp",
"android_media_AudioEffectDescriptor.cpp",
"android_media_AudioFormat.cpp",
"android_media_AudioRecord.cpp",
"android_media_AudioSystem.cpp",
"android_media_AudioTrackCallback.cpp",
"android_media_AudioTrack.cpp",
"android_media_AudioAttributes.cpp",
"android_media_AudioProductStrategies.cpp",
"android_media_AudioVolumeGroups.cpp",
"android_media_DeviceCallback.cpp",
"android_media_MediaMetricsJNI.cpp",
"android_media_MicrophoneInfo.cpp",
"android_media_midi.cpp",
"android_media_RemoteDisplay.cpp",
"android_media_ToneGenerator.cpp",
"android_hardware_Camera.cpp",
"android_hardware_camera2_CameraMetadata.cpp",
"android_hardware_camera2_CameraDevice.cpp",
"android_hardware_camera2_DngCreator.cpp",
"android_hardware_camera2_impl_CameraExtensionJpegProcessor.cpp",
"android_hardware_camera2_utils_SurfaceUtils.cpp",
"android_hardware_display_DisplayManagerGlobal.cpp",
"android_hardware_display_DisplayViewport.cpp",
"android_hardware_display_DisplayTopology.cpp",
"android_hardware_HardwareBuffer.cpp",
"android_hardware_HubEndpoint.cpp",
"android_hardware_OverlayProperties.cpp",
"android_hardware_SensorManager.cpp",
"android_hardware_SerialPort.cpp",
"android_hardware_SyncFence.cpp",
"android_hardware_UsbDevice.cpp",
"android_hardware_UsbDeviceConnection.cpp",
"android_hardware_UsbRequest.cpp",
"android_hardware_location_ActivityRecognitionHardware.cpp",
"android_util_FileObserver.cpp",
"android/opengl/poly_clip.cpp", // TODO: .arm
"android/opengl/util.cpp",
"android_ddm_DdmHandleNativeHeap.cpp",
"android_backup_BackupDataInput.cpp",
"android_backup_BackupDataOutput.cpp",
"android_backup_FileBackupHelperBase.cpp",
"android_backup_BackupHelperDispatcher.cpp",
"android_app_PropertyInvalidatedCache.cpp",
"android_app_backup_FullBackup.cpp",
"android_content_res_ObbScanner.cpp",
"android_content_res_CameraCompatibilityInfo.cpp",
"android_content_res_Configuration.cpp",
"android_content_res_ResourceTimer.cpp",
"android_security_Scrypt.cpp",
"com_android_internal_content_om_OverlayConfig.cpp",
"com_android_internal_content_om_OverlayManagerImpl.cpp",
"com_android_internal_net_NetworkUtilsInternal.cpp",
"com_android_internal_os_ApplicationSharedMemory.cpp",
"com_android_internal_os_ClassLoaderFactory.cpp",
"com_android_internal_os_DebugStore.cpp",
"com_android_internal_os_FuseAppLoop.cpp",
"com_android_internal_os_KernelAllocationStats.cpp",
"com_android_internal_os_KernelCpuBpfTracking.cpp",
"com_android_internal_os_KernelCpuTotalBpfMapReader.cpp",
"com_android_internal_os_KernelCpuUidBpfMapReader.cpp",
"com_android_internal_os_KernelSingleProcessCpuThreadReader.cpp",
"com_android_internal_os_KernelSingleUidTimeReader.cpp",
"com_android_internal_os_LongArrayMultiStateCounter.cpp",
"com_android_internal_os_LongMultiStateCounter.cpp",
"com_android_internal_os_Zygote.cpp",
"com_android_internal_os_ZygoteCommandBuffer.cpp",
"com_android_internal_os_ZygoteInit.cpp",
"com_android_internal_security_VerityUtils.cpp",
"com_android_internal_util_ArrayUtils.cpp",
"hwbinder/EphemeralStorage.cpp",
"fd_utils.cpp",
"android_hardware_input_InputWindowHandle.cpp",
"android_hardware_input_InputApplicationHandle.cpp",
"android_window_InputTransferToken.cpp",
"android_window_WindowInfosListener.cpp",
"android_window_ScreenCapture.cpp",
"jni_common.cpp",
"android_tracing_PerfettoDataSource.cpp",
"android_tracing_PerfettoDataSourceInstance.cpp",
"android_tracing_PerfettoProducer.cpp",
"com_android_internal_protolog.cpp",
] + select(release_flag("RELEASE_NATIVE_FRAMEWORK_PROTOTYPE"), {
true: [
"android_os_NativeZygoteProcess.cpp",
],
default: [],
}),
cppflags: select(release_flag("RELEASE_NATIVE_FRAMEWORK_PROTOTYPE"), {
true: [
"-DANDROID_NATIVE_FRAMEWORK_PROTOTYPE",
],
default: [],
}) + select(release_flag("RELEASE_BUILD_EXECUTE_ONLY_MEMORY"), {
true: [
"-DBUILD_EXECUTE_ONLY_MEMORY",
],
default: [],
}),
static_libs: [
"android.os.flags-aconfig-cc",
"libasync_safe",
"libbinderthreadstateutils",
"libdmabufinfo",
"libgenfslabelsversion.ffi",
"libgui_window_info_static",
"libnativehelper_lazy",
"libseccomp_policy",
"libgrallocusage",
"libscrypt_static",
"libstatssocket_lazy",
"libskia",
"pw_status",
] + select(release_flag("RELEASE_NATIVE_FRAMEWORK_PROTOTYPE"), {
true: [
"libflatbuffers-cpp",
],
default: [],
}) + select(release_flag("RELEASE_BUILD_EXECUTE_ONLY_MEMORY"), {
true: [
"libtracing_perfetto",
],
default: [],
}),
shared_libs: [
"libbase",
"libharfbuzz_ng",
"liblog",
"libmediautils",
"libminikin",
"libz",
"libguiflags",
"aconfig_text_flags_c_lib",
"android.database.sqlite-aconfig-cc",
"android.media.audiopolicy-aconfig-cc",
"audioclient-types-aidl-cpp",
"audioflinger-aidl-cpp",
"audiopolicy-types-aidl-cpp",
"spatializer-aidl-cpp",
"volumegroupcallback-aidl-cpp",
"av-types-aidl-cpp",
"android.hardware.camera.device@3.2",
"camera_platform_flags_c_lib",
"android.hardware.common.fmq-V1-cpp",
"android.hardware.common-V2-cpp",
"android.hardware.common.fmq-V1-ndk",
"android.hardware.common-V2-ndk",
"android.hardware.contexthub-V5-ndk",
"chre_flags_c_lib",
"contexthub_data_flow",
"libfmq",
"libbattery",
"libnetdutils",
"libmemtrack",
"libandroidfw",
"libappfuse",
"libcrypto",
"libcutils",
"libdebuggerd_client",
"libdebugstore_cxx",
"libutils",
"libbinder",
"libbinderdebug",
"libbinder_ndk",
"libui",
"libgraphicsenv",
"libgui",
"libhwui",
"libmediandk",
"libpermission",
"libsensor",
"libinput",
"libicu",
"libcamera_client",
"libcamera_metadata",
"libcore_jni_flags_c",
"libprocinfo",
"libsqlite",
"libEGL",
"libGLESv1_CM",
"libGLESv2",
"libGLESv3",
"libincfs",
"libdataloader",
"libvulkan",
"libETC1",
"libjpeg",
"libhardware",
"libhardware_legacy",
"libselinux",
"libmedia",
"libmedia_helper",
"libmediametrics",
"libmeminfo",
"libaudiobase",
"libaudioclient",
"libaudioclient_aidl_conversion",
"libaudiofoundation",
"libaudiopolicy",
"libusbhost",
"libpdfium",
"libimg_utils",
"libnetd_client",
"libprocessgroup",
"libprocessgroup_platform",
"libnativebridge_lazy",
"libnativeloader_lazy",
"libmemunreachable",
"libhidlbase",
"libnativedisplay",
"libnativewindow",
"libdl",
"libdl_android",
"libcameracompatbilityinfo",
"libtimeinstate",
"server_configurable_flags",
"libaconfig_storage_read_api_cc",
"libimage_io",
"libultrahdr",
"libperfetto_c",
"libtracing_perfetto",
"libperfetto_framework_jni",
"libprotolog",
"pw_allocator",
],
export_shared_lib_headers: [
// our headers include libnativewindow's public headers
"libnativewindow",
],
export_static_lib_headers: [
// AndroidRuntime.h depends on nativehelper/jni.h
"libnativehelper_lazy",
],
header_libs: [
"bionic_libc_platform_headers",
"dnsproxyd_protocol_headers",
"flatbuffer_headers",
"tensorflow_headers",
"bpf_prog_headers",
] + select(release_flag("RELEASE_NATIVE_FRAMEWORK_PROTOTYPE"), {
true: [
"libzygote_messages_schema_headers",
],
default: [],
}),
runtime_libs: [
"libidmap2",
],
},
android_x86_64: {
srcs: [
"com_android_internal_os_KernelCpuCyclePerUidBpf.cpp",
],
shared_libs: [
"libcycleperuid",
],
},
host: {
cflags: [
"-Wno-unused-const-variable",
"-Wno-unused-function",
],
srcs: [
"platform/host/HostRuntime.cpp",
"platform/host/native_window_jni.cpp",
],
include_dirs: [
"external/vulkan-headers/include",
"frameworks/native/libs/math/include",
"frameworks/native/libs/nativebase/include",
"frameworks/native/libs/nativewindow/include",
],
static_libs: [
"libandroidfw",
"libhostgraphics",
"libnativehelper_jvm",
"libui-types",
],
header_libs: [
"flatbuffer_headers",
"tensorflow_headers",
],
export_static_lib_headers: [
"libnativehelper_jvm",
"libui-types",
],
},
host_linux: {
srcs: [
"android_hardware_input_InputApplicationHandle.cpp",
"android_os_MessageQueue.cpp",
"android_os_Parcel.cpp",
"android_view_InputChannel.cpp",
"android_view_InputEventReceiver.cpp",
"android_view_InputEventSender.cpp",
"android_util_Binder.cpp",
"android_util_FileObserver.cpp",
],
static_libs: [
"libbinderthreadstateutils",
"libgui_window_info_static",
],
},
},
}
cc_library_shared {
name: "libandroid_runtime",
defaults: ["libandroid_runtime_defaults"],
target: {
host: {
static_libs: [
"aconfig_text_flags_c_lib",
"aconfig_view_accessibility_flags_c_lib",
"libaconfig_storage_read_api_cc",
"libbase",
"libbinary_parse",
"libcutils",
"libdng_sdk",
"libft2",
"libharfbuzz_ng",
"libhwui",
"libicui18n",
"libicuuc",
"libicuuc_stubdata",
"libimage_io",
"libimage_type_recognition",
"libinput",
"libjpeg",
"libjpegdecoder",
"libjpegencoder",
"liblog",
"libminikin",
"libperfetto_c",
"libpiex",
"libpng",
"libsqlite",
"libstatssocket-fake",
"libstatspull-fake",
"libtflite_static",
"libtiff_directory",
"libtinyxml2",
"libtracing_perfetto",
"libultrahdr",
"libutils",
"libwebp-decode",
"libwebp-encode",
"libwuffs_mirror_release_c",
"libz",
"server_configurable_flags",
],
stl: "libc++_static",
},
host_linux: {
version_script: "platform/linux/libandroid_runtime_export.txt",
static_libs: [
"libbinder",
"libbinder_ndk",
"libcore_jni_flags_c",
"libhidlbase",
],
},
darwin: {
host_ldlibs: [
"-framework AppKit",
],
dist: {
targets: ["layoutlib_jni"],
dir: "layoutlib_native/darwin",
},
exported_symbols_list: "platform/darwin/libandroid_runtime_export.exp",
},
linux_glibc_x86_64: {
ldflags: ["-static-libgcc"],
dist: {
targets: ["layoutlib_jni"],
dir: "layoutlib_native/linux",
tag: "stripped_all",
},
},
},
afdo: true,
}
cc_library_host_shared {
name: "libandroid_runtime_ravenwood",
stem: "libandroid_runtime",
defaults: ["libandroid_runtime_defaults"],
installable: false,
visibility: ["//frameworks/base/ravenwood"],
cflags: [
"-D__RAVENWOOD__",
],
shared_libs: [
"libaconfig_storage_read_api_cc",
"libbase",
"libbinder",
"libbinder_ndk",
"libcore_jni_flags_c",
"libcutils",
"libharfbuzz_ng",
"libhidlbase",
"libhwui",
"libicui18n",
"libicuuc",
"libimage_io",
"libinput",
"libjpeg",
"liblog",
"libminikin",
"libperfetto_c",
"libsqlite",
"libtracing_perfetto",
"libultrahdr",
"libutils",
"libz",
"server_configurable_flags",
],
static_libs: [
"libicuuc_stubdata",
],
}
cc_library_shared {
name: "libvintf_jni",
srcs: [
"android_os_VintfObject.cpp",
"android_os_VintfRuntimeInfo.cpp",
],
shared_libs: [
"libbase",
"liblog",
"libnativehelper",
"libvintf",
],
required: [
"vintf",
],
}
cc_library_shared {
name: "libmedia_jni_utils",
srcs: [
":libgui_frame_event_aidl",
"android_media_Utils.cpp",
],
header_libs: [
"libgui_headers",
],
shared_libs: [
"liblog",
"libui",
"libutils",
],
include_dirs: [
"system/media/camera/include",
],
export_include_dirs: ["."],
cflags: [
"-Wall",
"-Werror",
"-Wno-error=deprecated-declarations",
"-Wunused",
"-Wunreachable-code",
],
}
aconfig_declarations {
name: "core_jni_flags",
package: "com.android.base.core.jni.flags",
container: "system",
srcs: ["flags.aconfig"],
}
cc_aconfig_library {
name: "libcore_jni_flags_c",
aconfig_declarations: "core_jni_flags",
host_supported: true,
target: {
windows: {
enabled: true,
},
},
}