OSDN Git Service

android-x86/build.git
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."

7 years agoOnly run warn.py's main function if it is the main program.
Meike Baumgärtner [Wed, 28 Sep 2016 17:48:06 +0000 (10:48 -0700)]
Only run warn.py's main function if it is the main program.

Test: run warn.py --byproject build.log
Change-Id: I155cce8c952d6d8a02c8e1809bf61a46c847c26e

7 years agoMerge "Fix pylint warning and refactor project_list."
Treehugger Robot [Wed, 28 Sep 2016 17:47:41 +0000 (17:47 +0000)]
Merge "Fix pylint warning and refactor project_list."

7 years agoMerge "Analyze unchanged blocks in odex files."
Tao Bao [Wed, 28 Sep 2016 17:08:10 +0000 (17:08 +0000)]
Merge "Analyze unchanged blocks in odex files."

7 years agoSwitch to using clang-3289846.
Stephen Hines [Wed, 28 Sep 2016 15:51:55 +0000 (08:51 -0700)]
Switch to using clang-3289846.

Bug: http://b/30252254
Test: Built/boot platform using latest prebuilts.
Change-Id: I7c9357a99afec323fd766e93b5d5e941e9e06244

7 years agoFix pylint warning and refactor project_list.
Chih-Hung Hsieh [Tue, 27 Sep 2016 22:39:28 +0000 (15:39 -0700)]
Fix pylint warning and refactor project_list.

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

7 years agoMerge "Fix Google pylint warnings."
Chih-hung Hsieh [Wed, 28 Sep 2016 04:10:26 +0000 (04:10 +0000)]
Merge "Fix Google pylint warnings."

7 years agoMerge "Remove WITH_SYNTAX_CHECK"
Treehugger Robot [Wed, 28 Sep 2016 01:44:23 +0000 (01:44 +0000)]
Merge "Remove WITH_SYNTAX_CHECK"

7 years agoFix Google pylint warnings.
Chih-Hung Hsieh [Wed, 28 Sep 2016 01:08:52 +0000 (18:08 -0700)]
Fix Google pylint warnings.

* Rename 'severity' to 'Severity'.
* Fix bad line indentations and space.

Test: run warn.py --byproject build.log
Change-Id: I33d701cca408b5ca4715be8d44c890942b7d132a

7 years agoMerge "Add buttons to group warning by project or severity."
Treehugger Robot [Tue, 27 Sep 2016 21:10:40 +0000 (21:10 +0000)]
Merge "Add buttons to group warning by project or severity."

7 years agoMerge "Enable LOCAL_SANITIZE:=cfi and add LOCAL_SANITIZE_DIAG."
Evgenii Stepanov [Tue, 27 Sep 2016 20:51:41 +0000 (20:51 +0000)]
Merge "Enable LOCAL_SANITIZE:=cfi and add LOCAL_SANITIZE_DIAG."

7 years agoMerge "Remove spaces from DEFAULT_TIDY_HEADER_DIRS"
Treehugger Robot [Tue, 27 Sep 2016 01:10:30 +0000 (01:10 +0000)]
Merge "Remove spaces from DEFAULT_TIDY_HEADER_DIRS"

7 years agoRemove WITH_SYNTAX_CHECK
Dan Willemsen [Tue, 27 Sep 2016 00:37:19 +0000 (17:37 -0700)]
Remove WITH_SYNTAX_CHECK

It's no longer used. The majority of the platform is on clang anyways.

Test: m -j
Change-Id: I4fb4375eaad2469e169d34c47ae3fe2a0540aeec

7 years agoMerge "build: add hwservicemanager to the core packages"
Treehugger Robot [Mon, 26 Sep 2016 23:54:53 +0000 (23:54 +0000)]
Merge "build: add hwservicemanager to the core packages"

7 years agoRemove spaces from DEFAULT_TIDY_HEADER_DIRS
Dan Willemsen [Mon, 26 Sep 2016 22:43:45 +0000 (15:43 -0700)]
Remove spaces from DEFAULT_TIDY_HEADER_DIRS

