Commit Graph

1652 Commits

Author SHA1 Message Date
Dan Willemsen e1a3ce3609 Add yacc generated headers to the include path
Test: mmma -j system/tools/aidl
Change-Id: I444c7f2b004877e027f67e36e016b528511e1a32
2016-11-02 21:19:18 -07:00
Dan Willemsen 21ec49068f Add subdir to GenPath
We were emulating this for proto files, standardize it and make the
other generators use it as well.

Test: Compare out/soong/build.ninja before/after change
Test: mmma -j system/tools/hidl
Change-Id: I1888c7b981749060a398387bbb9b481270bf6d75
2016-11-02 21:19:11 -07:00
Dan Willemsen 79cfc83f6e Merge "Update build.ninja.in for blueprint upgrade"
am: eb716e2559

Change-Id: Icb0a3136dda5c41db7772a6e9f553203493fea4a
2016-11-03 02:45:16 +00:00
Dan Willemsen eb716e2559 Merge "Update build.ninja.in for blueprint upgrade" 2016-11-03 02:39:18 +00:00
Dan Willemsen 568be82106 Allow overriding tidy configs using environment variables
am: 318af8be27

Change-Id: Id73b8894bc6b33943ac131fe48a2620edee622f4
2016-11-03 00:44:00 +00:00
Dan Willemsen 627803256f Update build.ninja.in for blueprint upgrade
Bug: 32574042
Test: m -j
Change-Id: I34a3180a34b156955baf49c87fa985583083687e
2016-11-02 16:21:56 -07:00
Dan Willemsen 318af8be27 Allow overriding tidy configs using environment variables
This matches what Make did.

Bug: 32244182
Test: WITH_TIDY=1 m -j
Test: WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=* m -j
Test: WITH_TIDY=1 DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS=* m -j
Change-Id: I12ee413829d35e20f21f8ca49bb315ea831a6506
2016-11-02 15:47:20 -07:00
Colin Cross 23ae82a2b2 Support sanitizing a single device arch
Allow specifying one or more architectures to sanitize for.  Defaults to
sanitizing all architectures.  Allows reducing the cost of sanitization
by only sanitizing half of the platform.

Bug: 29498013
Test: No change to build.ninja files with m -j SANITIZE_TARGET=address
Test: m -j SANITIZE_TARGET=address SANITIZE_TARGET_ARCH=arm
Test: nm -D $OUT/system/bin/app_process64 | grep asan, no asan symbols found
Change-Id: I972cccc2f19443895d47b44bd8104105f93ffb7d
2016-11-02 15:18:19 -07:00
Dan Willemsen f763a52f3e Merge changes from topic 'soong-clang-tidy'
am: 9194d8076c

Change-Id: Idbe3f27c087f50b8719e60d519f93e80af757a9d
2016-11-01 01:23:06 +00:00
Dan Willemsen b274202d2a Add clang-tidy support
am: a03cf6d322

Change-Id: Idd480832fa400f6f7f401fce619426f61bb69525
2016-11-01 01:22:24 +00:00
Dan Willemsen 40d479babe Start using "struct Objects" to store object Paths
am: 5cb580f407

Change-Id: I40aa1ef054eab887c56d55ce56f179ea9ae58d48
2016-11-01 01:22:23 +00:00
Treehugger Robot 9194d8076c Merge changes from topic 'soong-clang-tidy'
* changes:
  Add clang-tidy support
  Start using "struct Objects" to store object Paths
2016-11-01 01:19:00 +00:00
Evgenii Stepanov 45d131b88d [soong] Enable LOCAL_SANITIZE:=cfi and add LOCAL_SANITIZE_DIAG.
am: 1e405e160a

Change-Id: I43ed2fdc9a4b32d22d229eca9f48cb4f9c4672de
2016-11-01 01:00:49 +00:00
Dan Willemsen a03cf6d322 Add clang-tidy support
For every file which we can run clang-tidy (C/C++ clang-built), we add a
new build node that depends on the object file (since clang-tidy does
not export a depfile), and is depended on by the link step. This is
better than how we're doing it in make, since calling tidy can be turned
on or off without needing to rebuild the object files.

This does not attempt to port WITH_TIDY_ONLY from Make, since the way
that it works is broken (due to the lack of a depfile).

Bug: 32244182
Test: WITH_TIDY=true mmma -j bionic/libc
Test: ./soong (Setting ClangTidy: true)
Change-Id: I40bbb5bb00d292d72bf1c293b93080b5f9f6d8ea
2016-10-31 16:21:01 -07:00
Dan Willemsen 5cb580f407 Start using "struct Objects" to store object Paths
So that we can represent other files that get generated along with the
objects, like the gcno coverage information, and per-file clang-tidy
runs.

