OSDN Git Service

android-x86/build.git
7 years agoRevert "Revert "Check prebuilt sources during checkbuild""
Colin Cross [Thu, 27 Oct 2016 22:10:55 +0000 (22:10 +0000)]
Revert "Revert "Check prebuilt sources during checkbuild""

This reverts commit 409ea88c4797a56b918ad02ebef0d2b1e7c57748.

Bug: 32332829
Change-Id: Ifc8a511762cb44b455cc821f5ac712c294c321c6

7 years agoRevert "Check prebuilt sources during checkbuild"
Colin Cross [Wed, 26 Oct 2016 23:25:57 +0000 (23:25 +0000)]
Revert "Check prebuilt sources during checkbuild"

This reverts commit ec8fae6f2e11a772fa97fe6baf895222f7ffdf5d.

Revert this until a few oddball branches can be fixed.

Bug: 32332829
Change-Id: Ic95fa50e36cb32a4d29bf765b1f3d8384140fb0b

7 years agoCheck prebuilt sources during checkbuild
Colin Cross [Fri, 21 Oct 2016 17:52:06 +0000 (10:52 -0700)]
Check prebuilt sources during checkbuild

Add prebuilt files as dependencies during checkbuild.  This will flag
prebuilt modules that have files that don't exist as errors, and also
fix building soong modules with make native, etc.

Bug: 32332829
Test: m -j checkbuild
Test: m -j host
Change-Id: Ia4e22cb640978c181de039202baf02f4fb5a94d5

7 years agoMerge "Don't pass -Wl,--no-undefined to host targets"
Treehugger Robot [Fri, 21 Oct 2016 23:00:35 +0000 (23:00 +0000)]
Merge "Don't pass -Wl,--no-undefined to host targets"

7 years agoMerge "Remove valgrind from the exception list."
Chih-hung Hsieh [Fri, 21 Oct 2016 05:05:29 +0000 (05:05 +0000)]
Merge "Remove valgrind from the exception list."

7 years agoMerge "Remove variables exported by Soong"
Dan Willemsen [Fri, 21 Oct 2016 01:08:50 +0000 (01:08 +0000)]
Merge "Remove variables exported by Soong"

7 years agoMerge "Support Android.bp in mgrep"
Treehugger Robot [Thu, 20 Oct 2016 23:37:40 +0000 (23:37 +0000)]
Merge "Support Android.bp in mgrep"

7 years agoDon't pass -Wl,--no-undefined to host targets
Colin Cross [Thu, 20 Oct 2016 19:38:21 +0000 (12:38 -0700)]
Don't pass -Wl,--no-undefined to host targets

Host builds were compiling without -Wl,--no-undefined because of an ASAN
issue.  Pass -Wl,--no-undefined for host builds unless sanitzers are
enabled.  Also fix LOCAL_ALLOW_UNDEFINED_SYMBOLS on darwin, where
disallowing undefined symbols is the default.

Test: m -j host
Test: m -j SANITIZE_HOST=address host
Bug: 32305815
Change-Id: I0344c321610c55eb8b2092b01e50e4a93a0e85df

7 years agoMerge "Use default -std values exported from soong"
Colin Cross [Thu, 20 Oct 2016 21:40:55 +0000 (21:40 +0000)]
Merge "Use default -std values exported from soong"

7 years agoSupport Android.bp in mgrep
Wei Wang [Thu, 20 Oct 2016 21:26:45 +0000 (14:26 -0700)]
Support Android.bp in mgrep

This patch enabled Android.bp in mgrep result

Bug: 32313127
Test: mgrep
Change-Id: Ie3171a10ab54322bfc3844d1f629c783286ec212

7 years agoUse default -std values exported from soong
Colin Cross [Mon, 17 Oct 2016 22:34:29 +0000 (15:34 -0700)]
Use default -std values exported from soong

Test: builds
Change-Id: Ic7b7d226131a2a0ea1f099f8a0fc895448384081

7 years agoMerge "goldfish_setup: grant ifconfig priv_sock_ioctls"
Treehugger Robot [Thu, 20 Oct 2016 17:37:43 +0000 (17:37 +0000)]
Merge "goldfish_setup: grant ifconfig priv_sock_ioctls"

7 years agogoldfish_setup: grant ifconfig priv_sock_ioctls
Richard Haines [Thu, 20 Oct 2016 14:47:44 +0000 (15:47 +0100)]
goldfish_setup: grant ifconfig priv_sock_ioctls

The goldfish_setup shell script needs the ability to set the interface
address via ifconfig. This requires SIOCSIFADDR plus other ioctl
permissions, therefore allow the set of priv_sock_ioctls permissions.

Addresses the following denial that stops internet access via browser:
avc: denied { ioctl } for pid=712 comm="ifconfig" path="socket:[1825]"
dev="sockfs" ino=1825 ioctlcmd=8916 scontext=u:r:goldfish_setup:s0
tcontext=u:r:goldfish_setup:s0 tclass=udp_socket permissive=0

Test: With update can access internet via browser.

Change-Id: I77a52c0b72bb0ebe9451f45c346a399c1f61672d
Signed-off-by: Richard Haines <richard_c_haines@btinternet.com>
7 years agoMerge "Define coverage paths using comma-separated list."
Ryan Campbell [Thu, 20 Oct 2016 01:01:24 +0000 (01:01 +0000)]
Merge "Define coverage paths using comma-separated list."