I'm preparing to move this to Soong, and it's simpler to compare if the
spaces are removed here (to match the other lists in this file).

Test: WITH_TIDY=true; compare build.ninja before and after change
Change-Id: Ib27a19a36ebb1132300a8c1eeace1202685dfc4c

7 years agoAdd buttons to group warning by project or severity.
Chih-Hung Hsieh [Fri, 23 Sep 2016 02:22:07 +0000 (19:22 -0700)]
Add buttons to group warning by project or severity.

* Add more project patterns.
* Add more top level comments for global variables and functions.
* Resequence severity numbers to match the dump order.
* Emit warning messages and tables to static HTML JavaScript arrays.
* Replace old static HTML table dumper functions with
  new dynamic HTML JavaScript to generate sections of warnings.
* Warning messages are grouped into sections by severity or projects.
* Better descriptions for SKIP warning patterns.
* Replace output function with print.

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

7 years agobuild: add hwservicemanager to the core packages
Iliyan Malchev [Mon, 19 Sep 2016 22:20:14 +0000 (15:20 -0700)]
build: add hwservicemanager to the core packages

b/31458381
b/31240290

Test: passing build and runtime tests

Change-Id: I294c70d93d23ada94ff1175f2d3babd5b836eeee
Signed-off-by: Iliyan Malchev <malchev@google.com>
7 years agoMerge "Fix Google pylint warnings."
Treehugger Robot [Mon, 26 Sep 2016 21:18:07 +0000 (21:18 +0000)]
Merge "Fix Google pylint warnings."

7 years agoFix Google pylint warnings.
Chih-Hung Hsieh [Mon, 26 Sep 2016 17:56:43 +0000 (10:56 -0700)]
Fix Google pylint warnings.

* Rename variables and functions to follow Google coding style.
* Fix line indentations to follow Google coding style.
* Add module and function docstrings.
* Change shebang line to avoid pylint warning.
* Suppress some pylint warnings to avoid too many changes at once.
* Fix typos.

Test: run warn.py --byproject build.log
Change-Id: I569961981b562e35cb5609a96cd5ebb40a80829c

7 years agoAnalyze unchanged blocks in odex files.
Tao Bao [Tue, 20 Sep 2016 05:26:30 +0000 (22:26 -0700)]
Analyze unchanged blocks in odex files.

In BBOTA, we generate patches based on _all_ the blocks of a pair of
input files (src and tgt). For security incremental OTAs, one common
pattern is that only a few blocks are changed in odex files (e.g.
headers). We don't really need to stash/patch the unchanged blocks.

This CL analyzes the unchanged blocks in odex files and computes the
diff for the changed blocks only. It reduces the OTA install time by
about 25% to 40% in our experiments, by paying an increase of 5% to 30%
OTA generation time cost.

Bug: 31570716
Test: Generate an incremental and apply on device.

Change-Id: If842c1afeff6894a3d27eb60b7e8f65a179b7977

7 years agoMerge "Recognize new warning messages."
Treehugger Robot [Fri, 23 Sep 2016 04:33:11 +0000 (04:33 +0000)]
Merge "Recognize new warning messages."

7 years agoMerge "link_type check: Support modules installed into /data"
Treehugger Robot [Fri, 23 Sep 2016 04:30:02 +0000 (04:30 +0000)]
Merge "link_type check: Support modules installed into /data"

7 years agoRecognize new warning messages.
Chih-Hung Hsieh [Wed, 21 Sep 2016 21:00:23 +0000 (14:00 -0700)]
Recognize new warning messages.

* -Wunnamed-type-template-args and -W#pragma-messages

Test: run warn.py with build.log.
Change-Id: I36277e001081604f92a4d9c92f9a0b5d3f0ee5e5

7 years agoMerge "Pass userdebug/eng variant to Soong"
Treehugger Robot [Fri, 23 Sep 2016 00:16:52 +0000 (00:16 +0000)]
Merge "Pass userdebug/eng variant to Soong"

