Commit Graph

15264 Commits

Author SHA1 Message Date
Bowgo Tsai
8f03b86120 Merge "Renames sepolicy files from nonplat_* to vendor_*" am: 5e7d417271
am: 897c432036

Change-Id: I7f445103859d40551c398b220c41e7ec96b5bd89
2018-01-31 14:49:12 +00:00
Bowgo Tsai
8b5f514038 Renames sepolicy files from nonplat_* to vendor_*
Bug: 64240127
Test: boot an existing device
Change-Id: I6d6ac7d9dee450b2a20649e5f4dbb8976f48061e
2018-01-30 16:15:12 +08:00
Dan Willemsen
6597699c8d Merge "Clean up some kati warnings" am: 157fbf771b
am: 6432cf64b6

Change-Id: I49dac5cbfb0dac0c6302775f1e3defeaff8c2dcb
2018-01-30 07:50:37 +00:00
Dan Willemsen
157fbf771b Merge "Clean up some kati warnings" 2018-01-30 07:43:27 +00:00
Pirama Arumuga Nainar
64e15096e5 Merge "Write SOONG_MODULES_MISSING_PGO_PROFILE_FILE to $DIST_DIR" am: d33cac8af1
am: 7760fdff02

Change-Id: I1369ae7e4518d2ed86fee465a4276f20a412eabf
2018-01-30 06:45:58 +00:00
Treehugger Robot
d33cac8af1 Merge "Write SOONG_MODULES_MISSING_PGO_PROFILE_FILE to $DIST_DIR" 2018-01-30 06:34:15 +00:00
Dan Willemsen
893bebc44b Clean up some kati warnings
Kati has a `--warn` option that adds some extra Kati-specific warnings
-- like using undefined make functions, undefined user functions, likely
bad variable lookups, etc. Some of these are bugs, others are fine doing
nothing. This fixes up all of them in the core build system.

It also complains about $(eval) usage in a recipe not being recommended.
Those aren't handled as part of this change.

Bug: 72661763
Test: build-aosp_arm.ninja is identical before and after
Change-Id: I8e00af142a7745236d3ad4efc9e91ec3ce71a511
2018-01-29 16:23:37 -08:00
Pirama Arumuga Nainar
ae9595674b Write SOONG_MODULES_MISSING_PGO_PROFILE_FILE to $DIST_DIR
Bug: http://b/72642679

Store missing profile files and the modules that refer to them, passed
via SOONG_MODULES_MISSING_PGO_PROFILE_FILE variable, to
$DIST_DIR/pgo_profile_file_missing.txt as part of the 'dist' target.

Test: 'm dist' and verify creation of pgo_profile_file_missing.txt.
Change-Id: I4ac0a1f413cbb99b33ad1903aeebd3ebcf3b9f59
2018-01-29 14:48:08 -08:00
Tobias Thierer
57e6177293 Merge "javac 9 -target 1.9: Move bootclasspath jars onto classpath." am: e1b94da7c8
am: 6f1cb62ed4

Change-Id: If14a89546419322204e702d1c6f917310223e40e
2018-01-29 10:58:06 +00:00
Tobias Thierer
e1b94da7c8 Merge "javac 9 -target 1.9: Move bootclasspath jars onto classpath." 2018-01-29 10:51:24 +00:00
David Brazdil
ebbd39f4fd Merge "Add flag to control hidden API warning toasts" am: 4e6c5218db
am: 744c286b07

Change-Id: Ib0734cf6c5a127c2f2c55fd381b10631839a7229
2018-01-29 10:30:33 +00:00
David Brazdil
4e6c5218db Merge "Add flag to control hidden API warning toasts" 2018-01-29 10:22:10 +00:00
Dan Willemsen
076ace4727 Merge "Fix multilib test data being installed twice to the same place" am: f9d8f6fa7d
am: 71bea86caa

Change-Id: Ie5a1f0de006fdc37d7c2abe6e2f083cbc2d1a905
2018-01-27 03:52:15 +00:00
Dan Willemsen
4133793ce3 Fix multilib test data being installed twice to the same place
Fixes lots of warnings of the form:

build/make/core/base_rules.mk:606: warning: overriding commands for target `out/target/product/generic_arm64/testcases/simpleperf_unit_test/testdata/perf.data'
build/make/core/base_rules.mk:606: warning: ignoring old commands for target `out/target/product/generic_arm64/testcases/simpleperf_unit_test/testdata/perf.data'