7 years agoMerge "For emulator builds preopt system apps even if doing eng build"
Dan Willemsen [Wed, 19 Oct 2016 17:56:49 +0000 (17:56 +0000)]
Merge "For emulator builds preopt system apps even if doing eng build"

7 years agoRemove variables exported by Soong
Dan Willemsen [Wed, 19 Oct 2016 00:18:14 +0000 (17:18 -0700)]
Remove variables exported by Soong

These are all variables that we export from Soong, and are only used
after Soong's make_vars.mk is read.

Test: Compare build-aosp_flounder.ninja before/after -- only whitespace
Change-Id: Ibb6c6d7bc00ff5840a72c2bba5d97ac4b4724df3

7 years agoDefine coverage paths using comma-separated list.
Ryan Campbell [Tue, 18 Oct 2016 17:25:15 +0000 (10:25 -0700)]
Define coverage paths using comma-separated list.

Change COVERAGE_PATHS to access a comma-separated list of paths
instead of a space-separated list to make for easier escaping in
configuration files.

Test: tested using local bullhead build with coverage on lights and nfc
Change-Id: Iec014c8b4fbefcbcc5d865e6acba92bf6364ee3a

7 years agoMerge "Use parallel subprocesses to classify warnings."
Treehugger Robot [Tue, 18 Oct 2016 03:49:49 +0000 (03:49 +0000)]
Merge "Use parallel subprocesses to classify warnings."

7 years agoMerge "Split apart frameworks/compile into sub-projects."
Treehugger Robot [Tue, 18 Oct 2016 01:02:05 +0000 (01:02 +0000)]
Merge "Split apart frameworks/compile into sub-projects."

7 years agoUse parallel subprocesses to classify warnings.
Chih-Hung Hsieh [Tue, 11 Oct 2016 22:25:26 +0000 (15:25 -0700)]
Use parallel subprocesses to classify warnings.

* Add a --processes flag to specify number of parallel processes,
  with default multiprocessing.cpu_count().
* Wrap long line to suppress pylint warning.

Test: run warn.py with a large build.log file.
Change-Id: I9a93a9324bc531c1bce741367013051ce40a67fa

7 years agoMerge "Fix bug preventing multi-module native coverage."
Treehugger Robot [Tue, 18 Oct 2016 00:43:09 +0000 (00:43 +0000)]
Merge "Fix bug preventing multi-module native coverage."

7 years agoMerge "Add a dist goal for the NDK."
Treehugger Robot [Mon, 17 Oct 2016 22:59:16 +0000 (22:59 +0000)]
Merge "Add a dist goal for the NDK."

7 years agoFix bug preventing multi-module native coverage.
Ryan Campbell [Mon, 17 Oct 2016 22:43:21 +0000 (15:43 -0700)]
Fix bug preventing multi-module native coverage.

Fix a whitespace bug causing coverage to be enabled on all modules
whenever more than one module is specified. This is caused by
comparing whitespace to the empty string, which are not equal. Fix
by stripping the output to check for path matches.

Test: tested using local build with coverage enabled on NFC, lights
Change-Id: I61a775cfd135f94ea1e1ee9fdbed3c64c5bb1a2e

7 years agoSplit apart frameworks/compile into sub-projects.
Stephen Hines [Mon, 17 Oct 2016 22:39:53 +0000 (15:39 -0700)]
Split apart frameworks/compile into sub-projects.

These projects are all used by RenderScript, but it would be good to
differentiate warnings for each.

Change-Id: I983279d590630175a36075b01e8eec9100c07d26
Test: Ran warn.py

7 years agoMerge "zipalign missing header"
Treehugger Robot [Mon, 17 Oct 2016 21:47:17 +0000 (21:47 +0000)]
Merge "zipalign missing header"

7 years agozipalign missing header
Mark Salyzyn [Mon, 17 Oct 2016 17:20:33 +0000 (10:20 -0700)]
zipalign missing header

Remove assumptions about header side effects

Test: compile
Bug: 30465923
Change-Id: I117567b0f99814b9d9a955b39c56f43f7972cf62

7 years agoMerge "Add more patterns for a finer project warning list."
Chih-hung Hsieh [Sat, 15 Oct 2016 01:36:59 +0000 (01:36 +0000)]
Merge "Add more patterns for a finer project warning list."

7 years agoMerge "build: tools: Add json collection of installed files with hashes."
Treehugger Robot [Sat, 15 Oct 2016 01:04:37 +0000 (01:04 +0000)]
Merge "build: tools: Add json collection of installed files with hashes."

7 years agoAdd a dist goal for the NDK.
Dan Albert [Fri, 14 Oct 2016 20:23:06 +0000 (13:23 -0700)]
Add a dist goal for the NDK.

Test: make sdk dist
Bug: None
Change-Id: I07dfc73e3cea5afebcf5ed10cf860eb3f33cbff6

7 years agobuild: tools: Add json collection of installed files with hashes.
Sasha Levitskiy [Tue, 11 Oct 2016 05:48:10 +0000 (22:48 -0700)]
build: tools: Add json collection of installed files with hashes.

