Commit Graph

3718 Commits

Author SHA1 Message Date
Colin Cross
07b79f21dd Merge changes Id9717132,I3e3b7251,I021c7971,I8a117a86,Ia5196f1f, ...
am: b8245ea839

Change-Id: I9cd28715891eb9bbd6e0d1a3e0a3e83da2d1d00f
2017-08-12 01:19:58 +00:00
Treehugger Robot
b8245ea839 Merge changes Id9717132,I3e3b7251,I021c7971,I8a117a86,Ia5196f1f, ...
* changes:
  Allow AndroidMkData.Custom handlers to extend normal values
  Remove error from AndroidMkDataProvider.AndroidMk
  Remove error from AndroidMkData.Custom
  Remove error from AndroidMkData.Extra
  Bring java support closer to current version of make
  Rename java_prebuilt_library to java_import
2017-08-12 01:11:59 +00:00
Colin Cross
80ce6b2b73 Use --hash-style=both for NDK binaries
am: 6774e2893a

Change-Id: I0a320191adae93e0d7f7f8e37e838a9426755fff
2017-08-11 23:58:53 +00:00
Colin Cross
0f86d186b1 Allow AndroidMkData.Custom handlers to extend normal values
Pass accumulated AndroidMkData to AndroidMkData.Custom handlers
and expose WriteAndroidMkData so that Custom handlers can write
out the normal make variables and then add their own.

Test: No change to out/soong/Android-aosp_sailfish.mk
Change-Id: Id9717132bbd6c5cf3af8596f3eaa9bbb05d98e40
2017-08-11 15:24:11 -07:00
Colin Cross
a18e9cfa29 Remove error from AndroidMkDataProvider.AndroidMk
It's never anything except nil, and it unnecessarily complicates
the implementations.

Test: m -j checkbuild
Change-Id: I3e3b7251f32ffa84dbdfd0448faf248c306ca808
2017-08-11 15:24:11 -07:00
Colin Cross
91825d2279 Remove error from AndroidMkData.Custom
It's never anything except nil, and it unnecessarily complicates
the implementations.

Test: m -j checkbuild
Change-Id: I021c7971ede3e11bbe08cf1601f4690ed4d1a036
2017-08-11 15:24:11 -07:00
Colin Cross
27a4b05441 Remove error from AndroidMkData.Extra
It's never anything except nil, and it unnecessarily complicates
the implementations.

Test: m -j checkbuild
Change-Id: I8a117a86aa39aeb07d9d8d0686ef869c52784f19
2017-08-11 15:24:11 -07:00
Colin Cross
6416271a1f Bring java support closer to current version of make
Make the javac arguments match what is used by make, and export them
back to make.  A future change will switch make to use the the
exported ones.

This makes a dx.jar compiled with soong have identical class files
as one compiled with make.

Test: manual
Change-Id: Ia5196f1f42bc564e99de22e32e72fd2930e9fbae
2017-08-11 15:24:11 -07:00
Colin Cross
74d73e2bfb Rename java_prebuilt_library to java_import
And make it work like bazel's java_import, using a "jars" property
instead of "srcs", and allowing multiple jars to be listed.

Test: soong tests
Change-Id: Ida2ace6412bd77b4feb423646000a1401004e0ea
2017-08-11 15:24:11 -07:00
Colin Cross
6774e2893a Use --hash-style=both for NDK binaries
Old devices don't support gnu hashes, use --hash-style=both when
the sdk_version property is set.

Test: m -j checkbuild
Bug: 64608507
Change-Id: Iec5229a08fc192f1c8872466ee4bf866adf50443
2017-08-11 22:21:39 +00:00
Vishwath Mohan
866abe518b Merge changes from topic 'revert_mutator_changes'
am: c4cab48c26

Change-Id: I220d38b2ce5aa54ef5ebf3c7b89cf3189c13d471
2017-08-11 14:51:52 +00:00
Vishwath Mohan
c4cab48c26 Merge changes from topic 'revert_mutator_changes'
* changes:
  Revert "Fix ASAN mutator."
  Revert "Don't apply sanitizer mutators to host modules."
