Commit Graph

27268 Commits

Author SHA1 Message Date
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
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 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
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
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
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
Treehugger Robot 6b5e8f0037 Merge "Allow late binding of LOCAL_CLANG_EXCEPTION_PROJECTS." 2016-08-03 20:04:20 +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 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 556526bf95 Merge "introduce AUX build class of targets" 2016-08-02 22:37:02 +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
Alexey Polyudov 8b540fd5ba report correct build target class
Use PRIVATE_PREFIX to tell us what is the target class

Bug: 29635686
Change-Id: Ia895e780f741b9cb00c7ee9633055b5363e675a1
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
2016-08-01 17:39:31 -07:00
Alexey Polyudov ee27d813b9 Make linking with libcompiler_rt conditional
introduce LOCAL_NO_LIBCOMPILER_RT
embedded targets do not necessarily want to have it

Bug: 29635686
Change-Id: Ieb04f7ea7237ae01a067dedfa2fb13571e9a789c
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
2016-08-01 17:38:53 -07:00
Alexey Polyudov 7d6b3f1595 Do not assume CLANG is used when custom toolchain is provided
When overriding toolchain with LOCAL_CC, LOCAL_CXX
build system shall not assume that this custom toolchain
is CLANG.

Bug: 29635686
Change-Id: I9712d098216740c4ff20bd2a4749f489af85b50e
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
2016-08-01 17:37:56 -07:00
Alexey Polyudov cbb038c8e8 Add LOCAL_NO_PIC to disable position-independent code
on some toolchains and architectures building non-PIC
code renders more efficient assembly

Bug: 29635686
Change-Id: I6274f40d24e1bb43f03b45c60b5487abed02b7fc
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
2016-08-01 17:37:09 -07:00
Treehugger Robot b51df6d171 Merge changes I9c735fe2,Ib918b2ed
* changes:
  Don't clean obj/{APPS,JAVA_LIBRARIES} during installclean
  Disable auto installclean for AAPT config change
2016-08-01 23:07:53 +00:00
Treehugger Robot 240faf5ef0 Merge "Fix clang-tidy performance warnings." 2016-08-01 21:04:20 +00:00
Treehugger Robot 8ce8f60a2f Merge "Update package whitelist to track changes to java.lang.invoke." 2016-08-01 12:25:04 +00:00
Narayan Kamath 7ee6289f25 Update package whitelist to track changes to java.lang.invoke.
The introduction of java.lang.invoke.MethodType and its supporting
classes, in particular.

bug: 30550796
test: make checkbuild

Change-Id: Id2b84d3bb911f4bc5aef0761d357b1e9121030ab
2016-08-01 13:24:14 +01:00
Dan Willemsen 84f4f3b7df Don't clean obj/{APPS,JAVA_LIBRARIES} during installclean
Anything product specific in here should be caught by an explicit
dependency, or the command line changing. This drastically reduces the
build time after an installclean.

Before this change, we were re-running all dex2oat commands after each
installclean, even if nothing changed.

Change-Id: I9c735fe2c5d82109d56996021502319179e43671
2016-07-31 16:45:32 -07:00
Dan Willemsen 832932f835 Disable auto installclean for AAPT config change
PRODUCT_AAPT_CONFIG and PRODUCT_AAPT_PREF_CONFIG don't affect the
installed file list, they only affect how some files are built. The
changing command line is already noticed by ninja, so we'll only re-run
the necessary commands instead of a full installclean.

Change-Id: Ib918b2edeefc539b7f88cb22a1d751c397973b1d
2016-07-31 15:47:17 -07:00
Dan Willemsen cc715fa5d4 Merge "Refactor LOCAL_INIT_RC" 2016-07-29 23:44:33 +00:00
Colin Cross 90cd97fd11 Merge "Don't depend on a phony target" 2016-07-29 23:38:28 +00:00
Dan Willemsen 435360a790 Refactor LOCAL_INIT_RC
We supported de-duplicating LOCAL_INIT_RC across multiple architecture
variants in a single module definition, but that didn't work if the
module was defined with two different BUILD_PREBUILT definitions. That's
how we're exporting modules from Soong to Make.

Change-Id: Ifc93b15ef78ea3d8e78005d428a3ec57d7e414e8
2016-07-29 15:28:20 -07:00
Colin Cross 723b37e910 Don't depend on a phony target
Phony targets are always dirty, depend on the ndk.timestamp file instead
of the ndk phony rule.

Change-Id: I8a90e61a1a79861af59f66f3bc0fdeecd0819992
2016-07-29 15:09:40 -07:00
Dan Willemsen dd9aee166b Merge "Record module type statistics" 2016-07-29 20:47:14 +00:00
Dan Willemsen 3bf15e71d3 Record module type statistics
Creates a build_system_stats.txt build artifact that contains statistics
on how many BUILD_* modules are defined in a build. Also writes out
information about the Soong module types sent from the Soong build.

Merged-In: Iaf0c7062f542dc6942b5349854f3d49267cac4a5
Change-Id: Iaf0c7062f542dc6942b5349854f3d49267cac4a5
2016-07-29 19:58:35 +00:00
Dan Albert 65de8e446c Merge changes from topic 'soong-sysroots'
* changes:
  Add a phony target for the NDK sysroots.
  Use the just built NDK headers and libs.
  Add LOCAL_COPY_TO_INTERMEDIATE_LIBRARIES.
2016-07-28 15:58:52 +00:00
Dan Albert c61174aac1 Add a phony target for the NDK sysroots.
`make ndk` will build all the NDK sysroots.

Test: make ndk
Bug: http://b/27533932
Change-Id: Ic2f5bf61f8911f7b8d08a473f2fe0576f3e06224
2016-07-28 00:06:20 -07:00
Dan Albert 02bf138d64 Use the just built NDK headers and libs.
The list of libraries is currently empty. Will add migrated libraries
in a follow up patch.

Test: Still builds.
Bug: http://b/27533932
Change-Id: Ibd9750620ca2ae86fe888a8a993bd26493bc1c8a
2016-07-28 00:06:19 -07:00
Dan Albert 4ac4231ca1 Add LOCAL_COPY_TO_INTERMEDIATE_LIBRARIES.
This allows a module to avoid being installed to the common library
directory.

Test: Prevents copying of NDK libraries with the NDK sysroot patches.
Bug: http://b/27533932
Change-Id: I24f11d5a70595bcd524ac5bd85034c226d2de211
2016-07-28 00:06:19 -07:00
Tao Bao 653980bfe4 Merge "Handle multiple APKs from the same package in check_target_files_signatures.py." 2016-07-28 04:28:38 +00:00
Tao Bao 6a54299fbd Handle multiple APKs from the same package in check_target_files_signatures.py.
We were using the package name as the key to index APKs. APKs from the
same package got messed up and gave wrong signature summary. Switch to
using the package filename as the key, which is identical in a given build.

Also fix the trailing space when printing the signature summary.

Bug: 30418268
Test: Run with a target_files.zip that has multiple APKs from the same package.

Change-Id: I6317e8c05e987c5690915e05c294153d10e2f0ab
2016-07-27 19:52:28 -07:00
Treehugger Robot b3389f4823 Merge "Link to shared libraries with the full paths." 2016-07-27 21:06:32 +00:00