Commit Graph

4020 Commits

Author SHA1 Message Date
Treehugger Robot
96ce6ab143 Merge "Use localPool consistently for UseGoma() == true" 2019-10-04 18:36:07 +00:00
Lev Proleev
572c773037 Merge "Add android.hardware.neuralnetworks@1.3" 2019-10-04 15:34:10 +00:00
Colin Cross
4aff9b736c Merge "Use -nostdlib++ instead of -nodefaultlibs" am: 92e03dfb3e am: 43f21552b3 am: 0eaa247499
am: 6c06ca194f

Change-Id: I7c844f6ce047f8cc4848387360554ee981731671
2019-10-03 20:53:58 -07:00
Colin Cross
92e03dfb3e Merge "Use -nostdlib++ instead of -nodefaultlibs" 2019-10-04 03:26:11 +00:00
Colin Cross
f7a17daefe Use -nostdlib++ instead of -nodefaultlibs
Host builds using libc++ used -nodefaultlibs to turn off the default
C++ runtime, and then added back all the other necessary libraries.
Clang supports -nostdlib++ since https://reviews.llvm.org/D47115
that removes the C++ runtime without affecting the other default
libraries.  Use -nostdlib++, and remove the lists of default
libraries.

Test: m checkbuild
Change-Id: I722bd6596a1f3f5819f2767c29c0fa1e8b3ec0e8
2019-10-03 16:09:01 -07:00
Colin Cross
636e40b507 Merge changes from topic "install" am: 4acb77e76a am: 789fc863bb am: 42bd16e072
am: 0c8f7bd16c

Change-Id: I9b473e2a13cf1507d46e6fb6b4fe6114d6bacf22
2019-10-03 15:26:13 -07:00
Colin Cross
873f11ce75 Separate InstallPath from OutputPath am: 70dda7e3da am: 21daf4e438 am: 0b2cc5da8e
am: f003ddfd8e

Change-Id: I7e4f6f7394f057924d55e72735c67c9f45b4ddd7
2019-10-03 15:26:08 -07:00
Colin Cross
70dda7e3da Separate InstallPath from OutputPath
Create a new type InstallPath that is similar to OutputPath to
differentiate intermediates output paths from installed output
paths.

RelPathString is a poorly defined, undocumented function that is
primarily used to get an install path relative to out/soong to
generate an equivalent install path for Make relative to $(OUT_DIR).
Move it to InstallPath for now, and fix the one remaining user on
OutputPath.

Add a method to create an NDK install path so that ndk_sysroot.go
doesn't have to do it manually with PathForOutput.

Bug: 141877526
Test: m checkbuild
Change-Id: I83c5a0bd1fd6c3dba8d3b6d20d039f64f353ddd5
2019-10-03 10:07:53 -07:00
Colin Cross
ff6c33d885 Replace RelPathString() with ToMakePath()
Add a ToMakePath() method that returns a new path that points out
out/ instead of out/soong/, and replace the
"$(OUT_DIR)/" + path.RelPathString()
pattern with
path.ToMakePath().String()

Bug: 141877526
Test: m checkbuild
Change-Id: I391b9f2ed78c83a58d905d48355ce9b01d610d16
2019-10-03 10:07:53 -07:00
Colin Cross
6f740ac77a Merge "Hide static from cc_library_shared and vice versa" am: 62be1e3e33 am: cd2af25aaf am: cc0466c892
am: edb4ec605a

Change-Id: I6ef87af92abe31fd4dfa29202b3626b84c0adf74
2019-10-02 16:10:45 -07:00
Treehugger Robot
62be1e3e33 Merge "Hide static from cc_library_shared and vice versa" 2019-10-02 21:39:37 +00:00
Pete Bentley
5bd851aceb Merge "Use SHA-256 for hashing BoringSSL crypto module." am: b244e84de6 am: 7f6cabebf0 am: 2dbb177ad1
am: 73f1c79571

Change-Id: If857b02dbe3fceb8ee96d06f37f5083f3dc2047a
2019-10-02 09:40:12 -07:00
Treehugger Robot
b244e84de6 Merge "Use SHA-256 for hashing BoringSSL crypto module." 2019-10-02 15:59:36 +00:00
Yi Kong
bc36047239 Merge "Remove -Wno-c++98-compat-extra-semi warning flag" am: 444c809bbc am: 3d472c61aa am: 2f0bc4f791
am: 6b9b949711

