Commit graph

30232 commits

Author SHA1 Message Date
Treehugger Robot
6dcdb45485 Merge "Use soong_zip and zip2zip to make dist faster" 2016-08-11 19:28:14 +00:00
Tao Bao
28e2fa1726 releasetools: Update the path to /default.prop for A/B devices.
On A/B devices (i.e. system_root_image="true"), /default.prop is
packaged at ROOT/default.prop (as opposed to BOOT/RAMDISK/default.prop
for non-A/B devices). Update the path so that we handle properties like
ro.bootimage.build.fingerprint properly.

The one for recovery is not affected, which stays at
BOOT/RAMDISK/default.prop for A/B devices and gets updated correctly.

Bug: 30811237
Test: Verify the property in the generated signed-TF.zip.
Change-Id: Id201a042d7ea988a64f89c6d04f43326a9851e27
2016-08-11 11:28:51 -07:00
Duane Sand
9f525961ac Pair mips64r6 with mips32r2 on Aosp
On mips64r6 cpus, the preferred zero-emulation-overhead 32-bit arch
variant is mips32r6.  Mips32r1 and mips32r2 software runs but with
frequent op-emulation traps to the kernel.  Android NDK had support
for mips32r6 prebuilt binaries in release r10 but lacked STL binaries
in r11 and omits all mips32r6 prebuilts in r13.

To keep mips64 buildable using just aosp sources, switch to using the
slower mips32r2 variant as its 2nd cpu arch.  This applies only to the
aosp copy of Android.  Imgtec's redistribution of Android releases will
instead use mips32r6 as the 2nd cpu arch, using a privately-maintained
prebuilts/ndk that includes all needed mips32r6 libraries.

The standard 32-bit Mips build on aosp uses mips32r2 as its native ABI.
That also runs mips32r1 apps built by NDK and mips32r1 android STL
components built by NDK.  Similarly, the 2nd arch for mips64r6 will
use mips32r2 itself but runs fine with mips32r1 apps and components.

Change-Id: I65c3fa9a3e5427be12955b902e6ec965de85e608
2016-08-11 11:09:50 -07:00
Dan Albert
ae49ab2f0f Merge "Add support for NDK r13."
am: 287093a98c

Change-Id: I8e10422cdd20d3ee0402acabbdbe60a41ba59901
2016-08-11 16:52:52 +00:00
Dan Albert
287093a98c Merge "Add support for NDK r13." 2016-08-11 16:46:34 +00:00
Dan Willemsen
5e29cad1d5 Use soong_zip and zip2zip to make dist faster
soong_zip parallelizes the compression when creating a zip file, which
makes these packaging steps far shorter.

zip2zip skips the decompression and recompression during the -img- file
creation.

For an aosp_arm64-eng aosp/master build:

target_files.zip: 92s to 60s
symbols.zip: 147s to 7s
img.zip: 64s to 0.5s

There's still room to parallelize the image compression during
target_files.zip (add_img_to_target_files step takes most of the time)

Change-Id: I7b6a91e4a7dbeda2e49ca936b10181cff2f973d7
2016-08-10 16:13:58 -07:00
Dan Albert
0960770e0d Add support for NDK r13.
Test: make checkbuild
Change-Id: I4521c768c67771cee9df9e59ed45344c40c48a38
2016-08-10 16:05:19 -07:00
Duane Sand
47b57e6bd2 Allowing pairing mips64r6 with mips32r1 and r2
On mips64r6 builds, the shell variable ARCH_MIPS_REV6 is not
cleared before compiling 2nd arch parts.  This bug is harmless when
2nd arch is mips32r6 but it omits needed mips-specific assembly
files when compiling libagl and libpixelflinger for mips32r1 or r2.

Clearing the variable is impractical.  Using TARGET_2ND_ARCH qualifiers
would work, but Arm and x86 use a simpler method with distinct ARCH_ARM
and ARCH_ARM64 symbols.  ARCH_MIPS_REV6 is used in two places.
Both controll 32-bit parts only, so neither place needs adjustment.