Test: lunch aosp_arm64-eng; m device-tests
Change-Id: I32575d25f3aef1d4000fcb63d6ffc025ad21f937
2018-01-26 16:57:57 -08:00
Alex Light
393453d761 Merge "Revert "Apply hiddenapi build tool on boot jars"" am: 9f1e629503
am: 67bf2d712a

Change-Id: I93d9c9d577caa8c3a2d0645c5a3a6367a702d75e
2018-01-26 19:40:51 +00:00
David Brazdil
7a0c5eeb20 Merge "Move locations of all hidden API lists into the build folder" am: 661f97b62b
am: c573a77645

Change-Id: Ifc749b190c388b076ceadd872fd80b1891be4dd2
2018-01-26 19:35:26 +00:00
Alex Light
9f1e629503 Merge "Revert "Apply hiddenapi build tool on boot jars"" 2018-01-26 18:40:55 +00:00
Alex Light
4a2926a44e Revert "Apply hiddenapi build tool on boot jars"
This reverts commit b7f00ed2af.

Bug: 72550707
Bug: 64382372
Test: atest CtsInlineMockingTestCases

Reason for revert: Causing invalid dex files to be passed to jvmti
                   agents. This causes CtsInlineMockingTestCases and
                   other tests to fail.

Change-Id: I50129e94791b9e2bef919fe398b4250ae461195b
2018-01-26 18:16:52 +00:00
David Brazdil
41847e1917 Add flag to control hidden API warning toasts
Just like visual warnings about improper use of native libraries,
warnings about the usage of hidden APIs will be displayed in non-
final, non-user builds only.

Bug: 64382372
Test: make
Change-Id: Id0a4200f912ac3303026cb26b6d8974c47332828
2018-01-26 12:19:32 +00:00
David Brazdil
2e36f52738 Move locations of all hidden API lists into the build folder
ART buildbots are broken because they build against a pinned commit of
the framework and thus lack the build rules to generate hidden API lists
We aim to fix this by generating dummy API lists in the build folder.
This patch changes the location of the blacklist and dark greylist from
frameworks/base/config/ to ${TARGET_COMMON_OUT_INTERMEDIATES}/... . On
normal builds, the framework will copy its text files into the build
folder.

Test: make
Bug: 64382372
Change-Id: I9b55d2865599e367d9c4be4f834182f5c084c3bf
2018-01-26 11:35:36 +00:00
Tobias Thierer
0276db1ec7 javac 9 -target 1.9: Move bootclasspath jars onto classpath.
When building with OpenJDK 9's javac with -source 1.9 -target 1.9,
a runtime image (with system modules) is used via the --system
command line flag, instead of --bootclasspath.
The runtime image only contains the default libraries (libcore)
but is missing other libraries that might be on the bootclasspath
for a particular build target.

This CL fixes compilation for this case by adding the missing
jars onto the classpath instead.

This already used to work but was broken by CL [1]. I attempted
to conditionally revert some of that CL's changes to java_common.mk
for the case of language level 1.9, but couldn't get it to work.
Therefore this CL follows a different approach.

[1] http://r.android.com/519552

Bug: 38177569
Test: Treehugger
Test: Ran "EXPERIMENTAL_USE_OPENJDK9=true make checkbuild docs"
      and spot-checked some javac invocations to confirm that the
      system modules libs were not included in the bootclasspath,
      but other libs were.

Change-Id: I48fd11aac9b310bfa58dee0f9cfb3ef33f10bca8
2018-01-26 02:48:48 +00:00
Bryan Eyler
bee8b0b15c Merge "Fix comment indicator on endif" am: 9f1b1f90a1
am: 7557f2bc67

Change-Id: I78a8145c76c0f0f9faa6a744a364727c9e7d5554
2018-01-26 02:15:53 +00:00
Treehugger Robot
9f1b1f90a1 Merge "Fix comment indicator on endif" 2018-01-26 01:21:26 +00:00
Bryan Eyler
57b5232def Fix comment indicator on endif
It's referring to the wrong if start.

Change-Id: I6f78aee54fb89fb5f69a4e86102d5a8e2cc2bbd1
2018-01-25 14:55:31 -08:00
Steven Moreland
e08d290862 Merge "Fix INSTALLED_ -> BUILT_ missing refactor piece." am: 98fce11494
am: a7f62c3864

Change-Id: Ib6c7a336a01e33b217fdf278192fb689ff5ef424
2018-01-25 22:24:11 +00:00
David Brazdil
74f173806b Merge "Apply hiddenapi build tool on boot jars" am: 221848b181
am: b1831cf27e

