Commit graph

11452 commits

Author SHA1 Message Date
Colin Cross
eac5ce4e97 Add a desugar step between javac and proguard
This enables support for lambdas by passing class files through the
desugar tool.

Test: m -j checkbuild tests cts
Change-Id: I14ec152355243fd67fe2f107ccbe67a1b4e7e262
2017-02-17 15:03:06 -08:00
Colin Cross
a341bf0f86 Add soong_javac_filter to all javac commands
soong_javac_filter colorizes javac output, and hides noisy messages.

Test: builds
Change-Id: I7e8fcd2e4e1ed3ff530a8ccfe931ceb7e411e0ad
2017-02-16 14:08:45 -08:00
Colin Cross
79e2f73b6c Re-enable dx support
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
2017-02-16 14:08:45 -08:00
Treehugger Robot
5f50896a7f Merge "Blacklist code for CFI." 2017-02-15 22:52:46 +00:00
Vishwath Mohan
5b69c06f1f Blacklist code for CFI.
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
2017-02-15 12:48:05 -08:00
Treehugger Robot
74dcb9feb3 Merge "Fix init rc installation in vendor when LOCAL_MODULE_PATH is set" 2017-02-15 00:45:19 +00:00
Dan Willemsen
c9fa07c958 Merge "Support Soong native coverage" 2017-02-15 00:32:16 +00:00
Treehugger Robot
22b55e1c54 Merge "Improve installclean to catch more installed files" 2017-02-14 02:06:02 +00:00
Colin Cross
4bf332a56b Merge "Don't build tests in normal builds" 2017-02-13 22:38:28 +00:00
Dan Willemsen
b2a5c7b369 Fix init rc installation in vendor when LOCAL_MODULE_PATH is set
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
2017-02-13 14:19:47 -08:00
Dan Willemsen
f61e80b739 Improve installclean to catch more installed files
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
2017-02-13 13:05:02 -08:00
Vishwath Mohan
aaf4923734 Merge "Disble CFI for ARM32 processes." 2017-02-13 20:49:20 +00:00
Alex Deymo
06f3258694 Merge "Include the LOCAL_REQUIRED_MODULES when packaging." 2017-02-13 16:01:35 +00:00
Mathieu Chartier
8d0b35cf85 Merge "Add support for preopted app images" 2017-02-11 00:05:03 +00:00
Mathieu Chartier
192b91c97f Add support for preopted app images
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
2017-02-10 13:39:08 -08:00
Treehugger Robot
4d49966ce3 Merge "Output *TS testcases to their own subdir in the common testcase folders." 2017-02-10 21:11:59 +00:00
Dan Willemsen
0f90908026 Support Soong native coverage
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
2017-02-10 09:27:35 -08:00
Treehugger Robot
af055f207a Merge "Remove mk file parser variables that are no longer required by system/bt" 2017-02-10 00:53:25 +00:00
Dan Willemsen
88ac806adf Sort clear_vars.mk again
Test: none
Change-Id: Id776e81977695c4b488f44b155f2c098d5f8b61a
2017-02-09 14:28:22 -08:00
Jack He
fae1cd13f0 Remove mk file parser variables that are no longer required by system/bt
* Removed BLUETOOTH_HCI_USE_MCT
* Removed BOARD_BLUETOOTH_BDROID_HCILP_INCLUDED

Bug: 35203653, 34951912
Test: Code compilation, no user visible effects
Change-Id: Ic575d3a0fac541da3e70543d0f144ea4792bc058
2017-02-09 14:28:00 -08:00
Dan Willemsen
c5bb5a8238 Fix "Nothing to be done" messages when launching soong_ui
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
2017-02-08 19:50:16 -08:00
Vishwath Mohan
a2046062fb Disble CFI for ARM32 processes.
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
2017-02-08 19:38:20 -08:00
Simran Basi
3fb354cca0 Output *TS testcases to their own subdir in the common testcase folders.
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
2017-02-08 15:53:32 -08:00
Treehugger Robot
469c458279 Merge "Output *TS testcases to common testcase folders." 2017-02-08 19:21:13 +00:00
Jayant Chowdhary
9b49502b95 Merge "Add RenderScript Toolchain information to Soong." 2017-02-08 17:45:38 +00:00
Simran Basi
7166d1f43a Output *TS testcases to common testcase folders.
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
2017-02-07 14:49:06 -08:00
Dan Willemsen
3eb10cf6fa Add USE_SOONG_UI to trigger soong_ui in Make mode
Test: USE_SOONG_UI=true m -j
Change-Id: Ic7a0b4e0881757b0324722d7d316fb8d13dabd9b
2017-02-06 15:04:40 -08:00
Colin Cross
2eca5d30df Merge "Create static archives in temporary file" 2017-02-06 21:19:22 +00:00
Treehugger Robot
220ca4d04b Merge "Add c_std and cpp_std properties." 2017-02-06 19:18:27 +00:00
Paul Duffin
7514ff26ca Merge "Revert "Remove legacy-test from TARGET_DEFAULT_JAVA_LIBRARIES"" 2017-02-06 15:03:14 +00:00
Paul Duffin
fc3d49651d Revert "Remove legacy-test from TARGET_DEFAULT_JAVA_LIBRARIES"
This reverts commit 01fc887a07.

