Commit Graph

22125 Commits

Author SHA1 Message Date
Colin Cross 6ec320df17 Merge "Have all targets in build.ninja" 2015-10-01 21:13:03 +00:00
Kenny Root 9df1cb507d Merge "Remove old grandfathered ALL_PREBUILTS" 2015-10-01 17:55:05 +00:00
Stephen Hines 9073a5d9a5 Merge "Fix RS NDK usage so we always pull from "current" instead of NDK 8." 2015-10-01 05:19:50 +00:00
Tao Bao 2124d7e1e2 Merge "Only use a fixed timestamp when packaging." 2015-09-30 23:45:45 +00:00
Tao Bao 822f5840c0 Only use a fixed timestamp when packaging.
[1] changed to use a fixed timestamp for all the generated images
(either the one under $ANDROID_PRODUCT_OUT/ or the one added into the
target_files zip). It makes 'adb sync' after 'fastboot flashall' to
resync all the files. This CL changes to use a fixed timestamp only when
packaging into the target_files zip.

[1]: commit 052ae3542b

Bug: 24377993
Bug: 24536411
Change-Id: I209318966109fd4902468dfe96caf777464f9fe1
2015-09-30 16:01:14 -07:00
Colin Cross b4a4278595 Have all targets in build.ninja
We should pass --gen_all_targets to have targets which are not declared
as .PHONY.  However, this triggers some nasty behavior inherited from
make, where targets can get variables from things that depend on them.
--gen_all_targets will traverse the targets starting at random points in
the dependency tree, and any variables set higher in the tree will not
be visible.  To work around this, keep --gen_all_phony_targets, which
will start traversing at the phony targets first.  This will enter the
tree traversal at points we know don't use inherited variables, like
checkbuild or the PARSE_TIME_MAKE_GOALS, and will reach all the
dependencies that use inherited variables in the right order.
--gen_all_targets will then fill in any remaining targets that were not
in the main dependency tree, and hopefully none of them use any
inherited variables.

Bug: 24384320
Change-Id: I1ff07b7ef26e9481baae678e7fe0933b6d05f2a7
2015-09-30 15:43:50 -07:00
Dan Willemsen edc3e6cd6a Merge "Sort more instances of wildcard and find" 2015-09-30 22:36:30 +00:00
Dan Willemsen 7c3e3f8314 Sort more instances of wildcard and find
Many of these may not make a difference in the output images, but it's a
good idea to keep the make system as repeatable as possible.

Change-Id: I31804b8ad5805148ed08be7426a242a16f4d0df3
2015-09-30 22:25:49 +00:00
Dan Willemsen 604e532f84 Merge "Add all-cpp-files-under" 2015-09-30 22:15:50 +00:00
Kenny Root 445e87bec9 Remove old grandfathered ALL_PREBUILTS
Many of the packages on ALL_PREBUILTS grandfathered list are no longer
in the tree. Remove them to whittle the list down, so we can tackle the
remaining items.

Change-Id: Id6c026727ed7bef36d1803719df05d2e50afc5cc
2015-09-30 14:53:53 -07:00
David Zeuthen 0238e87989 Merge "envsetup.sh: Add 'provision' function." 2015-09-30 21:45:40 +00:00
Colin Cross cd7bcd86e5 Merge "Move ninja files to $(OUT_DIR)" 2015-09-30 21:35:52 +00:00
Colin Cross ebf32c2236 Move ninja files to $(OUT_DIR)
Move the ninja files from $(PRODUCT_OUT)/build.ninja to
$(OUT_DIR)/build-$(TARGET_PRODUCT).ninja.  This will improve incremental
builds of host modules after swithing target products, because the
.ninja_deps file will be accurate across builds.

Change-Id: Ia12746ccde0de31f6fccd111b2bdbd48fc6900d7
2015-09-30 21:35:40 +00:00
David Zeuthen 1b126ffedc envsetup.sh: Add 'provision' function.
This will run ${ANDROID_PRODUCT_OUT}/provision-device which in turn can
run fastboot (and other vendor-specific bits, if needed) to repartition
the device and reflash all partitions with known versions. Options
passed to the 'provision' command will be passed on to said script which
is expected to pass them on to fastboot.

Since this is a rather destructive operation involving data loss etc.,
user confirmation is required. This confirmation can be bypassed using
the option --no-confirmation.

Change-Id: Iec5667f2f5070b95d2eb70ad1b2984909ae4184c
2015-09-30 17:18:22 -04:00
Alex Deymo 06ba28c31e Merge "Pack the update_engine_config.txt when using the A/B OTA updater." 2015-09-30 18:08:20 +00:00
Alex Deymo 70067acd66 Pack the update_engine_config.txt when using the A/B OTA updater.
This config file pulled directly from the source specifies the update
payload version supported by the code. When generating an incremental
update payload for the A/B updater, the generated payload format will
match the version supported by the old version.

