Commit Graph

10747 Commits

Author SHA1 Message Date
Colin Cross aaf888a09a Build symlinks for -host and -target phony modules
Move extra module dependencies like symlinks from dependencies of
$(my_register_name) to $(my_all_targets), and make $(my_register_name)
and other convenience phony modules depend on $(my_all_targets).  Move
$(LOCAL_MODULE)-host/-target to depend on $(my_all_targets) instead of
directly depending on the built and installed modules.

Change-Id: I3b093986db7a1bff118f1f2482275f0997a98fb6
2016-09-07 14:03:32 -07:00
Treehugger Robot bfea84dabc Merge "Add tool to copy files in to fat16 images" 2016-09-07 19:51:06 +00:00
Chih-Hung Hsieh 0a33f65cc8 Define DEFAULT_TIDY_HEADER_DIRS.
Let clang-tidy report warnings in header files in the
system and current directories but not the external
and vendor directories.

Test: build with WITH_TIDY=1
Change-Id: I1723b8eb95948961fb7164a19989e0a926e5bf8a
2016-09-06 20:06:28 -07:00
Treehugger Robot 126ea5a55c Merge changes I65c3fa9a,Id1ea5e8b
* changes:
  Pair mips64r6 with mips32r2 on Aosp
  Allowing pairing mips64r6 with mips32r1 and r2
2016-09-06 22:38:40 +00:00
Dan Willemsen 572deecbca Use full path in symbols zip file
This was accidentally changed when moving to soong_zip.

Change-Id: I5f889c3c83b6f888e765d4c35486576fa11f6945
2016-09-06 13:47:05 -07:00
Colin Cross 182ff5e2e7 Merge "Remove HOST_PREFER_32_BIT" 2016-09-03 00:29:41 +00:00
Casey Dahlin 29e2b21c0a Add tool to copy files in to fat16 images
fat16copy.py can be used to copy files or directories in to the root of
a fat16 image.

Usage: fat16copy <image> <file> [<file> ...]

Test: Used to compose a Raspberry Pi 3 boot image
Bug: 28912590
Change-Id: I29c9eec3786e2c5cc94f9a160360bac850809a93
2016-09-02 14:13:47 -07:00
Vishwath Mohan b6baba059b Create sub-directory for fuzzers under nativetest.
This CL changes BUILD_FUZZ_TEST to generate binaries in a
sub-directory called fuzzers/ under the nativetest directory. This
allows fuzzers to be distinguished from the other native tests and
makes it easier to perform automated fuzz-testing.

Bug: 25714111
Change-Id: I452e43f15728ec9168dd44776b6ffcea6037fa7f
2016-09-02 13:25:59 -07:00
Colin Cross 70e0ac6bc1 Remove HOST_PREFER_32_BIT
HOST_PREFER_32_BIT was used during the switch to 64-bit host tools to
keep the SDK building as 32-bit, but is never set any more.

Change-Id: I874f89c7d1e9cd8c9d4c879048d81a4362ce4dce
2016-09-02 13:20:52 -07:00
Colin Cross b7a12806b1 Merge "Don't double-wrap with gomacc" 2016-09-01 15:59:38 +00:00
Colin Cross 44303e9f26 Merge "Create more shortcut phony targets" 2016-08-31 21:16:22 +00:00
Colin Cross 44005d41dc Don't double-wrap with gomacc
config.mk is parsed by make and then kati, and goma.mk appends to
CC_WRAPPER.  Only export it from make so gomacc doesn't appear twice on
the command line.

Bug: 31142427
Change-Id: I5ad97ee3a00b013faa620215c839499b48528e00
2016-08-31 13:51:16 -07:00
Colin Cross 5a5befb7c0 Enable goma in soong
Pass the USE_GOMA flag to soong, and export the CC_WRAPPER environment
variable after adding gomacc to it.

