This enables support for lambdas by passing class files through the
desugar tool.
Test: m -j checkbuild tests cts
Change-Id: I14ec152355243fd67fe2f107ccbe67a1b4e7e262
This is a partial revert of commits:
858657366f Remove support of disabling Jack.
3ae7861252 Remove javac support in host dex rules.
22313f2b2a Remove rules for building dex with dx
Test: builds
Change-Id: Ie12d743cbe978bdeb030910848b67f5945a4fec8
Adds the -fsanitize-blacklist option for CFI, using the built in
blacklist at external/compiler-rt/lib/cfi/cfi_blacklist.txt.
Also refactors the CFI cflags and ldflags into ../soong/cc/makevars.go
to ensure they're consistent across Soong and make projects.
Bug: 30227045
Test: ENABLE_CFI=true m -j40 builds and boots.
Test: The blacklist prevents runtime errors that otherwise occur.
Change-Id: I0c2801ed459a3b9adeb37daff3ca212564801259
The init.rc path selection uses the same partition_tag detection to
select an installation partition. So make sure that we always set
partition_tag even if we've been given an explicit module path.
Bug: 35314904
Test: set proprietary: true to Soong module with an init rc, verify
that was the only change to build-aosp_arm64.ninja
Change-Id: Ic6ffd7a5177959db96a34a24896b242ee5b09e41
Remove more installation directories. This gets called in between each
incremental build on our build servers.
Bug: 35267243
Test: (m -j; m -j installclean; m -j) ensure no large recompiles
Change-Id: Ied6bea5cad05c1f5e98b1bd1a30fb28ff09df23b
Enable iff WITH_DEXPREOPT_APP_IMAGE is true.
Test: Clean + build with the flag on and off. Tested Sailfish
booting.
Bug: 34927277
(cherry picked from commit e8ab2a71d7)
Change-Id: I63f98a85c69d99746b11bb6e85c23cf5e48910cf
Soong (or any other prebuilt) can provide a .gcnodir file using
LOCAL_PREBUILT_COVERAGE_ARCHIVE. Just like today, if one isn't provided
for static libraries, an empty one will be created for Make modules to
use.
Also fixes a problem I noticed including whole static libs having
coverage into static libs. It was trying to write to /WHOLE since
PRIVATE_INTERMEDIATES_DIR was not set.
Bug: 32749731
Test: See build/soong change for soong-side tests
Test: Enabled coverage of a soong static lib, then include it in a make
static lib with LOCAL_WHOLE_STATIC_LIBRARIES and ensure that the any
shared libraries using the make static lib get the embedded coverage
information.
Change-Id: I32762f099c9757074fec922ee4822f819c9ceaf5
When specifying multiple arguments to make, we were getting messages
about nothing to be done:
m -j USE_SOONG_UI=true checkbuild tests cts blueprint_tools
...
make: Nothing to be done for `tests'.
make: Nothing to be done for `cts'.
make: Nothing to be done for `blueprint_tools'.
Test: m -j USE_SOONG_UI=true blueprint_tools libc adb
Change-Id: Id448bf0e09736fcd92ba058aec7ce556f6f778a3
This CL disables CFI for 32-bit ARM processes, which is broken due to
a compiler error in the most recent version of clang.
Bug: 35157333
Test: ENABLE_CFI=true m -j40 does not enable CFI for 32-bit processes
Change-Id: I6a6e1d14c8365da1056b4cbccad11ef2f15c70b2
Instead of dumping all *TS testcases into the common testcase
directory directly, place them all in their own subdirectory.
Bug: 35153177
Test: `make cts -j` and checked the contents of both:
out/host/linux-x86/testcases/ &
out/host/linux-x86/cts/android-cts/testcases/
Change-Id: I22a768dba58d40be1e61885534fb813e7ff08c99
Aggregates the different *TS testcases into two common folders,
one under each the host and product hierarchies.
Bug: 34715822
Test: `make cts -j` and checked the contents of both:
out/host/linux-x86/testcases/ &
out/host/linux-x86/cts/android-cts/testcases/
Change-Id: I7d5201998ddcb011ecc687c272a0d0a36da248b7
This reverts commit 01fc887a07.
A number of build breakages occurred which were not caused by presubmit checks.
Change-Id: I1351dba594c8a8b210416f75a67c68554d5b9372
Creating static archives is often a multi-command process due to
adding whole static libraires or hitting command line length limits.
If one of the intermediate commands fails, the output file may
already exist. Unlike make, ninja has no option to delete output
files on failed builds, instead assuming all build commands will
produce their output file atomically
(https://github.com/ninja-build/ninja/issues/1135).
Change the static library rules to generate to a temporary file
that is then atomically moved into place as the output file.
Test: m -j checkbuild tests cts
Change-Id: I4faf269f0c8e313c738154870a5aa0b4774a72bc
Mips toolchain does not have ld.gold.
ARM change is a workaround for LLVM r290384.
Bug: 33678192
Test: make ENABLE_CFI=1
Change-Id: I77a127e0b472d5da10bf45a2983527a714339cb8
Without this, WITH_TIDY is disabled because
PATH_TO_CLANG_TIDY uses LLVM_PREBUILTS_BASE.
Test: build with WITH_TIDY=1
Change-Id: I607ae45550f4574b3cee8e91c3d5b7eaa5f0a96c
To prevent abuse of PRODUCT_*PROPERTY_OVERRIDES and
ADDITIONAL*PROPERTIES, the following rules should be applied.
- Mark PRODUCT_*PROPERTY_OVERRIDES readonly after reading product
specs.
- Disallow any changes on ADDITIONAL*PROPERTIES from product specs
and BoardConfig.mk.
- Mark ADDITIONAL*PROPERTIES readonly before reading Android.mk
files.
Test: building succeeded on marlin-userdebug.
Bug: 34116668
Change-Id: I93d8de086ec85ba787165a156bdcc7df04310be1
(cherry picked from commit 294286d95c)