Commit graph

5328 commits

Author SHA1 Message Date
Jeff Gaston
aa2476bd42 Merge "Sort cfi static libs to make them consistent"
am: 5313911912

Change-Id: Ifa11246b0a9203ba785a4d4c6614d93cc23b8643
2017-11-29 20:10:05 +00:00
Jeff Gaston
5313911912 Merge "Sort cfi static libs to make them consistent" 2017-11-29 19:58:38 +00:00
Dan Shi
d3d2160907 Merge "Add TEST_MAPPING to finder's cache"
am: 8763169bdb

Change-Id: Ibf48f4660c2cd6a38c1434e142df17e922906d9f
2017-11-29 19:35:01 +00:00
Treehugger Robot
8763169bdb Merge "Add TEST_MAPPING to finder's cache" 2017-11-29 19:16:50 +00:00
Colin Cross
59e3bc2596 Replace aapt support with aapt2
am: 3bc7ffa59b

Change-Id: I9d7420a12e617ecd8dc77811a956f99ac7f19b2d
2017-11-29 05:18:09 +00:00
Colin Cross
a0a0b7fd90 Wrap PackageContext and SingletonContext
am: 0875c52de7

Change-Id: Ibffbf49a34a1ca042cc21f79f8aacfe62695e87e
2017-11-29 05:18:07 +00:00
Colin Cross
3bc7ffa59b Replace aapt support with aapt2
Use aapt2 instead of aapt to compile Android app resources.
Also generate all files into srcjars instead of individual
sources.

Test: m checkbuild
Change-Id: I5a67991a0daf0017e8159b46fcff7d5564a91468
2017-11-29 05:05:07 +00:00
Colin Cross
0875c52de7 Wrap PackageContext and SingletonContext
Wrap blueprint.PackageContext so that the *Func methods can provide
an android.Config instead of an interface{}.  The modified signatures
means that every method in ModuleContext and SingletonContext
that takes a blueprint.PackageContext now needs to be wrapped to
take an android.PackageContext.

SingletonContext wasn't previously wrapped at all, but as long
as it is, wrap everything like ModuleContext does.  This requires
updating every Singleton to use the android-specific methods.

Test: builds, all Soong tests pass
Change-Id: I4f22085ebca7def6c5cde49e8210b59d994ba625
2017-11-29 05:04:30 +00:00
Jeff Gaston
7276539d6a Sort cfi static libs to make them consistent
To make it easier to diff the ninja files with diff_build_graphs.sh
Bug: b/69133815
Test: m -j

Change-Id: Ic08094f7dc3adb773ebb64a7d34125fc24641bf3
2017-11-28 16:39:12 -08:00
Elliott Hughes
29e5618645 Merge "Skip MIPS headers when generating NDK prebuilts"
am: f2a56f0e0d

Change-Id: Ic58dfe5ae30e80f57860226289b35a3d88a50ee9
2017-11-28 23:38:55 +00:00
Elliott Hughes
f2a56f0e0d Merge "Skip MIPS headers when generating NDK prebuilts" 2017-11-28 23:26:03 +00:00
Jayant Chowdhary
eb11ca9596 Merge "Copy abidiffs into /abidiffs on abi breakages."
am: 3e6584556d

Change-Id: I755837f010548dc8b9dec4350058aac7768a17e4
2017-11-28 22:47:02 +00:00
Jayant Chowdhary
3e6584556d Merge "Copy abidiffs into /abidiffs on abi breakages." 2017-11-28 22:38:32 +00:00
Colin Cross
292325153d Merge "Move java test resources in mock filesystem to a different directory"
am: 88c24a38e5

Change-Id: I3ac5d48b76d9714c7fd0c5552595f46775e58188
2017-11-28 21:32:37 +00:00
Colin Cross
88c24a38e5 Merge "Move java test resources in mock filesystem to a different directory" 2017-11-28 21:24:52 +00:00
Colin Cross
1d2845e46f Merge "Add Jacoco support"
am: 8b732c1cd5

Change-Id: I02f865600d9aa119a04e04c1a0b67b1d54826d54
2017-11-28 21:18:51 +00:00
Colin Cross
8b732c1cd5 Merge "Add Jacoco support" 2017-11-28 21:10:57 +00:00
Colin Cross
ff9ff4695f Merge changes from topic "pathtools.Match"
am: 496d057ef3

Change-Id: I57db377973f14a6c8b206ff4a2ba76c4cde7cf91
2017-11-28 20:55:04 +00:00
Colin Cross
5579297d88 Support exclusions and Blueprint-style ** globs in zip2zip
am: f3831d0e08

Change-Id: I7968a56495aa661437180e43a27ae36029216ce9
2017-11-28 20:54:51 +00:00
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
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