Commit Graph

3527 Commits

Author SHA1 Message Date
Dan Willemsen
ce33a3546c Merge "Disallow __DATE__/__TIME__ on host builds"
am: 63cce39166

Change-Id: Ib04880b728ecde0cd9789077fe9d26b8a96d7229
2019-08-28 19:31:57 -07:00
Jooyung Han
4b82aec3be Merge "soong: Add tests for depending on disabled module" am: a9caf47ea2 am: 7e035187e9 am: ca723e6232 am: 21eeb6b8b7
am: 759700d0c9

Change-Id: Ic2384636a27cf9d503e5d58aa2f604d9e83ce9b0
2019-08-28 19:28:24 -07:00
Ivan Lozano
d01a8c1f58 Merge "Add Rust support to Soong." am: c6de2d9482 am: eb18951d4d am: b0af5e354c am: 8feb87c335
am: fcf07852ac

Change-Id: I4a24c649c973f2d3cfa88cf7899ab98de116864c
2019-08-28 19:16:42 -07:00
Dan Willemsen
63cce39166 Merge "Disallow __DATE__/__TIME__ on host builds" 2019-08-29 02:14:27 +00:00
Jooyung Han
7e035187e9 Merge "soong: Add tests for depending on disabled module"
am: a9caf47ea2

Change-Id: I201c11b499650c96c3d52b53eda72f163364681e
2019-08-28 17:24:44 -07:00
Dan Willemsen
028b34cbc6 Merge "Save deps when asflags contains -xassembler-with-cpp" am: 7eedfe00e7 am: ba23aa723b am: 52da2254d3 am: 8c69e4d3b2
am: 557fe1b233

Change-Id: I5c2a2868b2f4fe5d8472fb60641b7bbefb1afbbe
2019-08-28 17:24:13 -07:00
Ivan Lozano
eb18951d4d Merge "Add Rust support to Soong."
am: c6de2d9482

Change-Id: I2fd8084c35e8c4a3a27a3e3d5a2cd8b181b1646f
2019-08-28 17:07:56 -07:00
Jooyung Han
a9caf47ea2 Merge "soong: Add tests for depending on disabled module" 2019-08-28 23:58:33 +00:00
Dan Shi
20ccd2125d Add option disable_framework for auto-generated test config
The new option will allow the auto-generated test config for cc_test to
include RunCommandTargetPreparer to disable framework before the test
run and re-enable it after the test run.

Bug: 140065309
Test: test hello_world_test with the new option.
Change-Id: If2189e9474f5b11bd0d0471e231a2cae14155389
2019-08-28 15:53:43 -07:00
Ivan Lozano
c6de2d9482 Merge "Add Rust support to Soong." 2019-08-28 22:04:56 +00:00
Ivan Lozano
ffee334706 Add Rust support to Soong.
Adds support to Soong for building rust modules. This currently only
supports x86_64 device and x86 linux host targets. The functionality
is sufficient to build crosvm.

Bug: 136189233
Test: Test module builds.
Test: crosvm builds.
Change-Id: I6ea04615834a6d673578ab10ea1a2eb04259fe09
2019-08-28 14:11:07 -07:00
Dan Willemsen
ba23aa723b Merge "Save deps when asflags contains -xassembler-with-cpp"
am: 7eedfe00e7

Change-Id: Iecedb5679553bdf39c393c76e218da277b6bb8a1
2019-08-28 13:12:01 -07:00
Mitch Phillips
b9b3e79096 Disable FORTIFY for fuzzer builds.
Disables FORTIFY for fuzz target builds. We generally build with a
sanitizer and want the sanitizer to handle the bugs and provide us with
a nice stack trace.

Bug: 140187921
Test: m example_fuzzer && $ANDROID_HOST_OUT/fuzz/example_fuzzer (note
that you get a proper ASan report instead of a fortify crash)

Change-Id: I15a117b26c401a03785fb44c0f796588f366bc55
2019-08-28 12:41:07 -07:00
Jiyong Park
a034b83988 Automatically enable abi checker for the stub libs
The header ABI checker is enabled by default for the libs that are used
across APEXes.