Change-Id: I72131845b825655da31b453adb65194ed02902dd
2019-10-01 23:03:48 -07:00
Yi Kong
444c809bbc Merge "Remove -Wno-c++98-compat-extra-semi warning flag" 2019-10-02 05:16:46 +00:00
Jiyong Park
7916bfc3cc Remove no_apex in favor or apex_available
This change reverts following three changes to remove the no_apex
property. no_apex: true is equivalent to apex_available:
["//apex_available:platform"].

Revert "fix: "no_apex" can be put in defaults"
This reverts commit cc372c5b1d.

Revert "Add no_apex check for static library"
This reverts commit 2db7f46d0c.

Revert "Add no_apex property"
This reverts commit 4f7dd9b4db.

Bug: 139870423
Bug: 128708192
Test: m

Change-Id: Ia4b094e371e9f8adff94ae6dc3ebb8e081381d4e
2019-10-02 14:12:16 +09:00
Yi Kong
d0ce0fbfde Remove -Wno-c++98-compat-extra-semi warning flag
hidl/aidl actually does concern about this warning. After fixing their
codebase, this flag is no longer needed.

Test: presubmit
Change-Id: Id88abea88137be0f873c21db76644fe78b9045c8
2019-10-01 22:42:59 +00:00
Colin Cross
2e2dbc250a Use localPool consistently for UseGoma() == true
Remove the distinction between pctx.StaticRule and
pctx.AndroidStaticRule so that all of the local rules correctly
get assigned to the localPool.  Also put Module and Singleton
rules into the localPool.

Test: compare out/soong/build.ninja
Change-Id: Id2bb38eff3c7209340fe55bc9006f00bd3661d81
2019-10-01 14:11:20 -07:00
Jesse Pai
c58a674199 Merge changes from topic "soong_c_flags" am: f856c005cb am: dabeabf683 am: 2e4c50465e
am: 14e69e5393

Change-Id: I577f8c5ebf11c1a3c68a2050709b9ca21fcdf09c
2019-10-01 13:51:53 -07:00
Treehugger Robot
f856c005cb Merge changes from topic "soong_c_flags"
* changes:
  Creation of C Flags Build Variables
  Move sharding functions for reuse
2019-10-01 19:25:50 +00:00
Pete Bentley
5c4be82ce0 Use SHA-256 for hashing BoringSSL crypto module.
Reason: Performs significantley better than SHA-512
on ARM64 devices

Bug: 141710485
Test: flashall
Change-Id: I40f0873d3e705a75b9a7a3ba1445a9176afff77b
2019-10-01 17:03:17 +01:00
Mitch Phillips
f65eec9963 Merge "Move fuzz phony to be make-defined, and add to dist." am: ec3b133b8b am: 8c70324d2a am: 59d64c3e57
am: 292137ed19

Change-Id: I9ba5ec81ca007c42b07fc7c98c4aa6742c85f2d4
2019-09-30 14:13:53 -07:00
Treehugger Robot
ec3b133b8b Merge "Move fuzz phony to be make-defined, and add to dist." 2019-09-30 20:24:19 +00:00
Mitch Phillips
a0a5e19140 Move fuzz phony to be make-defined, and add to dist.
Add the fuzz packages to dist. This requires that the phony for 'make'
be define in make itself, rather than in Soong. See comments on other
patch in topic for more information.

Bug: 141026328
Test: m fuzz dist

Change-Id: I4cd476adcfa42e4b40911c4a32427a7b00c67cc3
2019-09-30 10:36:11 -07:00
Jesse Pai
4d33666639 Creation of C Flags Build Variables
Modifications made to soong/cc to look for specific C Flags used by
Android modules and store name of module into a build variable array.

Bug: 140442588
Test: Executed m dist and presubmit
Change-Id: If46a11462369c43bbcd445156aff0641514c58b1
2019-09-30 16:24:16 +00:00
Sasha Smundak
3e63610ec6 Merge "Pass filename mappings to C++ and Java extractors." am: 318c9c5d17 am: e306a4832d am: d8775ebd49
am: 5e122865ca