7 years agoMerge "Simplify warn.py and output of warning count table and tablerow."
Treehugger Robot [Fri, 23 Sep 2016 00:06:26 +0000 (00:06 +0000)]
Merge "Simplify warn.py and output of warning count table and tablerow."

7 years agoPass userdebug/eng variant to Soong
Dan Willemsen [Thu, 22 Sep 2016 21:52:53 +0000 (14:52 -0700)]
Pass userdebug/eng variant to Soong

Test: Run build with eng/userdebug/user and check the soong.variables
Change-Id: I7cd71a94e92526b6cc61303b13b7bc593cbbfc3a

7 years agoSimplify warn.py and output of warning count table and tablerow.
Chih-Hung Hsieh [Thu, 22 Sep 2016 20:43:12 +0000 (13:43 -0700)]
Simplify warn.py and output of warning count table and tablerow.

* Use a loop to initialize empty 'members' and 'option' of warnpatterns.
* Create severity.{color,columnheader,header} from an attributes list.
* Compute totalbyproject and totalbyseverity from a constructor.
* Skip all-zero rows and columns in the warning count table.
* Remove redundant spaces and newlines in tablerow output.

Test: run through build.log files
Change-Id: I4d3fa4ecd92e1afab91d85b7535d03f8696e83d8

7 years agolink_type check: Support modules installed into /data
Dan Willemsen [Thu, 22 Sep 2016 17:56:36 +0000 (10:56 -0700)]
link_type check: Support modules installed into /data

Test: compare build.ninja before/after, look at warnings.html
Change-Id: I1b78748dd80b73d2601b2adf0aaac8a6b2b350d5

7 years agoMerge changes from topic 'jack-d-b3-as-stable'
Benoit Lamarche [Thu, 22 Sep 2016 09:34:26 +0000 (09:34 +0000)]
Merge changes from topic 'jack-d-b3-as-stable'

* changes:
  Fix bad JACK_PLUGIN variable
  Add support for Jack plugin

7 years agoMerge "Package up proguard jack_dictionary"
Dan Willemsen [Wed, 21 Sep 2016 19:39:47 +0000 (19:39 +0000)]
Merge "Package up proguard jack_dictionary"

7 years agoFix bad JACK_PLUGIN variable
Yohann Roussel [Mon, 19 Sep 2016 15:49:03 +0000 (17:49 +0200)]
Fix bad JACK_PLUGIN variable

Changed to LOCAL_JACK_PLUGIN.

(cherry picked from commit 17924b136cb5bfc60d138e8c7e5c18a90b5965c3)

Test: Manually tested by some manual activations of the coverage plugin.
Change-Id: I1be4aaa502103fc308d35a5672dc4fe5900c4ebe

7 years agoAdd support for Jack plugin
Yohann Roussel [Fri, 5 Aug 2016 15:45:10 +0000 (17:45 +0200)]
Add support for Jack plugin

And ensure compatibility with coverage plugin.

(cherry picked from commit 862bb84d37e3e6ca61080de58f206e512e09d4e0)

Bug: 28876950
Test: Manually tested by some manual activations of the coverage plugin.
Change-Id: I804558a501825357bf0812de626d2957eedbdc13

7 years agoMerge "Replace usages of my_register_name with my_all_targets"
Treehugger Robot [Wed, 21 Sep 2016 00:38:59 +0000 (00:38 +0000)]
Merge "Replace usages of my_register_name with my_all_targets"

7 years agoReplace usages of my_register_name with my_all_targets
Colin Cross [Tue, 20 Sep 2016 23:01:28 +0000 (16:01 -0700)]
Replace usages of my_register_name with my_all_targets

A few module types add extra dependencies on $(my_register_name), move
them to $(my_all_targets) so that they are built for mm and mma too.

Bug: 31526036
Test: mmm framework
Change-Id: I2e594ce771451a99691739b963f4ce517e9dd595

7 years agoPackage up proguard jack_dictionary
Dan Willemsen [Thu, 1 Sep 2016 18:02:43 +0000 (11:02 -0700)]
Package up proguard jack_dictionary

Bug: 31182185
Test: m dist in an unbundled branch
Change-Id: I7ee1ba076cfa03f294f8231f6bdd8fa8df5557af