Bug: 31142427
Change-Id: I6de698a40817c0615b03fa17bd27075465d79ffd
2016-08-31 09:48:21 -07:00
Dan Willemsen 0533e4df40 Simplify Soong bootstrapping
Now we only run the "main" stage from Soong once, and only when combined
with the Kati ninja file. So we can now depend on pools or rules defined
by Kati in Soong.

Change-Id: I7a8fd699ddc0d41bbcbbf3c6f2edb9e26ccfc4c9
2016-08-31 00:58:12 -07:00
Colin Cross b43204b2ac Create more shortcut phony targets
Create shortcut phony targets for the host and device halves of
modules.

Change-Id: I1cf3a49118db830d78a1b83b2177715175949871
2016-08-30 16:16:32 -07:00
Evgenii Stepanov 202c7a786c Enable LOCAL_SANITIZE:=cfi and add LOCAL_SANITIZE_DIAG.
Bug: 22033465

Change-Id: Ie011f888f55a2cfb5c943070a3844cb541812afe
2016-08-29 15:06:57 -07:00
Treehugger Robot 049dd57872 Merge "Check USE_GOMA consistently" 2016-08-29 20:36:00 +00:00
Pirama Arumuga Nainar 3500ddfe1b Merge "Switch to prebuilt clang-3217047" 2016-08-29 19:38:34 +00:00
Dan Willemsen 937cef48eb Check USE_GOMA consistently
Currently, the only way to properly disable goma is to unset USE_GOMA.
If you set USE_GOMA=false, we won't turn on goma, but we'll pass -j500
to ninja.

Test: USE_GOMA={x,false} m -j48 showcommands (inspect)
Change-Id: I6b327d08ebadbe614a3bf7646fd597054bbfaaa2
2016-08-27 18:33:11 -07:00
Treehugger Robot c6bada8acd Merge "Identify modules ready to be converted to Soong" 2016-08-26 22:37:19 +00:00
Pirama Arumuga Nainar 6290aac57a Switch to prebuilt clang-3217047
Bug: http://b/30421084
Change-Id: I41acd016992a0c5043b6ea018f205fad44c88b9e
Test: Tested build, boot and common usage for several devices in AOSP
and internal branch.
2016-08-26 21:57:29 +00:00
Dan Willemsen fc92fb2b9b Identify modules ready to be converted to Soong
The output will be in the `m dist` results as soong_to_convert.txt, or
can be built using:

  $ m $OUT/soong_to_convert.txt

The output is a list of modules that are probably ready to convert to
Soong:

  # Blocked on Module (potential problems)
           283 libEGL (srcs_dotarm)
           246 libicuuc (dotdot_incs dotdot_srcs)
           221 libspeexresampler
           215 libcamera_metadata
               ...
             0 zram-perf (dotdot_incs)

The number at the beginning of the line shows how many native modules
depend on that module.

All of their dependencies have been satisfied, and any potential
problems that Make can detect are listed in parenthesis after the
module:

  dotdot_srcs: LOCAL_SRC_FILES contains paths outside $(LOCAL_PATH)
  dotdot_incs: LOCAL_C_INCLUDES contains paths include '..'
  srcs_dotarm: LOCAL_SRC_FILES contains source files like <...>.c.arm
  aidl: LOCAL_SRC_FILES contains .aidl sources
  dbus: LOCAL_SRC_FILES contains .dbus-xml sources
  objc: LOCAL_SRC_FILES contains Objective-C sources
  proto: LOCAL_SRC_FILES contains .proto sources
  rs: LOCAL_SRC_FILES contains renderscript sources
  vts: LOCAL_SRC_FILES contains .vts sources

Not all problems can be discovered, but this is a starting point.