Change-Id: I45c970c55b55eab826ebf76d250349f758bb63fa
2019-09-27 13:42:13 -07:00
Peter Collingbourne
96c1a7e4a6 Merge "Allow sanitize attribute on cc_objects and propagate sanitize attributes into them." am: bcb5ca006c am: 714f705bc0 am: d8ef18668d
am: 8f63bc37e2

Change-Id: Iaceeebe372d22844ce4f31d98fb5b5f1661f3e0b
2019-09-27 13:29:54 -07:00
Treehugger Robot
318c9c5d17 Merge "Pass filename mappings to C++ and Java extractors." 2019-09-27 20:00:44 +00:00
Peter Collingbourne
bcb5ca006c Merge "Allow sanitize attribute on cc_objects and propagate sanitize attributes into them." 2019-09-27 19:31:13 +00:00
Sasha Smundak
651436460a Pass filename mappings to C++ and Java extractors.
Android builds by default put artifacts into out/ subdirectory of
the source tree, causing the extractor to record their names as
relative. The indexer considers such files as sources, which is wrong.
Fortunately, the extractor can be fed a set of filename rewriting
rules (see build/tools/vnames.json).
Also, undo previous unsuccessful attempt use to absolute path for the
output directory to distinguish between source code and artifacts.

Bug: 141385476
Test: run the build, inspect compilation units of the kzip file
Change-Id: I89ec3aed8fd14f43ea6e0b226d54f643346f6125
2019-09-27 10:28:11 -07:00
Dan Shi
57d4de8490 Merge "Allow test to specify whether or not to auto-generate test config" am: 933b619383 am: acc7f753f6 am: adb37a2239
am: 58f5b5eae5

Change-Id: I832b1fbb96650bd4f87b728405aea320e03b76db
2019-09-26 17:39:55 -07:00
Dan Shi
6ffaaa830d Allow test to specify whether or not to auto-generate test config
Attribute `auto_gen_config` is added to test modules.
Test config will be generated if:
the attribute is not set and AndroidTest.xml doesn't exists
or
the attribute is set to true, whether or not AndroidTest.xml exists.

Test config will NOT be auto-generated if:
the attribute is not set and AndroidTest.xml exists
or
the attribute is set to false, whether or not AndroidTest.xml exists.

Bug: 141684102
Test: build test module with auto_gen_config set to true
Change-Id: I64fb003a83d8c32a967835e5f8d12fe4476043be
2019-09-26 13:29:28 -07:00
Peter Collingbourne
1c648b8936 Allow sanitize attribute on cc_objects and propagate sanitize attributes into them.
Without this change, we can end up failing to sanitize parts of libraries
that are compiled as cc_objects, such as bcm_object.o in boringssl. This
is normally harmless (except that the sanitizer would fail to detect bugs
in unsanitized code), however boringssl in particular needs to be compiled
with HWASAN enabled in all translation units in order to avoid link errors
with newer toolchains that support HWASAN global instrumentation.

Change-Id: Ib8bd325f76b7852cab435bff79d6945768298a5c
2019-09-26 12:35:06 -07:00
Jooyung Han
43b06095dc Merge "fix: "no_apex" can be put in defaults" am: 5e493d5660 am: edcce88102 am: 3182fbea54
am: 069520e466

Change-Id: I18e141464352ea7239ed0f7f2a4e5ffb6d185d1b
2019-09-25 22:34:06 -07:00
Daniel Norman
1bf12dceec Merge "Performs same checks as aidl_interface.go before stripping leading "I"." am: 488e7e02a2 am: 1d0ceef5cf am: e325f660ed
am: 54b0409ce9

Change-Id: Ic64478b11e720ed571efbd192402d8a9dfa468e0
2019-09-25 21:43:42 -07:00
Jooyung Han
5e493d5660 Merge "fix: "no_apex" can be put in defaults" 2019-09-26 01:07:21 +00:00
Daniel Norman
488e7e02a2 Merge "Performs same checks as aidl_interface.go before stripping leading "I"." 2019-09-26 00:33:57 +00:00
Mitch Phillips
e42b395a67 Merge "Add 'make fuzz' build rule." am: 72b43adb56 am: 4e0f885ead am: 47d17f4062
am: 539694c75f