Test: Soong's build.ninja identical before/after
Change-Id: I5c553a153c436d5403549f62c73fe79c5f101779
2016-10-31 16:18:49 -07:00
Evgenii Stepanov 1e405e160a [soong] Enable LOCAL_SANITIZE:=cfi and add LOCAL_SANITIZE_DIAG.
LOCAL_SANITIZE_DIAG works for ubsan, too.

Bug: 22033465
Test: build a test target with cfi and diag { cfi } properties.

Change-Id: I9cd8e8df9b330430b321709d7f05b4da0294e771
2016-10-31 15:29:08 -07:00
Dan Willemsen 82c9ed6100 Merge "Remove support for building with OSX 10.8/9 SDKs"
am: 5d5db02bf6

Change-Id: I7741e225ff063368d83ff74ba7c2b2f4556ad6cd
2016-10-28 22:59:43 +00:00
Treehugger Robot 5d5db02bf6 Merge "Remove support for building with OSX 10.8/9 SDKs" 2016-10-28 22:50:20 +00:00
Dan Willemsen 85e3d0110f Remove support for building with OSX 10.8/9 SDKs
Our minimum build version listed on source.android.com is 10.10. Change
the minimum used SDK to 10.10, but keep the deployed version at 10.8 so
that our distributed tools still work on older versions.

CoreBluetooth/CoreBluetooth.h isn't available directly in older SDKs,
but we need to include it in the 10.12 SDK.

Test: `m -j` with 10.11, 10.12 SDKs.
Test: Verified the builders all have at least 10.10 sdk available.
Change-Id: I82321875b8b3a4099ea829ce2d75e1af29cb38c6
2016-10-28 13:57:34 -07:00
Colin Cross e9c465d644 Merge changes from topic 'proto'
am: d41935f34d

Change-Id: Iebcf780af405dc7182937a59cbcb42ee24aba210
2016-10-28 20:21:00 +00:00
Colin Cross 6fded76595 Add support for .proto files
am: 0c461f1f6e

Change-Id: I1f96fc0bf85cc9afec18b1323922a319db6dbf64
2016-10-28 20:10:12 +00:00
Colin Cross 656028558b Add Path.Base helper
am: 4f6fc9c1d8

Change-Id: I2e671b0916588d960d5ed5e496a5522564d4dee2
2016-10-28 20:10:10 +00:00
Colin Cross dc90f3bd71 Simplify compileObjs
am: 2f33635542

Change-Id: I5766b8964fc1da175d74408c2ffe089f989305c7
2016-10-28 20:10:09 +00:00
Treehugger Robot d41935f34d Merge changes from topic 'proto'
* changes:
  Add support for .proto files
  Add Path.Base helper
  Simplify compileObjs
2016-10-28 20:04:51 +00:00
Colin Cross 0c461f1f6e Add support for .proto files
.proto files are translated to .pb.cc and .pb.h files, which are then
compiled normally.

Bug: 32286026
Test: mmma -j system/extras/perfprofd
Change-Id: I538071424d667aacf35b4b8bfebe217f5f092726
2016-10-27 15:28:09 -07:00
Colin Cross 4f6fc9c1d8 Add Path.Base helper
Add Path.Base to return the basename of a Path object.

Test: builds
Change-Id: I2bf1519dc5039bedb1586e7ec18297a293e32e11
2016-10-27 15:18:17 -07:00
Colin Cross 2f33635542 Simplify compileObjs
None of the direct users of compileObjs were using any of its
complexity (generated sources, excluded sources, extra sources).  Move
the complexity back in to baseCompiler.compile.

Test: m -j
Change-Id: I2e59d216682c00dd12a1395cf2448827d1c48023
2016-10-27 15:18:13 -07:00
Eyal Lezmy d83d113e3d Merge "Support MacOS SDK version 10.12"
am: 0cca777715

Change-Id: I36453d0e3b34d9cc61dcb29ef3b57117730a0612
2016-10-26 23:01:28 +00:00
Treehugger Robot 0cca777715 Merge "Support MacOS SDK version 10.12" 2016-10-26 22:54:03 +00:00
Dan Willemsen 9551c30b16 Update build.ninja.in
am: 11fa52208d

Change-Id: I0fd7c9b647fc14bcb0b2802cb2a44c5df5a30e16
2016-10-26 00:55:11 +00:00
Dan Willemsen 11fa52208d Update build.ninja.in
This was causing extra rebuilds for fresh builds. Update with the latest
blueprint changes.

Test: m blueprint_tools, fewer rebuilds
Change-Id: I6b82e9cafa6e84f4089c6f90372bddcd6f85b0ea
2016-10-25 16:08:37 -07:00
Colin Cross 921125e65e Don't pass -Wl,--no-undefined to host targets
am: 46974e2457