Change-Id: I45674fe93fd267d4d1fb0bc3bc9aa025e20c5ac6
2016-08-26 13:33:31 -07:00
Colin Cross 76c4533899 Export TARGET_PREFER_32_BIT_EXECUTABLES to soong
Change-Id: I1427d88c7539c5ed0c4c238bad4a28f73d29ef0f
2016-08-25 14:49:17 -07:00
Colin Cross 6f1cf129f2 Merge "Install symlinks when using shortcut phony targets" 2016-08-25 20:39:31 +00:00
Chih-hung Hsieh a9ee94f441 Merge "Suppress clang-tidy checks in frameworks/compile/mclinker." 2016-08-25 02:24:32 +00:00
Colin Cross 6d34b61bd3 Install symlinks when using shortcut phony targets
Make symlinks an order-only dependency of the module name phony target
so that they get installed with make module or make MODULES-IN-path.

Test: mmma -j art/dalvikvm, remove symlink in $OUT and retry
Change-Id: Iae472a1c8fa1e8386cc9556cfe819bd4fca99428
2016-08-24 15:24:29 -07:00
Yohann Roussel 1d7e0f2c74 Merge "Allow selection of prebuilts min sdk"
am: 624619d4d0

Change-Id: I54df2acb3003c0222b3f3d909d3f9c80dfda493d
2016-08-24 09:50:29 +00:00
Yohann Roussel 624619d4d0 Merge "Allow selection of prebuilts min sdk" 2016-08-24 09:39:30 +00:00
Chih-Hung Hsieh b9ea8d191d Suppress clang-tidy checks in frameworks/compile/mclinker.
Too many warnings need to wait for upstream changes.
Test: build with WITH_TIDY=1.

Change-Id: I0b1272049ad757670182668db130512a538b3096
2016-08-23 11:07:19 -07:00
Casey Dahlin 14aa63a52a Merge "List partition_table.bpt as an output of running bpttool"
am: aba93cf736

Change-Id: Ib986d3551a2bfff5ce813139380378b11dd84d82
2016-08-23 00:56:19 +00:00
Casey Dahlin 04d15dd9a3 List partition_table.bpt as an output of running bpttool
Change-Id: I8bb1e03e451bf148e421ecac346bf20ce5d4695b
Test: Verified builds can now depend on partition_table.bpt
Bug: 30971990
2016-08-22 16:00:39 -07:00
Yohann Roussel 5960c54664 Allow selection of prebuilts min sdk
Bug: 30966099

Change-Id: I55128d5a321bd65b4e12b90afbf7efe8ccb35829
2016-08-22 09:54:32 +02:00
Chih-Hung Hsieh 94a2c5f6b7 Merge "Clarify default tidy check lists."
am: ce4c49c2f2

Change-Id: If0641d286d6f1fefa871a18c21282f4fcd10d8a1
2016-08-17 17:48:56 +00:00
Dan Willemsen faac87dd9a Merge "Support dist-ing the userdatatarball"
am: 9abbeb3d8f

Change-Id: I0dac58c2eed164247fe595da6897ff00f0786e18
2016-08-17 17:48:54 +00:00
Chih-Hung Hsieh 34c8c0ac33 Merge "Remove spaces in tidy check list."
am: e7bca12466

Change-Id: I852d42992bc1ddb0a17dd1dcf03cf25f1d114552
2016-08-17 17:48:52 +00:00
Treehugger Robot ce4c49c2f2 Merge "Clarify default tidy check lists." 2016-08-17 04:56:07 +00:00
Dan Willemsen 9abbeb3d8f Merge "Support dist-ing the userdatatarball" 2016-08-17 00:58:18 +00:00
Dan Willemsen 69af2e4102 Support dist-ing the userdatatarball
So that we can get to the contents of userdata from the build server
without extracting the image.

Bug: 27719200
Test: m userdatatarball dist
Change-Id: I1438597bd29df80665571f7dc3b4957b9adde870
2016-08-16 23:41:50 +00:00
Chih-Hung Hsieh ba646253ce Remove spaces in tidy check list.
This will allow spaces in LOCAL_TIDY_CHECKS.