2017-08-11 14:47:17 +00:00
Jiyong Park
e78c43584e Merge "List of VNDK-related libs are exported to make"
am: c5d3abf107  -s ours

Change-Id: I06590b4318fc567a243738d5229ebe7374f04914
2017-08-11 02:17:49 +00:00
Treehugger Robot
c5d3abf107 Merge "List of VNDK-related libs are exported to make" 2017-08-11 01:38:15 +00:00
Vishwath Mohan
952293044f Revert "Fix ASAN mutator."
This reverts commit 12758d0cec.

Change-Id: I475e63d7e56ff166c2046fc423a1729ed098ff66
2017-08-11 00:56:44 +00:00
Vishwath Mohan
e615345f28 Revert "Don't apply sanitizer mutators to host modules."
This reverts commit bba1927bde.

Change-Id: Ie895d8eae5abb533468b836639e0835e7adbf8c9
2017-08-11 00:52:44 +00:00
Vishwath Mohan
18b69e7cf4 Merge "Don't apply sanitizer mutators to host modules."
am: e5d3ef4cc8

Change-Id: If45d74d6be4c1817ae5f2a73e9b4e902d57e5c5c
2017-08-10 23:58:25 +00:00
Vishwath Mohan
e5d3ef4cc8 Merge "Don't apply sanitizer mutators to host modules." 2017-08-10 23:49:25 +00:00
Jeff Gaston
cb2199fecb Merge changes Ib63e8e10,I9f730316
am: 7943aebaa2

Change-Id: Ie9e71f2e31135226af6c65012f963058d73b8be2
2017-08-10 23:10:54 +00:00
Jeff Gaston
7943aebaa2 Merge changes Ib63e8e10,I9f730316
* changes:
  Darwin support for Finder
  Revert "Revert "Cacheable, multithreaded finder.""
2017-08-10 22:59:16 +00:00
Jeff Gaston
9f6da315aa Darwin support for Finder
Bug: 62455338

Test: m -j # while on Mac

Change-Id: Ib63e8e10bddcb3b507878364218273e8a5a8aa82
2017-08-10 14:22:16 -07:00
Jeff Gaston
f1fd45e784 Revert "Revert "Cacheable, multithreaded finder.""
Bug: 62455338
Test: m -j

This reverts commit d1abeb9d98.

Change-Id: I9f73031636157511b5f1c6ce8a205e9bc91669ff
2017-08-10 12:20:30 -07:00
Vishwath Mohan
bba1927bde Don't apply sanitizer mutators to host modules.
This CL blocks modules intended for the host from having the bottom up
sanitizer mutator applied. We only maintain a single copy of host
binaries, so generating variants doesn't make sense
anyway. Additionally, the existing logic was causing an error with
builds not embedded in make (eg: aosp-build-tools which uses
soong_ui.bash) where the wrong variant was installed on the host. This
change should fix that.

Bug: 64536751
Test: m -j40 && SANITIZE_TARGET="address" m -j40
Test: aosp-build-tools build breakage is fixed.
Change-Id: Ia79b4661f69ce26a7be17c4339c18ca0f397d760
2017-08-10 11:05:00 -07:00
Jiyong Park
d5b18a55bb List of VNDK-related libs are exported to make
LL-NDK, VNDK-core, VNDK-SP libraries are exported to make as
SOONG_LLNDK_LIBRARIES, SOONG_VNDK_CORE_LIBRARIES, and
SOONG_VNDK_SAMEPROCESS_LIBRARIES. This can be used to auto-generate
ld.config.txt from a template.

Bug: 64013660
Test: BOARD_VNDK_VERSION=current m -j successful
Test: check out/soong/make_vars*.mk and look for SOONG_*_LIBRARIES

Merged-In: I0f4c5d05d9cd28c3fc9fdcca6ce0e6eaeaacbe8d
Change-Id: I0f4c5d05d9cd28c3fc9fdcca6ce0e6eaeaacbe8d
2017-08-10 14:15:39 +09:00
Vishwath Mohan
30fc680957 Merge "Fix ASAN mutator."
am: 46c6a171aa