Change-Id: Id1ea5e8b6f8666d9df219fa9ef41834bd31f5dd8
2016-08-10 12:13:30 -07:00
Alex Deymo
93ff77ad1a Merge changes from topic 'ab_sideload'
am: 3750ed3e17

Change-Id: I4afbecc40068c7a87c7532b22a404319c24e2c05
2016-08-10 05:00:57 +00:00
Alex Deymo
3750ed3e17 Merge changes from topic 'ab_sideload'
* changes:
  Replace OTA sideload verification key when signing A/B devices.
  Install the update-payload-key in the recovery image as well.
2016-08-10 03:55:24 +00:00
Dan Albert
43c41aea18 Merge "Account for LOCAL_NDK_VERSION when packaging."
am: a1374de305

Change-Id: I37d554e931ef125a888ffc2bdf6e6e2f031d89e1
2016-08-09 01:39:43 +00:00
Treehugger Robot
a1374de305 Merge "Account for LOCAL_NDK_VERSION when packaging." 2016-08-09 01:36:23 +00:00
Dan Albert
609fa6c0c3 Account for LOCAL_NDK_VERSION when packaging.
Previously an app built with `LOCAL_NDK_VERSION := r10` would still
be packaged with r11's library.

Test: make checkbuild
Change-Id: I1dcbd65057adaa1af605b9770283f7da994fc3cf
2016-08-08 17:13:31 -07:00
Chih-hung Hsieh
e79eae70f4 Merge "Simplify DEFAULT_LOCAL_TIDY_CHECKS."
am: 4d9d191ee7

Change-Id: I28ec175909e7993f84089846c7c25f516aa1bf02
2016-08-08 23:37:35 +00:00
Chih-hung Hsieh
4d9d191ee7 Merge "Simplify DEFAULT_LOCAL_TIDY_CHECKS." 2016-08-08 23:22:13 +00:00
Chih-Hung Hsieh
fac1926481 Simplify DEFAULT_LOCAL_TIDY_CHECKS.
* Now each local directory path is matched against multiple
  patterns and only the last matched one will be used,
  or the DEFAULT_GLOBAL_TIDY_CHECKS is used.

Bug: http://b/27779618
Change-Id: I786e6cacd8a680a034b4bc09f561f658177d9b17
Test: build with WITH_TIDY=1.
2016-08-08 15:01:59 -07:00
Alex Naidis
7fa7758bd3 Merge "core: Makefile: fix a typo in a comment"
am: 80ad0df403

Change-Id: Id0fce6adadada6d80cca5b08b1e61f0e7a88a01c
2016-08-07 16:06:35 +00:00
Treehugger Robot
80ad0df403 Merge "core: Makefile: fix a typo in a comment" 2016-08-07 16:01:06 +00:00
Alex Naidis
47e24e9fe2 core: Makefile: fix a typo in a comment
Change-Id: I1a8f1a4e2d7d29fa930fd0a07f4885c162f3e1f4
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
2016-08-07 14:36:50 +00:00
Dan Albert
aede8d4912 Merge "Define __ANDROID_API__ when building for the NDK."
am: 30fe7576d0

Change-Id: I4aa349b7293db5e9e7214cdb10a682164214de60
2016-08-06 01:18:58 +00:00
Treehugger Robot
30fe7576d0 Merge "Define __ANDROID_API__ when building for the NDK." 2016-08-06 00:52:33 +00:00
Dan Albert
754790d0a4 Define __ANDROID_API__ when building for the NDK.
Traditionally this has come from android/api-level.h, but with the
libc headers unified it must be set by the build system since we don't
have per-API level copies of that header now.

Test: make checkbuild with other libc ndk_library patches
Change-Id: Idf6cbba131f065b048b1b412e992c55e3d17e701
2016-08-05 16:34:40 -07:00
Dan Albert
db4c597d5f Merge "More NDK generated libs support."
am: bd9fb4ba01