Bug: http://b/27779618
Change-Id: I6f9b133220e49b2581a06d2fd9083a1d6b7badca
Test: build with WITH_TIDY=1.
2016-08-16 16:27:30 -07:00
Chih-Hung Hsieh 97032ccda3 Clarify default tidy check lists.
* Sort all enabled and disabled checks.
* Disable google-default-arguments for external and vendor projects.

Bug: http://b/27779618
Change-Id: I59e6eaf84fddf54bd89eb71a2189d73b64968057
Test: build with WITH_TIDY=1.
2016-08-16 15:47:56 -07:00
Dan Willemsen 9fc9cac0ac Merge "Fix GET-INSTALL-PATH to work with Soong"
am: 6b9aa6938d

Change-Id: I9f433cb383846ec6ccb8e39be4b30110d60d54fd
2016-08-15 21:17:33 +00:00
Dan Willemsen 6b9aa6938d Merge "Fix GET-INSTALL-PATH to work with Soong" 2016-08-15 21:07:53 +00:00
Dan Willemsen 53e3899222 Fix GET-INSTALL-PATH to work with Soong
This was printing all of the Soong modules in addition to the modules
defined in the ONE_SHOT_MAKEFILE. So replicate what we did with
MODULES-IN-* with GET-INSTALL-PATH-IN-* and update all the users.

Bug: 30191725
Change-Id: Ib1e4bf00f64d7a3e8cd91f44eaf1ff82fdfbf162
2016-08-12 05:10:51 +00:00
Colin Cross 0216097482 Merge "Fix discrepancy in SANITIZE_TARGET format with soong."
am: 0d86fc57cd

Change-Id: Ib643a2d9682eabd494f40a0d5b7fbaeb42583d30
2016-08-12 00:04:38 +00:00
Colin Cross 0d86fc57cd Merge "Fix discrepancy in SANITIZE_TARGET format with soong." 2016-08-11 23:53:29 +00:00
Dan Willemsen 96963dfd4d Merge "Use soong_zip and zip2zip to make dist faster"
am: 6dcdb45485

Change-Id: I9a4241b436f7dead5de7b02d3af56004b1eed42f
2016-08-11 19:33:10 +00:00
Treehugger Robot 6dcdb45485 Merge "Use soong_zip and zip2zip to make dist faster" 2016-08-11 19:28:14 +00:00
Dan Albert ae49ab2f0f Merge "Add support for NDK r13."
am: 287093a98c

Change-Id: I8e10422cdd20d3ee0402acabbdbe60a41ba59901
2016-08-11 16:52:52 +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
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 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
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
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
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 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 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
Dan Willemsen 6d037230b8 Merge changes I9c735fe2,Ib918b2ed
am: b51df6d171

Change-Id: I8b96c237e92fe3c8f4c8e74c2054ea2ed0ff2e45
2016-08-01 23:25:29 +00: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
Narayan Kamath dbce967b11 Merge \"Update package whitelist to track changes to java.lang.invoke.\"
am: 8ce8f60a2f

Change-Id: I61e7aa74c70675f676638dae867f3f18eebe75b3
2016-08-01 12:29:17 +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 f8b7ae9c14 Merge \"Refactor LOCAL_INIT_RC\"
am: cc715fa5d4

Change-Id: I484480375235395fd55eb1cfbb0a50259c6d840e
2016-07-30 02:06:44 +00:00
Colin Cross b3399931a5 Merge \"Don\'t depend on a phony target\"
am: 90cd97fd11

Change-Id: I185be0ffd30561125bcbc39c19429ae44e964bb8
2016-07-30 02:06:41 +00: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 922ae6846b resolve merge conflicts of dd9aee1 to stage-aosp-master
Change-Id: I4278b9700c8729a06d38acc26e22ce7c340382f2
2016-07-29 14:15:14 -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 01efd46bca Merge changes from topic \'soong-sysroots\'
am: 65de8e446c

