Commit graph

5461 commits

Author SHA1 Message Date
Colin Cross
496d057ef3 Merge changes from topic "pathtools.Match"
* changes:
  Add support for --ignore_duplicates to merge_zips
  Support exclusions and Blueprint-style ** globs in zip2zip
2017-11-28 20:45:38 +00:00
Jeff Gaston
f93e082b68 Merge "Have Soong cc static linker dep order account for shared deps too"
am: 5921ab3347

Change-Id: I0d4169273c124230c0be9ecaacd78cb1d820df27
2017-11-28 20:37:04 +00:00
Jeff Gaston
5921ab3347 Merge "Have Soong cc static linker dep order account for shared deps too" 2017-11-28 20:28:29 +00:00
Colin Cross
15bf63051c Fix passing dex_preopt value to make
am: b4972e3d96

Change-Id: I84e338b3f4dde5dea81ce4f18da1ed33bc0ffc41
2017-11-28 19:51:59 +00:00
Lazar Trsic
cdb710fed5 Skip MIPS headers when generating NDK prebuilts
When generating NDK prebuilts, skip installing MIPS headers, but keep
them when doing regular platform build. Ndk_abis property is only set
to true with build/soong/scripts/build-ndk-prebuilts.sh

Revert this once MIPS is supported in NDK again.

This effectively skips installing the following header modules when
creating NDK prebuilts:
- libc_asm_mips
- libc_asm_mips64

This fixes the issue introduced by commit:
050f046 Remove mips/mips64 headers from the NDK sysroot.

Test: build/soong/scripts/build-ndk-prebuilts.sh
Test: build aosp_mips[64]-eng

Change-Id: I3af73649bc8ac304bca0e21ec81f156abe546c90
Signed-off-by: Lazar Trsic <Lazar.Trsic@mips.com>
2017-11-28 15:07:16 +01:00
Jayant Chowdhary
219139df8c Copy abidiffs into /abidiffs on abi breakages.
Bug: 64267858

Test: create reference abi dump for libjpeg locally. Change return type
      of libjpeg_std_err and build with :
      BOARD_VNDK_VERSION=current mm -j64 showcommands dist
      Build fails and abidiff report gets copied into out/dist/abidiffs.

Change-Id: I7c8ecfac95361e731009e5913bd3a7bb323a9597
2017-11-27 17:16:29 -08:00
Jeff Gaston
f5b6e8f8c7 Have Soong cc static linker dep order account for shared deps too
Bug: b/69639803
Test: m -j nothing # which runs unit tests
Test: m -j checkbuild
Change-Id: I2eedfe8b88ec5c715ef729bf113d168a2bc3524d
2017-11-27 17:14:06 -08:00
Colin Cross
37193495cf Revert "Revert "Test for dangling rules in make checkbuild""
This reverts commit fb941913a3.

Reapplies I4933187e8b72f2ef0c32d18ffea756e2c6fa417c with fixes
to disable the check for mac builds, where many modules are
disabled and the check is just going to cause more problems.

Test: m checkbuild
Change-Id: If6712c90ececd5d015fcdcdeefe0c3d4f5590711
2017-11-25 05:26:10 +00:00
Colin Cross
824bee347d Move java test resources in mock filesystem to a different directory
Move the java test resources from res to java-res to avoid confusion
with Android app resources that are implicitly expected in res.
Also allow tests to provide extra files.

Test: java_test.go
Change-Id: I13349a21da5c6d449cd23947c2628efbed3eb230
2017-11-24 11:22:21 -08:00
Colin Cross
cb9335932f Add Jacoco support
Add support for instrumenting jars with jacoco.  Unlike in Make,
Jacoco in Soong is done entirely using jars.

Instrumentation is enabled by EMMA_INSTRUMENT=true, and affects
all apps.  If EMMA_INSTRUMENT_FRAMEWORK=true then it also affects
any java libraries listed in InstrumentFrameworkModules.

Bug: 69629238
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false
Change-Id: If699715b277529cd7322ffca67c23b0746e1cccd
2017-11-22 16:08:53 -08:00
Colin Cross
e909e1e079 Add support for --ignore_duplicates to merge_zips
Add a --ignore_duplicates option to cause merge_zips to
silently take the first entry in the case of duplicate entries
in the zips to be merged.  This will be used for soong Jacoco
support to combine the instrumented jar with the original jar
to pick up any classes that were excluded.