Bug: 138219814
Test: m
Change-Id: Ic0e9c5fdfa1259f500d990abc504c452436f3bd7
2019-08-28 22:58:11 +09:00
Yi Kong
30a3c7faca Re-enable tautological-unsigned-zero-compare
Clang is smarter at producing this new warning now, producing far
fewer false positives. Re-enable the diagnostic for Android.

Test: build
Bug: 72331526
Change-Id: I2020b887fbeb3cd833462e50df835a6cd104920d
2019-08-28 09:48:30 +00:00
Dan Willemsen
98ab311767 Save deps when asflags contains -xassembler-with-cpp
Usually, ".S" files are processes with the c preprocessor, and ".s"
files are not, so they don't have any dependency information, since it
is generated by the preprocessor.

But with the -xassembler-with-cpp flag, ".s" files are processed with
the preprocessor, so we should ask for dependency information from them.

Test: NINJA_ARGS="-t deps out/soong/.intermediates/external/sonivox/arm-wt-22k/libsonivox/android_arm_armv7-a-neon_core_static/obj/external/sonivox/arm-wt-22k/lib_src/ARM-E_filter_gnu.o" m
Test: treehugger
Change-Id: Iee7baeebc2b205b5a2f33e7c1705ea4a5b4fc95a
2019-08-27 21:20:40 -07:00
Dan Willemsen
5d980c878d Disallow __DATE__/__TIME__ on host builds
Instead of just making this an error when building for the device, also
turn on this error for host builds. This is more important as we begin
to use remote caches during the build.

Test: treehugger
Change-Id: I6fcc945464032d951729aead540ea77850c88c41
2019-08-27 19:37:10 -07:00
Tom Cherry
332434666b Merge "Remove setting _USING_LIBCXX" am: e12019c434 am: 792234ac98 am: 7f0d0bef68 am: b1c4a89f84
am: 8d4c83c90a

Change-Id: I538503e43382087e17690a21ac04f2e1675ea833
2019-08-27 08:44:55 -07:00
Tom Cherry
792234ac98 Merge "Remove setting _USING_LIBCXX"
am: e12019c434

Change-Id: I106eb72e2b93543547c3c6beb7b5644d3b94b4c2
2019-08-27 08:18:27 -07:00
Tom Cherry
e12019c434 Merge "Remove setting _USING_LIBCXX" 2019-08-27 15:10:27 +00:00
Treehugger Robot
309b9c02a5 Merge "Implement sysprop_library API stability check" 2019-08-27 00:44:34 +00:00
Mitch Phillips
3c97adc8e4 Merge "[cc_fuzz] Statically link libcxx." am: 577d147eb9 am: 2e0229b210 am: cb3fd20ee7 am: 2188e75c90
am: ed6bd34807

Change-Id: I300bdb68950bf9948b5292cd486e98948c765808
2019-08-26 13:59:56 -07:00
Jooyung Han
d48f3c3885 soong: Add tests for depending on disabled module
This will check if direct deps of android.Module type is "Enabled()".
Previously, this is checked only if a module calls VisitDeps*()
functions in GenerateAndroidBuildActions().

Most modules call VisitDeps*() in GenerateAndroidBuildActions(),
but some modules don't. For example, "apex" module calls
WalkDepsBlueprint() or VisitDirectDepsBlueprint() since it
exceptionally depends on non-android.Module modules.

Therefore, when an apex module depends on disabled(enabled:false) module,
build fails with panic, which is fixed by this change.

Test: m # runs soong tests
Change-Id: I81c5c148bbd51a253d2904690eb76ae7b6df1a0f
2019-08-26 13:19:42 +00:00
Pete Bentley
cb3ef46b85 Merge changes I75b4a761,I779f28c6,If1422372,I26307dd1 am: 792942de47 am: 677ba298a5 am: fd64089052 am: b1539670b4
am: e7efc5c4aa

Change-Id: I39660905cc8f621ddf8ae52102cd85efda0e2086
2019-08-24 02:25:33 -07:00
Yi Kong
d935e4d9e9 Merge "Switch to clang-r365631" am: bdefa541d9 am: e4a824d378 am: c75c2b5c7a am: 34af8b090e
am: 3709ef5777