Change-Id: Ia376d5d6f42fdf71eaa2f18e38be0ac3baef45b6
2018-01-25 22:23:34 +00:00
Treehugger Robot
98fce11494 Merge "Fix INSTALLED_ -> BUILT_ missing refactor piece." 2018-01-25 21:23:28 +00:00
Steven Moreland
915f35166f Fix INSTALLED_ -> BUILT_ missing refactor piece.
Some of the dependencies for target-files-package were
refactored but only partially. Since these are satisfied
by transitive dependencies, the problem wasn't noticed
earlier.

Bug: N/A
Test: target-files-package finds dependencies

Change-Id: Ibdd7587f87735148e55d3b9835478075b6547efc
2018-01-25 10:45:26 -08:00
Nicolas Geoffray
8f4f0f43a1 Merge "For prebuilts, use the built_module for nostripping dexpreopt." am: f90b7e1948
am: 3a011d4f9c

Change-Id: Id8993df444b6a2faaeaa4c4589b31a8be1b543ba
2018-01-25 15:56:45 +00:00
David Brazdil
185422e1c0 Merge "Add hidden API list file variables" am: a5cc50ab4c
am: f167eac95e

Change-Id: Id90f1b1e1587095903406be207b2e3f23e65d30a
2018-01-25 15:34:08 +00:00
David Brazdil
b7f00ed2af Apply hiddenapi build tool on boot jars
Restrictions on usage of private APIs require encoding new information
into the dex files of the boot class path. ART now contains a new build
tool called `hiddenapi` which takes three lists of class member
signatures (blacklist, light and dark greylist), finds the class members
in their respective dex files and modifies their access flags in place.

This patch invokes the `hiddenapi` tool on all JARs in
PRODUCT_BOOT_JARS. For Java libraries built with Makefiles the tool is
invoked after the dexer directly on DEX files. For Soong-built
libraries, the build system has to unzip the JAR produced by Soong,
apply `hiddenapi` and rezip again. This is due to the fact that the
PRODUCT_BOOT_JARS variable is not available to Soong.

Bug: 64382372
Test: m
Change-Id: I6ce897d204459c8b6f46ed49e0909ff76c08a9ed
2018-01-25 09:22:08 +00:00
Nicolas Geoffray
f90b7e1948 Merge "For prebuilts, use the built_module for nostripping dexpreopt." 2018-01-25 08:58:48 +00:00
David Brazdil
a5cc50ab4c Merge "Add hidden API list file variables" 2018-01-25 07:55:35 +00:00
Jaekyun Seok
f430ea5ebf Merge "Support /product partition" am: 8fe7f9bfa2
am: 039e0991d5

Change-Id: I325ae6518c55f1fc310233a5f67ce3df1ae4940f
2018-01-25 04:11:49 +00:00
Jaekyun Seok
8fe7f9bfa2 Merge "Support /product partition" 2018-01-25 03:53:37 +00:00
Alexey Polyudov
43202e527a Merge "Fix syntax error in makefile soong namespaces handling" am: 01b873b2de
am: 683fa28a6a

Change-Id: I6ff2416c6c49c83d8f270d83767fe2ce27d8075f
2018-01-25 03:50:00 +00:00
Alexey Polyudov
ea55e8c86c Fix syntax error in makefile soong namespaces handling
Change-Id: I5254f7877422e23f3c3b69f37f1be849a12e296a
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
2018-01-24 17:01:21 -08:00
Jaekyun Seok
b7735d8105 Support /product partition
This CL adds the following build flags to support building product partition
from Android build system.
- BOARD_AVB_PRODUCT_ADD_HASHTREE_FOOTER_ARGS
- BOARD_AVB_PRODUCT_KEY_PATH
- BOARD_AVB_PRODUCT_ALGORITHM
- BOARD_AVB_PRODUCT_ROLLBACK_INDEX_LOCATION
- BOARD_PREBUILT_PRODUCTIMAGE
- BOARD_PRODUCTIMAGE_EXTFS_INODE_COUNT
- BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE
- BOARD_PRODUCTIMAGE_PARTITION_SIZE
- BOARD_PRODUCTIMAGE_SQUASHFS_BLOCK_SIZE
- BOARD_PRODUCTIMAGE_SQUASHFS_COMPRESSOR
- BOARD_PRODUCTIMAGE_SQUASHFS_COMPRESSOR_OPT
- BOARD_PRODUCTIMAGE_SQUASHFS_DISABLE_4K_ALIGN
- BOARD_USES_PRODUCTIMAGE
- LOCAL_PRODUCT_MODULE
- PRODUCT_FOOTER_ARGS
- PRODUCT_PRODUCT_BASE_FS_PATH
- PRODUCT_PRODUCT_VERITY_PARTITION
- TARGET_COPY_OUT_PRODUCT
- TARGET_OUT_PRODUCT*

