Commit graph

22016 commits

Author SHA1 Message Date
leozwang
aa6c1a1445 Add an option to include a full bootloader in incremental OTA.
Bug: 23101469
Change-Id: Iac466b83f789f10d26e8d289dce766cf0d05148b
(cherry picked from commit c1324751e79b23a63ea494f4bc784446c8f32435)
2015-08-17 10:34:01 -07:00
Tao Bao
82c47981bd Revise stash for BBOTAs when needed.
When generating incremental BBOTAs (v2 and above), we need to ensure
that the needed runtime stash is below the given threshold. If it's
running out of space on /cache, we replace the command that uses a
stash with a "new" command instead.

This may increase the OTA package size, since it is carrying more full
blocks instead of patches. It gets even worse for large files that span
a number of blocks, because currently we will store all the blocks for
the file as "new" blocks if stashing cannot be satisfied. We may further
optimize by splitting them into smaller chunks so that most of them can
still be stashed.

Bug: 22430577
Change-Id: I5a49e361adc7d3d41de2e9c08ee9b08c1e6c091a
2015-08-17 10:21:49 -07:00
Shinichiro Hamaji
5b6b6bb974 Add two flags for the latest ckati
* --regen

Re-generate build.ninja only when necessary. If either

1. .mk file is updated,
2. environment variable is updated,
3. $(wildcard) result is changed, or
4. $(shell) result is changed,

ckati will regenerate ninja file. This check takes only ~1
second, so incremental build will become much faster even
without "fastincremental" target.

* --ignore_dirty=out/%:

Some .mk files in out/ (e.g.,
out/target/product/generic/previous_build_config.mk)
are updated while ckati is running. With this flag, ckati
does not regenerate build.ninja when they look modified.
This should be OK for ninja based build, as ninja handles
command line changes nicely.

Change-Id: I7a2fca0e327d999599d6b16f06358e8a5e657565
2015-08-17 20:20:20 +09:00
Stephen Hines
2e08cb6e1b Merge "Add -mfpu=neon-vfpv4 if cpu is krait" 2015-08-15 02:04:55 +00:00
Yang Ni
36600a6bf9 Merge "Include target api version in build system for rscpp." 2015-08-14 18:39:47 +00:00
Dan Albert
578acca4e2 Merge "Link librt on the host when using sanitizers." 2015-08-14 00:59:52 +00:00
Dan Albert
2922411446 Link librt on the host when using sanitizers.
The sanitizers now use shared memory.

Change-Id: Ie8fa6690374eda08ee4138b68fd628ebbfa2d0c8
2015-08-13 17:25:10 -07:00
Noah Presler
4796a8c524 Include target api version in build system for rscpp.
b/23161320

Change-Id: Ibc23309abed092e7648168fbf4b80891a44929a6
2015-08-13 17:07:56 -07:00
Tao Bao
8765fca2f6 Merge "Free the stash after its use in BBOTA v2." 2015-08-13 22:22:16 +00:00
Tao Bao
bb625d2099 Free the stash after its use in BBOTA v2.
In BBOTA v2, the stash size computation is inaccurate. A stash will be
used only once, so we deduct its size from stashed_blocks right after
its use. However, the stash doesn't actually get freed until being
overwritten by another stash or destroyed at the end of an update. This
leads to OTA failures due to insufficient space on /cache. This CL
changes the BBOTA v2 script to generate an explicit free right after
its use.

Bug: 23119955
Change-Id: Icdd8352bb0ff778945937c870990a888c7a4d38b
2015-08-13 14:44:38 -07:00
Dan Albert
727b462a92 Merge "Never allow -w." 2015-08-13 16:48:18 +00:00
Neil Fuller
bc7680c4d7 Merge "Include the okhttp.jar when compiling against internal classes" 2015-08-13 10:40:39 +00:00
Nick Kralevich
5f79bcdd07 Merge changes from topic 'file_contexts.bin'
* changes:
  build: switch over to file_contexts.bin only
  Update embedded.mk to support file_contexts.bin
2015-08-12 23:46:28 +00:00
Dan Albert
df3fd1d128 Never allow -w.
Apparently -w will disable all warnings on GCC regardless of ordering
(clang will still respect ordering so warnings that are enabled after
-w are still respected). This is insane. Strip -w from the cflags.
Anyone that wants this flag should be turning off the specific
warnings (or just fix them), not disabling all warnings.

Change-Id: I2ba065637dfdc192921da4d9adbdc63b728c166f
2015-08-12 14:54:16 -07:00
Neil Fuller
f39a25bc28 Include the okhttp.jar when compiling against internal classes
If LOCAL_SDK_VERSION is unset we were compiling against
core-libart but not okhttp.