Change-Id: I46e77781702a68bea56691245e04387fc2845b56
2016-08-05 22:35:11 +00:00
Chih-Hung Hsieh
f329021c0f Merge "Make it an error when LOCAL_CLANG is false."
am: 9204b776bb

Change-Id: I7e2e674eb6f79ec7180f801dd12378842b239512
2016-08-05 22:35:10 +00:00
Treehugger Robot
bd9fb4ba01 Merge "More NDK generated libs support." 2016-08-05 22:32:13 +00:00
Chih-hung Hsieh
9204b776bb Merge "Make it an error when LOCAL_CLANG is false." 2016-08-05 22:25:43 +00:00
Chih-Hung Hsieh
2ee4c1abbf Make it an error when LOCAL_CLANG is false.
Only projects in LOCAL_CLANG_EXCEPTION_PROJECTS can set LOCAL_CLANG to false.
Add external/gentoo/integration to this white list.

Bug: 30575506
Change-Id: Icd508686bc2eb8b9d400200166df80115af20da1
Test: build and find new warning in build.log
2016-08-05 11:21:20 -07:00
Alex Deymo
b3e8ce6d1d Replace OTA sideload verification key when signing A/B devices.
The update-payload-key is used by update_engine_sideload from recovery
to verify an update payload.

Bug: 27178350
Change-Id: I7a0a307ae565e5e9cbf2c9b58fbcc055e87771ce
2016-08-04 16:06:12 -07:00
Dan Albert
c1ca19007f More NDK generated libs support.
Any NDK shared libraries not in LOCAL_SYSTEM_SHARED_LIBRARIES weren't
being pulled from the generated libs before since we were only
filtering my_system_shared_libraries and even if we had filtered
my_shared_libraries they would have been rewritten to my_ldlibs.

* Filter my_shared_libraries for NDK generated libs as well.
* Stop rewriting NDK LOCAL_SHARED_LIBRARIES to my_ldlibs. Instead,
  rewrite in the opposite direction just like we do for the platform.
* Move shared libs/ldlibs rewriting to before we filter NDK
  libraries out of shared libs/system shared libs.

Test: make checkbuild
Bug: http://b/27533932
Change-Id: If1860d9638de77089a46884f406766edaf362216
2016-08-04 15:22:11 -07:00
Alex Deymo
c6ebe9fcd7 Install the update-payload-key in the recovery image as well.
The update-payload-key is required to verify the contents of the OTA in
recovery while sideloading an update.

Bug: 27178350
TEST=`make` builds a boot.img with the payload key in recovery.

Change-Id: I04616979023b84aa4a1feb6916db2b2725b25c54
2016-08-03 20:52:54 -07:00
Chih-Hung Hsieh
90617b5946 Merge "Allow late binding of LOCAL_CLANG_EXCEPTION_PROJECTS."
am: 6b5e8f0037

Change-Id: I0b2e7ca9d6aa1feeb5c4edadc565e0bca292625d
2016-08-03 20:24:22 +00:00
Treehugger Robot
6b5e8f0037 Merge "Allow late binding of LOCAL_CLANG_EXCEPTION_PROJECTS." 2016-08-03 20:04:20 +00:00
Chih-Hung Hsieh
00ec6d81fd Merge "Allow some bionic tests to compile with gcc."
am: 85e94f076c

Change-Id: Ic272be5c1ac460d5bda8373b8790829b43ef8257
2016-08-03 19:02:16 +00:00
Chih-Hung Hsieh
3ea1e51ebe Allow late binding of LOCAL_CLANG_EXCEPTION_PROJECTS.
* INTERNAL_LOCAL_CLANG_EXCEPTION_PROJECTS is defined later in other config.mk.
Bug: 30575506
Test: build and find new warning in build.log