Change-Id: I43ab20f95bac7d045cc429503938aad1c9c03a57
2019-09-24 23:52:53 -07:00
Jooyung Han
cc372c5b1d fix: "no_apex" can be put in defaults
Currently, putting no_apex in defaults module doesn't work.

To fix this,
* 'no_apex' property is added as 'defaultable'.
* apex module doesn't follow beyond 'defaults' module.

Bug: 141560644
Test: m (soong tests added)
Change-Id: I8410785f7f83d843689a33b1241d74086c6a7671
2019-09-25 15:27:47 +09:00
Treehugger Robot
72b43adb56 Merge "Add 'make fuzz' build rule." 2019-09-25 06:14:41 +00:00
Mitch Phillips
d3254b4899 Add 'make fuzz' build rule.
Adds the `make fuzz` build rule. This offers a few features on top of
`make haiku`:
 1. Identifies all fuzz targets through the build system, rather than
 having to maintain a golden file.
 2. Packages now exist in out/soong/ and are packaged on a per-architecture
 basis. Packages also now contain fuzzer seed corpus && dictionary.
 3. This gives us further extension options:
  - Packaging shared libraries for shared library fuzzing.
  - Presubmit tests for fuzzing. Each fuzz target could be made into a
  regression test by adding the crash testcase to the corpus. We can
  also ensure that example_fuzzer finds a bug with an ASan report as a
  presubmit smoke test.

Bug: 141026328
Test: m fuzz && unzip -l out/soong/fuzz-$ARCH.zip

Change-Id: I7aaad616d6b194a3beaf908241a9817df9dfdce1
2019-09-24 20:48:00 -07:00
Daniel Norman
10b743509e Performs same checks as aidl_interface.go before stripping leading "I".
Test: building AIDL interface named IntEnum.aidl. Leading I is not
removed.
Change-Id: Ia40cbdf9b8936f6f58a99971eae1b2138a678c91
2019-09-24 17:41:15 -07:00
Ivan Lozano
22021c76b4 Merge changes from topic "add_rust_arm64_devices" am: f23f6d20f0 am: a34fe6bbe3 am: 422ecea9de
am: 1d39413813

Change-Id: I3b4b20240cbc6eca400d7f6eda6afc6ecec4b6ae
2019-09-24 15:46:07 -07:00
Colin Cross
e1bb5d092a Hide static from cc_library_shared and vice versa
The static properties don't make sense for cc_library_shared
modules, and the shared properties don't make sense for
cc_library_static modules.  Move them into separate property
structs so they can be added conditionally.

Test: m nothing
Test: DefaultsTest
Change-Id: I0b0cedf9eba07deb721fae138ffa7bedcfbfe71e
2019-09-24 15:05:57 -07:00
Ivan Lozano
f23f6d20f0 Merge changes from topic "add_rust_arm64_devices"
* changes:
  Add ARM32 device Rust toolchain.
  Add AArch64 device Rust toolchain.
2019-09-24 21:39:51 +00:00
Ivan Lozano
f1c8433b40 Add AArch64 device Rust toolchain.
Bug: 141207434
Test: build example rust device module.
Change-Id: I0932a614942bf4a4d4b6c153fcc4fc79c7f202bd
2019-09-24 10:35:28 -07:00
Yi Kong
7bcb89909c Merge "Remove -Wno-format-pedantic cflag" am: aefd0af575 am: 65fcfa1fc1 am: 14007d89e2
am: 3a248c70aa

Change-Id: Ia4fb0d1434233d4e2b0a1487dad5542bed7b4fe1
2019-09-23 11:25:44 -07:00
Yi Kong
aefd0af575 Merge "Remove -Wno-format-pedantic cflag" 2019-09-23 17:48:21 +00:00
Jiyong Park
3f5c6cfa89 Merge "Introduce module type 'sdk'" am: b1102ba828 am: 303b2992af am: d284cd8894
am: 5b3a626407

Change-Id: Ic4a173e9db31a2cb0d744e193d4515c5ca3949b2
2019-09-22 22:23:15 -07:00
Treehugger Robot
b1102ba828 Merge "Introduce module type 'sdk'" 2019-09-23 04:38:24 +00:00