Commit Graph

5449 Commits

Author SHA1 Message Date
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
Treehugger Robot
fd9b570c5e Merge changes I0434b003,I1a1a01c5
* changes:
  Fix using aidl files from filegroups
  Add cc_library tests
2017-11-17 21:07:21 +00:00
Colin Cross
b1bd1aabca Use logtags without merged file
Assume logtags files will have hardcoded tag numbers and don't
build against the merged file.  Simplifies the build when
logtags files are split across Make and Soong.

Test: m checkbuild
Change-Id: I1e995ec458690fcadb1b86d64864f277aa9fe3af
2017-11-17 11:22:08 -08:00
Colin Cross
1763da8eb9 Export extract-srcjars.sh to Make
Export extract-srcjars.sh to Make so that it can be used to add
srcjar support to droiddoc rules.

Test: m checkbuild
Change-Id: I203ba6dad731ec9167eb8706bbfb345a484f024b
2017-11-17 11:22:08 -08:00
Colin Cross
d243091381 Remove partial javastream proto support
javastream proto is rarely used and tricky to support directly
in java because it depends on an extra host tool.  It can be
supported with a genrule, so just remove the partial built-in
support.

Test: m checkbuild
Change-Id: Iffe75e7040cb889ca17fdd85ef3e8e64fc3aa9e9
2017-11-17 11:22:08 -08:00
Colin Cross
af05017b75 Add support for .srcjar files from genrules and srcs
Allow srcs to contain .srcjar files, which will be extracted just
before javac.  Also allow genrules and generated sources to directly
return .srcjar files.

Test: m checkbuild
Change-Id: Ie4cf60ecb9d2ec63a4c2275221544203b1383597
2017-11-17 11:22:08 -08:00
Colin Cross
ebe1a51c81 Fix java AIDL properties to match C/C++
The C/C++ aidl properties use:
aidl: {
    local_include_dirs: [],
    include_dirs: [],
}

But the Android.bp file was expecting:
aidl_include_dirs: [],
export_aidl_include_dirs: [],

Update java AIDL support to match the C support, which is
also what the androidmk conversion tool is creating.

Test: m checkbuild
Change-Id: I3df763d0b203b1b6556798a21b0553e7d35ad7d5
2017-11-17 11:22:08 -08:00
Colin Cross
d5dbfb78a0 Fix proto flags in java
Compute the common proto flags and pass them to the protoc invocation
when generating java files.

Test: m checkbuild
Change-Id: I0d4c23ad001d01eab03b404545383f009214106d
2017-11-17 11:22:08 -08:00
Colin Cross
35143d0466 Fix genrules depending on Go tools
genrules lost the ability to depend on Go tools after
I05e945f38915d49cd3c0ab72a86576949bc7eff2 which converted
VisitDirectDeps from blueprint Modules to android Modules.
Add VisitDirectDepsBlueprint to visit all modules including
blueprint Modules, and use it in genrule.  Also add a check
for disabled modules that was being handled by
VisitDirectDeps.

Test: m checkbuild
Change-Id: I65724283166c63596d071e598c08fed87ef32896
2017-11-17 11:22:08 -08:00
Colin Cross
f18e11074d Fix using aidl files from filegroups
Compute sources including from filegroup and genrule dependencies
before determining if any sources will cause flags to be added.

Test: gen_test.go
Change-Id: I0434b003bbda07a58bb2ce1a0a72997918c8fae2
2017-11-17 11:22:08 -08:00
Colin Cross
ad59e75a56 Add cc_library tests
Add tests around reusing objects between static and shared
libraries.

Test: library_test.go
Change-Id: I1a1a01c5ea9f9edfbcaa5b29c39c281630e04f70
2017-11-17 11:22:04 -08:00
Tobias Thierer
61324f379a Support EXPERIMENTAL_USE_OPENJDK9=false.
am: a7cdd156a6

Change-Id: I7c8932d3cd984b75995b7c09dd5e2ba70ad5c743
2017-11-17 15:19:33 +00:00