Bug: 69629238
Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT=false
Change-Id: I49ede3f07ce0ed7701b4db7058da2e4f11b8043e
2017-11-22 16:08:35 -08:00
Colin Cross
b4972e3d96 Fix passing dex_preopt value to make
dex_preopt defaults to true, only pass LOCAL_DEX_PREOPT := false
if dex_preopt is explcitly set to false.

Test: m, examine framework.jar
Change-Id: Ica6ce06d14bbc720da9c5b26559b9768a8a7f5a8
2017-11-22 16:08:34 -08:00
Colin Cross
f3831d0e08 Support exclusions and Blueprint-style ** globs in zip2zip
Jacoco support will use zip2zip to create a jar that is a subset
of another jar, and will need exclusion filters and recursive
globs.  Switch zip2zip from filepath.Match to pathtools.Match,
and check each included file against the exclusion list.

Bug: 69629238
Test: zip2zip_test.go
Change-Id: Ibe961b0775987f52f1efa357e1201c3ebb81ca9c
2017-11-22 16:08:34 -08:00
Dan Shi
cc3d9b304e Add TEST_MAPPING to finder's cache
Build target test_mapping will create a tarball of all TEST_MAPPING
files in source code based on the cached TEST_MAPPING.list

Bug: 69678490
Test: m -j blueprint_tools && cat out/.module_paths/TEST_MAPPING.list
Change-Id: Iba3479363137609d6631cf1851a8ce4613078f61
2017-11-22 15:35:09 -08:00
Jeff Gaston
c4d1eb00e8 Merge "Autodetect files named Android.bp in tests"
am: b06ad36c1f

Change-Id: Iadd1cc36adc31bdd548709e7729385ac7eca2750
2017-11-22 22:38:13 +00:00
Jeff Gaston
b06ad36c1f Merge "Autodetect files named Android.bp in tests" 2017-11-22 22:30:13 +00:00
Vishwath Mohan
24725d967b Merge "Reduce how often both mutated variants are needed."
am: 5c986c3dc3

Change-Id: I67f8adb96105b993b91a5d2b731a7577b9f9e0b1
2017-11-22 00:12:20 +00:00
Treehugger Robot
5c986c3dc3 Merge "Reduce how often both mutated variants are needed." 2017-11-22 00:05:30 +00:00
Pirama Arumuga Nainar
34fcefe690 Merge "Use -mcpu=cortex-a53 for devices with Kryo"
am: 49b14daf03

Change-Id: I5bc1b39524521fe97ed2b97ef3e485ecbab02b60
2017-11-21 22:13:36 +00:00
Vishwath Mohan
e712879d5d Reduce how often both mutated variants are needed.
This CL rolls back how often we bubble up both sanitized and
un-sanitized variants of a component. With this change only
CFI-enabled target static libraries will do this, all other cases
suppress one of the two variants (both from being installed and from
being exposed to Make for make-embedded builds).

This means we shouldn't need a separate sanitizer suffix for ASAN at
all (.asan), and similarly for non static-lib CFI components (.cfi),
so this CL changes that as well.

Lastly, because the version of ar meant for the host is not built
with plugin support (which CFI requires), this CL disables CFI for
host targets.

This CL should fix the following 2 issues:
(1) Removing warnings about multiple rules existing for the same
installable target.

(2) Fixing VTS packaging, which had been broken by the generation of
the .asan suffix.

Bug: 69172424, 69059192, 67507323
Test: m -j40 # Soong generated .mk file does not have duplicate rules.
Test: SANITIZE_TARGET="address" m -j40 libstagefright # installed
correctly.

Change-Id: Ib90fdbc8a6ad3924fc2a691b7277a8a1bc67cda8
2017-11-21 14:09:09 -08:00
Treehugger Robot
49b14daf03 Merge "Use -mcpu=cortex-a53 for devices with Kryo" 2017-11-21 22:05:44 +00:00
Chih-hung Hsieh
20cfee85b4 Merge "Add default -Wall -Werror or -Wall."
am: 488131912f