Change-Id: If5341a856d1792add38c80a15b8deae39f156138
2016-08-03 11:57:30 -07:00
Treehugger Robot
85e94f076c Merge "Allow some bionic tests to compile with gcc." 2016-08-03 18:55:16 +00:00
Chih-Hung Hsieh
82c78c5445 Allow some bionic tests to compile with gcc.
bionic/tests has some test cases compiled with both gcc and clang.

Bug: 30575506
Change-Id: I68576a931021089ecc6b9c9d14ef0b3e3cf05e2d
Test: build and find new warning in build.log
2016-08-03 10:42:10 -07:00
Chih-Hung Hsieh
f43279a359 Merge "Issue warning on projects with LOCAL_CLANG set to false."
am: e71cdfbdee

Change-Id: Icb5708eb58f3c8e54b60538377b6afba5eb04de5
2016-08-03 16:50:52 +00:00
Chih-hung Hsieh
e71cdfbdee Merge "Issue warning on projects with LOCAL_CLANG set to false." 2016-08-03 16:42:27 +00:00
Chih-Hung Hsieh
d9cd1fafb5 Issue warning on projects with LOCAL_CLANG set to false.
* LOCAL_CLANG_EXCEPTION_PROJECTS is the list of project prefixes.
* New warning message is detected by warn.py as high severity.

Bug: 30575506
Change-Id: I87a38b2ba6bab1d2e5e7a9d5ec9557f0e609727c
Test: build and find new warning in build.log
2016-08-02 16:10:49 -07:00
Alexey Polyudov
755391d77e Merge "introduce AUX build class of targets"
am: 556526bf95

Change-Id: I52b4b3a561ceb9c1fbe71ce75a4ef4aa252a9665
2016-08-02 22:50:21 +00:00
Alexey Polyudov
556526bf95 Merge "introduce AUX build class of targets" 2016-08-02 22:37:02 +00:00
Alexey Polyudov
3a08a9c079 Merge "report correct build target class"
am: 974f750661

Change-Id: Idad227e2ac7e5b871d2831d6ca17933129e4ce4f
2016-08-02 22:17:26 +00:00
Alexey Polyudov
74e4a83d47 Merge "Make linking with libcompiler_rt conditional"
am: 340c0c5701

Change-Id: Ide7cf834a0d981671f517366f7308c58d2a79163
2016-08-02 22:17:24 +00:00
Alexey Polyudov
ae817d47dd Merge "Do not assume CLANG is used when custom toolchain is provided"
am: 7a16eb05cc

Change-Id: Ib77cdcc52aae822235577c02ea1045e6b6de4096
2016-08-02 22:17:23 +00:00
Alexey Polyudov
1eba5a69eb Merge "Add LOCAL_NO_PIC to disable position-independent code"
am: ce5900a6e0

Change-Id: I471cff0f6c3479f9d34ee82b69c0be742304f70a
2016-08-02 22:17:21 +00:00
Alexey Polyudov
974f750661 Merge "report correct build target class" 2016-08-02 22:03:59 +00:00
Alexey Polyudov
340c0c5701 Merge "Make linking with libcompiler_rt conditional" 2016-08-02 22:03:48 +00:00
Alexey Polyudov
7a16eb05cc Merge "Do not assume CLANG is used when custom toolchain is provided" 2016-08-02 22:03:38 +00:00
Alexey Polyudov
ce5900a6e0 Merge "Add LOCAL_NO_PIC to disable position-independent code" 2016-08-02 22:03:20 +00:00
Alexey Polyudov
ccdc311b33 introduce AUX build class of targets
AUX is a new class, similar to TARGET
While TARGET defines toolchain for Application Processors
AUX is defining toolchains for arbitrary utility cores (DSPs, GPUs,
MCUs, etc). This allows building of non-android sources as part
of Android tree and avoid using prebuilts if source code is avaliable

Bug: 29635686
Change-Id: Ie755ea054b16c3e86369f5fb2ba6eb0b384af77f
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
2016-08-02 08:06:28 -07:00