7 years agoMerge "Add targets for building individual modules using javac"
Paul Duffin [Tue, 20 Sep 2016 11:51:40 +0000 (11:51 +0000)]
Merge "Add targets for building individual modules using javac"

7 years agoMerge "Fix link_type checking"
Dan Willemsen [Mon, 19 Sep 2016 21:54:08 +0000 (21:54 +0000)]
Merge "Fix link_type checking"

7 years agoMerge "Add a script that verifies OTA package signature."
Treehugger Robot [Mon, 19 Sep 2016 17:28:01 +0000 (17:28 +0000)]
Merge "Add a script that verifies OTA package signature."

7 years agoAdd targets for building individual modules using javac
Paul Duffin [Thu, 15 Sep 2016 13:34:42 +0000 (14:34 +0100)]
Add targets for building individual modules using javac

This is needed in order to be able to run error prone (which is
a plugin replacement for javac) on a subset of the java code.

Bug: 31507496
Test: Build javac-check-core-tests and check the resulting JAR
Change-Id: I5a556920572fcdad7b39d67e3f00fe0e0f1f8f46

7 years agoMerge "Only update previous product config when changed"
Dan Willemsen [Sat, 17 Sep 2016 02:29:06 +0000 (02:29 +0000)]
Merge "Only update previous product config when changed"

7 years agoAdd a script that verifies OTA package signature.
Tao Bao [Tue, 13 Sep 2016 18:13:48 +0000 (11:13 -0700)]
Add a script that verifies OTA package signature.

Currently it supports verifying packages signed with RSA algorithms
(v1-v4 as in bootable/recovery/verifier.cpp). No support for ECDSA (v5)
signed packages yet.

$ ./build/tools/releasetools/check_ota_package_signature.py \
    bootable/recovery/tests/testdata/testkey_v1.x509.pem \
    bootable/recovery/tests/testdata/otasigned_v1.zip

Package: bootable/recovery/tests/testdata/otasigned_v1.zip
Certificate: bootable/recovery/tests/testdata/testkey_v1.x509.pem
Comment length: 1738
Signed data length: 2269
Use SHA-256: False
Digest: 115e688ec3b77743070b743453e2fc6ce8754484

VERIFIED

Bug: 31523193
Test: Used the tool to verify existing packages (like above).

Change-Id: I71d3569e858c729cb64825c5c7688ededc397aa8

7 years agoMerge "Remove objclean"
Treehugger Robot [Fri, 16 Sep 2016 21:46:20 +0000 (21:46 +0000)]
Merge "Remove objclean"

7 years agoOnly update previous product config when changed
Dan Willemsen [Fri, 16 Sep 2016 17:03:22 +0000 (10:03 -0700)]
Only update previous product config when changed

I'm working on removing the --ignore_dirty=$(OUT_DIR)/% argument from
Kati. If we're always writing to a file that we're also reading, then
with that flag removed, we'll always reparse all the makefiles.

So instead, use the method from the generated java file cleanup where we
read from a "previous" file, write to a "current" file, then use a
cmp || mv to overwrite the "previous" file if necessary. When the flag
is removed, this will cause Kati to need to run twice any time this
changes, but it's better than forever.

Bug: 30947985
Test: Switch between aosp_arm-eng and full-eng
Change-Id: Id2d1445809b60ce26700bb2aca765df3b5c2b360

7 years agoRemove objclean
Dan Willemsen [Fri, 16 Sep 2016 05:03:04 +0000 (22:03 -0700)]
Remove objclean

We don't need to manually remove objects when switching SANITIZE_TARGET
-- that will be handled by Ninja noticing that the command lines are
different.

Bug: 30947985
Test: None
Change-Id: I83c15981cf6ea258bb7fa85490b0b1ede1058aa6

7 years agoMerge changes from topics 'ndk-compiler-rt_extras', 'ndk-libc++-libdl'
Treehugger Robot [Fri, 16 Sep 2016 06:40:32 +0000 (06:40 +0000)]
Merge changes from topics 'ndk-compiler-rt_extras', 'ndk-libc++-libdl'