Change-Id: I172cc302d35fbd966dbe27bcb1a6e442f6c0486b
2017-11-21 21:24:15 +00:00
Chih-hung Hsieh
488131912f Merge "Add default -Wall -Werror or -Wall." 2017-11-21 21:19:01 +00:00
Jeff Gaston
1855861067 Merge "Prohibit accidental renames of product config json fields"
am: e261615792

Change-Id: Ib18850cfb81f7d3f5f69305f236e3d6c3972372f
2017-11-21 20:26:28 +00:00
Jeff Gaston
e261615792 Merge "Prohibit accidental renames of product config json fields" 2017-11-21 20:20:42 +00:00
Pirama Arumuga Nainar
c17b275ed3 Use -mcpu=cortex-a53 for devices with Kryo
Bug: http://b/69481735

While Clang supports -mcpu=kryo, the GNU assembler doesn't.  Use
Cortex-a53 instead, which is close to Kryo.  The current alternative of
using Krait causes problems when also using armv8, which is not
available in Krait.

Test: Build marlin with internal CL 3248394 cherry-picked.
Change-Id: I571739e6ab4f1b37fafb304ecad2865c9394e04f
2017-11-21 09:35:42 -08:00
Colin Cross
1c2a091d8f Make AndroidRuleFunc callback take a Config
am: cf31fcfc71

Change-Id: Ia982afcebaaa0efac1b42fbc002ccdca5419fa7b
2017-11-21 04:44:30 +00:00
Chih-Hung Hsieh
64a38dcb18 Add default -Wall -Werror or -Wall.
* When -Wno-error and -Werror are not used:
  add -Wall to the front of cflags
  if the project is in the WarningAllowedProjects,
  otherwise add -Wall -Werror.
* Add -Wall -Werror to ndk_library build targets.
* Collect names of modules with -Wno-error or without -Werror,
  and pass them to makefile variables:
      SOONG_MODULES_USING_WNO_ERROR
      SOONG_MODULES_ADDED_WERROR
      SOONG_MODULES_ADDED_WALL
* Generate ANDROID_WARNING_ALLOWED_PROJECTS for old makefiles.

Bug: 66996870
Test: normal build
Change-Id: I31385e12b80ca946c7395a5a184ef259b029aac6
2017-11-20 18:28:26 -08:00
Jeff Gaston
f5f6e49478 Prohibit accidental renames of product config json fields
Can be caused by `json:"omitempty"` instead of `json:",omitempty"`

Bug: 69076024
Test: m -j # which runs unit tests
Change-Id: I92e3193d00a740c72d36a56748e0b0a8ad1d772e
2017-11-20 16:28:53 -08:00
Colin Cross
cf31fcfc71 Make AndroidRuleFunc callback take a Config
Convert the interface{} to android.Config before calling
the callback.

Test: m checkbuild
Change-Id: Iab1173d3c0bbeff662afcbc1d6ce7c982b6b7720
2017-11-20 12:23:00 -08:00
Tobias Thierer
90b3c9f593 Merge "kotlinc: Always pass -jvm-target 1.8"
am: 6693613f11

Change-Id: Id7e6ec4d5a1c90eb74e2bd83dd4f1294ab2aef91
2017-11-20 13:17:28 +00:00
Tobias Thierer
6693613f11 Merge "kotlinc: Always pass -jvm-target 1.8" 2017-11-20 13:14:05 +00:00
Tobias Thierer
96427d63bc kotlinc: Always pass -jvm-target 1.8
AOSP's current version of kotlinc only supports -jvm-target
1.8 or 1.6. Previously, we were passing the javaVersion
(the value passed to javac -target) but that would fail if
javaVersion was eg. 1.9.

This CL changes the kotlinc invocation to always pass
-jvm-target 1.8, regardless of javaVersion.

Bug: 69160377
Test: Treehugger
Change-Id: Ib12a8c2afbe908319513861a5380e70bf09d0be0
2017-11-18 04:11:59 +00:00
Colin Cross
8a4e6952f6 Merge "Revert "Set -fomit-frame-pointer for all devices""
am: ea7b201536

