OSDN Git Service

android-x86/build.git
7 years agoBuild recovery-two-step.img for two-step OTAs.
Tao Bao [Wed, 30 Nov 2016 20:11:57 +0000 (12:11 -0800)]
Build recovery-two-step.img for two-step OTAs.

In two-step OTAs, we write recovery image to /boot as the first step so
that we can reboot from there and install a new recovery image to
/recovery. However, bootloader will show "Your device is corrupt"
message when booting /boot with the recovery image. Because the recovery
image encodes the path of "/recovery" as part of the signature metadata,
which fails the verified boot.

This CL generates a special "recovery-two-step.img" in addition to the
regular recovery.img. This image encodes "/boot" when being signed,
which will be flashed to /boot at stage 1/3 in a two-step OTA.

Here are the desired changes:

- 'IMAGES/recovery-two-step.img' exists in target_files.zip for non-A/B
targets (e.g. bullhead). The image should not exist for targets that
don't have a recovery partition (e.g. A/B devices like sailfish).

- <device>-img.zip should not contain 'recovery-two-step.img'.

- Nothing should change when building non-two-step OTAs. For two-step
OTAs, 'recovery-two-step.img' should be included in the OTA package;
'updater-script' should flash this image to /boot at stage 1/3.

- When building a two-step OTA with an input TF.zip that doesn't have
  IMAGES/recovery-two-step.img, it should use the existing
  IMAGES/recovery.img instead.

Bug: 32986477
Test: Tested the steps above on bullhead and sailfish.
Change-Id: I34e6c599bcf2011d4cd5c926999418b3975d6d0f

7 years agoMerge "Do not *directly* package libbcc.so"
Pirama Arumuga Nainar [Thu, 1 Dec 2016 17:58:46 +0000 (17:58 +0000)]
Merge "Do not *directly* package libbcc.so"

7 years agoMerge "releasetools: Remove dead parameter in GetBootableImage()."
Tao Bao [Thu, 1 Dec 2016 17:02:06 +0000 (17:02 +0000)]
Merge "releasetools: Remove dead parameter in GetBootableImage()."

7 years agoMerge "Replace core-junit with legacy-test"
Paul Duffin [Thu, 1 Dec 2016 10:34:07 +0000 (10:34 +0000)]
Merge "Replace core-junit with legacy-test"

7 years agoreleasetools: Remove dead parameter in GetBootableImage().
Tao Bao [Thu, 1 Dec 2016 08:08:05 +0000 (00:08 -0800)]
releasetools: Remove dead parameter in GetBootableImage().

The 'system_img_path' parameter was introduced in commit
d995f4b04df46d9e9ac1be8d58ca961e94b783d1, but became obsolete since
commit 2ce63edab715ae4ff34e1a2ef240b05216f6ca5d.

Test: m dist
Change-Id: Iffd496d929db5cc3dfc955a48bfc1b1317bd012f

7 years agoMerge changes from topic 'simplify_app_process_asan_modules'
Treehugger Robot [Thu, 1 Dec 2016 02:38:29 +0000 (02:38 +0000)]
Merge changes from topic 'simplify_app_process_asan_modules'

* changes:
  Revert "Build: Add sanitized app_process"
  Revert "Build: Add asanwrapper in SANITIZE_LITE"

7 years agoRevert "Build: Add sanitized app_process"
Andreas Gampe [Wed, 30 Nov 2016 23:38:43 +0000 (15:38 -0800)]
Revert "Build: Add sanitized app_process"

This reverts commit a35d92e4312b2247b0a27e17a6f08f82dae49fdf.

The app_process__asan module is merged into app_process.

Bug: 33224213
Test: m
Change-Id: I5e3e836c67b5bd17cf967f1b2429e39c4e18557b

7 years agoRevert "Build: Add asanwrapper in SANITIZE_LITE"
Andreas Gampe [Wed, 30 Nov 2016 23:38:31 +0000 (15:38 -0800)]
Revert "Build: Add asanwrapper in SANITIZE_LITE"

This reverts commit eee31511f70398ada44c7f8811234311ce8c7a7f.

Rewriting of app_process adds an automatic dependency.

Bug: 33224213
Test: m
Change-Id: Idd9509d116692954224f4d2ffd6c81b69e9a85a3

