Commit graph

956 commits

Author SHA1 Message Date
Josh Gao
92da2b5e99 Allow darwin targets to use -framework CoreFoundation.
Bug: http://b/31245118
Change-Id: I5aa6162715b643af4a3073e6e403a6e1729f7c15
2016-09-01 11:53:42 -07:00
Colin Cross
9d45bb78c5 Enable goma in soong
When the UseGoma flag is set, put all rules except the C compilation
rule in an externally defined local_pool, which will have been created
by kati.  The gomacc wrapper will already be in the CC_WRAPPER
environment variable.

Bug: 31142427
Change-Id: I699d4edff2e302eee398dad8692ceb14721a628c
2016-08-31 09:48:08 -07:00
Dan Willemsen
3cfaba1654 Merge "Simplify bootstrapping" 2016-08-31 16:06:35 +00:00
Dan Willemsen
79d2f256d4 Simplify bootstrapping
Follow changes from https://github.com/google/blueprint/pull/121

Change-Id: Icc5003f6e8592a667e1ce5e58361c03997078763
2016-08-31 01:20:29 -07:00
Colin Cross
ecc53306b8 Merge "Add CC_WRAPPER support" 2016-08-30 19:34:01 +00:00
Treehugger Robot
8be0e0ffde Merge "Expose module suffixes to Make" 2016-08-30 02:10:52 +00:00
Dan Willemsen
5710e770ea Merge "Add frameworks/av to root.bp" 2016-08-29 23:25:57 +00:00
Dan Willemsen
1d577e25a7 Expose module suffixes to Make
These had only been exposed for shared libraries.

Also fixes testDecorator to not have two baseInstallers both being
written out to the Android.mk.

Bug: 31158868
Test: manual diff of out/soong/Android-aosp_flounder.mk
Test: Verify installed windows binaries end in .exe
Change-Id: I2bded5fb090117d48ade575b4438e0dedd2e3763
2016-08-29 16:02:05 -07:00
Treehugger Robot
27807b5415 Merge "Fix installation path for asan libraries" 2016-08-29 22:29:16 +00:00
Treehugger Robot
70595d1e95 Merge "Move Android.bp definitions into subdirs" 2016-08-29 22:13:12 +00:00
Colin Cross
9461040154 Fix installation path for asan libraries
Check c.sanitize.inData() when deciding on install paths.
Don't set inData() for sanitized binaries.

Bug: 30773053
Change-Id: I24be75ccc1b25ae53f7f0a98d1632b30735d0931
2016-08-29 13:50:24 -07:00
Alistair Strachan
777475cb48 Add CC_WRAPPER support
Change-Id: If252c41ec1e3d708f599990c72be69dc8117ae14
2016-08-29 20:39:32 +00:00
Dan Willemsen
085a8cdeb5 Add frameworks/av to root.bp
Change-Id: Id1867ba1be12b4ddee0e5d9a23e6bbd2c2699b7f
2016-08-26 17:52:06 -07:00
Pirama Arumuga Nainar
15690c02d6 Switch to prebuilt clang-3217047
Bug: http://b/30421084
Change-Id: I8b65669ef9f60f85202295de117d3806d3a5b1f6
Test: Tested build, boot and common usage for several devices in AOSP
and internal branch.
2016-08-26 21:54:54 +00:00
Treehugger Robot
f5a50a8b17 Merge "Fix mac art build" 2016-08-26 01:22:07 +00:00
Colin Cross
7d82ab76dd Fix mac art build
-Wl,-read_only_relocs,suppress is required for libart to build to
avoid the error:
ld: illegal text-relocation to '__ZN3art7Runtime9instance_E' in out/soong/.intermediates/art/runtime/libart/darwin_x86_static/obj/art/runtime/runtime.o from '_art_quick_throw_null_pointer_exception' in out/soong/.intermediates/art/runtime/libart/darwin_x86_static/obj/art/runtime/arch/x86/quick_entrypoints_x86.o for architecture i386

Change-Id: Id9a0fda1dbf12a254f92419a21e5f290895ea62c
2016-08-25 16:54:53 -07:00
Dan Willemsen
377737a01c Move Android.bp definitions into subdirs
Test: m blueprint_tools still produces the same tools
Change-Id: Ia1e2e43c62cb6035616bef9fbef56417b46cf3a4
2016-08-25 15:50:21 -07:00
Colin Cross
1e7d3706d6 Add support for preferred arch symlinks
Add a symlink_preferred_arch property to binaries to allow compiling the
binary for multiple architectures and then creating a symlink to the
preferred archicture, for example dalvikvm32 and dalvikvm64, with
dalvikvm symlinked to dalvikvm64.