Change-Id: If28de88b9a78a01605cfb0c3590af79721b84faa
2017-11-18 02:15:19 +00:00
Treehugger Robot
ea7b201536 Merge "Revert "Set -fomit-frame-pointer for all devices"" 2017-11-18 02:13:08 +00:00
Colin Cross
bc2c7c26e1 Revert "Set -fomit-frame-pointer for all devices"
This reverts commit 20823f95e6.

Reason for revert: caused a minor performance regression in some benchmarks.

Bug: 69470341
Test: builds
Change-Id: I1a852b5d7a2aa1d08ecb54617898f814cddd7600
2017-11-18 00:11:21 +00:00
Colin Cross
afe52cbd9d Replace root.bp with a comment
am: 393667285e

Change-Id: Ic9caad113669faedf71478845f7b0343bfa38519
2017-11-17 23:11:08 +00:00
Colin Cross
12a6e4705e Add license headers to all go and shell files
am: d00350c61b

Change-Id: I28a229fe5c3e38a79f2a2c0560e6924bd95ba50b
2017-11-17 23:11:06 +00:00
Colin Cross
393667285e Replace root.bp with a comment
root.bp is no longer useful, replace its contents with a comment.

Bug: 64363847
Test: m checkbuild
Change-Id: I41f5bfa06edc26c86f372224c90300b687a32ab2
2017-11-17 23:05:41 +00:00
Colin Cross
d00350c61b Add license headers to all go and shell files
Test: none
Change-Id: I75c443e05f2b1e17fcb6823182717d2e6f5df7c4
2017-11-17 23:05:26 +00:00
Jeff Gaston
dea7e4d932 Autodetect files named Android.bp in tests
Bug: 65683273
Test: m -j nothing # which runs unit tests
Change-Id: I416530eba1f30ffe0c38609483d7e548b0a42198
2017-11-17 14:29:07 -08:00
Colin Cross
91453a791a Merge changes from topics "soong_logtags", "droiddoc_srcjars"
am: 6dfde48ba1

Change-Id: I32a41c27dca1a17413d23fda9644795092781b0b
2017-11-17 21:38:42 +00:00
Colin Cross
08a6a3fd98 Use logtags without merged file
am: b1bd1aabca

Change-Id: Ibad4317fbf0624418c4650b2d2f8e4e486d0913a
2017-11-17 21:38:28 +00:00
Colin Cross
735dc93f3f Export extract-srcjars.sh to Make
am: 1763da8eb9

Change-Id: I1c5860fb7e040bf4e9a60f66b479d8a41743a5fd
2017-11-17 21:38:14 +00:00
Colin Cross
bfb1ffdfee Remove partial javastream proto support
am: d243091381

Change-Id: Ic9909601d35596450c27b2df3d0860f193767229
2017-11-17 21:37:57 +00:00
Colin Cross
4a5899610d Add support for .srcjar files from genrules and srcs
am: af05017b75

Change-Id: I381c6d6be55ccb8fe3e5af661ce948d9525b3489
2017-11-17 21:37:45 +00:00
Colin Cross
e77d7dc920 Fix java AIDL properties to match C/C++
am: ebe1a51c81

Change-Id: I570e578626bc9876b778919c52179e38f806161c
2017-11-17 21:37:25 +00:00
Colin Cross
dbe0ca5a79 Fix proto flags in java
am: d5dbfb78a0

Change-Id: I656802ef2bd4894b5bda331476f43da05d75496d
2017-11-17 21:37:08 +00:00
Colin Cross
6dfde48ba1 Merge changes from topics "soong_logtags", "droiddoc_srcjars"
* changes:
  Fix genrules depending on Go tools
  Use logtags without merged file
  Export extract-srcjars.sh to Make
  Remove partial javastream proto support
  Add support for .srcjar files from genrules and srcs
  Fix java AIDL properties to match C/C++
  Fix proto flags in java
2017-11-17 21:32:27 +00:00
Colin Cross
93d0b33f46 Merge changes I0434b003,I1a1a01c5
am: fd9b570c5e

Change-Id: I9ce9c108f828946a992bf941063d0b6646b47f74
2017-11-17 21:11:32 +00:00