Change-Id: I9505981ac11fffc033eccb31f01b9669a9234d96
2016-10-21 23:07:25 +00:00
Colin Cross 46974e2457 Don't pass -Wl,--no-undefined to host targets
Host builds were compiling without -Wl,--no-undefined because of an ASAN
issue.  Pass -Wl,--no-undefined for host builds unless sanitzers are
enabled.  Also fix LOCAL_ALLOW_UNDEFINED_SYMBOLS on darwin, where
disallowing undefined symbols is the default.

Test: m -j host
Test: m -j SANITIZE_HOST=address host
Bug: 32305815
Change-Id: Ia4bb305a50b1c1048b119f75726d52f82e21438c
2016-10-21 18:20:23 +00:00
Dan Willemsen a816a63495 Merge "Fix gofmt problems and add gofmt to preupload checks"
am: 001276f6e0

Change-Id: I7e2aed7c185544391d06261fcbfe445ec8d1decb
2016-10-21 04:02:33 +00:00
Treehugger Robot 001276f6e0 Merge "Fix gofmt problems and add gofmt to preupload checks" 2016-10-21 03:54:26 +00:00
Dan Willemsen 78ffeea24e Fix gofmt problems and add gofmt to preupload checks
Test: gofmt -d .
Test: <bad change>, repo upload
Change-Id: I5ca0676461616f166a842d307c600dc50a50ec48
2016-10-20 18:48:20 -07:00
Dan Albert 9743874904 Merge "Add a "license" property to ndk_headers."
am: 8815351118

Change-Id: I3c2d4df9cf3085583f66cd9a60cb60b888c28eaa
2016-10-20 22:16:37 +00:00
Treehugger Robot 8815351118 Merge "Add a "license" property to ndk_headers." 2016-10-20 22:12:40 +00:00
Colin Cross 25f12d47a8 Merge changes from topic 'std'
am: 83dec15971

Change-Id: I8a6ad3991391c4f6ed16886ce89c88be06f2589c
2016-10-20 21:53:18 +00:00
Colin Cross a985fc6186 Allow disabling gnu extensions
am: 948f0cb9ea

Change-Id: Ifca6da94a8989b3e8143f9a2573911fb49957db1
2016-10-20 21:52:43 +00:00
Colin Cross 7dc95692d4 Consolidate -std flags
am: 6f6a428760

Change-Id: I1ea0db990df17715a061a7644e8c9fb879698e49
2016-10-20 21:52:42 +00:00
Colin Cross 83dec15971 Merge changes from topic 'std'
* changes:
  Allow disabling gnu extensions
  Consolidate -std flags
2016-10-20 21:40:55 +00:00
Dan Albert 7d688c925c Merge changes I3c930d2e,I2ee3ebbf
am: a4af8ab16b

Change-Id: I882e2874b88a8809c9435b64ea8b8fd8e612fa72
2016-10-20 21:37:40 +00:00
Dan Albert bbd06ae7fb Add a script to build the NDK prebuilts.
am: 65780b2c24

Change-Id: Ib629a2c8d966c0c1584a2eae06aea143cf761e22
2016-10-20 21:37:40 +00:00
Dan Albert d5574e6126 Add an NDK ABIs mega build configuration.
am: 4098deb0b8

Change-Id: Ie45c12487e94351e1c042a0404ed8c0a6c2dc120
2016-10-20 21:37:39 +00:00
Treehugger Robot a4af8ab16b Merge changes I3c930d2e,I2ee3ebbf
* changes:
  Add a script to build the NDK prebuilts.
  Add an NDK ABIs mega build configuration.
2016-10-20 21:25:33 +00:00
Colin Cross 974c9ac470 Merge "Only use -read_only_relocs on darwin x86"
am: b96f352534

Change-Id: I2bdabbcfd24e1706964d6ac97978c9d9930b9e82
2016-10-20 21:14:08 +00:00
Treehugger Robot b96f352534 Merge "Only use -read_only_relocs on darwin x86" 2016-10-20 21:04:56 +00:00
Dan Albert c6345fb7ec Add a "license" property to ndk_headers.
This field points to the license file for the headers being shipped.

Test: make ndk && less $SOONG_OUT/ndk/NOTICE
Bug: None
Change-Id: I386f4e6f6d9776f422ffc09b8dab69e1911b08a4
2016-10-20 13:30:07 -07:00
Colin Cross 7863cf53a8 Only use -read_only_relocs on darwin x86
Darwin x86_64 warns with -read_only_relocs:
ld: warning: -read_only_relocs cannot be used with x86_64

Only pass it for darwin x86.

Test: m -j on darwin
Change-Id: I080afb83d777587d14b60c8cd24b59005a275275
2016-10-20 10:47:21 -07:00