Change-Id: Ie7bb3d2435c3164d83c87fa9493cf85a31502df8
2019-08-24 02:19:27 -07:00
Yi Kong
2dee46cbaf Merge "Revert "Re-enable ASAN globals instrumentation for devices."" am: 20cf012ad1 am: 5006a72ec9 am: defb3a18a9 am: 9dd516237c
am: bdcaaa77ae

Change-Id: If7779d8e4451bfc4cbe85a7f15e74c264f7ad24f
2019-08-24 02:19:09 -07:00
Mitch Phillips
2e0229b210 Merge "[cc_fuzz] Statically link libcxx."
am: 577d147eb9

Change-Id: I8590e07cf9feb08be222bfc6992ef289ee526674
2019-08-23 19:53:04 -07:00
Treehugger Robot
577d147eb9 Merge "[cc_fuzz] Statically link libcxx." 2019-08-23 21:09:52 +00:00
Mitch Phillips
d0bd16d9d1 [cc_fuzz] Statically link libcxx.
Statically links libcxx in order to not require shared library
deployment during packing of fuzz targets.

Test: m example_fuzzer && ldd $ANDROID_HOST_OUT/fuzz/example_fuzzer.
Note that the ldd results don't include libc++.so.
Bug: 139880425

Change-Id: I86d1945768de53217d54cb762392c20714494416
2019-08-23 11:27:08 -07:00
Slava Shklyaev
f4b5a5ba08 Add android.hardware.neuralnetworks@1.3
Bug: 139120468
Test: m
Change-Id: Iee24fd8e70805eab3e352186e543fe02246a6a72
2019-08-23 15:30:41 +01:00
Inseob Kim
4288274f14 Implement sysprop_library API stability check
sysprop_library now checks the API stability itself, cutting dependency
on java_sdk_library. Under the directory {module_dir}/api,
{module_name}-current.txt and {module_name}-latest.txt hold API
signatures.

When sysprop_library is built, or a user run "m {module_name}-check-api"
command, API check is performed. First, current.txt must have exactly
same signature with built sysprop_library module. Second, current.txt
must be compatible with latest.txt.

Build system emits a handy error message to generate/update those API
files, in case of missing or mismatching. Also, a script file for
freezing API files is introduced.

Bug: 131637873
Test: 1) m && boot blueline
Test: 2) m {sysprop_library} performs API check
Test: 3) manual test for check-api, freezing api
Change-Id: I9d25f5dc64299e666527ca8e23d7233966901c4e
Merged-In: I9d25f5dc64299e666527ca8e23d7233966901c4e
Merged-In: Ib7ad4f17e82c90da5ef3f80e2ab88c0b53112c60
(cherry picked from commit 093f0eb133)
2019-08-23 06:28:34 +00:00
Pete Bentley
677ba298a5 Merge changes I75b4a761,I779f28c6,If1422372,I26307dd1
am: 792942de47

Change-Id: I48b5288882430733400f897aee1eb76a83fa64c2
2019-08-22 17:32:40 -07:00
Treehugger Robot
792942de47 Merge changes I75b4a761,I779f28c6,If1422372,I26307dd1
* changes:
  Introduce inject_bssl_hash library property.
  BoringSSL FIPS build - introduce extraLibFlags and use for STL libs.
  Allow linker scripts when building objects.
  Allow .o files as srcs.
2019-08-23 00:15:08 +00:00
Pete Bentley
803e161ac9 Introduce inject_bssl_hash library property.
external/boringssl needs to run a tool on a shared library, but
cc_genrules currently don't support shared libraries as inputs
or outputs.  Use a property to trigger the desired behavior for
now.

Bug: 137267623
Test: m libcrypto
Change-Id: I75b4a761f8a4f2c65a99453d2781d6d0f93106ef
2019-08-22 13:21:37 -07:00
Pete Bentley
99f2fc27e6 BoringSSL FIPS build - introduce extraLibFlags and use for STL libs.
Rationale: On non-bionic, stl.go currently adds system libraries to
ldFlags, this causes problems for partialLd rules.  However adding the
same libraries to libFlags breaks some existing modules due to symbol
conflicts as the system libraries are linked before some module code.