Bug: 24406755
Test: `make dist` on Brillo.

Change-Id: Ib7ac6828d0d34eb31e786dbaae5d59ecf26c3576
2015-09-30 09:54:36 -07:00
Colin Cross 2ce7528a92 Merge "makeparallel needs global CFLAGS now" 2015-09-30 05:12:33 +00:00
Colin Cross 8f26a45bb6 makeparallel needs global CFLAGS now
After 3ad3549519 (Don't add CFLAGS to
CPPFLAGS), makeparallel now needs to explicitly include CFLAGS like
kati.

Change-Id: Ib50328da147f03647bb5b99f6d69948d644eece9
2015-09-30 05:11:40 +00:00
Dan Willemsen 379f9f9cec Add all-cpp-files-under
There are multiple versions of this in the tree. Let's standardize on
one that will work for everyone, and will sort the results.

Bug: 24204119
Change-Id: I09fcd80e1e8e35e64d8a8a62bbc096f87b02603f
2015-09-29 16:32:28 -07:00
Colin Cross 12d7867f5f Merge changes If34a7900,Iaea1f158
* changes:
  Revert "Have all targets in build.ninja"
  Revert "Pass all goals to kati when "dist" is in goals"
2015-09-29 22:41:42 +00:00
Colin Cross 8f9f01bbc3 Revert "Have all targets in build.ninja"
--gen_all_targets seems to be dropping some intermediate targets,
causing problems when kati is passed a goal and then ninja is run with
checkbuild as a goal, for example with:
m -j PRODUCT-aosp_flounder-userdebug checkbuild

This reverts commit 92bbf5667d.

Change-Id: If34a790028f8da98fcc713e3f7000d06c63dcf80
2015-09-29 14:21:24 -07:00
Colin Cross 52b697a488 Revert "Pass all goals to kati when "dist" is in goals"
This isn't actually necessary, dist doesn't use MAKEDISTGOALS other than
to check if it contains any other real targets.  The real issue is
caused by --gen_all_targets, and is broader than just "dist".

This reverts commit d3701e9e96.

Change-Id: Iaea1f158dbd1d4b9035954efef40b33485e6c6b3
2015-09-29 14:20:28 -07:00
Tao Bao 7e9b4ec44c Merge "Pack libdivsufsort.so into otatools.zip." 2015-09-29 17:38:14 +00:00
Colin Cross 02d04b4ddc Merge "Pass all goals to kati when "dist" is in goals" 2015-09-29 17:09:03 +00:00
Nicolas Geoffray 506857e974 Merge "Make linker configurable through environment." 2015-09-29 08:34:28 +00:00
Shinichiro Hamaji 03d8b18881 Merge "Have all targets in build.ninja" 2015-09-29 06:55:33 +00:00
Shinichiro Hamaji d3701e9e96 Pass all goals to kati when "dist" is in goals
Bug: 24339367
Change-Id: Iee80d65fe169ec005900a96446aa7a432fc68872
2015-09-29 15:52:58 +09:00
Shinichiro Hamaji 92bbf5667d Have all targets in build.ninja
We should pass --gen_all_targets instead of --gen_all_phony_targets
to have targets which are not declared as .PHONY.

Bug: 24384320
Change-Id: I616d8c74e6efd9d69b1a935cfc5116b716f100ff
2015-09-29 14:18:59 +09:00
Shinichiro Hamaji ad8df5adac Merge "Reland: Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS" 2015-09-29 03:54:59 +00:00
Colin Cross 953981db62 Merge "Don't add dependencies on Makefiles when using ninja" 2015-09-29 01:09:51 +00:00
Stephen Hines d11c18a4b0 Fix RS NDK usage so we always pull from "current" instead of NDK 8.
The 8 in this definition refers to NDK release 8, not the API level 8.
Setting it to "current" is better, since it still contains the relevant
target API level (9 in our case) for using/building our RS support APIs.

Change-Id: Ib216ea859e137643fba81c39c4b9d0077ec04455
2015-09-28 18:07:21 -07:00
Tao Bao f6d83021d4 Pack libdivsufsort.so into otatools.zip.
This is to support the change to bsdiff which depends on
libdivsufsort.so and libdivsufsort64.so now.