Change-Id: I8c8951364c5ddd6f99a27111acdb72097ab5db42
2016-07-28 16:06:24 +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
Dan Albert b3ef01d390 Merge \"Link to shared libraries with the full paths.\"
am: b3389f4823

Change-Id: Ie305ebfb68c3bba6b8120ce0be807906c029fe92
2016-07-27 21:30:32 +00:00
Dan Albert 121aa60c46 Link to shared libraries with the full paths.
This ensures that we're not accidentally linking the wrong version of
a library with the same name thanks to -L.

Test: Still builds.
Change-Id: I22e9e28412844ff4f8bda42ebbc300ea6574e474
2016-07-27 11:00:11 -07:00
Dan Willemsen 85ed718947 Merge \"Pass binder ABI to Soong\"
am: 4b4fdf0b2f

Change-Id: I117ad1700d33aead72ab510ab824054d30dde369
2016-07-27 00:45:17 +00:00
Chih-Hung Hsieh ff71afa4e0 Merge \"Add performance* to default global tidy checks.\"
am: 32c8bcf0bd

Change-Id: I9bb84dd4e53d84c3c9ad228616fa7f7839075128
2016-07-27 00:45:11 +00:00
Treehugger Robot 4b4fdf0b2f Merge "Pass binder ABI to Soong" 2016-07-27 00:14:59 +00:00
Dan Willemsen 369b7df35c Pass binder ABI to Soong
Change-Id: I7a7f197a114c39ab3a4233d430d9c677f581b1f9
2016-07-26 15:55:16 -07:00
Treehugger Robot 32c8bcf0bd Merge "Add performance* to default global tidy checks." 2016-07-26 22:44:36 +00:00
Chih-Hung Hsieh c868293abc Add performance* to default global tidy checks.
* This enables 5 performance related checks:
    performance-faster-string-find
    performance-for-range-copy
    performance-implicit-cast-in-loop
    performance-unnecessary-copy-initialization
    performance-unnecessary-value-param
* Recognize these new warnings in warn.py.

Bug: http://b/27779618
Change-Id: I7af3fdc262dd44db90d3b62eb37c5eac5a2eaa01
Test: build with WITH_TIDY=1 and run warn.py with build.log
2016-07-26 14:36:54 -07:00
Alex Deymo 21f2fda8ba Merge \"Remove unused libraries from otatools.\"
am: 4698a191e5

Change-Id: I6a1203c2c789d7f3e4e6c5d048c6ec766f172915
2016-07-26 00:45:46 +00:00
Alex Deymo 3c1075b2a5 Remove unused libraries from otatools.
libbrillo-http was actually never used but it was being liked into
delta_generator anyway.

Bug: None
TEST=`lddtree delta_generator` doesn't show librillo-http.

Change-Id: I69ac66c87847d925b5798cf261c79466a3ff432a
2016-07-25 16:10:14 -07:00
Dan Willemsen d136a4d7f2 Merge \"Revert \"Rename libevent-host to libevent\"\"
am: 79498a069a

Change-Id: Id2d9cc234438de271a5d83b44c77806fba32a5bf
2016-07-23 00:49:58 +00:00
Treehugger Robot 79498a069a Merge "Revert "Rename libevent-host to libevent"" 2016-07-23 00:40:35 +00:00
Dan Willemsen 8c2b6bb15e Revert "Rename libevent-host to libevent"
This reverts commit ef31fc6477.
It's now using unique_host_soname to use a different installed name,
but keeping the libevent module name.

Change-Id: I1cb6e8e670636089993054236b089da059629da1
2016-07-22 23:16:30 +00:00
Narayan Kamath e2d375f12c Merge \"Add java.lang.invoke to the package whitelist.\"
am: 900e9e6392

Change-Id: I5d25d40dc0b661ff1acaa957145f32c0f13da853
2016-07-22 09:40:35 +00:00
Narayan Kamath 900e9e6392 Merge "Add java.lang.invoke to the package whitelist." 2016-07-22 09:33:16 +00:00
Colin Cross 768291a37c Merge \"Split -isystem headers into separate variables\"
am: 921be36569