Introduced a general mechanism for adding libraries to be linked
last rather than making this STL-specific.

Bug: 134581881
Bug: 137267623
Test: TH
Change-Id: I779f28c6586b3fea85cc6299b686e4fde95262d3
2019-08-22 13:21:37 -07:00
Pete Bentley
74c9bbacb6 Allow linker scripts when building objects.
Test: m nothing
Test: TreeHugger
Bug: 134581881
Bug: 137267623

Change-Id: If1422372585ec032a9e36eab73a04e98fe1c1b6c
2019-08-22 13:21:37 -07:00
Pete Bentley
fcf55bf656 Allow .o files as srcs.
Test: m nothing
Test: TreeHugger
Bug: 134581881
Bug: 137267623

Change-Id: I26307dd1129e58878f0468da3b61c53f074bd674
2019-08-22 13:21:37 -07:00
Yi Kong
e4a824d378 Merge "Switch to clang-r365631"
am: bdefa541d9

Change-Id: I4f8b4e9ce9e0a355b247b11effc5bb1e5ba07f63
2019-08-22 11:56:05 -07:00
Yi Kong
bdefa541d9 Merge "Switch to clang-r365631" 2019-08-22 18:35:54 +00:00
Martin Stjernholm
183674ce9d Merge "Update dexpreopt for the ART APEX name change." 2019-08-22 15:00:10 +00:00
Yi Kong
5006a72ec9 Merge "Revert "Re-enable ASAN globals instrumentation for devices.""
am: 20cf012ad1

Change-Id: Ibffe87ad95d7336c9ffdd78eb67fd81ab4b3e1b1
2019-08-21 21:09:52 -07:00
Yi Kong
20cf012ad1 Merge "Revert "Re-enable ASAN globals instrumentation for devices."" 2019-08-22 03:43:51 +00:00
Inseob Kim
60e760e8ac Merge "Implement sysprop_library API stability check" into stage-aosp-master 2019-08-22 02:52:17 +00:00
Dan Albert
22bf105b01 Merge "Link libc++demangle with libc++ for the device." am: 6f65a20103 am: d0f9222559 am: e76715a1fa am: 15da1fe48a
am: dd45ceaaf8

Change-Id: I2bb20699bb89fa63a9dec056a1aebbdefd461a31
2019-08-21 18:40:52 -07:00
Yi Kong
da069087bf Revert "Re-enable ASAN globals instrumentation for devices."
This reverts commit cba311bcfc.

The build is actually still broken with ASAN globals instrumentation.
We accidentally suppressed ASAN by turning on the new pass manager and
the build breakage was not discovered.

Bug: 137312732
Bug: 139747256
Change-Id: I8110e1413468c4d760a59a8de816a72c9852a7c8
2019-08-22 00:46:36 +00:00
Dan Albert
d0f9222559 Merge "Link libc++demangle with libc++ for the device."
am: 6f65a20103

Change-Id: I55cebb647f923d19cc98bcb895fc3e6557c69ca1
2019-08-21 17:24:13 -07:00
Treehugger Robot
6f65a20103 Merge "Link libc++demangle with libc++ for the device." 2019-08-21 23:54:48 +00:00
Yi Kong
32cd62cb70 Merge "Disable new pass manager for ASAN build" am: 5724333e22 am: 55d2d90ea4 am: 66747571f7 am: efc87ed478
am: 690b8e5663

Change-Id: I91754a11b3a59d7635384413b3623dc9874d7cd4
2019-08-21 15:36:46 -07:00
Yi Kong
55d2d90ea4 Merge "Disable new pass manager for ASAN build"
am: 5724333e22

Change-Id: I670af9bab9dca4284420cda4bca5ed5884e7d6a6
2019-08-21 14:47:29 -07:00
Yi Kong
20233a43db Disable new pass manager for ASAN build
ASAN build has some weird issues with the new pass manager, keep using
the legacy pass manager for now.

Test: presubmit
Bug: 139747256
Change-Id: I345afbf6bc4043f274a4e7545a895b59c65641b0
2019-08-21 20:38:51 +00:00