Bug: 24332905
Change-Id: I232fc1b2abda67456f012a83fa4f69a99bc6ea14
2015-09-28 16:42:51 -07:00
Colin Cross a4447e8c89 Don't add dependencies on Makefiles when using ninja
Ninja has an implicit dependency on the command being run, and kati will
regenerate the ninja manifest if any read makefile changes, so there is no
need to have dependencies on makefiles.
This won't catch all the cases where LOCAL_ADDITIONAL_DEPENDENCIES contains
a .mk file, because a few users of LOCAL_ADDITIONAL_DEPENDENCIES don't
include base_rules.mk, but it will fix the most common ones.

Bug: 23566977
Change-Id: I66de882421376303ab7233c8ce7274548f6b2199
2015-09-28 16:29:52 -07:00
Colin Cross 6c3bf1b800 Merge "Use zip -q for adding shared libraries" 2015-09-28 23:23:40 +00:00
Colin Cross 92f8348aeb Use zip -q for adding shared libraries
Make zip quiet when adding shared libraries to apks.

Bug: 24409581
Change-Id: I540510eb6e051b5fc9d1d2a7fa5565a5b774a602
2015-09-28 16:15:09 -07:00
Shinichiro Hamaji 8b08f3a864 Reland: Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS
Only goals that modify the parsing need to be passed to kati, filter out
everything else and only pass it to ninja.

Also, always specify --gen_all_phony_targets. With this flag, kati emits
all phony targets in the ninja file so a ninja file generated only with
PARSE_TIME_MAKE_GOALS can handle targets which don't change the parsing.

This is a reland attempt of
https://android-review.googlesource.com/#/c/172800/

The two issues should have been fixed by Ying in internal trees.

Bug: 24339367
Change-Id: I8ba2254f9bff271da2a7aa7684fd3d987e07c9d3
2015-09-28 16:03:21 -07:00
Colin Cross 7edec14c8d Merge "Set BUILDING_WITH_NINJA flag when parsing makefiles for ninja build" 2015-09-28 23:00:46 +00:00
Colin Cross fe5e6894d2 Set BUILDING_WITH_NINJA flag when parsing makefiles for ninja build
Distinguish between parsing makefiles in make for a pre-ninja build,
parsing makefiles in kati for a ninja build, and parsing makefiles in
make for a non-ninja build by leaving USE_NINJA=true enabled for the
kati pass but also setting BUILDING_WITH_NINJA.

Change-Id: I63f1ce1efe08cd86fdf41f8051901f720b38cfaf
2015-09-28 15:36:05 -07:00
Colin Cross f262f906f2 Merge "Remove "preparing StaticLib" messages" 2015-09-28 22:24:02 +00:00
Colin Cross aa0aca69cf Remove "preparing StaticLib" messages
The preparing StaticLib messages don't provide any useful information,
remove them to clean up build output.

Bug: 24409581
Change-Id: I81fa7c47fd0d10846a21667b6421b4777260d0e9
2015-09-28 14:51:19 -07:00
Tao Bao 5e23069bce Merge "build_image.py: Use a fixed timestamp in the generated image." 2015-09-28 21:09:23 +00:00
Tao Bao 052ae3542b build_image.py: Use a fixed timestamp in the generated image.
Bug: 24377993
Change-Id: I9b1433c8c877dc2a391615bb016b8970426e9f70
2015-09-28 13:44:13 -07:00
Steve Fung 562ad0b5e4 Merge "Package breakpad symbols in target files zip" 2015-09-28 20:07:55 +00:00
Nicolas Geoffray b7c9f32765 Make linker configurable through environment.
Change-Id: I152ad7b41cfa05f2f59f51c6d8bd1e427f1a1649
2015-09-28 10:03:26 +01:00
Shinichiro Hamaji cf448ddb4f Merge "Use gomacc even for FDO build" 2015-09-28 04:38:53 +00:00
Colin Cross 581a028fb5 Merge "Remove checkbuild and test from parse time goals" 2015-09-26 03:33:35 +00:00
Shinichiro Hamaji 09295a82f8 Use gomacc even for FDO build
Goma's client recognizes -fprofile-use= flag so shoulde be
compatible with Android's FDO build.

Change-Id: I0d21d6f530cd05770f8dc12e9dc33a5db49a9c7d
2015-09-26 12:01:21 +09:00
Steve Fung dfbab49bed Package breakpad symbols in target files zip
When BREAKPAD_GENERATE_SYMBOLS is set to true, package the breakpad
symbols into the target files zip thats generated with `make dist`.

Bug: 24165970
Change-Id: I11c0d9a9d9e159475bfdb7bc338f9e9ac60aeada
2015-09-25 18:34:15 -07:00
Ying Wang 094116f037 Merge "Remove the unnecessary rs_compatibility_jni_libs install rules." 2015-09-26 01:00:14 +00:00
Colin Cross aaa9d8dc0a Merge "Fix windows build" 2015-09-26 00:09:58 +00:00