2016-11-10 02:22:15 +01:00
SOONG_MAKEVARS_MK := $( SOONG_OUT_DIR) /make_vars-$( TARGET_PRODUCT) .mk
2023-04-24 10:07:55 +02:00
SOONG_VARIABLES := $( SOONG_OUT_DIR) /soong.$( TARGET_PRODUCT) .variables
2016-11-10 02:22:15 +01:00
SOONG_ANDROID_MK := $( SOONG_OUT_DIR) /Android-$( TARGET_PRODUCT) .mk
2022-11-16 12:52:00 +01:00
i n c l u d e $( BUILD_SYSTEM ) / a r t _ c o n f i g . m k
2018-11-17 06:26:33 +01:00
i n c l u d e $( BUILD_SYSTEM ) / d e x _ p r e o p t _ c o n f i g . m k
2017-10-13 00:26:29 +02:00
2023-04-12 23:48:34 +02:00
i f n d e f A F D O _ P R O F I L E S
# Set AFDO_PROFILES
2023-04-06 06:05:05 +02:00
- i n c l u d e v e n d o r / g o o g l e _ d a t a / p g o _ p r o f i l e / s a m p l i n g / a f d o _ p r o f i l e s . m k
2023-10-11 17:25:39 +02:00
i n c l u d e t o o l c h a i n / p g o - p r o f i l e s / s a m p l i n g / a f d o _ p r o f i l e s . m k
2023-04-12 23:48:34 +02:00
e l s e
$( error AFDO_PROFILES can only be set from soong_config .mk . For product -specific fdo_profiles , please use PRODUCT_AFDO_PROFILES )
e n d i f
# PRODUCT_AFDO_PROFILES takes precedence over product-agnostic profiles in AFDO_PROFILES
ALL_AFDO_PROFILES := $( PRODUCT_AFDO_PROFILES) $( AFDO_PROFILES)
2023-04-06 06:05:05 +02:00
2023-10-19 00:50:26 +02:00
i f n e q ( , $( filter -out environment undefined ,$ ( origin GENRULE_SANDBOXING ) ) )
$( error GENRULE_SANDBOXING can only be provided via an environment variable, use BUILD_BROKEN_GENRULE_SANDBOXING to disable genrule sandboxing in board config)
e n d i f
2018-11-17 06:26:33 +01:00
i f e q ( $( WRITE_SOONG_VARIABLES ) , t r u e )
2018-12-14 20:49:49 +01:00
2016-11-10 02:22:15 +01:00
# Create soong.variables with copies of makefile settings. Runs every build,
# but only updates soong.variables if it changes
2017-10-13 00:26:29 +02:00
$( shell mkdir -p $ ( dir $ ( SOONG_VARIABLES ) ) )
2018-11-11 06:48:59 +01:00
$( call json_start )
2017-10-13 00:26:29 +02:00
$( call add_json_str , Make_suffix , -$ ( TARGET_PRODUCT ) )
2018-01-10 20:40:14 +01:00
$( call add_json_str , BuildId , $ ( BUILD_ID ) )
2020-02-22 02:29:37 +01:00
$( call add_json_str , BuildNumberFile , build_number .txt )
2018-01-10 20:40:14 +01:00
2018-05-09 20:10:15 +02:00
$( call add_json_str , Platform_version_name , $ ( PLATFORM_VERSION ) )
2017-10-13 00:26:29 +02:00
$( call add_json_val , Platform_sdk_version , $ ( PLATFORM_SDK_VERSION ) )
2018-04-18 21:40:16 +02:00
$( call add_json_str , Platform_sdk_codename , $ ( PLATFORM_VERSION_CODENAME ) )
$( call add_json_bool , Platform_sdk_final , $ ( filter REL ,$ ( PLATFORM_VERSION_CODENAME ) ) )
2021-08-26 18:04:01 +02:00
$( call add_json_val , Platform_sdk_extension_version , $ ( PLATFORM_SDK_EXTENSION_VERSION ) )
2022-02-16 17:15:22 +01:00
$( call add_json_val , Platform_base_sdk_extension_version , $ ( PLATFORM_BASE_SDK_EXTENSION_VERSION ) )
2017-10-13 00:26:29 +02:00
$( call add_json_csv , Platform_version_active_codenames , $ ( PLATFORM_VERSION_ALL_CODENAMES ) )
2023-03-27 22:30:55 +02:00
$( call add_json_csv , Platform_version_all_preview_codenames , $ ( PLATFORM_VERSION_ALL_PREVIEW_CODENAMES ) )
2019-04-03 07:57:43 +02:00
$( call add_json_str , Platform_security_patch , $ ( PLATFORM_SECURITY_PATCH ) )
$( call add_json_str , Platform_preview_sdk_version , $ ( PLATFORM_PREVIEW_SDK_VERSION ) )
$( call add_json_str , Platform_base_os , $ ( PLATFORM_BASE_OS ) )
2022-04-25 11:20:36 +02:00
$( call add_json_str , Platform_version_last_stable , $ ( PLATFORM_VERSION_LAST_STABLE ) )
2022-06-21 03:12:24 +02:00
$( call add_json_str , Platform_version_known_codenames , $ ( PLATFORM_VERSION_KNOWN_CODENAMES ) )
2023-10-03 01:20:49 +02:00
2023-07-06 23:14:24 +02:00
$( call add_json_bool , Release_aidl_use_unfrozen , $ ( RELEASE_AIDL_USE_UNFROZEN ) )
2019-04-03 07:57:43 +02:00
$( call add_json_str , Platform_min_supported_target_sdk_version , $ ( PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION ) )
2017-10-13 00:26:29 +02:00
2021-03-24 06:20:33 +01:00
$( call add_json_bool , Allow_missing_dependencies , $ ( filter true ,$ ( ALLOW_MISSING_DEPENDENCIES ) ) )
2020-06-04 16:16:39 +02:00
$( call add_json_bool , Unbundled_build , $ ( TARGET_BUILD_UNBUNDLED ) )
2021-11-24 03:55:49 +01:00
$( call add_json_list , Unbundled_build_apps , $ ( TARGET_BUILD_APPS ) )
2021-06-08 04:31:31 +02:00
$( call add_json_bool , Unbundled_build_image , $ ( TARGET_BUILD_UNBUNDLED_IMAGE ) )
2020-07-08 11:10:38 +02:00
$( call add_json_bool , Always_use_prebuilt_sdks , $ ( TARGET_BUILD_USE_PREBUILT_SDKS ) )
2017-10-13 00:26:29 +02:00
$( call add_json_bool , Debuggable , $ ( filter userdebug eng ,$ ( TARGET_BUILD_VARIANT ) ) )
$( call add_json_bool , Eng , $ ( filter eng ,$ ( TARGET_BUILD_VARIANT ) ) )
$( call add_json_str , DeviceName , $ ( TARGET_DEVICE ) )
2022-03-22 20:04:03 +01:00
$( call add_json_str , DeviceProduct , $ ( TARGET_PRODUCT ) )
2017-10-13 00:26:29 +02:00
$( call add_json_str , DeviceArch , $ ( TARGET_ARCH ) )
$( call add_json_str , DeviceArchVariant , $ ( TARGET_ARCH_VARIANT ) )
$( call add_json_str , DeviceCpuVariant , $ ( TARGET_CPU_VARIANT ) )
$( call add_json_list , DeviceAbi , $ ( TARGET_CPU_ABI ) $ ( TARGET_CPU_ABI 2) )
$( call add_json_str , DeviceSecondaryArch , $ ( TARGET_ 2ND_ARCH ) )
$( call add_json_str , DeviceSecondaryArchVariant , $ ( TARGET_ 2ND_ARCH_VARIANT ) )
$( call add_json_str , DeviceSecondaryCpuVariant , $ ( TARGET_ 2ND_CPU_VARIANT ) )
$( call add_json_list , DeviceSecondaryAbi , $ ( TARGET_ 2ND_CPU_ABI ) $ ( TARGET_ 2ND_CPU_ABI 2) )
2020-11-27 11:35:17 +01:00
$( call add_json_bool , Aml_abis , $ ( if $ ( filter mainline_sdk ,$ ( TARGET_ARCH_SUITE ) ) ,true ) )
$( call add_json_bool , Ndk_abis , $ ( if $ ( filter ndk , $ ( TARGET_ARCH_SUITE ) ) ,true ) )
2019-04-02 10:50:11 +02:00
$( call add_json_str , NativeBridgeArch , $ ( TARGET_NATIVE_BRIDGE_ARCH ) )
$( call add_json_str , NativeBridgeArchVariant , $ ( TARGET_NATIVE_BRIDGE_ARCH_VARIANT ) )
$( call add_json_str , NativeBridgeCpuVariant , $ ( TARGET_NATIVE_BRIDGE_CPU_VARIANT ) )
$( call add_json_list , NativeBridgeAbi , $ ( TARGET_NATIVE_BRIDGE_ABI ) )
2019-07-10 11:08:58 +02:00
$( call add_json_str , NativeBridgeRelativePath , $ ( TARGET_NATIVE_BRIDGE_RELATIVE_PATH ) )
2019-04-02 10:50:11 +02:00
$( call add_json_str , NativeBridgeSecondaryArch , $ ( TARGET_NATIVE_BRIDGE_ 2ND_ARCH ) )
$( call add_json_str , NativeBridgeSecondaryArchVariant , $ ( TARGET_NATIVE_BRIDGE_ 2ND_ARCH_VARIANT ) )
$( call add_json_str , NativeBridgeSecondaryCpuVariant , $ ( TARGET_NATIVE_BRIDGE_ 2ND_CPU_VARIANT ) )
$( call add_json_list , NativeBridgeSecondaryAbi , $ ( TARGET_NATIVE_BRIDGE_ 2ND_ABI ) )
2019-07-10 11:08:58 +02:00
$( call add_json_str , NativeBridgeSecondaryRelativePath , $ ( TARGET_NATIVE_BRIDGE_ 2ND_RELATIVE_PATH ) )
2019-04-02 10:50:11 +02:00
2017-10-13 00:26:29 +02:00
$( call add_json_str , HostArch , $ ( HOST_ARCH ) )
$( call add_json_str , HostSecondaryArch , $ ( HOST_ 2ND_ARCH ) )
$( call add_json_bool , HostStaticBinaries , $ ( BUILD_HOST_static ) )
2021-08-16 23:47:27 +02:00
$( call add_json_bool , HostMusl , $ ( USE_HOST_MUSL ) )
2017-10-13 00:26:29 +02:00
$( call add_json_str , CrossHost , $ ( HOST_CROSS_OS ) )
$( call add_json_str , CrossHostArch , $ ( HOST_CROSS_ARCH ) )
$( call add_json_str , CrossHostSecondaryArch , $ ( HOST_CROSS_ 2ND_ARCH ) )
2019-03-18 18:59:27 +01:00
$( call add_json_list , DeviceResourceOverlays , $ ( DEVICE_PACKAGE_OVERLAYS ) )
$( call add_json_list , ProductResourceOverlays , $ ( PRODUCT_PACKAGE_OVERLAYS ) )
2017-10-31 01:31:44 +01:00
$( call add_json_list , EnforceRROTargets , $ ( PRODUCT_ENFORCE_RRO_TARGETS ) )
$( call add_json_list , EnforceRROExcludedOverlays , $ ( PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS ) )
$( call add_json_str , AAPTCharacteristics , $ ( TARGET_AAPT_CHARACTERISTICS ) )
$( call add_json_list , AAPTConfig , $ ( PRODUCT_AAPT_CONFIG ) )
$( call add_json_str , AAPTPreferredConfig , $ ( PRODUCT_AAPT_PREF_CONFIG ) )
$( call add_json_list , AAPTPrebuiltDPI , $ ( PRODUCT_AAPT_PREBUILT_DPI ) )
2017-12-02 02:13:56 +01:00
$( call add_json_str , DefaultAppCertificate , $ ( PRODUCT_DEFAULT_DEV_CERTIFICATE ) )
2022-08-12 14:35:45 +02:00
$( call add_json_str , MainlineSepolicyDevCertificates , $ ( MAINLINE_SEPOLICY_DEV_CERTIFICATES ) )
2017-12-02 02:13:56 +01:00
2017-10-31 01:31:44 +01:00
$( call add_json_str , AppsDefaultVersionName , $ ( APPS_DEFAULT_VERSION_NAME ) )
2017-10-13 00:26:29 +02:00
$( call add_json_list , SanitizeHost , $ ( SANITIZE_HOST ) )
$( call add_json_list , SanitizeDevice , $ ( SANITIZE_TARGET ) )
$( call add_json_list , SanitizeDeviceDiag , $ ( SANITIZE_TARGET_DIAG ) )
$( call add_json_list , SanitizeDeviceArch , $ ( SANITIZE_TARGET_ARCH ) )
$( call add_json_bool , Safestack , $ ( filter true ,$ ( USE_SAFESTACK ) ) )
$( call add_json_bool , EnableCFI , $ ( call invert_bool ,$ ( filter false ,$ ( ENABLE_CFI ) ) ) )
2017-10-31 10:25:16 +01:00
$( call add_json_list , CFIExcludePaths , $ ( CFI_EXCLUDE_PATHS ) $ ( PRODUCT_CFI_EXCLUDE_PATHS ) )
$( call add_json_list , CFIIncludePaths , $ ( CFI_INCLUDE_PATHS ) $ ( PRODUCT_CFI_INCLUDE_PATHS ) )
2017-10-13 00:26:29 +02:00
$( call add_json_list , IntegerOverflowExcludePaths , $ ( INTEGER_OVERFLOW_EXCLUDE_PATHS ) $ ( PRODUCT_INTEGER_OVERFLOW_EXCLUDE_PATHS ) )
2022-08-29 08:42:34 +02:00
$( call add_json_list , HWASanIncludePaths , $ ( HWASAN_INCLUDE_PATHS ) $ ( PRODUCT_HWASAN_INCLUDE_PATHS ) )
2023-08-22 19:51:36 +02:00
$( call add_json_list , HWASanExcludePaths , $ ( HWASAN_EXCLUDE_PATHS ) $ ( PRODUCT_HWASAN_EXCLUDE_PATHS ) )
2017-10-13 00:26:29 +02:00
2021-01-06 01:36:56 +01:00
$( call add_json_list , MemtagHeapExcludePaths , $ ( MEMTAG_HEAP_EXCLUDE_PATHS ) $ ( PRODUCT_MEMTAG_HEAP_EXCLUDE_PATHS ) )
2023-06-09 00:40:39 +02:00
$( call add_json_list , MemtagHeapAsyncIncludePaths , $ ( MEMTAG_HEAP_ASYNC_INCLUDE_PATHS ) $ ( PRODUCT_MEMTAG_HEAP_ASYNC_INCLUDE_PATHS ) $ ( if $ ( filter true ,$ ( PRODUCT_MEMTAG_HEAP_SKIP_DEFAULT_PATHS ) ) ,,$ ( PRODUCT_MEMTAG_HEAP_ASYNC_DEFAULT_INCLUDE_PATHS ) ) )
$( call add_json_list , MemtagHeapSyncIncludePaths , $ ( MEMTAG_HEAP_SYNC_INCLUDE_PATHS ) $ ( PRODUCT_MEMTAG_HEAP_SYNC_INCLUDE_PATHS ) $ ( if $ ( filter true ,$ ( PRODUCT_MEMTAG_HEAP_SKIP_DEFAULT_PATHS ) ) ,,$ ( PRODUCT_MEMTAG_HEAP_SYNC_DEFAULT_INCLUDE_PATHS ) ) )
2021-01-06 01:36:56 +01:00
2019-02-01 18:06:42 +01:00
$( call add_json_bool , DisableScudo , $ ( filter true ,$ ( PRODUCT_DISABLE_SCUDO ) ) )
2017-10-13 00:26:29 +02:00
$( call add_json_bool , ClangTidy , $ ( filter 1 true ,$ ( WITH_TIDY ) ) )
$( call add_json_str , TidyChecks , $ ( WITH_TIDY_CHECKS ) )
2020-06-09 14:04:27 +02:00
$( call add_json_list , JavaCoveragePaths , $ ( JAVA_COVERAGE_PATHS ) )
$( call add_json_list , JavaCoverageExcludePaths , $ ( JAVA_COVERAGE_EXCLUDE_PATHS ) )
2020-06-17 02:49:08 +02:00
$( call add_json_bool , GcovCoverage , $ ( filter true ,$ ( NATIVE_COVERAGE ) ) )
2019-12-07 00:21:41 +01:00
$( call add_json_bool , ClangCoverage , $ ( filter true ,$ ( CLANG_COVERAGE ) ) )
2022-01-27 22:14:31 +01:00
$( call add_json_bool , ClangCoverageContinuousMode , $ ( filter true ,$ ( CLANG_COVERAGE_CONTINUOUS_MODE ) ) )
2020-07-07 16:19:44 +02:00
$( call add_json_list , NativeCoveragePaths , $ ( NATIVE_COVERAGE_PATHS ) )
$( call add_json_list , NativeCoverageExcludePaths , $ ( NATIVE_COVERAGE_EXCLUDE_PATHS ) )
2017-10-13 00:26:29 +02:00
2020-03-20 07:27:28 +01:00
$( call add_json_bool , SamplingPGO , $ ( filter true ,$ ( SAMPLING_PGO ) ) )
2017-10-13 00:26:29 +02:00
$( call add_json_bool , ArtUseReadBarrier , $ ( call invert_bool ,$ ( filter false ,$ ( PRODUCT_ART_USE_READ_BARRIER ) ) ) )
$( call add_json_str , BtConfigIncludeDir , $ ( BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR ) )
2020-05-01 06:18:58 +02:00
$( call add_json_list , DeviceKernelHeaders , $ ( TARGET_DEVICE_KERNEL_HEADERS ) $ ( TARGET_BOARD_KERNEL_HEADERS ) $ ( TARGET_PRODUCT_KERNEL_HEADERS ) )
2023-11-29 10:09:39 +01:00
$( call add_json_str , VendorApiLevel , $ ( BOARD_API_LEVEL ) )
2017-10-13 00:26:29 +02:00
$( call add_json_str , DeviceVndkVersion , $ ( BOARD_VNDK_VERSION ) )
2017-12-07 09:08:19 +01:00
$( call add_json_str , Platform_vndk_version , $ ( PLATFORM_VNDK_VERSION ) )
2017-11-17 08:09:17 +01:00
$( call add_json_list , ExtraVndkVersions , $ ( PRODUCT_EXTRA_VNDK_VERSIONS ) )
2018-01-15 06:48:40 +01:00
$( call add_json_list , DeviceSystemSdkVersions , $ ( BOARD_SYSTEMSDK_VERSIONS ) )
2020-12-21 17:31:10 +01:00
$( call add_json_str , RecoverySnapshotVersion , $ ( RECOVERY_SNAPSHOT_VERSION ) )
2018-01-15 06:48:40 +01:00
$( call add_json_list , Platform_systemsdk_versions , $ ( PLATFORM_SYSTEMSDK_VERSIONS ) )
2017-10-13 00:26:29 +02:00
$( call add_json_bool , Malloc_not_svelte , $ ( call invert_bool ,$ ( filter true ,$ ( MALLOC_SVELTE ) ) ) )
2020-07-30 23:33:11 +02:00
$( call add_json_bool , Malloc_zero_contents , $ ( call invert_bool ,$ ( filter false ,$ ( MALLOC_ZERO_CONTENTS ) ) ) )
2020-04-29 23:58:34 +02:00
$( call add_json_bool , Malloc_pattern_fill_contents , $ ( MALLOC_PATTERN_FILL_CONTENTS ) )
2017-10-13 00:26:29 +02:00
$( call add_json_str , Override_rs_driver , $ ( OVERRIDE_RS_DRIVER ) )
2023-04-08 08:46:43 +02:00
$( call add_json_str , DeviceMaxPageSizeSupported , $ ( TARGET_MAX_PAGE_SIZE_SUPPORTED ) )
2023-12-05 16:14:48 +01:00
$( call add_json_bool , DeviceNoBionicPageSizeMacro , $ ( filter true ,$ ( TARGET_NO_BIONIC_PAGE_SIZE_MACRO ) ) )
2018-11-17 06:26:33 +01:00
2018-10-05 23:41:04 +02:00
$( call add_json_bool , UncompressPrivAppDex , $ ( call invert_bool ,$ ( filter true ,$ ( DONT_UNCOMPRESS_PRIV_APPS_DEXS ) ) ) )
$( call add_json_list , ModulesLoadedByPrivilegedModules , $ ( PRODUCT_LOADED_BY_PRIVILEGED_MODULES ) )
2018-11-17 06:26:33 +01:00
2018-12-21 16:53:17 +01:00
$( call add_json_list , BootJars , $ ( PRODUCT_BOOT_JARS ) )
2023-10-26 15:17:31 +02:00
$( call add_json_list , ApexBootJars , $ ( filter -out $ ( APEX_BOOT_JARS_EXCLUDED ) , $ ( PRODUCT_APEX_BOOT_JARS ) ) )
2018-12-21 16:53:17 +01:00
2018-11-13 05:16:26 +01:00
$( call add_json_bool , VndkUseCoreVariant , $ ( TARGET_VNDK_USE_CORE_VARIANT ) )
2019-05-23 01:59:55 +02:00
$( call add_json_bool , VndkSnapshotBuildArtifacts , $ ( VNDK_SNAPSHOT_BUILD_ARTIFACTS ) )
2018-11-13 05:16:26 +01:00
2023-10-18 01:22:43 +02:00
$( call add_json_map , BuildFlags )
$( foreach flag ,$ ( _ALL_RELEASE_FLAGS ) ,\
$( call add_json_str,$( flag) ,$( _ALL_RELEASE_FLAGS.$( flag) .VALUE) ) )
$( call end_json_map )
2021-01-06 15:10:41 +01:00
$( call add_json_bool , DirectedVendorSnapshot , $ ( DIRECTED_VENDOR_SNAPSHOT ) )
$( call add_json_map , VendorSnapshotModules )
$( foreach module ,$ ( VENDOR_SNAPSHOT_MODULES ) ,\
$( call add_json_bool,$( module) ,true) )
$( call end_json_map )
2021-02-09 16:41:40 +01:00
$( call add_json_bool , DirectedRecoverySnapshot , $ ( DIRECTED_RECOVERY_SNAPSHOT ) )
$( call add_json_map , RecoverySnapshotModules )
$( foreach module ,$ ( RECOVERY_SNAPSHOT_MODULES ) ,\
$( call add_json_bool,$( module) ,true) )
$( call end_json_map )
2021-02-24 19:51:54 +01:00
$( call add_json_list , VendorSnapshotDirsIncluded , $ ( VENDOR_SNAPSHOT_DIRS_INCLUDED ) )
$( call add_json_list , VendorSnapshotDirsExcluded , $ ( VENDOR_SNAPSHOT_DIRS_EXCLUDED ) )
$( call add_json_list , RecoverySnapshotDirsIncluded , $ ( RECOVERY_SNAPSHOT_DIRS_INCLUDED ) )
$( call add_json_list , RecoverySnapshotDirsExcluded , $ ( RECOVERY_SNAPSHOT_DIRS_EXCLUDED ) )
2021-08-10 20:28:24 +02:00
$( call add_json_bool , HostFakeSnapshotEnabled , $ ( HOST_FAKE_SNAPSHOT_ENABLE ) )
2021-02-24 19:51:54 +01:00
2022-04-27 03:12:16 +02:00
$( call add_json_bool , MultitreeUpdateMeta , $ ( filter true ,$ ( TARGET_MULTITREE_UPDATE_META ) ) )
2017-12-13 23:07:13 +01:00
$( call add_json_bool , Treble_linker_namespaces , $ ( filter true ,$ ( PRODUCT_TREBLE_LINKER_NAMESPACES ) ) )
$( call add_json_bool , Enforce_vintf_manifest , $ ( filter true ,$ ( PRODUCT_ENFORCE_VINTF_MANIFEST ) ) )
2017-10-13 00:26:29 +02:00
$( call add_json_bool , Uml , $ ( filter true ,$ ( TARGET_USER_MODE_LINUX ) ) )
$( call add_json_str , VendorPath , $ ( TARGET_COPY_OUT_VENDOR ) )
2017-12-18 02:34:26 +01:00
$( call add_json_str , OdmPath , $ ( TARGET_COPY_OUT_ODM ) )
2020-05-07 23:58:20 +02:00
$( call add_json_str , VendorDlkmPath , $ ( TARGET_COPY_OUT_VENDOR_DLKM ) )
2020-07-16 01:52:59 +02:00
$( call add_json_str , OdmDlkmPath , $ ( TARGET_COPY_OUT_ODM_DLKM ) )
2022-01-27 08:05:08 +01:00
$( call add_json_str , SystemDlkmPath , $ ( TARGET_COPY_OUT_SYSTEM_DLKM ) )
2017-11-27 09:04:47 +01:00
$( call add_json_str , ProductPath , $ ( TARGET_COPY_OUT_PRODUCT ) )
2019-06-25 08:58:13 +02:00
$( call add_json_str , SystemExtPath , $ ( TARGET_COPY_OUT_SYSTEM_EXT ) )
2017-10-31 21:55:01 +01:00
$( call add_json_bool , MinimizeJavaDebugInfo , $ ( filter true ,$ ( PRODUCT_MINIMIZE_JAVA_DEBUG_INFO ) ) )
2017-10-13 00:26:29 +02:00
$( call add_json_bool , UseGoma , $ ( filter -out false ,$ ( USE_GOMA ) ) )
2019-07-17 14:28:40 +02:00
$( call add_json_bool , UseRBE , $ ( filter -out false ,$ ( USE_RBE ) ) )
2020-01-27 20:21:24 +01:00
$( call add_json_bool , UseRBEJAVAC , $ ( filter -out false ,$ ( RBE_JAVAC ) ) )
$( call add_json_bool , UseRBER 8, $ ( filter -out false ,$ ( RBE_R 8) ) )
$( call add_json_bool , UseRBED 8, $ ( filter -out false ,$ ( RBE_D 8) ) )
2017-11-27 10:51:55 +01:00
$( call add_json_bool , Arc , $ ( filter true ,$ ( TARGET_ARC ) ) )
2017-10-13 00:26:29 +02:00
2017-11-22 00:05:07 +01:00
$( call add_json_list , NamespacesToExport , $ ( PRODUCT_SOONG_NAMESPACES ) )
2018-01-30 08:07:26 +01:00
$( call add_json_list , PgoAdditionalProfileDirs , $ ( PGO_ADDITIONAL_PROFILE_DIRS ) )
2019-05-28 13:58:32 +02:00
$( call add_json_list , BoardVendorSepolicyDirs , $ ( BOARD_VENDOR_SEPOLICY_DIRS ) $ ( BOARD_SEPOLICY_DIRS ) )
2018-03-26 04:58:03 +02:00
$( call add_json_list , BoardOdmSepolicyDirs , $ ( BOARD_ODM_SEPOLICY_DIRS ) )
2022-06-09 06:26:35 +02:00
$( call add_json_list , SystemExtPublicSepolicyDirs , $ ( SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS ) )
$( call add_json_list , SystemExtPrivateSepolicyDirs , $ ( SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS ) )
Build contexts files with Soong
This is to migrate sepolicy Makefiles into Soong. For the first part,
file_contexts, hwservice_contexts, property_contexts, and
service_contexts are migrated. Build-time tests for contexts files are
still in Makefile; they will also be done with Soong after porting the
module sepolicy.
The motivation of migrating is based on generating property_contexts
dynamically: if we were to amend contexts files at build time in the
future, it would be nicer to manage them in Soong. To do that, building
contexts files with Soong can be very helpful.
Bug: 127949646
Bug: 129377144
Test: 1) Build blueline-userdebug, flash, and boot.
Test: 2) Build blueline-userdebug with TARGET_FLATTEN_APEX=true, flash,
and boot.
Test: 3) Build aosp_arm-userdebug.
Change-Id: I486f7065207468697320776f726b732077656c6c
2019-04-15 13:32:14 +02:00
$( call add_json_list , BoardSepolicyM 4Defs , $ ( BOARD_SEPOLICY_M 4DEFS ) )
2020-12-09 15:09:14 +01:00
$( call add_json_str , BoardSepolicyVers , $ ( BOARD_SEPOLICY_VERS ) )
2022-02-14 15:10:08 +01:00
$( call add_json_str , SystemExtSepolicyPrebuiltApiDir , $ ( BOARD_SYSTEM_EXT_PREBUILT_DIR ) )
$( call add_json_str , ProductSepolicyPrebuiltApiDir , $ ( BOARD_PRODUCT_PREBUILT_DIR ) )
2018-03-26 04:58:03 +02:00
2021-03-22 14:16:16 +01:00
$( call add_json_str , PlatformSepolicyVersion , $ ( PLATFORM_SEPOLICY_VERSION ) )
2021-09-15 05:04:14 +02:00
$( call add_json_str , TotSepolicyVersion , $ ( TOT_SEPOLICY_VERSION ) )
2022-01-07 01:10:56 +01:00
$( call add_json_list , PlatformSepolicyCompatVersions , $ ( PLATFORM_SEPOLICY_COMPAT_VERSIONS ) )
2021-03-22 14:16:16 +01:00
2021-01-05 12:51:40 +01:00
$( call add_json_bool , ForceApexSymlinkOptimization , $ ( filter true ,$ ( TARGET_FORCE_APEX_SYMLINK_OPTIMIZATION ) ) )
2018-11-08 00:09:54 +01:00
2018-11-17 06:26:33 +01:00
$( call add_json_str , DexpreoptGlobalConfig , $ ( DEX_PREOPT_CONFIG ) )
2021-03-23 12:49:56 +01:00
$( call add_json_bool , WithDexpreopt , $ ( filter true ,$ ( WITH_DEXPREOPT ) ) )
2019-01-05 04:57:54 +01:00
$( call add_json_list , ManifestPackageNameOverrides , $ ( PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES ) )
2019-01-29 01:19:33 +01:00
$( call add_json_list , PackageNameOverrides , $ ( PRODUCT_PACKAGE_NAME_OVERRIDES ) )
$( call add_json_list , CertificateOverrides , $ ( PRODUCT_CERTIFICATE_OVERRIDES ) )
2023-07-12 17:54:56 +02:00
$( call add_json_list , ConfiguredJarLocationOverrides , $ ( PRODUCT_CONFIGURED_JAR_LOCATION_OVERRIDES ) )
2019-01-05 04:57:54 +01:00
2022-04-01 21:59:40 +02:00
$( call add_json_str , ApexGlobalMinSdkVersionOverride , $ ( APEX_GLOBAL_MIN_SDK_VERSION_OVERRIDE ) )
2021-03-24 06:20:33 +01:00
$( call add_json_bool , EnforceSystemCertificate , $ ( filter true ,$ ( ENFORCE_SYSTEM_CERTIFICATE ) ) )
2020-06-11 20:25:05 +02:00
$( call add_json_list , EnforceSystemCertificateAllowList , $ ( ENFORCE_SYSTEM_CERTIFICATE_ALLOW_LIST ) )
2018-12-17 06:45:15 +01:00
2019-02-14 20:22:02 +01:00
$( call add_json_list , ProductHiddenAPIStubs , $ ( PRODUCT_HIDDENAPI_STUBS ) )
$( call add_json_list , ProductHiddenAPIStubsSystem , $ ( PRODUCT_HIDDENAPI_STUBS_SYSTEM ) )
$( call add_json_list , ProductHiddenAPIStubsTest , $ ( PRODUCT_HIDDENAPI_STUBS_TEST ) )
Build contexts files with Soong
This is to migrate sepolicy Makefiles into Soong. For the first part,
file_contexts, hwservice_contexts, property_contexts, and
service_contexts are migrated. Build-time tests for contexts files are
still in Makefile; they will also be done with Soong after porting the
module sepolicy.
The motivation of migrating is based on generating property_contexts
dynamically: if we were to amend contexts files at build time in the
future, it would be nicer to manage them in Soong. To do that, building
contexts files with Soong can be very helpful.
Bug: 127949646
Bug: 129377144
Test: 1) Build blueline-userdebug, flash, and boot.
Test: 2) Build blueline-userdebug with TARGET_FLATTEN_APEX=true, flash,
and boot.
Test: 3) Build aosp_arm-userdebug.
Change-Id: I486f7065207468697320776f726b732077656c6c
2019-04-15 13:32:14 +02:00
$( call add_json_list , ProductPublicSepolicyDirs , $ ( PRODUCT_PUBLIC_SEPOLICY_DIRS ) )
$( call add_json_list , ProductPrivateSepolicyDirs , $ ( PRODUCT_PRIVATE_SEPOLICY_DIRS ) )
2019-04-18 19:10:34 +02:00
$( call add_json_list , TargetFSConfigGen , $ ( TARGET_FS_CONFIG_GEN ) )
2019-04-10 21:25:07 +02:00
2018-11-11 06:48:59 +01:00
$( call add_json_map , VendorVars )
2023-01-07 01:19:26 +01:00
$( foreach namespace ,$ ( sort $ ( SOONG_CONFIG_NAMESPACES ) ) ,\
2018-11-11 06:48:59 +01:00
$( call add_json_map, $( namespace) ) \
2023-01-07 01:19:26 +01:00
$( foreach key,$( sort $( SOONG_CONFIG_$( namespace) ) ) ,\
2022-07-25 07:10:19 +02:00
$( call add_json_str,$( key) ,$( subst " ,\", $( SOONG_CONFIG_$( namespace) _$( key) ) )))\
2018-11-11 06:48:59 +01:00
$( call end_json_map) )
$( call end_json_map )
2018-03-13 08:04:48 +01:00
2021-03-24 06:20:33 +01:00
$( call add_json_bool , EnforceProductPartitionInterface , $ ( filter true ,$ ( PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE ) ) )
2020-08-20 13:21:36 +02:00
$( call add_json_str , DeviceCurrentApiLevelForVendorModules , $ ( BOARD_CURRENT_API_LEVEL_FOR_VENDOR_MODULES ) )
2019-07-19 06:40:18 +02:00
2021-03-24 06:20:33 +01:00
$( call add_json_bool , EnforceInterPartitionJavaSdkLibrary , $ ( filter true ,$ ( PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY ) ) )
2020-10-19 10:29:05 +02:00
$( call add_json_list , InterPartitionJavaLibraryAllowList , $ ( PRODUCT_INTER_PARTITION_JAVA_LIBRARY_ALLOWLIST ) )
2021-04-16 11:04:29 +02:00
$( call add_json_bool , CompressedApex , $ ( filter true ,$ ( PRODUCT_COMPRESSED_APEX ) ) )
2020-11-25 17:00:38 +01:00
2023-01-11 15:08:34 +01:00
i f n d e f A P E X _ B U I L D _ F O R _ P R E _ S _ D E V I C E S
$( call add_json_bool , TrimmedApex , $ ( filter true ,$ ( PRODUCT_TRIMMED_APEX ) ) )
e n d i f
2021-03-24 06:20:33 +01:00
$( call add_json_bool , BoardUsesRecoveryAsBoot , $ ( filter true ,$ ( BOARD_USES_RECOVERY_AS_BOOT ) ) )
2020-01-22 01:12:48 +01:00
2020-07-29 23:15:18 +02:00
$( call add_json_list , BoardKernelBinaries , $ ( BOARD_KERNEL_BINARIES ) )
2020-08-05 23:33:58 +02:00
$( call add_json_list , BoardKernelModuleInterfaceVersions , $ ( BOARD_KERNEL_MODULE_INTERFACE_VERSIONS ) )
2020-07-29 23:15:18 +02:00
2021-03-24 06:20:33 +01:00
$( call add_json_bool , BoardMoveRecoveryResourcesToVendorBoot , $ ( filter true ,$ ( BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT ) ) )
2021-01-08 18:37:47 +01:00
$( call add_json_str , PrebuiltHiddenApiDir , $ ( BOARD_PREBUILT_HIDDENAPI_DIR ) )
2020-10-22 00:43:56 +02:00
2020-12-21 14:52:22 +01:00
$( call add_json_str , ShippingApiLevel , $ ( PRODUCT_SHIPPING_API_LEVEL ) )
2023-07-26 23:33:51 +02:00
$( call add_json_list , BuildBrokenPluginValidation , $ ( BUILD_BROKEN_PLUGIN_VALIDATION ) )
$( call add_json_bool , BuildBrokenClangProperty , $ ( filter true ,$ ( BUILD_BROKEN_CLANG_PROPERTY ) ) )
$( call add_json_bool , BuildBrokenClangAsFlags , $ ( filter true ,$ ( BUILD_BROKEN_CLANG_ASFLAGS ) ) )
$( call add_json_bool , BuildBrokenClangCFlags , $ ( filter true ,$ ( BUILD_BROKEN_CLANG_CFLAGS ) ) )
2023-10-19 00:50:26 +02:00
# Use the value of GENRULE_SANDBOXING if set, otherwise use the inverse of BUILD_BROKEN_GENRULE_SANDBOXING
$( call add_json_bool , GenruleSandboxing , $ ( if $ ( GENRULE_SANDBOXING ) ,$ ( filter true ,$ ( GENRULE_SANDBOXING ) ) ,$ ( if $ ( filter true ,$ ( BUILD_BROKEN_GENRULE_SANDBOXING ) ) ,,true ) ) )
2023-07-26 23:33:51 +02:00
$( call add_json_bool , BuildBrokenEnforceSyspropOwner , $ ( filter true ,$ ( BUILD_BROKEN_ENFORCE_SYSPROP_OWNER ) ) )
$( call add_json_bool , BuildBrokenTrebleSyspropNeverallow , $ ( filter true ,$ ( BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW ) ) )
$( call add_json_bool , BuildBrokenUsesSoongPython 2Modules , $ ( filter true ,$ ( BUILD_BROKEN_USES_SOONG_PYTHON 2_MODULES ) ) )
$( call add_json_bool , BuildBrokenVendorPropertyNamespace , $ ( filter true ,$ ( BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE ) ) )
$( call add_json_bool , BuildBrokenIncorrectPartitionImages , $ ( filter true ,$ ( BUILD_BROKEN_INCORRECT_PARTITION_IMAGES ) ) )
$( call add_json_list , BuildBrokenInputDirModules , $ ( BUILD_BROKEN_INPUT_DIR_MODULES ) )
2024-01-05 00:21:26 +01:00
$( call add_json_bool , BuildBrokenDontCheckSystemSdk , $ ( filter true ,$ ( BUILD_BROKEN_DONT_CHECK_SYSTEMSDK ) ) )
2021-02-03 10:17:49 +01:00
2023-06-03 00:40:32 +02:00
$( call add_json_list , BuildWarningBadOptionalUsesLibsAllowlist , $ ( BUILD_WARNING_BAD_OPTIONAL_USES_LIBS_ALLOWLIST ) )
2021-04-01 06:28:02 +02:00
$( call add_json_bool , BuildDebugfsRestrictionsEnabled , $ ( filter true ,$ ( PRODUCT_SET_DEBUGFS_RESTRICTIONS ) ) )
2021-03-24 06:20:33 +01:00
$( call add_json_bool , RequiresInsecureExecmemForSwiftshader , $ ( filter true ,$ ( PRODUCT_REQUIRES_INSECURE_EXECMEM_FOR_SWIFTSHADER ) ) )
2021-03-17 10:04:56 +01:00
2021-03-24 06:20:33 +01:00
$( call add_json_bool , SelinuxIgnoreNeverallows , $ ( filter true ,$ ( SELINUX_IGNORE_NEVERALLOWS ) ) )
2021-03-17 10:04:56 +01:00
2021-09-15 05:04:14 +02:00
$( call add_json_list , SepolicyFreezeTestExtraDirs , $ ( SEPOLICY_FREEZE_TEST_EXTRA_DIRS ) )
$( call add_json_list , SepolicyFreezeTestExtraPrebuiltDirs , $ ( SEPOLICY_FREEZE_TEST_EXTRA_PREBUILT_DIRS ) )
2021-10-12 09:50:21 +02:00
$( call add_json_bool , GenerateAidlNdkPlatformBackend , $ ( filter true ,$ ( NEED_AIDL_NDK_PLATFORM_BACKEND ) ) )
2022-07-14 07:58:40 +02:00
$( call add_json_bool , IgnorePrefer 32OnDevice , $ ( filter true ,$ ( IGNORE_PREFER 32_ON_DEVICE ) ) )
2022-11-10 04:02:13 +01:00
$( call add_json_list , IncludeTags , $ ( PRODUCT_INCLUDE_TAGS ) )
2023-02-21 19:54:27 +01:00
$( call add_json_list , SourceRootDirs , $ ( PRODUCT_SOURCE_ROOT_DIRS ) )
2022-11-10 04:02:13 +01:00
2023-04-12 23:48:34 +02:00
$( call add_json_list , AfdoProfiles , $ ( ALL_AFDO_PROFILES ) )
2023-03-10 05:35:21 +01:00
2023-05-04 17:45:16 +02:00
$( call add_json_str , ProductManufacturer , $ ( PRODUCT_MANUFACTURER ) )
$( call add_json_str , ProductBrand , $ ( PRODUCT_BRAND ) )
$( call add_json_list , BuildVersionTags , $ ( BUILD_VERSION_TAGS ) )
2023-05-07 22:40:25 +02:00
$( call add_json_str , ReleaseVersion , $ ( _RELEASE_VERSION ) )
2023-10-13 05:36:41 +02:00
$( call add_json_list , ReleaseAconfigValueSets , $ ( RELEASE_ACONFIG_VALUE_SETS ) )
2023-08-10 23:39:59 +02:00
$( call add_json_str , ReleaseAconfigFlagDefaultPermission , $ ( RELEASE_ACONFIG_FLAG_DEFAULT_PERMISSION ) )
2023-05-07 22:40:25 +02:00
2023-10-06 09:01:03 +02:00
$( call add_json_bool , ReleaseDefaultModuleBuildFromSource , $ ( RELEASE_DEFAULT_MODULE_BUILD_FROM_SOURCE ) )
2023-07-06 09:41:22 +02:00
$( call add_json_bool , KeepVndk , $ ( filter true ,$ ( KEEP_VNDK ) ) )
2023-08-25 14:28:49 +02:00
$( call add_json_bool , CheckVendorSeappViolations , $ ( filter true ,$ ( CHECK_VENDOR_SEAPP_VIOLATIONS ) ) )
2023-09-21 01:02:00 +02:00
$( call add_json_map , PartitionVarsForBazelMigrationOnlyDoNotUse )
2023-09-15 00:16:45 +02:00
$( call add_json_str, ProductDirectory, $( dir $( INTERNAL_PRODUCT) ) )
2023-09-21 01:02:00 +02:00
$( call add_json_map,PartitionQualifiedVariables)
$( foreach image_type,SYSTEM VENDOR CACHE USERDATA PRODUCT SYSTEM_EXT OEM ODM VENDOR_DLKM ODM_DLKM SYSTEM_DLKM, \
$( call add_json_map,$( call to-lower,$( image_type) ) ) \
$( call add_json_bool, BuildingImage, $( filter true,$( BUILDING_$( image_type) _IMAGE) ) ) \
$( call add_json_str, BoardErofsCompressor, $( BOARD_$( image_type) IMAGE_EROFS_COMPRESSOR) ) \
$( call add_json_str, BoardErofsCompressHints, $( BOARD_$( image_type) IMAGE_EROFS_COMPRESS_HINTS) ) \
$( call add_json_str, BoardErofsPclusterSize, $( BOARD_$( image_type) IMAGE_EROFS_PCLUSTER_SIZE) ) \
$( call add_json_str, BoardExtfsInodeCount, $( BOARD_$( image_type) IMAGE_EXTFS_INODE_COUNT) ) \
$( call add_json_str, BoardExtfsRsvPct, $( BOARD_$( image_type) IMAGE_EXTFS_RSV_PCT) ) \
$( call add_json_str, BoardF2fsSloadCompressFlags, $( BOARD_$( image_type) IMAGE_F2FS_SLOAD_COMPRESS_FLAGS) ) \
$( call add_json_str, BoardFileSystemCompress, $( BOARD_$( image_type) IMAGE_FILE_SYSTEM_COMPRESS) ) \
$( call add_json_str, BoardFileSystemType, $( BOARD_$( image_type) IMAGE_FILE_SYSTEM_TYPE) ) \
$( call add_json_str, BoardJournalSize, $( BOARD_$( image_type) IMAGE_JOURNAL_SIZE) ) \
$( call add_json_str, BoardPartitionReservedSize, $( BOARD_$( image_type) IMAGE_PARTITION_RESERVED_SIZE) ) \
$( call add_json_str, BoardPartitionSize, $( BOARD_$( image_type) IMAGE_PARTITION_SIZE) ) \
$( call add_json_str, BoardSquashfsBlockSize, $( BOARD_$( image_type) IMAGE_SQUASHFS_BLOCK_SIZE) ) \
$( call add_json_str, BoardSquashfsCompressor, $( BOARD_$( image_type) IMAGE_SQUASHFS_COMPRESSOR) ) \
$( call add_json_str, BoardSquashfsCompressorOpt, $( BOARD_$( image_type) IMAGE_SQUASHFS_COMPRESSOR_OPT) ) \
$( call add_json_str, BoardSquashfsDisable4kAlign, $( BOARD_$( image_type) IMAGE_SQUASHFS_DISABLE_4K_ALIGN) ) \
$( call add_json_str, ProductBaseFsPath, $( PRODUCT_$( image_type) _BASE_FS_PATH) ) \
$( call add_json_str, ProductHeadroom, $( PRODUCT_$( image_type) _HEADROOM) ) \
$( call add_json_str, ProductVerityPartition, $( PRODUCT_$( image_type) _VERITY_PARTITION) ) \
2023-09-27 22:44:56 +02:00
$( call add_json_str, BoardAvbAddHashtreeFooterArgs, $( BOARD_AVB_$( image_type) _ADD_HASHTREE_FOOTER_ARGS) ) \
$( call add_json_str, BoardAvbKeyPath, $( BOARD_AVB_$( image_type) _KEY_PATH) ) \
$( call add_json_str, BoardAvbAlgorithm, $( BOARD_AVB_$( image_type) _ALGORITHM) ) \
$( call add_json_str, BoardAvbRollbackIndex, $( BOARD_AVB_$( image_type) _ROLLBACK_INDEX) ) \
$( call add_json_str, BoardAvbRollbackIndexLocation, $( BOARD_AVB_$( image_type) _ROLLBACK_INDEX_LOCATION) ) \
2023-09-21 01:02:00 +02:00
$( call end_json_map) \
)
$( call end_json_map)
$( call add_json_bool, TargetUserimagesUseExt2, $( filter true,$( TARGET_USERIMAGES_USE_EXT2) ) )
$( call add_json_bool, TargetUserimagesUseExt3, $( filter true,$( TARGET_USERIMAGES_USE_EXT3) ) )
$( call add_json_bool, TargetUserimagesUseExt4, $( filter true,$( TARGET_USERIMAGES_USE_EXT4) ) )
$( call add_json_bool, TargetUserimagesSparseExtDisabled, $( filter true,$( TARGET_USERIMAGES_SPARSE_EXT_DISABLED) ) )
$( call add_json_bool, TargetUserimagesSparseErofsDisabled, $( filter true,$( TARGET_USERIMAGES_SPARSE_EROFS_DISABLED) ) )
$( call add_json_bool, TargetUserimagesSparseSquashfsDisabled, $( filter true,$( TARGET_USERIMAGES_SPARSE_SQUASHFS_DISABLED) ) )
$( call add_json_bool, TargetUserimagesSparseF2fsDisabled, $( filter true,$( TARGET_USERIMAGES_SPARSE_F2FS_DISABLED) ) )
$( call add_json_str, BoardErofsCompressor, $( BOARD_EROFS_COMPRESSOR) )
$( call add_json_str, BoardErofsCompressorHints, $( BOARD_EROFS_COMPRESS_HINTS) )
$( call add_json_str, BoardErofsPclusterSize, $( BOARD_EROFS_PCLUSTER_SIZE) )
$( call add_json_str, BoardErofsShareDupBlocks, $( BOARD_EROFS_SHARE_DUP_BLOCKS) )
$( call add_json_str, BoardErofsUseLegacyCompression, $( BOARD_EROFS_USE_LEGACY_COMPRESSION) )
$( call add_json_str, BoardExt4ShareDupBlocks, $( BOARD_EXT4_SHARE_DUP_BLOCKS) )
$( call add_json_str, BoardFlashLogicalBlockSize, $( BOARD_FLASH_LOGICAL_BLOCK_SIZE) )
$( call add_json_str, BoardFlashEraseBlockSize, $( BOARD_FLASH_ERASE_BLOCK_SIZE) )
$( call add_json_bool, BoardUsesRecoveryAsBoot, $( filter true,$( BOARD_USES_RECOVERY_AS_BOOT) ) )
$( call add_json_bool, ProductUseDynamicPartitionSize, $( filter true,$( PRODUCT_USE_DYNAMIC_PARTITION_SIZE) ) )
$( call add_json_bool, CopyImagesForTargetFilesZip, $( filter true,$( COPY_IMAGES_FOR_TARGET_FILES_ZIP) ) )
2023-09-27 22:44:56 +02:00
$( call add_json_bool, BoardAvbEnable, $( filter true,$( BOARD_AVB_ENABLE) ) )
2023-10-13 20:31:50 +02:00
$( call add_json_list, ProductPackages, $( sort $( PRODUCT_PACKAGES) ) )
2023-09-15 00:16:45 +02:00
$( call end_json_map )
2023-11-16 20:04:44 +01:00
$( call add_json_bool , BuildFromSourceStub , $ ( findstring true ,$ ( PRODUCT_BUILD_FROM_SOURCE_STUB ) $ ( BUILD_FROM_SOURCE_STUB ) ) )
2018-11-11 06:48:59 +01:00
$( call json_end )
2017-10-13 00:26:29 +02:00
2018-11-11 06:48:59 +01:00
$( file >$ ( SOONG_VARIABLES ) .tmp ,$ ( json_contents ) )
2017-10-13 00:26:29 +02:00
$( shell if ! cmp -s $ ( SOONG_VARIABLES ) .tmp $ ( SOONG_VARIABLES ) ; then \
mv $( SOONG_VARIABLES) .tmp $( SOONG_VARIABLES) ; \
2016-11-10 02:22:15 +01:00
else \
2017-10-13 00:26:29 +02:00
rm $( SOONG_VARIABLES) .tmp; \
fi )
e n d i f # CONFIGURE_SOONG