And PRODUCT_PRODUCT_PROPERTIES is added to save product-specific
properties in /product/build.prop.

Bug: 64195575
Test: succeeded building product.img with BOARD_PRODUCTIMAGE_PARTITION_SIZE,
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE and PRODUCT_PRODUCT_VERITY_PARTITION.

Change-Id: I774e6a38003734421591e51bed103802ff84f432
2018-01-25 09:33:58 +09:00
David Brazdil
ae6915ead0 Add hidden API list file variables
Add variables for the hidden API blacklist and dark and light greylist
files. These are text files with signatures of boot class path class
member with restricted access for non-platform code.

Bug: 64382372
Test: m
Change-Id: I5639c5269872ac626efc69bd3a374a7a7125d502
2018-01-24 20:48:54 +00:00
Nicolas Geoffray
e3e19f0dfa For prebuilts, use the built_module for nostripping dexpreopt.
Earlier, we would use the prebuilt directly, which doesn't go through
build optimizations like uncompressing the dex files.

bug: 63920015
Test: m -j32 && verify priv-apps prebuilt's vdex don't contain
      the dex code.

Change-Id: I1a69d3b6832e3a940616f71a95c13091a4220b4b
2018-01-24 15:20:33 +00:00
Jin Qian
931d76e1c4 Merge "Add BOARD_EXT4_SHARE_DUP_BLOCKS to share duplicated blocks on ext4" am: 082837365d
am: b6ff980ba5

Change-Id: If48c84eae8f4a447e63c6b32e0c43758b8271242
2018-01-24 04:19:35 +00:00
Treehugger Robot
082837365d Merge "Add BOARD_EXT4_SHARE_DUP_BLOCKS to share duplicated blocks on ext4" 2018-01-24 04:10:42 +00:00
Jiyong Park
42bb3a2ddf Merge "Don't use old VNDK and SystemSDK versions for new devices" am: 3fcaecec8a
am: b50e47cbc4

Change-Id: Ieb49f4a2363d2b38b2cb512e97ed828e22790e2a
2018-01-24 02:37:21 +00:00
Treehugger Robot
3fcaecec8a Merge "Don't use old VNDK and SystemSDK versions for new devices" 2018-01-24 02:25:38 +00:00
Jiyong Park
95f9313445 Don't use old VNDK and SystemSDK versions for new devices
We need to prevent vendors from using old VNDK and SystemSDK versions
for newly launched device. Otherwise, deprecating old versions of the
APIs would be really difficult.

Specifically, it is enforced that

PRODUCT_SHIPPING_API_LEVEL <= BOARD_VNDK_VERSION

PRODUCT_SHIPPING_API_LEVEL <= min(BOARD_SYSTEMSDK_VERSIONS)

Bug: 72126206
Test: manually setting BOARD_VNDK_VERSION to 24 in
device/google/wahoo/BoardConfig.mk and choosecom to walleye
Test: m -j shows an error on BOARD_VNDK_VERSION
Test: BOARD_SYSTEMSDK_VERSION="25 26" m -j shows an error on
BOARD_SYSTEMSDK_VERSION

Change-Id: I17646487a9c77a6a5110749e22ba47f0f75920cf
2018-01-24 09:59:09 +09:00
Jiyong Park
2c975edc0e Merge "Add PLATFORM_SYSTEMSDK_VERSIONS and BOARD_SYSTEMSDK_VERSIONS" am: ae891fb19e
am: 4de1dc97c0

Change-Id: Ie3104726801d314058c059691e2fef77da07e9e7
2018-01-23 18:47:21 +00:00
Treehugger Robot
ae891fb19e Merge "Add PLATFORM_SYSTEMSDK_VERSIONS and BOARD_SYSTEMSDK_VERSIONS" 2018-01-23 03:35:19 +00:00
Jin Qian
fde9f7906b Add BOARD_EXT4_SHARE_DUP_BLOCKS to share duplicated blocks on ext4
This option applies to system.img and vendor.img.

Bug: 64109868
Change-Id: Ib4c7384049dca08e57441ef71cc81c2fba4462dd
2018-01-22 17:21:11 -08:00
Nicolas Geoffray
d1cca1967c Merge "Don't strip for eng builds." am: 12c68db516
am: abfb75d66f

Change-Id: Ie8dae5e16e66f6478813e116cf8c4fe99130b1bb
2018-01-22 20:08:58 +00:00
Treehugger Robot
12c68db516 Merge "Don't strip for eng builds." 2018-01-22 19:51:12 +00:00