A number of build breakages occurred which were not caused by presubmit checks.

Change-Id: I1351dba594c8a8b210416f75a67c68554d5b9372
2017-02-06 14:58:02 +00:00
Paul Duffin
bdf9ed17a0 Merge "Remove legacy-test from TARGET_DEFAULT_JAVA_LIBRARIES" 2017-02-06 12:55:21 +00:00
Dan Albert
76bfcd4ab2 Add c_std and cpp_std properties.
Test: Checked showcommands ouput for each setting.
Bug: None
Change-Id: Ibc25f3977eaaecfd1fb99a27c9e15acae0ec4106
2017-02-03 16:43:06 -08:00
Evgenii Stepanov
1604b38040 Merge "Disable CFI on Mips and add -march to linkflags on ARM." 2017-02-04 00:04:22 +00:00
Colin Cross
e14d9b7f7e Create static archives in temporary file
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
2017-02-03 15:16:59 -08:00
Jayant Chowdhary
8c3c9b5ec2 Add RenderScript Toolchain information to Soong.
Test: make -j64 from top of the tree.

Change-Id: I230f8d1265a71344bba8883ee9bdf2de98fcd41f
2017-02-02 19:35:58 -08:00
Stephen Hines
d12816b100 Merge "Switch to clang-3688880." 2017-02-01 21:25:03 +00:00
Evgenii Stepanov
8c50e3c4a8 Disable CFI on Mips and add -march to linkflags on ARM.
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
2017-02-01 12:13:06 -08:00
Baligh Uddin
a6b90881ca Remove -host
Bug: 34689537
Change-Id: Idd6b24a14caa863857303633ba15bd3b41a3a624
(cherry picked from commit b24470e989)
2017-02-01 09:34:41 -08:00
Baligh Uddin
96755d1296 Add libext2_misc to otatools package
Bug: 34689537
Change-Id: I4323acdbadb1c4c8faa6dbb17a79bce72c063407
(cherry picked from commit 3d1ce3a640)
2017-02-01 09:34:06 -08:00
Stephen Hines
40038d8451 Switch to clang-3688880.
Bug: http://b/31532493
Test: Manual validation.
Change-Id: I7c415a1008c368a4b65bac2b5cd3ded3f4bb9de0
2017-01-31 12:12:55 -08:00
Dan Willemsen
6cf21a7d14 Fix symbol zip creation with OUT_DIR outside source
Bug: 34818739
Test: OUT_DIR=/... m -j /.../aosp_arm64-symbols-eng.dwillemsen.zip
Change-Id: I1d0d3a9f70d3457a536dee6fc25f49a16c353ae8
2017-01-30 20:42:28 -08:00
Chih-Hung Hsieh
614b3a52ea Put back LLVM_PREBUILTS_BASE.
Without this, WITH_TIDY is disabled because
PATH_TO_CLANG_TIDY uses LLVM_PREBUILTS_BASE.

Test: build with WITH_TIDY=1
Change-Id: I607ae45550f4574b3cee8e91c3d5b7eaa5f0a96c
2017-01-26 10:23:54 -08:00
Tao Bao
04c8a03c85 Makefile: Pack libsparse-host.so into otatools.zip.
delta_generator has a dependency on that.

Bug: 34731113
Bug: 34723547
Test: m otatools-package
Change-Id: I70752a8c283bf98cb6106d3999515d0fd01f43b2
2017-01-26 16:27:18 +00:00
Brian Carlstrom
4932b9fb59 Merge "Revert "Switch to clang-3625443."" 2017-01-26 08:05:36 +00:00
Stephen Hines
0425d52cde Revert "Switch to clang-3625443."
This reverts commit 296af27303.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I524c2c89004c79352bf2be3727c7ddcceca9b2e7
2017-01-26 07:59:53 +00:00
Treehugger Robot
296c345be9 Merge "Switch to clang-3625443." 2017-01-26 07:13:21 +00:00
Treehugger Robot
7ae18449ec Merge "Prevent abuse of property overrides" 2017-01-25 07:15:09 +00:00
Jaekyun Seok
7ace0d60ef Prevent abuse of property overrides
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)
2017-01-25 13:00:25 +09:00
Hiroshi Yamauchi
131731fd49 Merge "Enable PRODUCT_ART_USE_READ_BARRIER by default." 2017-01-24 22:14:43 +00:00