Change-Id: Ia005e3fc7153af19d082697378f971e354b8eaf7
2017-08-10 02:48:26 +00:00
Vishwath Mohan
46c6a171aa Merge "Fix ASAN mutator." 2017-08-10 02:42:31 +00:00
Jeff Gaston
e87fdf0e99 Merge "Revert "Cacheable, multithreaded finder.""
am: c3f32070dc

Change-Id: I23153af9b80277df135055f99381755c5e87facf
2017-08-10 01:24:51 +00:00
Jeff Gaston
c3f32070dc Merge "Revert "Cacheable, multithreaded finder."" 2017-08-10 01:21:09 +00:00
Jeff Gaston
d1abeb9d98 Revert "Cacheable, multithreaded finder."
This reverts commit b6d161bf16.

Reason for revert: New Build Breakage: aosp-master/sdk_mac @ 4260825

Change-Id: I8bda8c50c5e5c9f84621d11a4c15b168833bcd21
2017-08-10 01:16:34 +00:00
Vishwath Mohan
12758d0cec Fix ASAN mutator.
This CL fixes a bug in the ASAN top down mutator which was incorrectly
checking (and setting) SanitizeDep to true only for the parent module
and not for the visited child modules.

Fixing this also requires some changes to the variant creation logic
to ensure that the correct variant is passed to make for
installation. This will eventually be replaced by logic that appends
an appropriate suffix to sanitized libraries (eg: libc++.asan), which
will allow both variants to be passed to make.

Bug: 64536751
Test: m -j40 && SANITIZE_TARGET="address" m -j40
Change-Id: Id5e5a5946192adf07418dd433bca503047177007
2017-08-09 16:58:36 -07:00
Jeff Gaston
4ab1853a19 Merge "Cacheable, multithreaded finder."
am: c17e048bad

Change-Id: I01071908938821fd49888c80b1cad4a4a6a768e4
2017-08-09 22:31:19 +00:00
Jeff Gaston
2ad816a07e Merge "Move build system documentation"
am: ccb58c1eb3

Change-Id: I63afda43e4d027cb38c3d6c8119bfd6597de3a5b
2017-08-09 22:30:30 +00:00
Jeff Gaston
c17e048bad Merge "Cacheable, multithreaded finder." 2017-08-09 22:18:13 +00:00
Jeff Gaston
ccb58c1eb3 Merge "Move build system documentation" 2017-08-09 22:17:43 +00:00
Jeff Gaston
e47b3cb14d Merge "Point root.bp at build/make/tools instead of build/tools"
am: 9ec0117915

Change-Id: Ibf1d3883443d9c75bc96b089e346a203d4521c92
2017-08-09 19:54:33 +00:00
Jeff Gaston
9ec0117915 Merge "Point root.bp at build/make/tools instead of build/tools" 2017-08-09 19:43:40 +00:00
Jeff Gaston
df4a081292 Move build system documentation
Bug: 62201421

Test: make help
Change-Id: I7d7b448d3f736e171ebfbdceee46eef7de748742
2017-08-09 19:40:01 +00:00
Dan Willemsen
ac44a6d834 Add --skip-make to replace Soong's blueprint wrapper with soong_ui
am: e0879fc3ae

Change-Id: Ibef67ce62a51b8f3879da731e2e4fa8f7b510d90
2017-08-09 07:46:27 +00:00
Dan Willemsen
e0879fc3ae Add --skip-make to replace Soong's blueprint wrapper with soong_ui
This way we only have one way to start a build, which always has logging
/ tracing / etc, even if we don't need Kati.

There's two ways to use this:

As a direct replacement for mkdir out; cd out; ../bootstrap.bash;
./soong -- as long as --skip-make is always passed, we'll never run
Kati, and Soong will run outside of it's "make" mode. This preserves
most of the speed, and allows full user control over the Soong
configuration.

A (experimental, dangerous) way to temporarily bypass the product
variable and kati steps of a build. As long as a user is sure that
nothing has changed from the last build, and they know exactly which
Ninja targets they want to build (which may not be the same as the
arguments normally passed to 'm'), this can lead to shorter build
startup times.