Change-Id: Icd539e53caa9ad55e900b394c6005bb3606dce70
2016-07-21 17:58:10 +00:00
Colin Cross 921be36569 Merge "Split -isystem headers into separate variables" 2016-07-21 17:51:13 +00:00
Narayan Kamath 497c35c1a7 Add java.lang.invoke to the package whitelist.
Tracks libcore change that adds the first classes from this package
to core-oj.jar. Note that packages need to be whitelisted even if
the classes in question aren't public API.

Test: make checkbuild docs

Change-Id: I917dc63899124ca30bbeb2902787faea6754bb43
2016-07-21 15:27:09 +01:00
Colin Cross 23ba612aad Split -isystem headers into separate variables
Split the variables that contain header directories into ones that
should be prefixed with -isystem and ones that should be prefixed with
-I in preparation for moving some headers from -isystem to -I.

Add $(wildcard) around SRC_HEADERS to match the soong behavior, and move
users of SRC_HEADERS from config.mk to binary.mk so that the exported
soong value is present.

Test: no changes to build.ninja compile rules
Change-Id: Iadecbbf4351a01e53cb57e721d31f4f836bb82d9
2016-07-20 23:09:29 -07:00
Chih-Hung Hsieh bdcc181588 Merge \"Recognize new clang and clang-tidy warnings.\"
am: 6131119708

Change-Id: If307f868da5d961ad3c1cac371ca3e5a42a6b652
2016-07-20 23:08:36 +00:00
Treehugger Robot 6131119708 Merge "Recognize new clang and clang-tidy warnings." 2016-07-20 22:57:29 +00:00
Chih-Hung Hsieh c21ddbdcce Recognize new clang and clang-tidy warnings.
* Count new clang-tidy warnings:
    google-runtime-references
    google-runtime-operator
* Count new clang warnings:
    -Wconst-conversion similar to -Wliteral-conversion
    -Wundefined-var-template
* Modified static analyzer warning message about
    "Null passed to a callee that requires a non-null ..."
* Disable google-runtime-references by default and
  disable misc-macro-parentheses in vendor projects;
  too many old C/C++ code have this warning.

Change-Id: Ib35e0af85875aada17c92b0237b76cd5ae3bfcc8
Test: build with clang-tidy.
2016-07-20 14:45:01 -07:00
Colin Cross 17904fabbf Merge \"Factor out common include directories into helper\"
am: 95fa32b577

Change-Id: I720d7c02de3d11b4a5a3328946433aa7274f1bb6
2016-07-20 21:24:29 +00:00
Treehugger Robot 95fa32b577 Merge "Factor out common include directories into helper" 2016-07-20 21:11:22 +00:00
Fang Deng 9331f1c8ef Merge \"Remove GOMA_HERMETIC form goma.mk\"
am: 14df2ef4d0

Change-Id: Ie9612d77fd35fb25aaad6db1b8c690b139cc1764
2016-07-19 23:41:57 +00:00
Pirama Arumuga Nainar 8a39030c50 Merge \"Switch to prebuilt clang-3016494\"
am: b1beb6f274

Change-Id: Ic0cc4734481cddb87ed8c21d2079ab0645dbcc82
2016-07-19 23:40:37 +00:00
Pirama Arumuga Nainar adac150e40 Merge \"Disable warnings triggered in Clang r271374\"
am: 11e0e36462

Change-Id: I315936308c883352a195dc4aff0b9f42757019f1
2016-07-19 23:40:23 +00:00
Fang Deng 14df2ef4d0 Merge "Remove GOMA_HERMETIC form goma.mk" 2016-07-19 23:32:37 +00:00
Colin Cross e25fd79337 Factor out common include directories into helper
Refactor includes in transform-*-to-o to simplify future changes to the
default include paths.

