Commit graph

1644 commits

Author SHA1 Message Date
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
Dan Albert
65780b2c24 Add a script to build the NDK prebuilts.
Test: OUT_DIR=ndk-out DIST_DIR=ndk-dist \
          ./build/soong/scripts/build-ndk-prebuilts.sh
Bug: None

Change-Id: I3c930d2ec4d73196e355b90766eb14f0f0361460
2016-10-19 14:35:15 -07:00
Dan Albert
4098deb0b8 Add an NDK ABIs mega build configuration.
The NDK needs generic prebuilts for all architectures.

Test: echo '{ "Ndk_abis": true }' > soong.config && \
          ./soong $OUT_DIR/ndk.timestamp
Bug: None

Change-Id: I2ee3ebbf4cbd1bc593f9e4e9fb44fb66711da9d5
2016-10-19 14:33:37 -07:00
Eyal Lezmy
94d7543b14 Support MacOS SDK version 10.12
This adds the new macOS SDK version to the supported version list.
Surprisingly it simply works like this.
Test: make adb aapt

Change-Id: Ic72cee7345b5f49b6a743c70bd266866a06bc459
2016-10-19 00:59:05 +02:00
Colin Cross
948f0cb9ea Allow disabling gnu extensions
Pass -std=c++14 instead of -std=gnu++14 (or whatever the current default
is) when "gnu_extensions: false" is specified in the blueprints files.

Bug: 32159540
Test: builds
Change-Id: If206228a972129d9574bcf50ddff283b7e7d3fd7
2016-10-18 12:41:17 -07:00
Colin Cross
6f6a428760 Consolidate -std flags
Define the default -std values in global.go, export them in makevars.go,
and use them in compiler.go.

Test: builds
Change-Id: Ia2ae01f63e182d0ad7f371e6d32184bff35a8897
2016-10-18 12:40:51 -07:00
Dan Willemsen
a6dd262114 Allow brillo cflags and debuggable cppflags
am: 7b872837c6

Change-Id: I606c4a8e34e635f16584585f3a03e089b81b6462
2016-10-18 04:35:15 +00:00
Dan Willemsen
7b872837c6 Allow brillo cflags and debuggable cppflags
Test: mmma -j frameworks/native/{libs/gui,opengl/libs} w/Android.bp
Change-Id: I31286c92ec4befaa486052ba2e6d55cd0d5fe62d
2016-10-17 14:50:08 -07:00
Colin Cross
64c42791f1 Re-enable prebuilt_test
am: 0d614dd222

Change-Id: I544461f21b3e794f728b84c9dd15f9d5c1644428
2016-10-15 02:05:04 +00:00