* changes:
  Use libcompiler-rt_extras with NDK builds.
  Always link libdl with libc++ for the NDK.

7 years agoMerge "Fix typo in coverage target out path."
Treehugger Robot [Fri, 16 Sep 2016 02:06:18 +0000 (02:06 +0000)]
Merge "Fix typo in coverage target out path."

7 years agoFix typo in coverage target out path.
Ryan Campbell [Fri, 16 Sep 2016 00:32:13 +0000 (17:32 -0700)]
Fix typo in coverage target out path.

Change-Id: I4a448708ab74e08b2c515039ee5d71c32861214e

7 years agoFix link_type checking
Dan Willemsen [Thu, 15 Sep 2016 04:38:29 +0000 (21:38 -0700)]
Fix link_type checking

This was printing "error:", but not actually triggering an error.
Instead of trying to write a single line bash script to handle this,
move the actual check into python. This allows us to print all of the
errors for a single module before triggering the failure.

Also updates the warning format and the warn.py script to properly parse
these warning. Many of the java:sdk -> java:platform warnings are false
positives due to the lack of LOCAL_SDK_VERSION markings on prebuilts.

Individual tags can be marked as warnings now, which lets us check for
system libraries linking against vendor libraries (which won't work on
AOSP). I'm not sure this is a completely valid check, which one reason
that it's just a warning.

Test: m all_link_types (with some missing libs commented out)
Change-Id: I333e418c9a4511b7c7e826891ae481da08fbf6f9

7 years agoMerge "Remove SRC_SYSTEM_HEADERS"
Treehugger Robot [Thu, 15 Sep 2016 18:27:45 +0000 (18:27 +0000)]
Merge "Remove SRC_SYSTEM_HEADERS"

7 years agoRemove SRC_SYSTEM_HEADERS
Colin Cross [Thu, 15 Sep 2016 16:29:15 +0000 (09:29 -0700)]
Remove SRC_SYSTEM_HEADERS

It is inherited from Soong now.

Bug: 31492149
Change-Id: Ia9bfd9662dba16032dac68b55b4f0743c0688139

7 years agoMerge "goma.mk: do not start goma compiler_proxy if NOSTART_GOMA is set."
Treehugger Robot [Thu, 15 Sep 2016 03:41:24 +0000 (03:41 +0000)]
Merge "goma.mk: do not start goma compiler_proxy if NOSTART_GOMA is set."

7 years agoUse libcompiler-rt_extras with NDK builds.
Dan Albert [Wed, 14 Sep 2016 23:08:48 +0000 (16:08 -0700)]
Use libcompiler-rt_extras with NDK builds.

We want to build things in CTS (things built against the NDK) with
integer overflow checks. Some projects in the tree also make explicit
calls to the overflow checked builtins, and those projects need to be
built with the NDK (external/dng_sdk is the specific example that
brought this up).

Test: make checkbuild tests
Bug: None
Change-Id: Iab27dd0d931f723140de242049fa72f3b1ce0fb8

7 years agoAlways link libdl with libc++ for the NDK.
Dan Albert [Wed, 14 Sep 2016 23:08:04 +0000 (16:08 -0700)]
Always link libdl with libc++ for the NDK.

libc++ requires libdl whether it's statically linked or not.

Test: make checkbuild tests
Bug: None
Change-Id: I8abdcfaef779b358196716ab1193cebe278317ac

7 years agoMerge "Emit a table of warnings by project and severity."
Chih-hung Hsieh [Wed, 14 Sep 2016 16:39:26 +0000 (16:39 +0000)]
Merge "Emit a table of warnings by project and severity."

7 years agoMerge "Fix shared library install dependencies outside of /system"
Dan Willemsen [Tue, 13 Sep 2016 22:39:20 +0000 (22:39 +0000)]
Merge "Fix shared library install dependencies outside of /system"

7 years agoFix shared library install dependencies outside of /system
Dan Willemsen [Tue, 13 Sep 2016 20:28:51 +0000 (13:28 -0700)]
Fix shared library install dependencies outside of /system