7 years agoDo not *directly* package libbcc.so
Pirama Arumuga Nainar [Wed, 30 Nov 2016 23:40:43 +0000 (15:40 -0800)]
Do not *directly* package libbcc.so

Bug: http://b/28866258

Remove libbcc.so from the list of directly packaged modules.  64-bit
libbcc.so gets included as a dependency for the bcc executable (which is
a required package).  32-bit libbcc.so is no longer necessary on 64-bit
devices.

This change also removes 32-bit libLLVM.so from a 64-bit system image
(leading to a 13M reduction in Angler's system image on AOSP) and a
considerable reduction in build time.

Test: - Build all topics in this CL
      - RsTest (including the 32-bit ABI) and CTS tests pass on x86 and
        x86_64 emulators and Angler.

Change-Id: I10f07e322a615f37d6967b7c938635f544ddceff

7 years agoMerge changes from topic 'app_process_sanitized_binaries'
Treehugger Robot [Wed, 30 Nov 2016 21:00:55 +0000 (21:00 +0000)]
Merge changes from topic 'app_process_sanitized_binaries'

* changes:
  Build: Add asanwrapper in SANITIZE_LITE
  Build: Add sanitized app_process

7 years agoBuild: Add asanwrapper in SANITIZE_LITE
Andreas Gampe [Wed, 30 Nov 2016 18:20:20 +0000 (10:20 -0800)]
Build: Add asanwrapper in SANITIZE_LITE

Add asanwrapper helper binary to PRODUCT_PACKAGES when building with
SANITIZE_LITE=true.

Bug: 33224213
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true && ls $OUT/system/bin/asanwrapper
Change-Id: Ic4d8973b9e9ddfd9ef8663735bf5f70d8f9f70e1

7 years agoReplace core-junit with legacy-test
Paul Duffin [Tue, 29 Nov 2016 12:15:13 +0000 (12:15 +0000)]
Replace core-junit with legacy-test

m -j32 checkbuild cts droid
adb reboot bootloader
fastboot flashall -w
cts-tradefed run cts -m CtsLibcoreTestCases

Bug: 30188076
Test: As above
Change-Id: I2d49cb3c451cb265d026f9a700a61b3fc0d2ed82

7 years agoBuild: Add sanitized app_process
Andreas Gampe [Wed, 30 Nov 2016 03:22:01 +0000 (19:22 -0800)]
Build: Add sanitized app_process

Add sanitized app_process module to PRODUCT_PACKAGES when building
with SANITIZE_LITE=true

Bug: 33224213
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true && ls $OUT/system/bin/asan
Change-Id: Ic67976f1b897b638d569ec6f42d5a8d59f8a9285

7 years agoMerge "Revert "Build: Bring back SDK dependencies""
Treehugger Robot [Wed, 30 Nov 2016 00:39:33 +0000 (00:39 +0000)]
Merge "Revert "Build: Bring back SDK dependencies""

7 years agoMerge changes from topic 'basic_vndk'
Treehugger Robot [Tue, 29 Nov 2016 20:36:04 +0000 (20:36 +0000)]
Merge changes from topic 'basic_vndk'

* changes:
  Prohibit host modules from using LOCAL_COPY_HEADERS
  Add basic VNDK support in Make
  Remove GLOBAL_LD_DIRS

7 years agoProhibit host modules from using LOCAL_COPY_HEADERS
Dan Willemsen [Wed, 23 Nov 2016 00:17:38 +0000 (16:17 -0800)]
Prohibit host modules from using LOCAL_COPY_HEADERS

There are no users left, so remove all of this.

Test: lunch aosp_arm-eng; m -j native
Test: build/tools/kati_all_products.sh on aosp and internal master
Change-Id: I32f5c8b470a43dd203d7e20c192167630e4e6888

7 years agoAdd basic VNDK support in Make
Dan Willemsen [Fri, 18 Nov 2016 22:05:39 +0000 (14:05 -0800)]
Add basic VNDK support in Make

Add BOARD_VNDK_VERSION and LOCAL_USE_VNDK to specify the version of the
VNDK that will be used globally, and whether to use the VNDK on a module
basis.

If the board is using the VNDK:

* LOCAL_COPY_HEADERS may only be used by modules defining LOCAL_USE_VNDK
* LOCAL_USE_VNDK modules will compile against the NDK headers and stub
  libraries, but continue to use the platform libc++.
* LOCAL_USE_VNDK modules will not have the global includes like
  system/core/include, but it will use device-specific kernel headers.

This change does not attempt to enforce any linking constraints, that
will come in a later patch.

Test: out/build-aosp_arm.ninja is identical before/after
Change-Id: Icce65d4974f085093d500b5b2516983788fe2905

7 years agoRemove GLOBAL_LD_DIRS
Dan Willemsen [Tue, 22 Nov 2016 23:13:56 +0000 (15:13 -0800)]
Remove GLOBAL_LD_DIRS

The last user of this was the NDK, which has been using full paths in
binary.mk. So remove it.

Test: lunch aosp_arm-eng; m -j native
Change-Id: Ida2523a2d19131ee3ef005edb3e5bcf830710b11

7 years agoMerge "Makefile: Pack verity_verifier into otatools.zip."
Tao Bao [Mon, 28 Nov 2016 18:04:04 +0000 (18:04 +0000)]
Merge "Makefile: Pack verity_verifier into otatools.zip."

7 years agoMakefile: Pack verity_verifier into otatools.zip.
Tao Bao [Sat, 19 Nov 2016 01:04:24 +0000 (17:04 -0800)]
Makefile: Pack verity_verifier into otatools.zip.

verity_verifier is needed when verifying verity metadata.

Bug: 32173582
Test: `m otatools-package`
Change-Id: I63fdeb75cdca10ea38c1df978d64701acdd4c1db

7 years agoMerge "Update warn.py for new Error Prone diagnostics"
Ian Rogers [Tue, 22 Nov 2016 18:43:50 +0000 (18:43 +0000)]
Merge "Update warn.py for new Error Prone diagnostics"

7 years agoUpdate warn.py for new Error Prone diagnostics
Nick Glorioso [Tue, 15 Nov 2016 23:57:57 +0000 (15:57 -0800)]
Update warn.py for new Error Prone diagnostics

Test: Local build, tee'd to file, ran warn.py and checked output HTML
Change-Id: Iee3386e88c73e4b8e0a1fcc60105ee5fb86e3cb0

7 years agoMerge "Support `LOCAL_SDK_VERSION := current` for NDK."
Treehugger Robot [Fri, 18 Nov 2016 19:04:39 +0000 (19:04 +0000)]
Merge "Support `LOCAL_SDK_VERSION := current` for NDK."

7 years agoRevert "Build: Bring back SDK dependencies"
Andreas Gampe [Fri, 18 Nov 2016 03:42:51 +0000 (19:42 -0800)]
Revert "Build: Bring back SDK dependencies"

This reverts commit ff00c5d78faeacfaae1abc69d69d7cd8c0e9d3ff.

Test: m

7 years agoMerge "Build: Bring back SDK dependencies"
Andreas Gampe [Fri, 18 Nov 2016 02:53:28 +0000 (02:53 +0000)]
Merge "Build: Bring back SDK dependencies"

7 years agoBuild: Bring back SDK dependencies
Andreas Gampe [Fri, 18 Nov 2016 02:21:36 +0000 (18:21 -0800)]
Build: Bring back SDK dependencies

Temporarily re-add SDK dependencies to runtime_libart.mk.

Test: m sdk_repo
Change-Id: I5c2054d7be6ea1c5e6eadbcb3453cabfc64728d6

7 years agoMerge "Build: Refactor and clean up runtime_libart"
Treehugger Robot [Fri, 18 Nov 2016 01:25:53 +0000 (01:25 +0000)]
Merge "Build: Refactor and clean up runtime_libart"

7 years agoMerge "fs_config: move sort to be consistent with other sort"
Treehugger Robot [Fri, 18 Nov 2016 00:29:52 +0000 (00:29 +0000)]
Merge "fs_config: move sort to be consistent with other sort"

7 years agoMerge "fs_config: correct README"
Treehugger Robot [Thu, 17 Nov 2016 23:30:50 +0000 (23:30 +0000)]
Merge "fs_config: correct README"

7 years agoMerge "Build: Add agent library to default packages"
Treehugger Robot [Thu, 17 Nov 2016 23:17:08 +0000 (23:17 +0000)]
Merge "Build: Add agent library to default packages"

7 years agoBuild: Refactor and clean up runtime_libart
Andreas Gampe [Thu, 17 Nov 2016 21:54:49 +0000 (13:54 -0800)]
Build: Refactor and clean up runtime_libart

Split out dependencies and removes some transitives. In preparation
for moving the modules.

Test: m
Test: Device boots
Change-Id: I7cdccd178eef9a625607a74ba8496651591e4cb4

7 years agofs_config: move sort to be consistent with other sort
William Roberts [Sat, 9 Apr 2016 05:06:19 +0000 (22:06 -0700)]
fs_config: move sort to be consistent with other sort

Test: Checked diff and hash of before and after output files, same.
Test: Tested build for basic boot and functionality.
Change-Id: If7806427e3a2a9ddb7a2c9aa14e1e4f9bf696acf
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: correct README
William Roberts [Sat, 9 Apr 2016 17:24:25 +0000 (10:24 -0700)]
fs_config: correct README

Testing on earlier versions of Python indicated an error in the
README. Python's ConfigParser prior to version 3.2 allows for
sections within the same file to override later sections.
Correct the README.

Test: Checked diff and hash of output file from before and after.
Change-Id: Ifd3f78414b4803e4b74decb1fdf6816d4902c4a2
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agoBuild: Add agent library to default packages
Andreas Gampe [Thu, 27 Oct 2016 20:23:29 +0000 (13:23 -0700)]
Build: Add agent library to default packages

Add libopenjdkjvmti to ART dependencies.

Bug: 31455788
Test: m && ls $OUT/system/lib/libopenjdkjvmti.so
Change-Id: Iccf35f04548d74df87ec05f2cb555c1db9d137c6

7 years agoMerge "Separate parallel_classify_warnings out of parse_input_file."
Chih-hung Hsieh [Tue, 15 Nov 2016 22:19:36 +0000 (22:19 +0000)]
Merge "Separate parallel_classify_warnings out of parse_input_file."

7 years agoMerge "Add webview_zygote target to core_minimal.mk PRODUCT_PACKAGES."
Treehugger Robot [Tue, 15 Nov 2016 19:21:12 +0000 (19:21 +0000)]
Merge "Add webview_zygote target to core_minimal.mk PRODUCT_PACKAGES."

7 years agoMerge "Use new -ninja flag to aidl-cpp"
Dan Willemsen [Sun, 13 Nov 2016 19:53:38 +0000 (19:53 +0000)]
Merge "Use new -ninja flag to aidl-cpp"

7 years agoUse new -ninja flag to aidl-cpp
Dan Willemsen [Sun, 13 Nov 2016 17:42:19 +0000 (09:42 -0800)]
Use new -ninja flag to aidl-cpp

This make aidl-cpp write out a dep file that ninja parses correctly.

Test: Manually inspect ninja depfile
Change-Id: I4890a91eb29a6388e17b1ffac23a3dc0ffe6c212

7 years agoMerge "Remove transform-d-to-p"
Dan Willemsen [Fri, 11 Nov 2016 21:38:53 +0000 (21:38 +0000)]
Merge "Remove transform-d-to-p"

7 years agoAdd webview_zygote target to core_minimal.mk PRODUCT_PACKAGES.
Robert Sesek [Fri, 11 Nov 2016 17:38:13 +0000 (12:38 -0500)]
Add webview_zygote target to core_minimal.mk PRODUCT_PACKAGES.

Test: lunch aosp_angler-eng && m checkbuild

Bug: 21643067
Change-Id: I1e0b81055fb74d7238f245e11bf2409c776f2efd

7 years agoRemove transform-d-to-p
Dan Willemsen [Fri, 11 Nov 2016 02:19:36 +0000 (18:19 -0800)]
Remove transform-d-to-p

Ninja doesn't need the phony make targets, in fact, the parser doesn't
handle them correctly and ends up duplicating the dependencies. This
shrinks a `m native` deps file from 54M -> 35M on AOSP.

Test: Compare out/build-aosp_angler.ninja before/after
Test: wrote a tool to dump the .ninja_deps, added dedup feature, files
      identical after dedup.
Change-Id: Iec7a9a0739e8678c1f4db79c68e423a39b9aad4b

7 years agoMerge "Fix vendor/google/build/ninja_config.mk"
Dan Willemsen [Fri, 11 Nov 2016 05:35:04 +0000 (05:35 +0000)]
Merge "Fix vendor/google/build/ninja_config.mk"

7 years agoFix vendor/google/build/ninja_config.mk
Dan Willemsen [Fri, 11 Nov 2016 03:41:27 +0000 (19:41 -0800)]
Fix vendor/google/build/ninja_config.mk

This needs to be included between PARSE_TIME_MAKE_GOALS and KATI_GOALS

Test: m -j <target-from-internal>
Change-Id: I7284f05336b921d40f04ff5811a47bd0d17a066f

7 years agoMerge changes I1bc291aa,Ib3ec8aa8
Dan Willemsen [Thu, 10 Nov 2016 22:41:24 +0000 (22:41 +0000)]
Merge changes I1bc291aa,Ib3ec8aa8

* changes:
  Split (ninja|soong).mk into config and rule portions
  Move some configuration from main.mk to config.mk

7 years agoSeparate parallel_classify_warnings out of parse_input_file.
Chih-Hung Hsieh [Thu, 10 Nov 2016 02:19:05 +0000 (18:19 -0800)]
Separate parallel_classify_warnings out of parse_input_file.

* Allow other callers of this module to:
  * pass any input stream to parse_input_file,
  * pass any warning_lines to parallel_classify_warnings,
  * call dump_csv or dump_html to get output.
* No output change.
* Capture and ignore signal.SIGTERM at the end,
  to avoid bad warning/error messages from the exit clean-up process.

Test: run warn.py build.log.
Change-Id: I1414797a536c0ee622e2a34c226578621be1ddab

7 years agoSplit (ninja|soong).mk into config and rule portions
Dan Willemsen [Thu, 10 Nov 2016 01:22:15 +0000 (17:22 -0800)]
Split (ninja|soong).mk into config and rule portions

So that an external tool can read the configuration using
dump-many-vars, and write out the soong.variables file while only
loading config.mk.

Also remove dumpvar-% from PARSE_TIME_MAKE_GOALS, since it's only used
with CALLED_FROM_SETUP / config.mk. This provides an easy way to test
this change as well.

Test: get_build_var NINJA
Test: get_build_var ANDROID_GOALS
Test: get_build_var NINJA_GOALS
Test: get_build_var KATI_GOALS
Test: MAKECMDGOALS="droid sdk dumpvar-ANDROID_GOALS" get_build_var ANDROID_GOALS
Test: MAKECMDGOALS="droid sdk dumpvar-NINJA_GOALS" get_build_var NINJA_GOALS
Test: MAKECMDGOALS="droid sdk dumpvar-KATI_GOALS" get_build_var KATI_GOALS
Test: MAKECMDGOALS="out/build-a.ninja dumpvar-ANDROID_GOALS" get_build_var ANDROID_GOALS
Test: get_build_var SOONG_MAKEVARS_MK
Test: get_build_var SOONG_VARIABLES
Test: CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core make -f build/core/config.mk out/soong/soong.variables showcommands
Test: Compare soong.variables from above, and before/after with `m`
Test: Compare out before/after with `m doesnotexist`
Test: `m dist doesnotexist`
Change-Id: I1bc291aa165297c930fe600067edad6ce4979210

7 years agoMove some configuration from main.mk to config.mk
Dan Willemsen [Thu, 10 Nov 2016 00:35:34 +0000 (16:35 -0800)]
Move some configuration from main.mk to config.mk

When dumping make configuration (dump-many-var, dump-var-*), we only
load config.mk, not main.mk. One of the first things that main.mk does
is to include config.mk, so these moves are safe.

Turning off the implicit rules and other make configuration / sanity
checks should happen in all cases, so move them to config.mk

Move dont_bother_rules to config.mk so that it can be used by the ninja
configuration (which is moving in a later change). Move dont_bother into
the kati section, since it's not used elsewhere.

Test: m clean
Test: get_build_var dont_bother_goals
Change-Id: Ib3ec8aa8eebcaf743d2cdcc31f89827c4e8470a1

7 years agoMerge "Creates a css nowrap class for non-breaking elements in source.android.com...
Clay Murphy [Wed, 9 Nov 2016 21:18:37 +0000 (21:18 +0000)]
Merge "Creates a css nowrap class for non-breaking elements in source.android.com Test: build2stage 36"

7 years agoCreates a css nowrap class for non-breaking elements
Billy Lamberta [Mon, 24 Oct 2016 21:38:19 +0000 (14:38 -0700)]
Creates a css nowrap class for non-breaking elements
in source.android.com
Test: build2stage 36

Change-Id: I467cc66d5e205b00ed188180140b1ae972e2ebad

7 years agoSupport `LOCAL_SDK_VERSION := current` for NDK.
Dan Albert [Tue, 8 Nov 2016 23:10:09 +0000 (15:10 -0800)]
Support `LOCAL_SDK_VERSION := current` for NDK.

Test: Added a module using this and checked the link command line.
Bug: None
Change-Id: I3a55e4638340d8835c09ebc6a1440bece962d36e

7 years agoMerge "releasetools: Use java_path in sign_target_files_apks.py."
Tao Bao [Tue, 8 Nov 2016 23:31:50 +0000 (23:31 +0000)]
Merge "releasetools: Use java_path in sign_target_files_apks.py."

7 years agoreleasetools: Use java_path in sign_target_files_apks.py.
Tao Bao [Tue, 8 Nov 2016 20:08:53 +0000 (12:08 -0800)]
releasetools: Use java_path in sign_target_files_apks.py.

Prior to this CL, it was calling the hard-coded "java" although it was
accepting a "--java_path" option.

Also switch OPTIONS.java_args from string to list. Otherwise it won't
work when providing multiple args.

Bug: 32737832
Test: Specify "--java_path=" and "--java_args" when invoking
      sign_target_files_apks.py with "-v". Check the commands being
      called.
Change-Id: Id7ef98e778646d532027434de7fba9b7a104dbd0

7 years agoMerge "releasetools: compare size between compressed and patch while build otapackage"
Tao Bao [Sat, 5 Nov 2016 00:09:35 +0000 (00:09 +0000)]
Merge "releasetools: compare size between compressed and patch while build otapackage"

7 years agoMerge "releasetools: Make BBOTA incremental generation repeatable."
Tao Bao [Fri, 4 Nov 2016 21:26:12 +0000 (21:26 +0000)]
Merge "releasetools: Make BBOTA incremental generation repeatable."

7 years agoMerge "findleaves.py: prevent recursion into symlink loops"
Colin Cross [Fri, 4 Nov 2016 18:09:36 +0000 (18:09 +0000)]
Merge "findleaves.py: prevent recursion into symlink loops"

7 years agofindleaves.py: prevent recursion into symlink loops
Colin Cross [Thu, 3 Nov 2016 20:51:10 +0000 (13:51 -0700)]
findleaves.py: prevent recursion into symlink loops

Keep a set of all visited inodes, and prevent recursing into a symlink
to an already visited inode.

Test: m -j
Test: compare `build/tools/findleaves.py --prune=.repo --prune=.git --mindepth=2 --dir=. Android.mk` before and after
Change-Id: Ied14c40d3066ef9f8e8a2b1535f56f7bbbbd0ab6

7 years agoMerge "Export variable for device sanitize arch to Soong"
Treehugger Robot [Thu, 3 Nov 2016 07:12:53 +0000 (07:12 +0000)]
Merge "Export variable for device sanitize arch to Soong"

7 years agoMerge "Update combined build.ninja to depend on Soong's build.ninja"
Dan Willemsen [Thu, 3 Nov 2016 02:39:18 +0000 (02:39 +0000)]
Merge "Update combined build.ninja to depend on Soong's build.ninja"

7 years agoUpdate combined build.ninja to depend on Soong's build.ninja
Dan Willemsen [Wed, 2 Nov 2016 23:24:52 +0000 (16:24 -0700)]
Update combined build.ninja to depend on Soong's build.ninja

For Soong's build.ninja regeneration to work

Bug: 32574042
Test: m -j, add globbed file, m -j
Change-Id: Ie267ea33e8de88275e99330b2d0f147d1e58fa7b

7 years agoExport variable for device sanitize arch to Soong
Colin Cross [Wed, 2 Nov 2016 22:05:21 +0000 (15:05 -0700)]
Export variable for device sanitize arch to Soong

Also renames the variable from SANITIZE_ARCH to SANITIZE_TARGET_ARCH,
and makes it only apply to the device.

Bug: 29498013
Test: No change to build.ninja files with m -j SANITIZE_TARGET=address
Change-Id: Ib5f6ab448f5d96d2426c983308136670f9a55b7b

7 years agoMerge "Remove configuration exported from Soong"
Dan Willemsen [Tue, 1 Nov 2016 17:07:53 +0000 (17:07 +0000)]
Merge "Remove configuration exported from Soong"

7 years agoMerge "Pass global tidy configuration to Soong"
Treehugger Robot [Tue, 1 Nov 2016 01:18:59 +0000 (01:18 +0000)]
Merge "Pass global tidy configuration to Soong"

7 years agoMerge "Improve dotdot workaround when src begins with '/'"
Dan Willemsen [Mon, 31 Oct 2016 23:39:36 +0000 (23:39 +0000)]
Merge "Improve dotdot workaround when src begins with '/'"

7 years agoRemove configuration exported from Soong
Dan Willemsen [Mon, 26 Sep 2016 23:38:55 +0000 (16:38 -0700)]
Remove configuration exported from Soong

Bug: 32244182
Test: build-aosp_angler.ninja is identical before/after (with same env)
Change-Id: Iec2784d1ec5301afe4e2de491dee806551ae3764

7 years agoPass global tidy configuration to Soong
Dan Willemsen [Mon, 31 Oct 2016 22:07:37 +0000 (15:07 -0700)]
Pass global tidy configuration to Soong

Bug: 32244182
Test: WITH_TIDY=true mmma -j build/kati
Test: WITH_TIDY=true WITH_TIDY_CHECKS=-*,performance* mmma -j build/kati
Change-Id: Idca86bd114f353449bf80f73d255d7095a99682a

7 years agoMerge "Revert "Revert "Check prebuilt sources during checkbuild"""
Colin Cross [Sun, 30 Oct 2016 22:05:16 +0000 (22:05 +0000)]
Merge "Revert "Revert "Check prebuilt sources during checkbuild"""

7 years agoImprove dotdot workaround when src begins with '/'
Dan Willemsen [Fri, 28 Oct 2016 23:30:48 +0000 (16:30 -0700)]
Improve dotdot workaround when src begins with '/'

There are some source files in our tree that use some text processing to
find source files, and end up with source file names that look like:

  /../../dir/file.c

This isn't fixed by our dotdot workarounds because the filename doesn't
start with '../', so strip the initial '/' from any source files, since
they are all relative to $(LOCAL_PATH) anyways.

Bug: 32514380
Test: Build internal source with this problem
Test: Compare build-aosp_angler.ninja before/after
Change-Id: If869419c3d3ba35d55f6e19d9332515695e47d24

7 years agoMerge "Do not use multiprocessing.Pool when --processes=1."
Chih-hung Hsieh [Fri, 28 Oct 2016 20:34:48 +0000 (20:34 +0000)]
Merge "Do not use multiprocessing.Pool when --processes=1."

7 years agoMerge "Move perfprofd installation to PRODUCT_PACKAGES_DEBUG"
Treehugger Robot [Fri, 28 Oct 2016 20:04:49 +0000 (20:04 +0000)]
Merge "Move perfprofd installation to PRODUCT_PACKAGES_DEBUG"

7 years agoDo not use multiprocessing.Pool when --processes=1.
Chih-Hung Hsieh [Fri, 28 Oct 2016 17:53:34 +0000 (10:53 -0700)]
Do not use multiprocessing.Pool when --processes=1.

Purpose of this change is not to save some execution time,
but to avoid forking another process. In other applications
that use a wrapper to call this python script, it is difficult
to get overwritten file I/O functions work in a subprocess.
So the wrapper will call warn.py with --processes=1.

Test: run "warn.py --processes=1 build.log"
Change-Id: I5998d5c70d81a456c86eb4002f444a4a60135477

7 years agoMove perfprofd installation to PRODUCT_PACKAGES_DEBUG
Colin Cross [Thu, 27 Oct 2016 22:35:36 +0000 (15:35 -0700)]
Move perfprofd installation to PRODUCT_PACKAGES_DEBUG

LOCAL_MODULE_TAGS is deprecated, use PRODUCT_PACKAGES_DEBUG instead.

Test: none
Change-Id: I670147f4fe38b02ccafe01b96d8078502404113c

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 agoMerge "Revert "Check prebuilt sources during checkbuild""
Colin Cross [Wed, 26 Oct 2016 23:26:42 +0000 (23:26 +0000)]
Merge "Revert "Check prebuilt sources during checkbuild""

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 agoMerge "Check prebuilt sources during checkbuild"
Colin Cross [Wed, 26 Oct 2016 19:35:31 +0000 (19:35 +0000)]
Merge "Check prebuilt sources during checkbuild"

7 years agoMerge "RenderScript-specific build updates for LLVM rebase"
Pirama Arumuga Nainar [Wed, 26 Oct 2016 17:35:50 +0000 (17:35 +0000)]
Merge "RenderScript-specific build updates for LLVM rebase"

7 years agoreleasetools: Make BBOTA incremental generation repeatable.
Tao Bao [Mon, 24 Oct 2016 23:49:08 +0000 (16:49 -0700)]
releasetools: Make BBOTA incremental generation repeatable.

set() doesn't keep elements according to the order of insertion. So
Transfers managed with set() in intermediate steps may not appear in the
same order across runs. This leads to slightly different output packages
when generating the same incremental OTA.

This CL fixes the issue by replacing set() with OrderedDict() in
blockimgdiff.GenerateDigraph() and blockimgdiff.FindVertexSequence().

It also adds a testcase that ensures blockimgdiff.GenerateDigraph()
preserves the insertion order for Transfer.goes_after set.

Bug: 32220816
Test: ota_from_target_files.py gives identical package when running
multiple times.

Change-Id: I56d551e5ca926993ab46896e33c80e0ce42e506a

7 years agoRenderScript-specific build updates for LLVM rebase
Pirama Arumuga Nainar [Tue, 26 Jul 2016 18:37:14 +0000 (11:37 -0700)]
RenderScript-specific build updates for LLVM rebase

Bug: http://b/31320715

Use LLVM's RenderScript triples: upstream LLVM now has 32-bit and
64-bit RenderScript triples.  Update RS_TRIPLE build variables to use
the new triples.

Switch prebuilt clang used for building RenderScript runtime library to
the latest prebuilts.

Test: Run RenderScript tests (slang, bcc host tests, RsTest, CTS)

Change-Id: I308f6a2183350cfc380228a1eed07ec118d93a46

7 years agoMerge "releasetools: Support verity signer args."
Tao Bao [Mon, 24 Oct 2016 18:50:14 +0000 (18:50 +0000)]
Merge "releasetools: Support verity signer args."

7 years agoMerge "Cleanup NATIVE_COVERAGE, PRIVATE_ARFLAGS"
Treehugger Robot [Sat, 22 Oct 2016 03:02:52 +0000 (03:02 +0000)]
Merge "Cleanup NATIVE_COVERAGE, PRIVATE_ARFLAGS"

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 agoCleanup NATIVE_COVERAGE, PRIVATE_ARFLAGS
Dan Willemsen [Fri, 21 Oct 2016 22:04:12 +0000 (15:04 -0700)]
Cleanup NATIVE_COVERAGE, PRIVATE_ARFLAGS

Disable the NATIVE_COVERAGE code when not in use. Provide the proper
PRIVATE_ variables so that the $DISPLAY environment variable isn't
encoded into the ninja file.

Remove PRIVATE_ARFLAGS, which is never set.

Test: compare build-aosp_flounder.ninja
Test: NATIVE_COVERAGE=true build-aosp_flounder.ninja, inspect
Change-Id: I2a52de440fd991cdc5761ff8bd58a474892d2dfc

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 agoreleasetools: compare size between compressed and patch while build otapackage
YOUNG HO CHA [Thu, 13 Oct 2016 04:40:46 +0000 (13:40 +0900)]
releasetools: compare size between compressed and patch while build otapackage

Currently, whether contains patch or verbatim, compute with file size
and patch size.
But ota file must be compressed with zip, so it should be better with
compressed size than uncompressed.

Test: aosp_shamu-user build without proprietary blobs between MOB30P and NRD90S
$ du -k ota_shamu_old.zip ota_shamu_new.zip
217252 ota_shamu_old.zip
216520 ota_shamu_new.zip

Change-Id: If68cb1fbe2f7815067451915a0dcfe93ea5ba8d6
Signed-off-by: YOUNG HO CHA <ganadist@gmail.com>
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