Test: mmma -j art/dalvikvm
Change-Id: Ied15f2be9d52c01006fe8ac207c175b78558eab1
2016-08-25 22:42:02 +00:00
Colin Cross
0f4e0d6c5d Add art
Re-land I557c86d2282178d215ea17abb71e556bdc4ba722

Change-Id: Ic26e1a6b17569acbfe68b4a219982ce45cecefbd
2016-08-25 14:00:25 -07:00
Colin Cross
d46b39d356 Merge "Revert "Add art"" 2016-08-25 01:05:27 +00:00
Colin Cross
857a527f67 Revert "Add art"
This reverts commit f7288f3906.

Change-Id: Ibb63fe2a95d1517fea63a65a7dbe5cac84902107
2016-08-25 01:03:59 +00:00
Treehugger Robot
9bbec069a2 Merge "Add art" 2016-08-25 00:31:21 +00:00
Colin Cross
f7288f3906 Add art
Change-Id: I557c86d2282178d215ea17abb71e556bdc4ba722
2016-08-23 13:14:40 -07:00
Colin Cross
7d93303540 Add PropertyCustomizer
am: a120ec1c5e

Change-Id: Ia6241e8063bf07a0b63aa9a9ca6718e9db36c26b
2016-08-23 20:10:58 +00:00
Colin Cross
83964d6f92 Export DefaultsFactory
am: e1d764e369

Change-Id: I5c4b2350707736d018110670c9739b41ba664401
2016-08-23 20:10:57 +00:00
Colin Cross
a120ec1c5e Add PropertyCustomizer
Allow any module factory to insert a PropertyCustomizer on the module,
which will be called before any other mutators.  The PropertyCustomizer
can append or prepend to any properties, allowing module types to extend
other module types by modifying the public, stable interface provided by
the properties.

Change-Id: Idff02be80d939a70df1c6bbccffdd1f04ff975d2
2016-08-22 17:08:06 -07:00
Colin Cross
e1d764e369 Export DefaultsFactory
Add an exported DefaultsFactory so that external module types can extend
cc_defaults.  DefaultsFactory takes a variadic list of additional
property structures.  defaultsFactory remains as the module factory for
cc_defaults.

Change-Id: I03b450ab3a31625e7baca165d393a0007fb3e421
2016-08-22 17:08:06 -07:00
Colin Cross
8d6e227c10 Add DeviceConfig and OncePer objects
am: 9272ade7a8

Change-Id: Ida7c815a586b7fa4c27518ddae72fa6b06123be1
2016-08-18 01:04:25 +00:00
Colin Cross
9272ade7a8 Add DeviceConfig and OncePer objects
Add DeviceConfig to store per-device configuration information.  Put a
OncePer object inside Config and DeviceConfig, which computes a value
once per key per object to allow build logic to store arbitrary
per-build or per-device computed values.

Change-Id: I1a38b426f29d223ef5e803e0d4d9604500de2fd2
2016-08-17 16:39:06 -07:00
Colin Cross
37f1c3dd70 Merge "Support required property"
am: 389d2bb145

Change-Id: I1f63a850a3c497dec170e85606b0f1e1545b19fe
2016-08-17 17:23:22 +00:00
Colin Cross
389d2bb145 Merge "Support required property" 2016-08-17 17:06:22 +00:00
Evgenii Stepanov
d820bdeda7 Add ubsan_standalone library name to the toolchain.
am: af36db1178

Change-Id: I110f5e295ff2c66838ea6b3e998ea04e84e08a62
2016-08-16 21:07:50 +00:00
Evgenii Stepanov
af36db1178 Add ubsan_standalone library name to the toolchain.
and export the library name to make. Refactor the code a bit to avoid repeating the library name
multiple times.

Bug: 22033465
Test: Ran external/clang/build.py for aosp-llvm

Change-Id: I25eb3858eb92e1dd493b09524d559802551b2547
2016-08-15 17:05:04 -07:00
Chris Wolfe
998306e525 Support required property
This adds LOCAL_REQUIRED_MODULES to the generated Android.mk for any
dependencies in the "required" list of a module.

Change-Id: Ibcfe89dce7d247eb441af94e37388a59e71a75a9
2016-08-15 17:10:47 -04:00
Colin Cross
d6bf916a03 Merge "Fix coverage sanitizer builds"
am: 9883461664