For properly picking the shared library install dependencies, HOST_OUT
and HOST_CROSS_OUT are necessary so that we don't add a dependency
between Linux and Windows. But for target modules, we must use
TARGET_OUT_ROOT instead of TARGET_OUT, or modules in /data and /vendor
won't have proper install dependencies.

Bug: 31462199
Test: m bionic-unit-tests; manual diff of generated ninja file
Change-Id: I828fa2664613296cc6c431813f5657abffdd2b8f

7 years agoMerge "Implement path-based enabling of code coverage."
Ryan Campbell [Tue, 13 Sep 2016 19:48:34 +0000 (19:48 +0000)]
Merge "Implement path-based enabling of code coverage."

7 years agoMerge "Fix building static linux binaries"
Treehugger Robot [Tue, 13 Sep 2016 19:19:46 +0000 (19:19 +0000)]
Merge "Fix building static linux binaries"

7 years agoFix building static linux binaries
Dan Willemsen [Tue, 13 Sep 2016 17:44:44 +0000 (10:44 -0700)]
Fix building static linux binaries

BUILD_HOST_static has been broken because I was stripping
-Wl,--start-group/-Wl,--end-group into a separate set of ldflags instead
of keeping them wrapped around some of the ldlibs. So don't pass some of
the build system flags through the ldlibs checker.

Bug: 30898128
Change-Id: I332b42679695cdc5da3cb0036290b6a3544699c0

7 years agoImplement path-based enabling of code coverage.
Ryan Campbell [Mon, 12 Sep 2016 20:56:50 +0000 (13:56 -0700)]
Implement path-based enabling of code coverage.

Native coverage is enabled by setting NATIVE_COVERAGE to true
and specifying a list of paths in the COVERAGE_PATHS
environment variable. Files are exported to a zip file in the
target out directory.

Change-Id: I66a2ddd88e849bec1cc0cdae1b51fe18a007e2c3

7 years agoEmit a table of warnings by project and severity.
Chih-Hung Hsieh [Mon, 12 Sep 2016 23:20:49 +0000 (16:20 -0700)]
Emit a table of warnings by project and severity.

* Use 't1' CSS class for main warning tables,
  and default table style for new warning count table.
* Count total skipped warnings.
* Append count of warnings in each severity header.
* Fix some skipped warning patterns and count/dump skipped warnings.
* Add dumpskippedanchors function to fix expand_collapse
  error when --byproject flag is used and severity.SKIP
  is not emitted.
* Minor coding style changes:
  * Loop through severity.kinds.
  * Remove unused import.
  * Add spaces around assignment operators.
  * Adjust indentation.

Bug: 31377083
Test: run warn.py with build.log
Change-Id: I68949edc4601b10ea2f7ac84e48e6c3da4ab1e4f

7 years agoMerge "Remove incremental workaround for aapt overlays"
Treehugger Robot [Tue, 13 Sep 2016 04:29:36 +0000 (04:29 +0000)]
Merge "Remove incremental workaround for aapt overlays"

7 years agogoma.mk: do not start goma compiler_proxy if NOSTART_GOMA is set.
Yoshisato Yanagisawa [Tue, 13 Sep 2016 03:53:08 +0000 (12:53 +0900)]
goma.mk: do not start goma compiler_proxy if NOSTART_GOMA is set.

During the development of goma client, we sometimes need to use goma
compiler_proxy, which has already been running.

Test: NOSTART_GOMA=1 USE_GOMA=1 m.

Change-Id: Ifa969c40871325fd43ee6443ddbe3b18fde62c5a

7 years agoRemove incremental workaround for aapt overlays
Dan Willemsen [Tue, 13 Sep 2016 03:26:33 +0000 (20:26 -0700)]
Remove incremental workaround for aapt overlays

This workaround to clean package intermediates is no longer necessary,
as ninja reruns commands whose command line changes.

Test: switch between product overlays that use add-resource, verify
      R.java is regenerated.
Change-Id: Icb1f76360e39882e4401180414a031956777b020