Adds installed-files.json in addition to installed-files.txt
Further sorts the file list to be ordered within the same size bucket.

Test: manual, cross-checked checksums with sha256sum utility
      checked build outputs.

Bug: 19988819
Merged-in: Ifb632eb4df65ec48645c8f93e36bae44ccc52ba8
Change-Id: Ifb632eb4df65ec48645c8f93e36bae44ccc52ba8
Signed-off-by: Sasha Levitskiy <sanek@google.com>
7 years agoAdd more patterns for a finer project warning list.
Chih-Hung Hsieh [Fri, 14 Oct 2016 19:27:17 +0000 (12:27 -0700)]
Add more patterns for a finer project warning list.

Bug: 31377083
Test: run warn.py --byproject build.log
Change-Id: I3cad8e24bc97a84f067a162ff728e30fde3c7197

7 years agoMerge changes Ie3d82cfa,I2f808896,I587f400d
Alex Deymo [Fri, 14 Oct 2016 03:19:55 +0000 (03:19 +0000)]
Merge changes Ie3d82cfa,I2f808896,I587f400d

* changes:
  fat16copy: Fix allocation logic when extending directories.
  fat16copy: Sort new directory entries.
  Make fat16copy.py add . and .. entries to directories

7 years agoMerge "Generate SHA-1 build ID for host-generated *.oat files (2/2)."
David Srbecky [Thu, 13 Oct 2016 12:52:31 +0000 (12:52 +0000)]
Merge "Generate SHA-1 build ID for host-generated *.oat files (2/2)."

7 years agoMerge "Add -Werror to compile warning free projects."
Chih-hung Hsieh [Thu, 13 Oct 2016 00:42:01 +0000 (00:42 +0000)]
Merge "Add -Werror to compile warning free projects."

7 years agoMerge "Update droiddoc templates for build/make move"
Clay Murphy [Wed, 12 Oct 2016 18:34:23 +0000 (18:34 +0000)]
Merge "Update droiddoc templates for build/make move"

7 years agoMerge "Build: add preloaded-classes and compiled-classes dependency"
Treehugger Robot [Wed, 12 Oct 2016 18:30:11 +0000 (18:30 +0000)]
Merge "Build: add preloaded-classes and compiled-classes dependency"

7 years agoBuild: add preloaded-classes and compiled-classes dependency
Andreas Gampe [Wed, 12 Oct 2016 16:35:39 +0000 (09:35 -0700)]
Build: add preloaded-classes and compiled-classes dependency

Make the ART boot image compilation rule depend on the files
influencing the layout and contents of the image. Required for
incremental builds.

Bug: 32107291
Test: m
Test: echo "android.util.MutableChar" >> frameworks/base/compiled-classes-phone && m
Test: rm frameworks/base/compiled-classes-phone && m
Change-Id: I7b7438672460d8d9d2c8b08b8e7c3cbde8d07a1a

7 years agoMerge "Better pattern matching and dump of warning messages."
Treehugger Robot [Wed, 12 Oct 2016 16:35:34 +0000 (16:35 +0000)]
Merge "Better pattern matching and dump of warning messages."

7 years agoMerge "Normalize warning source file path to relative path."
Treehugger Robot [Wed, 12 Oct 2016 16:34:05 +0000 (16:34 +0000)]
Merge "Normalize warning source file path to relative path."

7 years agoUpdate droiddoc templates for build/make move
Dan Willemsen [Wed, 12 Oct 2016 07:10:33 +0000 (00:10 -0700)]
Update droiddoc templates for build/make move

Since build/ was moved to build/make/, the droiddoc templates now need
another ../ to reach the android root.

Test: m online-sac-docs
Change-Id: I2393f6c791df9b67ccafb4eb047fd8ccc52481cb

7 years agoMerge "PRODUCT_PACKAGES: add to tune2fs."
Jeff Sharkey [Wed, 12 Oct 2016 01:16:33 +0000 (01:16 +0000)]
Merge "PRODUCT_PACKAGES: add to tune2fs."

7 years agoAdd -Werror to compile warning free projects.
Chih-Hung Hsieh [Tue, 11 Oct 2016 22:38:39 +0000 (15:38 -0700)]
Add -Werror to compile warning free projects.

* Add -Werror if LOCAL_PATH is in the WARNING_DISALLOWED project list,
  or not in the WARNING_ALLOWED project list.

Test: Build for major targets.
Change-Id: I12235ee1ca1c1837530693699e705e1955275565

7 years agoRemove valgrind from the exception list.
Chih-Hung Hsieh [Tue, 11 Oct 2016 22:36:04 +0000 (15:36 -0700)]
Remove valgrind from the exception list.

Now valgrind is built with clang/llvm for
the host and all supported targets.

Bug: 28454823
Test: build
Change-Id: Icb4bb7626a79aa309cec2b396cbd8f155895c901

7 years agoBetter pattern matching and dump of warning messages.
Chih-Hung Hsieh [Tue, 11 Oct 2016 22:33:19 +0000 (15:33 -0700)]
Better pattern matching and dump of warning messages.

* Warning messages must start with source file path.
  This will reject lines containing only 'warning:'
  but not a source file path prefix.
* Escape both backslash and quotation marks in the
  dump of strings to JavaScript string literals.