Test: whitespace-only changes to the compile rules in build.ninja
Change-Id: I766af1f22a4838d933691b6df37530db3ba4e21d
2016-07-19 15:09:50 -07:00
Stephen Hines b1beb6f274 Merge "Switch to prebuilt clang-3016494" 2016-07-19 22:02:31 +00:00
Fang Deng c0829a5899 Remove GOMA_HERMETIC form goma.mk
This CL removes the GOMA_HERMETIC setting from goma.mk so that
the default setting will be used. By default, GOMA will fallback
to local compiler if the exactly matched compiler is not available.

Change-Id: I22c83594f6bd30bc8ed1334ab7bb256ef218567b
2016-07-19 20:58:22 +00:00
Pirama Arumuga Nainar 1679c3649b Disable warnings triggered in Clang r271374
http://b/28149048
http://b/29823425

Disable -Wnull-dereference.  The second bug above tracks that this
warning gets re-enabled.

Test: Tested build, boot and common usage for Arm, Arm64, x86, x86_64,
Mips images in AOSP and internal branch.

Change-Id: Ie41a495dd9bb247d3609f4848d7669d1faaeeb79
2016-07-19 20:32:28 +00:00
Pirama Arumuga Nainar d1c2ff4f06 Switch to prebuilt clang-3016494
Test: Tested build, boot and common usage for Arm, Arm64, x86, x86_64,
Mips images in AOSP and internal branch.

Bug: http://b/29823425
Change-Id: I97299c8b41ff9d3ac7019a349aa569609a099233
2016-07-19 20:32:21 +00:00
Dan Willemsen 6d1049454d Merge \"Rename libevent-host to libevent\"
am: 575a023039

Change-Id: Ia98511562db8071258101d38f83f4083db966357
2016-07-18 19:26:18 +00:00
Dan Willemsen 575a023039 Merge "Rename libevent-host to libevent" 2016-07-18 19:18:32 +00:00
Colin Cross 3721f184f2 Merge \"Only add linker_asan as dependency to shared executables\"
am: 458c0cd37b

Change-Id: I4c50d21b480200588d4581662d9fda86bb18ee3b
2016-07-17 23:45:02 +00:00
Colin Cross d08699e464 Only add linker_asan as dependency to shared executables
linker_asan is only needed by shared exectuables, prevent adding it as a
dependency of anything else.  Avoids a dependency loop from
linker_asan -> linker -> linker_asan.

Change-Id: Id7744ad8a5901468518fac80741c75e764adb559
2016-07-17 15:30:46 -07:00
Colin Cross 4cca8a5573 resolve merge conflicts of 1e92cfb to stage-aosp-master
Change-Id: I1929d5c16ea0b8574372049ac7dffd30fd3e1db3
2016-07-15 14:49:45 -07:00
Treehugger Robot 1e92cfb9a0 Merge "Add support for LOCAL_MODULE_SYMLINKS" 2016-07-15 21:34:33 +00:00
Colin Cross 744d33b381 Add support for LOCAL_MODULE_SYMLINKS
Specifying LOCAL_MODULE_SYMLINKS will create symlinks to the installed
module in the same directory.

Change-Id: Idecb2b75f0c9999eb000eed9a79a989244ccf6c2
2016-07-15 12:22:39 -07:00
Badhri Jagan Sridharan 59c0529d6d Merge \"Add build variant to kernel command line\"
am: 70a9714625

Change-Id: I5e10a5375f50e9562af73407212fd4a800884b20
2016-07-15 17:10:40 +00:00
Badhri Jagan Sridharan 70a9714625 Merge "Add build variant to kernel command line" 2016-07-15 17:00:13 +00:00
Dan Willemsen ef31fc6477 Rename libevent-host to libevent
There's no need to use a different name for target and host modules, and
in Soong, it's better to use the same for both.

Change-Id: Ib2d8d0cc8a1e0f7f95d7c2795a360f02d946fa1a
2016-07-13 23:47:24 -07:00