7 years agoMerge "Remove speex from the pathmap"
Treehugger Robot [Tue, 13 Sep 2016 00:07:28 +0000 (00:07 +0000)]
Merge "Remove speex from the pathmap"

7 years agoRemove speex from the pathmap
Dan Willemsen [Mon, 12 Sep 2016 23:10:20 +0000 (16:10 -0700)]
Remove speex from the pathmap

libspeexresampler uses LOCAL_EXPORT_C_INCLUDE_DIRS to export this path
to all of its users already.

Test: m libaudiopreprocessing libaudioutils
Change-Id: I682303142840d6f0f02c990de8e713620840bbda

7 years agoMerge "Update NDK gtest lib names."
Treehugger Robot [Mon, 12 Sep 2016 20:48:42 +0000 (20:48 +0000)]
Merge "Update NDK gtest lib names."

7 years agoMerge "Fix libgcov.a dependency"
Treehugger Robot [Mon, 12 Sep 2016 19:06:54 +0000 (19:06 +0000)]
Merge "Fix libgcov.a dependency"

7 years agoFix libgcov.a dependency
Dan Willemsen [Tue, 23 Aug 2016 06:53:47 +0000 (06:53 +0000)]
Fix libgcov.a dependency

Now that Soong is generating libgcov.a, we need a dependency here.

Change-Id: Ie8d97339fd584eed178cc57b9333d38754ab1135

7 years agoMerge "Update build rules for VDEX"
David Brazdil [Mon, 12 Sep 2016 14:57:19 +0000 (14:57 +0000)]
Merge "Update build rules for VDEX"

7 years agoMerge "Remove global linker search paths"
Colin Cross [Fri, 9 Sep 2016 20:27:21 +0000 (20:27 +0000)]
Merge "Remove global linker search paths"

7 years agoRemove global linker search paths
Colin Cross [Fri, 9 Sep 2016 17:09:47 +0000 (10:09 -0700)]
Remove global linker search paths

Remove the global linker search path, as it can cause spurious build
failures.  If a library with the same name as a system library is in the
process of being written to the directory in the global search path, and
the linker may try to read the partially-written built one instead of the
system one.  We already use full paths to libraries for target builds,
do the same for host builds.  Also remove the normalize library
functions, they are no longer necessary.

Test: m -j checkbuild
Bug: 31393456
Change-Id: If9fc631e111f568c700fd73e103445c30d7e9d11

7 years agoUpdate build rules for VDEX
David Brazdil [Thu, 25 Aug 2016 12:50:15 +0000 (13:50 +0100)]
Update build rules for VDEX

ART now produces a new output file called VDEX, produced alongside the
existing OAT file. This patch updates the relevant build rules.

Bug: 30937355
Change-Id: Ib6be9f8f36c8f061dbbebd72cb55a5d4b6dc27eb

7 years agoUpdate NDK gtest lib names.
Dan Albert [Tue, 26 Apr 2016 21:18:01 +0000 (14:18 -0700)]
Update NDK gtest lib names.

The NDK gtest libs are always suffixed to simplify the make macro
that generates the test modules.

Bug: http://b/16574165
Change-Id: I1c9647e90aff2f1e9da4a88cad30199b1e423757

7 years agoMerge "Prevent Kati from seeing MAKEFLAGS"
Treehugger Robot [Fri, 9 Sep 2016 01:25:21 +0000 (01:25 +0000)]
Merge "Prevent Kati from seeing MAKEFLAGS"

7 years agoPrevent Kati from seeing MAKEFLAGS
Dan Willemsen [Fri, 9 Sep 2016 00:08:31 +0000 (17:08 -0700)]
Prevent Kati from seeing MAKEFLAGS

We never want Kati to see MAKEFLAGS, as forcefully overriding variables
is terrible. The variables in MAKEFLAGS are still available in the
environment, so if part of the build wants input from the user, it
should be explicitly checking for an environment variable or using ?=

This commit shouldn't actually change any behavior -- the version of
Kati checked into our tree doesn't actually read MAKEFLAGS (the latest
version does, which is why this change is necessary). We're also already
clearing MAKEFLAGS during makeparallel, so the USE_GOMA case already
doesn't pass through MAKEFLAGS.