Change-Id: I2b5ab662ff95c5e18827750fde9bd8f72d24777e
2016-08-15 18:24:40 +00:00
Colin Cross
9883461664 Merge "Fix coverage sanitizer builds" 2016-08-15 18:12:23 +00:00
Colin Cross
7d7245f3fe Fix cc_benchmark installs
am: 33586f3b10

Change-Id: I51cad975fb5d556e01645fe05ea20d3ca7c5e309
2016-08-12 06:52:50 +00:00
Colin Cross
33586f3b10 Fix cc_benchmark installs
cc_benchmark was not propagating the call to baseInstaller.install,
which resulted in no install location being set and the benchmarks
installed in out/.

Change-Id: I4399cd479d9cd7ec1b7332dd0d20a9ab3820b04e
2016-08-11 22:26:17 -07:00
Colin Cross
bb3d66c1fa Make defaults TopDownMutator parallel
am: 76f2f97c51

Change-Id: I40d5eb0cf8721ef89c92ebbd2bf9f75fce30381a
2016-08-12 02:48:37 +00:00
Colin Cross
76f2f97c51 Make defaults TopDownMutator parallel
Append .Parallel() to the defaults RegisterTopDownMutator call to tell
Blueprint it can run it in parallel.  Saves ~500ms in soong_build.

Change-Id: I43ddd9d6995674ccc06fed6928514f15a15712c1
2016-08-11 17:15:07 -07:00
Colin Cross
91169fe8ea Fix coverage sanitizer builds
Disable coverage for static binaries where address sanitizer is
disabled, and disable coverage in the mutator when disabling address
sanitizer.

Bug: 29188876
Change-Id: Ia1a21878c3f34cd295a6dec49608c412eb09e7b1
2016-08-11 16:54:01 -07:00
Colin Cross
e0b666c229 Merge "Make BottomUpMutators parallel"
am: aa99f84e57

Change-Id: I49cd56f16258f5405515275309bcb0329a32e639
2016-08-11 21:45:17 +00:00
Treehugger Robot
aa99f84e57 Merge "Make BottomUpMutators parallel" 2016-08-11 21:35:24 +00:00
Colin Cross
e8a67a7c58 Make BottomUpMutators parallel
Append .Parallel() to all of the RegisterBottomUpMutator calls to tell
Blueprint it can run them in parallel.

Test: identical build.ninja, passes race detector
Change-Id: I969a0689522d4cba7c8ff51e2aa00fe2fd338a89
2016-08-11 13:20:16 -07:00
Dan Willemsen
da8a307625 Merge changes from topic 'fast_dist'
am: 8bdd631a75

Change-Id: I4a3e8b06e155d8c7f830b4db1790461943278d8c
2016-08-11 19:33:14 +00:00
Treehugger Robot
8bdd631a75 Merge changes from topic 'fast_dist'
* changes:
  Rename soong_jar to soong_zip
  soong_jar: Parallel compression
  Add zip2zip tool to copy zip entries from one file to another
  Add archive/zip from go1.7rc5 tag
2016-08-11 19:28:14 +00:00
Dan Albert
585738ad21 Add support for NDK r13.
am: d015c4ac1b

Change-Id: I1d1c599bbe918537fb4afd4ca568937ee7859923
2016-08-11 16:52:59 +00:00
Dan Willemsen
47ec28f3b1 Rename soong_jar to soong_zip
This is a general purpose tool that happens to contain some jar specific
features.

Change-Id: I05f4654d4517c245ad7a3c15492e0d2368bbf64f
2016-08-11 01:30:16 -07:00
Dan Willemsen
017d8937fa soong_jar: Parallel compression
This compresses multiple files in parallel, and will split up larger
files (5MB+) into smaller chunks (1MB) to compress in parallel.

There is a small size overhead to recombine the chunks, but it's only a
few bytes per chunk, so for a 1MB chunk, it's minimal.

Rough numbers, with everything in the page cache, this can compress
~4GB (1000 files) down to 1GB in 6.5 seconds, instead of 120 seconds with
the non-parallel soong_jar and 150 seconds with zip.

Go's DEFLATE algorithm is still a bit worse than zip's -- about 3.5%
larger file sizes, but for most of our "dist" targets that is fine.

Change-Id: Ie4886c7d0f954ace46e599156e35fea7e74d6dd7
2016-08-11 01:30:16 -07:00
Dan Albert
d015c4ac1b Add support for NDK r13.
Test: make checkbuild
Bug: None
Change-Id: I6e7c92d6731be4ae47c7dc5e9444af08d338334b
2016-08-10 23:14:13 -07:00