okhttp should be an implementation detail but
android.net.http.HttpResponseCache implements
com.android.okhttp.OkCacheContainer.

The OpenJDK 8 version of of javac now requires all interfaces of
implemented classes be made available at compile time even with
-source 1.7 -target 1.7.

This is not an issue when compiling against the android.jar because
the implementation of HttpResponseCache in the android.jar does not
implement com.android.okhttp.OkCacheContainer.

Bug: 23099154
Change-Id: I3fa1d0f73535b396623fed953cfc71189b797849
2015-08-12 09:30:58 +01:00
Dan Willemsen
ccc933e97b Use repeatable timestamps
This moves all of the date references under build/ to using a single
datetime that can be set manually using BUILD_DATETIME.

It also adds an option, OVERRIDE_C_DATE_TIME, that if set to true, will
redefine __DATE__ and __TIME__ for all C/C++ files so that it matches
BUILD_DATETIME.

Bug: 23117013
Change-Id: I7c17a32b794a5adf40b9cd69136fb0ff9f6084ec
2015-08-12 00:02:20 -07:00
Gina Dimino
8f301ff10d Merge "Docs: Rename content-footer-text plus remove whitespace." 2015-08-12 03:05:59 +00:00
Dan Willemsen
608aa91db7 Merge "Revert "Use repeatable timestamps"" 2015-08-12 01:02:19 +00:00
Dan Willemsen
92026f2d36 Revert "Use repeatable timestamps"
OSX `date` doesn't understand -d

This reverts commit 13ba6e00f4.

Change-Id: I5970032ff02cc07bd3b087e1eeb5f19b1e4194b4
2015-08-12 01:00:19 +00:00
Dan Willemsen
671b8ff545 Merge "Use repeatable timestamps" 2015-08-12 00:49:26 +00:00
Dan Willemsen
13ba6e00f4 Use repeatable timestamps
This moves all of the date references under build/ to using a single
datetime that can be set manually using BUILD_DATETIME.

It also adds an option, OVERRIDE_C_DATE_TIME, that if set to true, will
redefine __DATE__ and __TIME__ for all C/C++ files so that it matches
BUILD_DATETIME.

Bug: 23117013
Change-Id: I880ef103a26bca86bd7bf42d58e62e740a6228c8
2015-08-11 17:08:03 -07:00
Ying Wang
20febe3d83 Merge "Don't build otapackage on Mac." 2015-08-11 22:49:25 +00:00
Ying Wang
09c4b68dfd Don't build otapackage on Mac.
Also removed the unneeded variable DISTTOOLS
and the unnecessary dependency of otapackage/updatepackage on DISTTOOLS.

Bug: 23085297
Change-Id: I6b269003a72bb48eda1260c8d9b4bd88974bcde9
2015-08-11 11:45:54 -07:00
Ying Wang
edf7bf8d83 Merge "Allow custom recovery resource dirs." 2015-08-10 22:15:23 +00:00
Dan Albert
4f20869b1f Merge "Bump the default C++ standard up to C++14." 2015-08-10 20:40:00 +00:00
Dan Albert
c7d307d873 Bump the default C++ standard up to C++14.
This also drops the NDK default back to C++98 (or C++11 for code using
libc++). The platform NDK build should match the normal NDK build.

Bug: http://b/23043421
Change-Id: I3a336767ce271e84f4dfdebdadb3a98e5689def9
2015-08-10 13:37:42 -07:00
Ying Wang
9a17568624 Allow custom recovery resource dirs.
Set TARGET_PRIVATE_RES_DIRS in your BoardConfig.mk to specify custom
private recovery resource directories.
With this change you can share the same recovery resource dir for more
than one device; Also you can specify more than one directories.

Change-Id: Ieeb18f5ac11c98b6f08d0ab6fb4e0d9aa72b27e7
2015-08-10 11:33:10 -07:00
Tao Bao
8af9816416 Merge "Change the cache partition size check into warnings." 2015-08-08 04:26:57 +00:00
Tao Bao
575d68a48e Change the cache partition size check into warnings.
For some old builds, we may not define cache partition size. Change the
exception into a warning to make the script backward compatible.

Change-Id: Ie94c7fbb1a9f3a7db3f16e8d845e493a534aac5b
2015-08-07 19:49:45 -07:00
Tao Bao
420f95ff5d Merge "releasetools: Support packaging for system_root_image." 2015-08-07 04:45:20 +00:00
Dan Willemsen
46ed451d12 Merge "build: Load makefiles in the same order with Make 4.0" 2015-08-07 00:47:51 +00:00
Dan Willemsen
ec224d5072 build: Load makefiles in the same order with Make 4.0
Make 4.0 (and Kati) removed the implicit sort from the $(wildcard)
function. In order to ensure that makefiles are always loaded in the
same order, and an explicit sort.