Test: Manual $(warnings $(origin MYTEST) $(MYTEST)) with old and new Kati
Change-Id: I5e4ffa66b3539a539cc7a26da24645b11445c469

7 years agoMerge "Blacklist the GOMACC_PATH environment variable"
Dan Willemsen [Thu, 8 Sep 2016 20:47:19 +0000 (20:47 +0000)]
Merge "Blacklist the GOMACC_PATH environment variable"

7 years agoMerge "Define DEFAULT_TIDY_HEADER_DIRS."
Chih-hung Hsieh [Thu, 8 Sep 2016 20:24:07 +0000 (20:24 +0000)]
Merge "Define DEFAULT_TIDY_HEADER_DIRS."

7 years agoBlacklist the GOMACC_PATH environment variable
Dan Willemsen [Thu, 8 Sep 2016 19:45:15 +0000 (12:45 -0700)]
Blacklist the GOMACC_PATH environment variable

The clang compiler wrapper will be looking for this environment
variable, but it should only ever be set by the `gomacc` in CC_WRAPPER.
Make sure that it isn't otherwise set in the environment.

Change-Id: I4b26c7183bc47f71dffa7dfcc2e5b08e840a11b1

7 years agoMerge ""SignApk" in Created-By header"
Treehugger Robot [Thu, 8 Sep 2016 17:10:37 +0000 (17:10 +0000)]
Merge ""SignApk" in Created-By header"

7 years agoMerge "Build symlinks for -host and -target phony modules"
Treehugger Robot [Wed, 7 Sep 2016 22:00:24 +0000 (22:00 +0000)]
Merge "Build symlinks for -host and -target phony modules"

7 years agoBuild symlinks for -host and -target phony modules
Colin Cross [Wed, 7 Sep 2016 19:48:30 +0000 (12:48 -0700)]
Build symlinks for -host and -target phony modules

Move extra module dependencies like symlinks from dependencies of
$(my_register_name) to $(my_all_targets), and make $(my_register_name)
and other convenience phony modules depend on $(my_all_targets).  Move
$(LOCAL_MODULE)-host/-target to depend on $(my_all_targets) instead of
directly depending on the built and installed modules.

Change-Id: I3b093986db7a1bff118f1f2482275f0997a98fb6

7 years ago"SignApk" in Created-By header
Alex Klyubin [Wed, 7 Sep 2016 20:21:00 +0000 (13:21 -0700)]
"SignApk" in Created-By header

The switch to apksig changed the Created-By header value in .SF file
from "1.0 (Android SignApk)" to "1.0 (Android apksigner)". This commit
reverts the value back to "1.0 (Android SignApk)".

Change-Id: I2fc462cade40a5b31bb6191996fd6f18fabbf08f

7 years agoMerge "Add tool to copy files in to fat16 images"
Treehugger Robot [Wed, 7 Sep 2016 19:51:06 +0000 (19:51 +0000)]
Merge "Add tool to copy files in to fat16 images"

7 years agoMerge "Recognize new clang-tidy and Java warnings."
Chih-hung Hsieh [Wed, 7 Sep 2016 05:27:45 +0000 (05:27 +0000)]
Merge "Recognize new clang-tidy and Java warnings."

7 years agoRecognize new clang-tidy and Java warnings.
Chih-Hung Hsieh [Tue, 6 Sep 2016 23:26:46 +0000 (16:26 -0700)]
Recognize new clang-tidy and Java warnings.

Test: run warn.py with build.log
Change-Id: I11ff844bcfd7fb13aef8909307bc7eb1f5ee9b2a

7 years agoDefine DEFAULT_TIDY_HEADER_DIRS.
Chih-Hung Hsieh [Wed, 7 Sep 2016 03:06:28 +0000 (20:06 -0700)]
Define DEFAULT_TIDY_HEADER_DIRS.

Let clang-tidy report warnings in header files in the
system and current directories but not the external
and vendor directories.

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