Test: rm -rf out; m --skip-make libc
Test: rm -rf out; m libc; m --skip-make libc
Test: rm -rf out; mkdir out; cd out; ../bootstrap.bash; ./soong libc
Test: build/soong/scripts/build-ndk-prebuilts.sh
Change-Id: Ic0f91167b5779dba3f248a379fbaac67a75a946e
2017-08-08 22:49:28 -07:00
Colin Cross
7000e61706 Merge "Copy prebuilt binaries"
am: 8d6aed7ed7

Change-Id: If7448582465342fdc934d5d75e22e9c0c09b37cd
2017-08-09 03:05:38 +00:00
Colin Cross
8d6aed7ed7 Merge "Copy prebuilt binaries" 2017-08-09 02:50:54 +00:00
Jeff Gaston
c466cce948 Point root.bp at build/make/tools instead of build/tools
Bug: 64397960
Test: m -j
Change-Id: Iac06584b871634f59a7d1a15c743ec8e4901a5d0
2017-08-08 17:46:14 -07:00
Colin Cross
94921e78df Copy prebuilt binaries
The final name of the prebuilt binary is going to match the basename
of the return value of link(), so copy the binary to the intermediates
directory to a file name that honors the name and stem properties of
the module.

Test: manual
Change-Id: Ieed4df79b11382924ca0be8e940d3279b45f748a
2017-08-08 16:23:32 -07:00
Jeff Gaston
b6d161bf16 Cacheable, multithreaded finder.
It can find every Android.bp in internal master in
about 2.5 sec the first time and 0.3 sec subsequent times

Bug: 62455338

Test: m -j blueprint_tools # which runs the unit tests

Test: m -j blueprint_tools && \
  out/soong/host/linux-x86/bin/finder \
    -v
    --db /tmp/mydb \
    --names Android.mk \
    --prune-files .android-out-dir \
    --exclude-dirs .git,.repo \
    . \
    >/tmp/finder-log 2>&1

Change-Id: I5ab2650459a1dae0d5d076faf411ec2d053c743d
2017-08-08 14:19:55 -07:00
Jayant Chowdhary
5b33252d79 Merge "Allow vndk library dependecies to dump abi again."
am: 998d9eb6b9

Change-Id: I5891a8484395a4c1467e35d7cf313a43407b7287
2017-08-08 18:17:34 +00:00
Treehugger Robot
998d9eb6b9 Merge "Allow vndk library dependecies to dump abi again." 2017-08-08 18:08:02 +00:00
Jayant Chowdhary
2a96640335 Allow vndk library dependecies to dump abi again.
As a part of the fix for bug 38304436, the condition for dumping abi for
a source file was reduced to : if the source file belongs to a library
belonging the vndk or the llndk, dump the abi. This needs to be changed back to:
if the source file comes through a dependency of a vndk library (static,
whole static or source), whether or not the dependency may be vndk-enabled, dump
the abi.

Test: mm -j64 in external/libcxx.
Without the change, libc++ does not produce any abi dump, since it
depends on whole static libraries not marked vndk enabled. After the
change, libc++ has an abi dump combining abi exposed by whole static,
static and source dependencies.

Bug: 38304436

Change-Id: Ida3dceeca11342756191f316bee74ea08bcdd984
2017-08-08 18:06:09 +00:00
Colin Cross
7fcfcb180f Merge changes I047d103b,I35de5d93,I3327d275
am: ec0aca3a84

Change-Id: If2db96c28fe9276eacab1e39982546ce6eb39edf
2017-08-08 04:45:08 +00:00
Treehugger Robot
ec0aca3a84 Merge changes I047d103b,I35de5d93,I3327d275
* changes:
  Add prebuilts/misc to root.bp
  Export java modules to make
  Fix java prebuilts
2017-08-08 04:38:45 +00:00
Dan Albert
346eddfd87 Pass Platform_version_all_codenames to NDK build.
am: 59034511c5

Change-Id: I8038ab71032c8fa383272b8ab8ae3d428d38fc29
2017-08-03 23:18:00 +00:00