This shouldn't matter, but some makefiles are modifying variables used
by siblings (LLVM_ROOT_PATH under frameworks/compile). In this case, the
path value still pointed to the same path, it just had extra '..'
references, and was enough to cause the binaries to be different.

Change-Id: Ief6551f999351ee2c193275aaae426dc064f8b34
2015-08-06 15:21:30 -07:00
Gilad Arnold
7b49da7e9a Merge "Remove LOCAL_MODULE from generated DBus header path." 2015-08-06 21:55:47 +00:00
Dan Albert
2e4b90e5f1 Merge "Dedup system shared libraries." 2015-08-06 21:25:45 +00:00
Dan Albert
735cd90d17 Merge "Disable transitive symbol resolving for mips64." 2015-08-06 21:25:38 +00:00
Dan Albert
7ba582aec3 Dedup system shared libraries.
These shouldn't differ by target. Right now only mips64 does, and
that's a bug.

Change-Id: Ic941ede85ba1bc07d3316a55639ba71a6afc9630
2015-08-06 14:18:55 -07:00
Dan Albert
46ed1e8590 Disable transitive symbol resolving for mips64.
The transitive symbol resolving causes build breakage when a binary
has indirect dependency on the NDK library.

This matches the change made for the the aarch64 toolchain:
https://android-review.googlesource.com/#/c/120654

Change-Id: Id5b2a63301cb1cdcdd84b4bcd9fbec8cf6ec0b3c
2015-08-06 14:18:55 -07:00
Gina Dimino
d983a29407 Docs: Rename content-footer-text plus remove whitespace.
Change-Id: I655874790dbc5a2dd2fa2611bc63ca00a1953fdc
2015-08-06 13:48:23 -07:00
Gilad Arnold
54e92d0061 Remove LOCAL_MODULE from generated DBus header path.
Its presence requires #include directives to contain the build target
name, which is problematic because these directives can live in headers
that are shared by multiple build targets. Furthermore, having
LOCAL_MODULE in the generated header path is redundant because the
target directory is already private to the current build target (e.g.
.../<target_name>_intermediates/...).

Bug: 22608897
Change-Id: I059f71a1231e80f89c99441794a4491f2685036f
2015-08-06 12:50:23 -07:00
Tao Bao
40467cbfbb Merge "build: Support packaging for system_root_image." 2015-08-06 17:43:46 +00:00
Tao Bao
62bd479fdf build: Support packaging for system_root_image.
If system image contains the root directory
(BOARD_BUILD_SYSTEM_ROOT_IMAGE == "true"), we package the root directory
into ROOT/ instead of BOOT/RAMDISK/ in the target_files zip.

Change-Id: I817776ca97194991308b2131d0e34ab136283464
2015-08-05 16:39:39 -07:00
Tao Bao
7a5bf8a645 releasetools: Support packaging for system_root_image.
For system images that contain the root directory, we need to find the
root directory at ROOT/ instead of BOOT/RAMDISK/.

Change-Id: Ica345c8b1b03475f8ac6c44fd576045fcf17c882
2015-08-05 16:28:55 -07:00
Ying Wang
ecbc5b401a Merge "Build static ckati on Linux." 2015-08-05 16:43:59 +00:00
Christopher Wiley
5923fcd021 Merge "Add build rules to generate native DBus interfaces" 2015-08-05 15:40:00 +00:00
Paul Miller
09185f5a8f Merge "Replace Browser with Browser2 and BookmarkProvider" 2015-08-04 23:20:29 +00:00
Ying Wang
d86f39cab7 Merge "Ignore .*.java files when collecting .java files." 2015-08-04 19:52:06 +00:00
Ying Wang
4aedea90e8 Ignore .*.java files when collecting .java files.
Bug: 22934689
Change-Id: I6c9cc8f37d09eb190946e596e5d1ba0c3b318088
2015-08-04 12:46:13 -07:00
Ying Wang
0a0e6eae3f Build static ckati on Linux.
Bug: 22798670
Change-Id: I3aaf127627c1c478ab3af2549e49506d4d1f19df
2015-08-04 12:23:27 -07:00
Ying Wang
fd43aa8a02 Merge "Fix writing clean_steps.mk in the first build." 2015-08-04 19:14:57 +00:00
Ying Wang
eadaa954ce Fix writing clean_steps.mk in the first build.
Change-Id: Ieddc799f38e5d1522e329e8300bd9f49c26c70ae
2015-08-04 12:11:54 -07:00