summaryrefslogtreecommitdiff
path: root/android/variable.go
AgeCommit message (Collapse)Author
2018-02-13Search for PGO profiles in PGO_ADDITIONAL_PROFILE_DIRS am: 49540800f0 am: ↵ Pirama Arumuga Nainar
8f7ea0ebdd am: 0ee536259f Change-Id: I6b767ab0b947054ce3264ce0cf478c4d0403bb38
2018-02-13Search for PGO profiles in PGO_ADDITIONAL_PROFILE_DIRS Pirama Arumuga Nainar
This variable can be set in BoardConfig.mk to specify a list of additional paths that contain PGO profiles. These directories are searched after the predefined paths in soong/cc/pgo.go while finding PGO profiles. Test: Set this variable in a BoardConfig and verify that such profiles are found and that these paths are searched after the predefined paths in soong/cc/pgo.go. Change-Id: I0bb9523de614d0f23aba8d51c887d8fc8f41c993
2018-01-25Use product instead of oem for Product specific module am: 5cfbfbb67a am: ↵ Jaekyun Seok
2b6236308b am: be16d5e84f Change-Id: I6ee908710e7d7b7fe9d3ce7e6c43287e3e8c0835
2018-01-25Use product instead of oem for Product specific module Jaekyun Seok
Bug: 64195575 Test: succeeded building product.img with BOARD_PRODUCTIMAGE_PARTITION_SIZE, BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE and PRODUCT_PRODUCT_VERITY_PARTITION. Change-Id: Icc4f8c16bc389fe20db680849f311d02df1299c3
2018-01-23Merge "Add PLATFORM_SYSTEMSDK_VERSIONS and BOARD_SYSTEMSDK_VERSIONS" am: ↵ Jiyong Park
d89f6621ae am: ee33e88111 am: a64cc46798 Change-Id: Ic3ea155a5f5dda891d59da2b9921f3cd5af96ddc
2018-01-20Merge "Revert "Support enabling overflow sanitization by path."" am: ↵ Ivan Lozano
e021b0405d am: a8388ac9e6 am: 0370b8c419 Change-Id: I04330526423727b61697734c3cf160e93a6ccfc4
2018-01-20Revert "Support enabling overflow sanitization by path." Ivan Lozano
This reverts commit 17df3c1b768496f26dc5021b3854c2dcb42f6207. Change-Id: Id5dab777da591c24113c3048b8606547a661afdd
2018-01-19Merge "Support enabling overflow sanitization by path." am: c1fecc2dfa am: ↵ Ivan Lozano
a613b55860 am: cbc5232329 Change-Id: I99e120a4e5442bf2715ffce7f2ac69c60085140b
2018-01-19Add PLATFORM_SYSTEMSDK_VERSIONS and BOARD_SYSTEMSDK_VERSIONS Jiyong Park
PLATFORM_SYSTEMSDK_VERSIONS is the list of System SDK versions that the platform is supporting. Contrary to the public SDK where platform essentially supports all previous SDK versions, platform support only a few recent System SDK versions, since some of old System APIs are gradually deprecated, removed from the following SDKs and then finally deleted from the platform. This will be part of the framework manifest. The list can be specified by setting PLATFORM_SYSTEMSDK_MIN_VERSION. If it is set to an old version number, then System SDKs from the version to the current version (PLATFORM_SDK_VERSION) are considered to be supported by the platform. If PLATFORM_SYSTEMSDK_MIN_VERSION is not set, only the latest System SDK version is supported. Next, BOARD_SYSTEMSDK_VERSIONS is the list of System SDK versions that the device is using. This is put to the device compatibility matrix device is using. The device and the platform is considered as compatible only BOARD_SYSTEMSDK_VERSIONS in the device compatibility matrix are in the PLATFORM_SYSTEMSDK_VERSIONS in the framework manifest. When BOARD_SYSTEMSDK_VERSIONS is set, a Java app or library in vendor or odm partitions which didn't specify LOCAL_SDK_VERSION is forced to use System SDK. Also, the build system does the additional integrity check to ensure that LOCAL_SDK_VERSION is within BOARD_SYSTEMSDK_VERSIONS or PLATFORM_SYSTEMSDK_VERSIONS (if BOARD_SYSTEMSDK_VERSIONS isn't set). Bug: 69088799 Test: m -j Test: BOARD_SYSTEMSDK_VERSIONS=P m -j Change-Id: Id38f02b4be86710411be22bc28109e6894f8a483
2018-01-18Support enabling overflow sanitization by path. Ivan Lozano
Handle paths variable provided from Make about where integer overflow sanitization should be enabled by default, and prepare to enable minimal runtime diagnostics for integer overflow sanitizers in userdebug/eng builds. This provides Soong support for on-by-default paths from Make for integer overflow sanitization. Bug: 30969751 Bug: 63927620 Test: Include paths passed from Make are being sanitized. Test: Compilation succeeds with and without diagnostics enabled. Test: See Make patch for further test notes. Change-Id: I803a75646cc27ef5b4b5b74b8eb2981c39f8a6a3
2018-01-17[Android.bp] Add cflags, include_dirs, shared_libs ans srcs to ARC++ Product Hirokazu Honda
Test: Compile Bug: None Change-Id: I422f2194208ea14e976970de748d6d9238fe9f14
2018-01-12Merge "Remove unnecessary DeviceUsesClang." am: 2e020842dc am: 4bf625d7e6 Stephen Hines
am: 8d7ba61a81 Change-Id: Ibfd4b158180d54607d9b9d7c6de927b071f1d425
2018-01-11Remove unnecessary DeviceUsesClang. Stephen Hines
This build function is unnecessary now that GCC is completely unsupported for Android platform builds. It is similar to USE_CLANG_PLATFORM_BUILD from the build/make side of things. Bug: http://b/64032869 Test: Builds Change-Id: Iddf5f91cc997c337c77a644265cb8dc4e5a915b4
2017-12-21Merge "Add [soc|device|product]_specific" am: 95fba1a8f8 am: 0fffd6bca4 Jiyong Park
am: 4500bca56d Change-Id: I6a3457b18df366aec5767ddb98314872e15be124
2017-12-21Add [soc|device|product]_specific Jiyong Park
Added three properties (soc_specific, device_specific, and product_specific) that shows what a module is specific to. `soc_specific: true` means that the module is specific to an SoC (System-On-a-Chip) and thus need to be installed to vendor partition. This has the same meaning as the old `vendor: true` setting. `device_specific: true` means that the module is specific to the entire hardware configuration of a device includeing the SoC and off-chip peripherals. These modules are installed to odm partition (or /vendor/odm when odm partition does not exist). `product_specific: true` means that the module is specific to the software configuration of a product such as country, network operator, etc. These modules are installed to oem partition (or /system/oem when oem partition does not exist). These modules are assumed to be agnostic to hardware, so this property can't be true when either soc_specific or device_specific is set to true. Bug: 68187740 Test: Build. path_tests amended. Change-Id: I44ff055d87d53b0d2676758c506060de54cbffa0
2017-12-20Merge "Remove sepolicy_split from soong." am: 57603998a6 am: 3fac38f544 Steven Moreland
am: 9bbc5b65e1 Change-Id: I0413a91f87446112d15e692a8a62230647ae48ea
2017-12-19Remove sepolicy_split from soong. Steven Moreland
No longer needed. Bug: 62019611 Test: manual Change-Id: Id485e6db4cc9b5a7cf553e5089fd85b667c7c660
2017-12-15Merge "Remove Treble/PRODUCT_FULL_TREBLE from Soong." am: e565435a7b am: ↵ Steven Moreland
642948940e am: 74fc159270 Change-Id: I8079e8d1704de5f465a56c7e9d3190ac687cefb8
2017-12-15Remove Treble/PRODUCT_FULL_TREBLE from Soong. Steven Moreland
This variable is being broken up because it isn't well defined, and breaking it into smaller components makes device bringup easier. Bug: 62019611 Test: nothing uses it Change-Id: I748958b7276f607f8a711289f3bde163a1a56596
2017-12-15Merge "Add split PRODUCT_FULL_TREBLE variables to Soong." am: 4c016b996e am: ↵ Steven Moreland
3b81e0d9f6 am: 3ca2f36a19 Change-Id: I72f547172e6cac75d46b2b2f90e1ce417b7ad9c7
2017-12-13Add split PRODUCT_FULL_TREBLE variables to Soong. Steven Moreland
As a follow-up to this, Treble will be removed from Soong. Bug: 62019611 Test: manual Change-Id: I840e0d6130b834299d0cf3603443cc4c3f7f8e6d
2017-12-13Install current VNDK libs to the versioned directories. am: 8fe1212261 am: ↵ Justin Yun
df323367e7 am: 0de3759433 Change-Id: I70feaaa31fe8b66714cedeede3b6692ed283301f
2017-12-13Install current VNDK libs to the versioned directories. Justin Yun
If PLATFORM_VNDK_VERSION has a version $VER other than "current", install current VNDK libs to /system/lib[64]/vndk[-sp]-$VER. Otherwise, they will be installed to /system/lib[64]/vndk[-sp]. Bug: 69883025 Test: device boot Change-Id: Ifa8564f39687dab5b407bf2178b13022625a94f3
2017-12-05Revert "Revert "Soong support for namespaces"" am: 088e29ed38 am: 994f9e7a92 Jeff Gaston
am: e2a73fe8f5 Change-Id: Ib4f244a1e2d91b5acbf2dcc251a041ad7798e64d
2017-12-05Install VNDK snapshot libraries for system build am: 7154928c93 am: 702a40d5cd Justin Yun
am: bc90006024 Change-Id: I4bbfc018d62fb67bdad7828fa8a2a2298d4b2369
2017-12-04Revert "Revert "Soong support for namespaces"" Jeff Gaston
This mostly reverts commit 178d5fefc0cea9d0f031c0bdee125b9d960f32c3 and mostly reapplies change I6d3e52ef62c4cabe85b9a135a54de0e1a6aab29c . Bug: 65683273 Test: build/soong/scripts/diff_build_graphs.sh \ --products=aosp_arm \ 'build/blueprint:work^ build/soong:work^' \ 'build/blueprint:work build/soong:work' # and see that the only changes were: # 1. adding some new files # 2. changing some line numbers Test: m -j nothing # which runs unit tests Change-Id: I32baae00277a547fdcdd1c2219fe6625ee0e45d7
2017-12-05Install VNDK snapshot libraries for system build Justin Yun
When BOARD_VNDK_VERSION := <VNDK version>, or PRODUCT_EXTRA_VNDK_VERSIONS includes the needed <VNDK version> list, the prebuilt VNDK libs in prebuilts/vndk/ directory will be installed. Each prebuilt VNDK module uses "vndk_prebuilt_shared" for shared VNDK/VNDK-SP libs. Following is the sample configuration of a vndk snapshot module: vndk_prebuilt_shared { name: "libfoo", version: "27", vendor_available: true, vndk: { enabled: true, }, arch: { arm64: { srcs: ["arm/lib64/libfoo.so"], }, arm: { srcs: ["arm/lib/libfoo.so"], }, }, } The Android.bp for the snapshot modules will be auto-generated by a script. Bug: 38304393 Bug: 65377115 Bug: 68123344 Test: set BOARD_VNDK_VERSION := 27 copy a snapshot for v27 build with make command Change-Id: Ib93107530dbabb4a24583f4d6e4f0c513c9adfec
2017-12-02Use default app certificate from Make am: 61ae0b7eed am: 9d58bf0610 Colin Cross
am: 04585ff7d8 Change-Id: I1918429630415d83b72ab04f630fccc9fba766d7
2017-12-02Use default app certificate from Make Colin Cross
Bug: 69917341 Test: m checkbuild Test: framework-res.apk is identical after converting to Soong Change-Id: I6980afd94ea130740da0defeea045eddc2fc6439
2017-11-30[Android.bp] Add ARC++ product variable Risan
Test: Compile Bug: 64500663 Change-Id: I92739eb46029f7c808e1f1a928947b3ec596a0b2
2017-11-30Make *Context.Config return a Config instead of a interface{} Colin Cross
In Soong, a Config() method will always return a Config. Make ModuleContext, SingletonContext, TopDownMutatorContext and BottomUpMutatorContext's Config() methods explictly return a Config to avoid having to type-assert everywhere. Overriding the Config method requires duplicating the list of methods in blueprint.BaseModuleContext and blueprint.BottomUpMutatorContext, following the same pattern used by the other *Contexts. Config() obsoletes the AConfig() method used in some places, which will be cleaned up in the next patch. Test: m checkbuild Change-Id: Ibe21efde933959811d52443496967ab8ce71215e
2017-11-30Revert "Soong support for namespaces" Jeff Gaston
This reverts commit 63a250a336a1b910836eeb4caebcf5b4f8d91c2a. Reason for revert: Some failures: namespace_test.go:648: dir1/Blueprints:2:4: a namespace must be the first module in the file such as New Build Breakage: aosp-master/build_test @ 4475274 Change-Id: I1b5db8eb934e51ff22241bfca44199d886b1393b
2017-11-29Soong support for namespaces Jeff Gaston
Bug: 65683273 Test: build/soong/scripts/diff_build_graphs.sh \ --products=aosp_arm \ 'build/blueprint:work^ build/soong:work^' \ 'build/blueprint:work build/soong:work' # and see that the only changes were: # 1. adding some new files # 2. changing some line numbers Test: m -j nothing # which runs unit tests Change-Id: I6d3e52ef62c4cabe85b9a135a54de0e1a6aab29c
2017-11-27Copy abidiffs into /abidiffs on abi breakages. Jayant Chowdhary
Bug: 64267858 Test: create reference abi dump for libjpeg locally. Change return type of libjpeg_std_err and build with : BOARD_VNDK_VERSION=current mm -j64 showcommands dist Build fails and abidiff report gets copied into out/dist/abidiffs. Change-Id: I7c8ecfac95361e731009e5913bd3a7bb323a9597
2017-11-13Update default configuration Dan Willemsen
This isn't often used, but the values were quite old. So update them to something closer to aosp_arm64 from today. Bug: 68803744 Test: m clean; m --skip-make libc Change-Id: Id5c60b62e7c7a91635dea9669fc604d63d299778
2017-11-08CFI include/exclude path support (Soong) Vishwath Mohan
This CL adds the ability to centrally enable or disable CFI for components using either an environment or product config variable. This is a better, nore manageable option that enabling CFI across each component individually. Bug: 67507323 Test: CFI_INCLUDE_PATHS= system/nfc m -j40 Test: CFI_EXCLUDE_PATHS = frameworks/av m -j40 Change-Id: I38b77946759121aec99ab25f31aaee2e5d993f73
2017-11-01Propagate PRODUCT_MINIMIZE_JAVA_DEBUG_INFO to soong and use it Colin Cross
Strip debug info in javac when PRODUCT_MINIMIZE_JAVA_DEBUG_INFO is set. Test: m with PRODUCT_MINIMIZE_JAVA_DEBUG_INFO=true Change-Id: I167e742662801291c516bf1ff826486560d22147
2017-10-30Import AAPT-related product variables from make Colin Cross
Test: m checkbuild Change-Id: I22113c17d240ff26652cea7df801a183343faebd
2017-10-17Allow arch-specific modules to be disabled in the PDK Colin Cross
Modules may need to be disabled in the PDK for the device but not the host. Test: m checkbuild Change-Id: Ie40555d1437d9f36ceec753884dc4045132998eb
2017-08-31Pass --min-sdk-version to dx Colin Cross
Pass the sdk_version property, the platform sdk version, or 10000 to dx as --min-sdk-version. Test: m -j checkbuild Change-Id: I5fae03f44153dc2d6244c33f4c055e746980aefe
2017-08-23Add product_variables.uml Dmitry Shmidt
Bug: 64985489 Test: Manual Change-Id: Ief6f06770b4df54c3630fb8f1904da2336f294ff Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2017-08-03Adapt to PLATFORM_VERSION_FUTURE_CODENAMES. Dan Albert
am: 31384debd7 Change-Id: Ib27259053a381f98a73b4dbc0421efce3ef31516
2017-08-02Adapt to PLATFORM_VERSION_FUTURE_CODENAMES. Dan Albert
Don't preserve the confusing names from make. Rename AllCodenames to ActiveCodenames, add FutureCodenames, and add CombinedCodenames to fetch the *real* AllCodenames. To allow `introduced=P` in NDK library definitions, we need to know that P exists. Use the combined list of current and future API codenames generating stubs. Test: make ndk Test: check out/soong/api_levels.json Bug: None Change-Id: I435f9ce7446236edc268a84e33474044a55a6302
2017-07-19Merge "Allow integer_overflow sanitizer path exclusion." Ivan Lozano
am: 335565d300 Change-Id: Id19a2328970b540fcbcddb9421a2973eada302a7
2017-07-18Allow integer_overflow sanitizer path exclusion. Ivan Lozano
Add support for excluding paths from having integer_overflow applied to them when using SANITIZE_TARGET=integer_overflow via an INTEGER_OVERFLOW_EXCLUDE_PATHS make variable. This covers the soong side of the change. Bug: 30969751 Test: Build with SANITIZE_TARGET=integer_overflow SANITIZE_TARGET_DIAG=integer_overflow INTEGER_OVERFLOW_EXCLUDE_PATHS=<path> and confirmed this was no longer being applied to binaries in that path. Change-Id: I298b772f5425da28dff1cf007825be19558db3a8
2017-07-08add device_kernel_headers module for vendor-specific kernel headers Jiyong Park
am: d773eb3e86 Change-Id: I5df3aded9d8ba25cde31eee61ca337eb74113ef4
2017-07-08add device_kernel_headers module for vendor-specific kernel headers Jiyong Park
device_kernel_headers is a built-in heder-only lib that provides device-specific kernel headers. The header path is configured via a new product variable SystemIncludeDirs, which is currently the mirror of TARGET_PROJECT_SYSTEM_INCLUDES in the make world. Note: generic kernel headers (bionic/libc/kernel) have been added to the include path by default. "device_kernel_headers" module is for device-specific kernel headers such as /device/*/*/kernel-headers. Note 2: this is opt-in for Android.bp modules (i.e. header_libs : ["device_kernel_headers"] required.) while it is always provided to Android.mk modules. Bug: 62939405 Test: choosecombo to aosp_sailfish (or any other Pixel/Nexus targets) BOARD_VNDK_VERSION=current m -j gralloc.msm8996 (or any other vendor libs using vendor-specific kernel headers) Change-Id: I81c60abc13942c89fff723d1544b27a81b300db0
2017-07-07Add integer_overflow sanitization build option. Ivan Lozano
am: 0c3a1efae4 Change-Id: I5fcdec7b89b8104e532b945f30a966dc95c80518
2017-07-07Add integer_overflow sanitization build option. Ivan Lozano
Adds the SANITIZE_TARGET=integer_overflow build option to apply signed and unsigned integer overflow sanitization globally. This implements the Soong side of the build option. An additional build option is provided to control whether or not to run in diagnostics mode, controlled by SANITIZE_TARGET_DIAG. This works the same way that SANITIZE_TARGET does and currently only supports 'integer_overflow' as an option. A default sanitizer blacklist is added to avoid applying sanitization to functions that are likely to exhibit benign overflows. Bug: 30969751 Test: Building with and without the new flags, device boot-up, tested various permutations of controlling the new flags from build files. Change-Id: Ibc8a8615d3132f1a23faaf1cb4861f24c5ef734a
2017-05-26Merge "Add pdk product variable" am: e5598169b3 am: 8a328382bf Colin Cross
am: 6a30684b33 Change-Id: Ie60495934426998d523f5f2c670c052fb08c22fb