Bug: 32060052
Test: run through build.log files
Change-Id: Ib064768b1ba2954f974604ea054f7a6d2ad15ae7

7 years agoNormalize warning source file path to relative path.
Chih-Hung Hsieh [Tue, 11 Oct 2016 22:30:26 +0000 (15:30 -0700)]
Normalize warning source file path to relative path.

Remove Android root directory path from long
absolute source file path.

Test: run warn.py with build.log
Bug: 32059187
Change-Id: Ib630cebd8c56a9fef443139ca502d97e59c7b42e

7 years agoMerge "Fix a nullness warning."
Treehugger Robot [Tue, 11 Oct 2016 19:29:36 +0000 (19:29 +0000)]
Merge "Fix a nullness warning."

7 years agoMerge "Fix an uninitialized value warning."
Treehugger Robot [Tue, 11 Oct 2016 02:43:46 +0000 (02:43 +0000)]
Merge "Fix an uninitialized value warning."

7 years agoFix an uninitialized value warning.
Yunlian Jiang [Wed, 5 Oct 2016 17:58:37 +0000 (10:58 -0700)]
Fix an uninitialized value warning.

Warning from the static analyzer:

build/tools/zipalign/ZipFile.cpp:503:5: warning: Function call argument
is an uninitialized value
pEntry->setDataInfo(uncompressedLen, endPosn - startPosn, crc,

Specifically, it's referencing `crc`, which would be uninitialized if we
hit either of these two error cases, since we'd return `NO_ERROR`.

Note that the warning is still there, but that's only because the static
analyzer can't see the asserts. If we #undef NDEBUG in the file, then
the warning disappears.

Bug: none
Test: With NDEBUG undefined, the warning is gone.
Change-Id: Iaed66127746c38add2c842ab027f2e1982d0e2fd

7 years agoMerge "Make AVB work when BOARD_USES_RECOVERY_AS_BOOT is set to true."
Treehugger Robot [Fri, 7 Oct 2016 19:44:37 +0000 (19:44 +0000)]
Merge "Make AVB work when BOARD_USES_RECOVERY_AS_BOOT is set to true."

7 years agoMerge "remove use of CTS_TESTCASES_OUT"
Guang Zhu [Fri, 7 Oct 2016 01:15:16 +0000 (01:15 +0000)]
Merge "remove use of CTS_TESTCASES_OUT"

7 years agoMerge "Use ASAN prebuilts if SANITIZE_HOST includes address"
Treehugger Robot [Fri, 7 Oct 2016 01:08:06 +0000 (01:08 +0000)]
Merge "Use ASAN prebuilts if SANITIZE_HOST includes address"

7 years agoremove use of CTS_TESTCASES_OUT
Guang Zhu [Tue, 4 Oct 2016 23:43:40 +0000 (16:43 -0700)]
remove use of CTS_TESTCASES_OUT

Bug: 31788743
Test: $ make cts dist
      # check contents of generated package and API coverage
      # report
      $ make checkbuild

Merged-In: Ieec069bafbcc6df5a5b3b06befb4a3a5678a06fd
Change-Id: Ieec069bafbcc6df5a5b3b06befb4a3a5678a06fd
(cherry picked from commit f8f0880b3b8fb6a80ed766068d5f1714625b8960)

7 years agoMerge "Replace product variable stashing with .KATI_READONLY"
Treehugger Robot [Thu, 6 Oct 2016 23:41:29 +0000 (23:41 +0000)]
Merge "Replace product variable stashing with .KATI_READONLY"

7 years agoMerge "Support multiple arch for coverage packaging."
Ryan Campbell [Thu, 6 Oct 2016 23:25:08 +0000 (23:25 +0000)]
Merge "Support multiple arch for coverage packaging."

7 years agoMake AVB work when BOARD_USES_RECOVERY_AS_BOOT is set to true.
David Zeuthen [Thu, 6 Oct 2016 17:05:38 +0000 (13:05 -0400)]
Make AVB work when BOARD_USES_RECOVERY_AS_BOOT is set to true.

Often BOARD_USES_RECOVERY_AS_BOOT is used together with
BOARD_BUILD_SYSTEM_ROOT_IMAGE, but with this combination we're currently
not adding a hash footer to boot.img. Fix this.

Bug: 31119415
Test: Built with BOARD_USES_RECOVERY_AS_BOOT set to true and inspected images.
Merged-In: If033e5c93f5b71fd17405af7d970dc3f0540a1d2
Change-Id: I2f10bbffb0ba2467d53e3e62d5379c3ab7236063

7 years agoReplace product variable stashing with .KATI_READONLY
Dan Willemsen [Wed, 5 Oct 2016 23:57:27 +0000 (16:57 -0700)]
Replace product variable stashing with .KATI_READONLY

Instead of using rot13 / rot26, use the Kati extension to mark these
variables as readonly.

Move $(strip) for a few variables to before they're marked readonly. Use
a different variable for modifications to BOARD_KERNEL_CMDLINE in
build/core/Makefile.

Test: build/tools/kati_all_products.mk on AOSP and internal master
Test: build-aosp_bullhead.ninja the same before / after
Change-Id: If98b24af763831a9c5c2de38037a69ab1bf9e023

7 years agoUse ASAN prebuilts if SANITIZE_HOST includes address
Dan Willemsen [Thu, 6 Oct 2016 06:26:24 +0000 (23:26 -0700)]
Use ASAN prebuilts if SANITIZE_HOST includes address

Test: SANITIZE_HOST=address m -j showcommands
Change-Id: Ifdca98d5fa32867005ace99e1eb5188e22923ac6

7 years agoGenerate SHA-1 build ID for host-generated *.oat files (2/2).
Alexey Alexandrov [Mon, 19 Sep 2016 17:54:21 +0000 (10:54 -0700)]
Generate SHA-1 build ID for host-generated *.oat files (2/2).

For host-generated *.oat files, generate a SHA-1 build ID based on the
file content and write it to .note.gnu.build-id ELF section.  This
should allow various developer tools like profilers correlate the data
captured for files like boot.oat on the device with the corresponding
known version of the file during an offline analysis.

Test: Verified that boot.oat contains the build ID section now.
Test: make test-art-host
Bug: 31292208
Change-Id: Iee48e437009488f20995e73868d5059d349701c0

7 years agoMerge "Add a new ANALYZER severity group."
Chih-hung Hsieh [Wed, 5 Oct 2016 23:31:43 +0000 (23:31 +0000)]
Merge "Add a new ANALYZER severity group."

7 years agoMerge "Add tool to run kati for all products"
Treehugger Robot [Wed, 5 Oct 2016 22:56:03 +0000 (22:56 +0000)]
Merge "Add tool to run kati for all products"

7 years agoAdd tool to run kati for all products
Dan Willemsen [Mon, 16 May 2016 08:35:57 +0000 (01:35 -0700)]
Add tool to run kati for all products

Test: get_build_var all_named_products
Test: build/tools/kati_all_products.sh
Change-Id: I3496cb4c59a1edb11c9149b95ecabd3a828b8972

7 years agoAdd a new ANALYZER severity group.
Chih-Hung Hsieh [Wed, 5 Oct 2016 18:53:20 +0000 (11:53 -0700)]
Add a new ANALYZER severity group.

* Separate clang-tidy's clang-analyzer-* warnings from
  other clang-tidy warnings.

Bug: 31559947
Test: build with WITH_TIDY=1 and DEFAULT_GLOBAL_TIDY_CHECKS=*,-readability-*,-google-readability-*
Change-Id: If03c421c9319741ef6588bc0d803b6da0cc4433a

7 years agoFix a nullness warning.
Yunlian Jiang [Wed, 5 Oct 2016 00:23:03 +0000 (17:23 -0700)]
Fix a nullness warning.

This silences a warning null pointer passed as an argument to a
'nonnull' parameter

BUG=None
Test: The warning is gone.

Change-Id: I10a17d4674bfb373d7fe8666863abd5f10a4d11f

7 years agoMerge "Remove redundant LIBART_IMG_{HOST,TARGET}_BASE_ADDRESS"
Treehugger Robot [Wed, 5 Oct 2016 16:51:15 +0000 (16:51 +0000)]
Merge "Remove redundant LIBART_IMG_{HOST,TARGET}_BASE_ADDRESS"

7 years agoRemove redundant LIBART_IMG_{HOST,TARGET}_BASE_ADDRESS
Dan Willemsen [Wed, 5 Oct 2016 05:24:17 +0000 (22:24 -0700)]
Remove redundant LIBART_IMG_{HOST,TARGET}_BASE_ADDRESS

These are exported by Soong. Caught by an upcoming change to mark
Soong-exported variables as readonly.

Test: Manual checking that the values are still the same.
Change-Id: I18e2bca588c57809c16a9f0c386aad432bfbee2c

7 years agoMerge "Fix empty mac .toc generation"
Colin Cross [Wed, 5 Oct 2016 02:35:02 +0000 (02:35 +0000)]
Merge "Fix empty mac .toc generation"

7 years agoMerge "Don't prune $(OUT_DIR) from findleaves.py"
Colin Cross [Wed, 5 Oct 2016 01:38:04 +0000 (01:38 +0000)]
Merge "Don't prune $(OUT_DIR) from findleaves.py"

7 years agoFix empty mac .toc generation
Colin Cross [Wed, 5 Oct 2016 00:01:29 +0000 (17:01 -0700)]
Fix empty mac .toc generation

If a shared library has no exported symbols grep will return exit code
1 meaning no matches, but this should not be considered an error
during toc generation.

Test: external/clang/build.py
Change-Id: If589da38ad8b844fe1aff4738481cebea75cca42

7 years agoDon't prune $(OUT_DIR) from findleaves.py
Colin Cross [Tue, 4 Oct 2016 23:21:49 +0000 (16:21 -0700)]
Don't prune $(OUT_DIR) from findleaves.py

Pruning $(OUT_DIR) can be overaggressive if $(OUT_DIR) matches the name
of any directory in the source tree that contains Android.mk files.
Pruning $(OUT_DIR) is no longer necessary, as one of the first things
the build system does is put an empty Android.mk file in there to avoid
recursing into it.

Bug: 31941856
Test: m -j OUT_DIR=angler
Change-Id: I7c5e95816f35bd5906845716d56cca76de7fa1ad

7 years agoMerge "Make room for AVB hashtree and metadata."
David Zeuthen [Tue, 4 Oct 2016 22:32:26 +0000 (22:32 +0000)]
Merge "Make room for AVB hashtree and metadata."

7 years agoMerge "Accept environment variables DEFAULT_*_TIDY_CHECKS"
Chih-hung Hsieh [Tue, 4 Oct 2016 22:25:25 +0000 (22:25 +0000)]
Merge "Accept environment variables DEFAULT_*_TIDY_CHECKS"

7 years agoMake room for AVB hashtree and metadata.
David Zeuthen [Fri, 30 Sep 2016 21:29:22 +0000 (17:29 -0400)]
Make room for AVB hashtree and metadata.

While the system.img images currently built with AVB support verify
correctly, mounting the filesystem content fails. This is because
'avbtool add_hashtree_footer' used to claim some of the unused /
DONT_CARE space for stashing the verity tables and this resulting in the
mapped device ending up being smaller causing the mount failure.

Fix this by leaving enough room for AVB hashtree and metadata before
building the image. This is achieved by moving the AVB hashtree support
into build_image.py and using a just added '--calc_max_image_size'
option to 'avbtool add_hashtree_footer' to figure out how much space to
leave out.

This depends on https://android-review.googlesource.com/#/c/281821/

Bug: 31264226
Test: Mounting dm-verity set up from system.img now works.

Merged-In: I4c5de1004c1059f8c582e76b3b8517d427aa1a87

Change-Id: I945a5f1f6782791736cd319f216cfa6b448fb04d

7 years agoMerge "Enable toc optimization for host builds"
Colin Cross [Tue, 4 Oct 2016 20:57:52 +0000 (20:57 +0000)]
Merge "Enable toc optimization for host builds"

7 years agoAccept environment variables DEFAULT_*_TIDY_CHECKS
Chih-Hung Hsieh [Mon, 3 Oct 2016 04:31:04 +0000 (21:31 -0700)]
Accept environment variables DEFAULT_*_TIDY_CHECKS

* Define DEFAULT_GLOBAL_TIDY_CHECKS/DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS
  only if it is not already defined.

Bug: http://b/27779618
Test: build with WITH_TIDY=1 and define those variables.
Change-Id: I201c9da3769d6ef658a75d4a1bf42ec6816d4069

7 years agoMerge "Fix for non-empty a[name] tags in openJdk based javadocs."
Przemyslaw Szczepaniak [Tue, 4 Oct 2016 11:35:58 +0000 (11:35 +0000)]
Merge "Fix for non-empty a[name] tags in openJdk based javadocs."

7 years agoFix for non-empty a[name] tags in openJdk based javadocs.
Przemyslaw Szczepaniak [Mon, 26 Sep 2016 15:21:13 +0000 (16:21 +0100)]
Fix for non-empty a[name] tags in openJdk based javadocs.

openJdk based android javadoc contains <a name=... tags
that are non-empty. Currently they are being hidden,
causing badly formatted pages for some java.* classes
(missing text and random whitespace blocks).

This change makes the existing a[name] hiding rule
apply only to empty tags.

Test: make docs
Bug: 31700998
Change-Id: Ifa75bbabe308d7aed0cce6165c1113e5a382a121
(cherry picked from commit a7edd92c457879f2719afe6b5d119886b869182f)

7 years agoSupport multiple arch for coverage packaging.
Ryan Campbell [Mon, 3 Oct 2016 18:23:40 +0000 (11:23 -0700)]
Support multiple arch for coverage packaging.

Modify copy rule to support multiple architectures. Use a method
similar to symbols.

Test: make lights.bullhead NATIVE_COVERAGE=true COVERAGE_PATHS=test/vts/hals/light/
Bug: 31911253
Change-Id: Ib3c53b4b305cbfcfd186010c5500b8d678190ddf

7 years agoEnable toc optimization for host builds
Colin Cross [Mon, 3 Oct 2016 23:49:02 +0000 (16:49 -0700)]
Enable toc optimization for host builds

The toc optimization had been disabled for host builds to ensure that
the timestamp of the final binary changed whenever its implementation
changed, in order to support rerunning host tools that were modified
during incremental builds.  However, only the final install rule must be
re-run to update the timestamp, and not the link rule.

Update the shared library install dependencies to use normal
dependencies instead of order-only dependencies for host modules, and
then enable the the toc optimization for host modules.  If the
implementation of a library changes it will be reinstalled, and
libraries or binaries that depend on it will also be reinstalled.

Bug: 26015464
Test: m -j; touch art/disassembler/disassembler_x86.cc; m -j, verify
      out/host/linux-x86/bin/oatdump is updated
Change-Id: I0a14decc1994eb55ad269d841943aef66e320c63

7 years agoMerge "Propagate signals through makeparallel"
Colin Cross [Tue, 4 Oct 2016 00:23:54 +0000 (00:23 +0000)]
Merge "Propagate signals through makeparallel"

7 years agoMerge "exec makeparallel"
Colin Cross [Tue, 4 Oct 2016 00:23:47 +0000 (00:23 +0000)]
Merge "exec makeparallel"

7 years agoMerge "Revert "Remove -d keepdepfile from ninja command line""
Colin Cross [Tue, 4 Oct 2016 00:23:37 +0000 (00:23 +0000)]
Merge "Revert "Remove -d keepdepfile from ninja command line""

7 years agoPropagate signals through makeparallel
Colin Cross [Mon, 3 Oct 2016 20:40:32 +0000 (13:40 -0700)]
Propagate signals through makeparallel

Set up a signal handler in makeparallel that will forward SIGHUP,
SIGINT, SIGQUIT, and SIGTERM to the child process.

Bug: 31907490
Test: m -j & killall make; pgrep -a ninja
Test: make makeparallel_test
Change-Id: I306e5335ed1b2c7056804d5da377a2f283877f30

7 years agoexec makeparallel
Colin Cross [Mon, 3 Oct 2016 20:38:27 +0000 (13:38 -0700)]
exec makeparallel

bash doesn't kill children when it receives SIGTERM.  Since makeparallel
is the last command run by the shell, run it with exec to replace the
shell with makeparallel so make can send the signal directly to
makeparallel.

Bug: 31907490
Test: m -j & killall make; pgrep -a makeparallel
Change-Id: If8aeb51ec224234da5f05eae3382ce77f48a57e2

7 years agoRevert "Remove -d keepdepfile from ninja command line"
Colin Cross [Mon, 3 Oct 2016 22:12:08 +0000 (15:12 -0700)]
Revert "Remove -d keepdepfile from ninja command line"

This reverts commit 4aca5715523d1b8a85abde00d7ccc2989c90a96b.

Test: builds
Change-Id: Iddb3517a4596e84404db1738fa95eb15f435a42d

7 years agoMerge "Optimize rebuilds by reducing $(shell) usage"
Dan Willemsen [Mon, 3 Oct 2016 21:20:36 +0000 (21:20 +0000)]
Merge "Optimize rebuilds by reducing $(shell) usage"

7 years agoOptimize rebuilds by reducing $(shell) usage
Dan Willemsen [Sat, 1 Oct 2016 00:30:32 +0000 (17:30 -0700)]
Optimize rebuilds by reducing $(shell) usage

$(shell) isn't particularly fast in Kati, and they have to be executed
both when reading the makefiles and determining whether the ninja file
needs to be regenerated.

Right now, the regen time is mostly hidden because we run them in
parallel. We've also configured it to ignore any commands that contain
"echo", "date", or the output directory. That happens to remove most
commands that contain side effects, so running them in parallel is fine.

But the side effects contain some important things, like the clean up
necessary when switching products. So I'm removing those filters, and
then we'll need to run the shell commands in sequence, since there will
be side-effects. That makes regen take longer though, so use pure-Make
implementations instead of $(shell) where possible.

This set of changes reduces aosp/master aosp_arm64-eng build $(shell)
usage and time by 2/3:

*kati*: func shell time: 3.135095 / 709
*kati*: func shell time: 1.067331 / 236

Bug: 30947985
Test: Manual test lines for math functions
Test: Compare build-aosp_arm64.ninja before/after
Change-Id: I4fc9d6318957992921972994f277c17918e7e1eb

7 years agoMerge "Remove LOCAL_CTS_GTEST_LIST_EXECUTABLE"
Dan Willemsen [Sat, 1 Oct 2016 01:43:37 +0000 (01:43 +0000)]
Merge "Remove LOCAL_CTS_GTEST_LIST_EXECUTABLE"

7 years agoMerge "releasetools: Clean up sign_target_files_apks.py."
Treehugger Robot [Sat, 1 Oct 2016 00:11:33 +0000 (00:11 +0000)]
Merge "releasetools: Clean up sign_target_files_apks.py."

7 years agoMerge "Use DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS for vendor/google_devices"
Treehugger Robot [Fri, 30 Sep 2016 23:25:17 +0000 (23:25 +0000)]
Merge "Use DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS for vendor/google_devices"

7 years agoreleasetools: Clean up sign_target_files_apks.py.
Tao Bao [Fri, 30 Sep 2016 00:53:56 +0000 (17:53 -0700)]
releasetools: Clean up sign_target_files_apks.py.

Remove the obsolete workaround for API 24. Also make it pylint clean.

Test: 1. Sign a target_files.zip and get identical results.
      2. `pylint --rcfile=pylintrc sign_target_files_apks.py` gives 10.00/10.

Change-Id: I21736f959c5182486fd8ccebea9bbc594edef9fb

7 years agoUse DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS for vendor/google_devices
Chih-Hung Hsieh [Fri, 30 Sep 2016 17:41:27 +0000 (10:41 -0700)]
Use DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS for vendor/google_devices

Many source files under vendor/google_devices
are old third party code with too many clang-tidy
misc-macro-parentheses warnings.

Test: build with WITH_TIDY=1
Change-Id: I79248af3ece9c7a4436b8cf5e6c25f224fd8201b

7 years agoMerge "releasetools: Fix the reference to OPTIONS.info_dict."
Tao Bao [Fri, 30 Sep 2016 17:39:22 +0000 (17:39 +0000)]
Merge "releasetools: Fix the reference to OPTIONS.info_dict."

7 years agoRemove LOCAL_CTS_GTEST_LIST_EXECUTABLE
Dan Willemsen [Fri, 30 Sep 2016 05:37:04 +0000 (22:37 -0700)]
Remove LOCAL_CTS_GTEST_LIST_EXECUTABLE

The one user has now been removed, so this is no longer necessary.

Test: None
Change-Id: I8fb9e7b90f664af616368685d81f8b10d0687306

7 years agoreleasetools: Fix the reference to OPTIONS.info_dict.
Tao Bao [Fri, 30 Sep 2016 04:59:06 +0000 (21:59 -0700)]
releasetools: Fix the reference to OPTIONS.info_dict.

sign_target_files_apks.py calls common.GetBootableImage() but without
calling 'OPTIONS = common.OPTIONS' first. In common.GetBootableImage(),
we should use the local info_dict parameter instead of OPTIONS.info_dict.

Test: sign_target_files_apks.py generates signed-TF.zip successfully.

Change-Id: Ia3d32b88691c26e5fb98feea709e3e3c3eb70fdb

7 years agoMerge "Add LOCAL_EXPORT_C_INCLUDE_DEPS"
Treehugger Robot [Fri, 30 Sep 2016 01:38:04 +0000 (01:38 +0000)]
Merge "Add LOCAL_EXPORT_C_INCLUDE_DEPS"

7 years agoAdd LOCAL_EXPORT_C_INCLUDE_DEPS
Dan Willemsen [Thu, 29 Sep 2016 19:08:29 +0000 (12:08 -0700)]
Add LOCAL_EXPORT_C_INCLUDE_DEPS

This shouldn't be necessary for most makefiles, since we add
$(LOCAL_GENERATED_SOURCES) to this already included, but for prebuilts
that aren't actually prebuilts (Soong modules), we need to pass
dependencies so that the generated headers are built before being used.

Bug: 31742855
Test: Use, inspect build-*.ninja
Change-Id: I8d9f675af639d3f40780d48a016fc079a82531c2

7 years agoMerge "Update for new Android Verified Boot (AVB)."
David Zeuthen [Thu, 29 Sep 2016 17:48:40 +0000 (17:48 +0000)]
Merge "Update for new Android Verified Boot (AVB)."

7 years agoUpdate for new Android Verified Boot (AVB).
David Zeuthen [Thu, 15 Sep 2016 17:43:54 +0000 (13:43 -0400)]
Update for new Android Verified Boot (AVB).

This updates the build system for the new Android Verified Boot
codebase. As this is based on Brillo Verified Boot, this change replaces
the existing BVB support.

Android Verified Boot is enabled by the BOARD_AVB_ENABLE variable

 BOARD_AVB_ENABLE := true

This will make the build system create vbmeta.img which will contain a
hash descriptor for boot.img, a hashtree descriptor for system.img, a
kernel-cmdline descriptor for setting up dm-verity for system.img and
append a hash-tree to system.img.

Additionally, the descriptors are left in boot.img and system.img so a
third party can create their own vbmeta.img file linking - using the
option --chain_partition - to these images. If this is not needed
footers can be erased using the 'avbtool erase_footer' command. It's
also harmless to just leave them in the images.

By default, the algorithm SHA256_RSA4096 is used with a test key from
the AVB source directory. This can be overriden by the
BOARD_AVB_ALGORITHM and BOARD_AVB_KEY_PATH variables to use e.g. a
4096-bit RSA key and SHA-512:

 BOARD_AVB_ALGORITHM := SHA512_RSA4096
 BOARD_AVB_KEY_PATH := /path/to/rsa_key_4096bits.pem

To prevent rollback attacks, the rollback index should be increased on a
regular basis. The rollback index can be set with the
BOARD_AVB_ROLLBACK_INDEX variable:

 BOARD_AVB_ROLLBACK_INDEX := 5

If this is not set, the rollback index defaults to 0.

The variable BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS can be used to specify
additional options passed to 'avbtool make_vbmeta_image'. Typical
options to be used here include '--prop', '--prop_from_file', and
'--chain_partition'.

The variable BOARD_AVBTOOL_BOOT_ADD_HASH_FOOTER_ARGS can be used to
specify additional options passed to 'avbtool add_hash_footer' for
boot.img. Typical options to be used here include '--hash_algorithm' and
'--salt'.

The variable BOARD_AVBTOOL_SYSTEM_ADD_HASHTREE_FOOTER_ARGS can be used
to specify additional options passed to 'avbtool add_hashtree_footer'
for systems.img. Typical options to be used here include
'--hash_algorithm', '--salt', and '--block_size'.

BUG=31264226
TEST=Manually tested on edison-eng by inspecting {boot, system,
  vbmeta}.img in out/ directory as well as their counterparts in
  the IMAGES/ directory of edision-target_files-eng.zeuthen.zip

Merged-In: Ic9a61cfc65c148b12996e57f04da5432eef6b982

Change-Id: I97042655bca15e7eac899f12c5bada2f6184d307

7 years agoMerge "Only run warn.py's main function if it is the main program."
Treehugger Robot [Thu, 29 Sep 2016 03:58:07 +0000 (03:58 +0000)]
Merge "Only run warn.py's main function if it is the main program."

7 years agoMerge "Switch to using clang-3289846."
Stephen Hines [Thu, 29 Sep 2016 02:56:49 +0000 (02:56 +0000)]
Merge "Switch to using clang-3289846."