Commit Graph

11643 Commits

Author SHA1 Message Date
Pete Gillin
3f3a70c0ec Merge "Avoid targeting Java 9 for targets with SDK version up to 29." 2019-05-21 10:19:06 +00:00
Jooyung Han
76106d977e exports LOCAL_SOONG_VNDK_VERSION for VNDK libs
For vndk_prebuilt_shared module, it is set by 'version' property.
For other vndk libs(e.g. cc_library with vndk.enabled), it is set as
PLATFORM_VNDK_VERSION.

Background:
To support "skip installing current VNDK".

You can get a system.img without current VNDK libs.
This may help when you want a smaller system.img given that the image
will be used with a specific version (not current) of vendor image.

Bug: 132140714
Test: m TARGET_SKIP_CURRENT_VNDK=true && see if current VNDK is not
installed

Change-Id: I1c603efc3e95fe8bdf870f2de91994077899fca7
2019-05-21 14:56:27 +09:00
Peter Collingbourne
90b6561d5d Merge "Teach soong not to duplicate the HWASAN runtime into each APEX." 2019-05-21 02:29:46 +00:00
Pete Gillin
9c64014102 Avoid targeting Java 9 for targets with SDK version up to 29.
Targets with sdk_version values up to and including 29 should not use
Java language level 9, even if EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9=true
is set.

This change fixes a downstream issue.

Bug: 131678633
Test: EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9=true make droid tests docs cts java
Test: (same test in downstream branch)
Change-Id: Ic58e8df2e06d6e07bc42255314521831dc41b239
2019-05-20 15:48:19 +01:00
Treehugger Robot
288a1e2957 Merge "Limit calls to strip.sh on darwin" 2019-05-18 01:57:37 +00:00
Christopher Ferris
b43fe7a838 Add an option to preserve symbols and debug_frame.
New strip option named keep_symbols_and_debug_frame, that will keep the
symbols and the .debug_frame. This is meant for use by libc.so only on
arm32. Other libraries might want to use it to keep better unwinding
information on device.

Bug: 132992102

Test: Built libc.so with this option and verified that it contains
Test: the .debug_frame section.
Change-Id: I823a28199dec8316e8b26fe31ff9f17e6b11d406
2019-05-17 17:52:18 -07:00
Treehugger Robot
045f0f1f30 Merge changes I3dc3fded,Ic1276329,I6be04dec
* changes:
  Add bpf_test.go to build and fix tests
  Don't create a second host arch for tests on darwin
  Move CreateTestContext to cc/testing.go
2019-05-18 00:31:56 +00:00
Colin Cross
ee3ea31a24 Limit calls to strip.sh on darwin
strip.sh can use a file descriptor per .o file when run on .a files,
which can hit the system file descriptor limit on darwin.  This
causes failures when manay variants of libgcc_stripped are built
simultaneously.  Put all strip rules on darwin into a pool that
limits them to 10 concurrent processes, which will limit the file
descriptor usage to ~7500.

Fixes: 132822437
Test: no mention of darwinStripPool in out/soong/build.ninja on linux
Test: m libgcc_stripped on darwin
Change-Id: I3d4fbbd8d44d2e9059a79df113ab95336ec2c658
2019-05-17 22:51:00 +00:00
Treehugger Robot
77c22bf008 Merge "Support using cc_prebuilt_library_shared with cc_library" 2019-05-17 22:44:53 +00:00
Treehugger Robot
d3104e8c28 Merge "Soong: Add mk2bp conversion for prebuilt_font." 2019-05-17 17:45:08 +00:00
Peter Collingbourne
3478bb2a7f Teach soong not to duplicate the HWASAN runtime into each APEX.
When HWASAN is enabled, the runtime is conceptually part of Bionic (and
mutually depends on it), so it needs to be treated in the same way as the
Bionic libs.

Now there are only two copies of the runtime: the one in
/system/lib64/bootstrap (which won't be used by ordinary processes) and the
one in the runtime APEX.

This reduces the size of the HWASAN system image and fixes an issue where
multiple copies of the HWASAN runtime were being loaded into 64-bit binaries in
APEXes because the linker namespace for the binary is different from the one
for its dependent libraries outside of APEXes. HWASAN only supports loading
one copy of the runtime per process, so this was causing such binaries to
crash on startup.

Change-Id: I228896e193a035e6dfba9f6e28d0b2e12fc163ea
2019-05-17 10:00:39 -07:00
Colin Cross
815daf95b2 Add bpf_test.go to build and fix tests
bpf_test.go was not listed in testSrcs, which meant it was not run
during the build, but ran and failed with go test android/soong/...

Don't redeclare the cc module types and mutators, use exported
functions from cc/testing.go instead, which contain a new
dependency needed by cc modules.

This reapplies I4542640e8ff08e71565ed50617dbe67d86b29b69 after
fixes for mac tests.

Test: m
Test: go test android/soong/...
Change-Id: I3dc3fdedbd7063df4a2e0cadf2a4e0711b1823ad
2019-05-17 08:43:36 -07:00
Colin Cross
0d99f7cd84 Don't create a second host arch for tests on darwin
Only x86_64 darwin is supported, not x86.  Don't create an x86
host arch when running tests on darwin.

Test: all soong tests
Change-Id: Ic12763298345e32a1340f8fbef338d2ab4d62b2e
2019-05-17 08:43:36 -07:00
Colin Cross
9a94287fc9 Move CreateTestContext to cc/testing.go
Allow CreateTestContext to be called by tests in other packages
that need cc modules.

Test: all soong tests
Change-Id: I6be04dec50632baa8cb51e55ba14d0ddc0df60b8
2019-05-17 08:43:36 -07:00
Colin Cross
33b2fb7333 Support using cc_prebuilt_library_shared with cc_library
Allow a cc_prebuilt_library_shared to share the same name as a
cc_library by always creating static and shared variants of
prebuilts so that the variants of the source module are always
a superset of the variants of the target module.

Bug: 131709055
Test: TestPrebuilts
Change-Id: I4afd6d37e6a986d08ad25aee69eca6d994febc6b
2019-05-17 08:40:42 -07:00
Jaewoong Jung
bc625cd942 Add stl property to android_app.
The flag is a Soong version of LOCAL_NDK_STL_VARIANT in apps and app
tests. Unlike in the case of cc_library and its siblings, the only
meaningful value for the make var when it's used in apps is
'c++_shared', in which case we add additional dependency to libc++.

Fixes: 130891985
Test: app_test.go + CtsNdkBinderTestCases
Change-Id: I83f45d375742164fff7f160a734b0686e56b5c38
2019-05-16 13:16:15 -07:00
Jaewoong Jung
4c83b8950a Merge "Turn off dex actions for sourceless modules." 2019-05-16 18:01:48 +00:00
Patrice Arruda
d1f45c8967 Soong: Add mk2bp conversion for prebuilt_font.
There are a couple of makefiles that have etc with $(TARGET_OUT)/fonts
and $(TARGET_OUT_PRODUCT)/fonts  as the local module path. Added the
conversion in androidmk for target.

bug: b/123403785
Test: Wrote and ran unit test cases, did a test conversion on
        * platform/external/google-fonts/dancing-script/Android.mk
        * internal/external/google-fonts/arbutus-fonts/Android.mk
Change-Id: Id67e10f80b32b27c5027cd274a7944801dad0880
2019-05-16 10:48:32 -07:00
Jaewoong Jung
105920a792 Merge "Fix override_android_app dependency issues." 2019-05-16 15:07:13 +00:00
Treehugger Robot
f50406eecc Merge "Add No_dist property" 2019-05-16 01:25:53 +00:00
Treehugger Robot
e40da8cff6 Merge "Soong: Add support on installing fonts in /fonts system image." 2019-05-15 23:53:28 +00:00
Jaewoong Jung
a24af3ba20 Turn off dex actions for sourceless modules.
Test: dexpreopt_test.go
Fixes: 129370564
Change-Id: Ic292f37c4f782b14fce625b85817b58c31d3f276
2019-05-15 15:46:26 -07:00
Inseob Kim
62ca44a36b Merge "Generate VNDK snapshot with Soong except configs"
am: 651f40bbe1

Change-Id: I2f0b74a3faef35e29640a1f67344654b8bb00187
2019-05-15 15:32:02 -07:00
Treehugger Robot
651f40bbe1 Merge "Generate VNDK snapshot with Soong except configs" 2019-05-15 22:13:35 +00:00
Patrice Arruda
61583eb72a Soong: Add support on installing fonts in /fonts system image.
A new module named prebuilt_font allows a set of fonts to be
installed in the /fonts system image.

Bug: b/123403785
Test: Wrote and ran unit test cases.
Change-Id: Icd468abe3d70a528b28a8d8f216407484e9966a7
2019-05-15 12:35:29 -07:00
Jaewoong Jung
e07b0b60e5 androidmk conversion logic for android_app_import
Test: androidmk_test.go, bpfix_test.go
Bug: 128610294
Change-Id: Ide183ba1e696fa0ffb4245e3288ffc47535b39af
2019-05-15 12:33:11 -07:00
Jaewoong Jung
b639a6adb2 Fix override_android_app dependency issues.
This change fixes an issue where an android_test could not depened on an
override_android_app or an android_app overridden by one by moving all
override processing to post-deps and forwarding incoming dependencies on
override_android_apps to base android_app modules

Fixes: 132447700
Test: app_test.go
Change-Id: I4ac593be661f541f5ea9823ef97373bee4b186f9
2019-05-15 12:11:18 -07:00
Colin Cross
bf200f61ac Merge "Prevent hangs in OncePer when the callback panics"
am: b7afaf0802

Change-Id: I57d4803a024abd4d189fb2c6245eb49b2b2ac815
2019-05-15 10:47:18 -07:00
Colin Cross
0b03d9701b Add kotlin-stdlib-jdk8 when using Kotlin
kotlin-stdlib-jdk8 contains extensions to the Kotlin standard library
for use when targeting Java language level 8.

Test: m checkbuild
Change-Id: Iac5f977f9080d8e0e2402b08a992a93c909744e9
2019-05-15 17:38:11 +00:00
Colin Cross
b7afaf0802 Merge "Prevent hangs in OncePer when the callback panics" 2019-05-15 17:16:37 +00:00
Sasha Smundak
f293509714 manifest_fixer argument should be --use-embedded-dex rather than --use-embedded-dex=true
am: d2e5361c90

Change-Id: I39ea71483ead65a225e40ac8dee6a90a5dd5d0dc
2019-05-14 21:58:15 -07:00
Sundong Ahn
80a87b3309 Add No_dist property
For the sysprop apis, we don't need dist. So the No_dist property is
added for it.

Bug: 132448761
Test: m -j dist
Change-Id: I51c6a6b87ab9dc90b6825c0d4d414e958dd7b265
2019-05-15 12:20:03 +09:00
Inseob Kim
1f086e2f0d Generate VNDK snapshot with Soong except configs
This is the first commit to generate VNDK snapshot with Soong: .so
files, some txt files, and notice files are captured with Soong. As
ld.config.txt is currently in Android.mk and will be deprecated soon,
configs files (and zipping all of artifacts) are still handled with
Makefile.

Bug: 131564934
Test: 1) DIST_DIR=out/dist development/vndk/snapshot/build.sh
Test: 2) try installing vndk snapshot with:
     development/vndk/snapshot/update.py

Change-Id: I8629e1e25bfc461fd495565bb4872c9af176cf92
2019-05-15 10:26:54 +09:00
Colin Cross
74bd953df3 Revert "Add bpf_test.go to build and fix the tests"
am: d3d3ad1686

Change-Id: I393ed610a6cd1a8c6a9fa4e32085256c14483a01
2019-05-14 17:29:16 -07:00
Sasha Smundak
d2e5361c90 manifest_fixer argument should be --use-embedded-dex rather than --use-embedded-dex=true
Test: building soong tests, treehugger
Change-Id: Id0df92171a2e547794979fb473d8abc47f33d13c
2019-05-14 17:03:24 -07:00
Colin Cross
d3d3ad1686 Revert "Add bpf_test.go to build and fix the tests"
This reverts commit 192e3aa6a8.

Reason for revert: broke mac tests

Change-Id: I3f4c679e11d9361dbc2daaf6c89282259b225d61
2019-05-14 22:46:24 +00:00
Colin Cross
51cb5ee004 Add bpf_test.go to build and fix the tests
am: 192e3aa6a8

Change-Id: If8425dc910c3d5cf505364f892cbc7dcbfdfb2d0
2019-05-14 15:08:10 -07:00
Colin Cross
192e3aa6a8 Add bpf_test.go to build and fix the tests
bpf_test.go was not listed in testSrcs, which meant it was not run
during the build, but ran and failed with go test android/soong/...

Test: m
Test: go test android/soong/...
Change-Id: I4542640e8ff08e71565ed50617dbe67d86b29b69
2019-05-14 18:40:19 +00:00
Colin Cross
66bdb695ae Prevent hangs in OncePer when the callback panics
If the callback passed to Once panics it was leaving the waiter
in place that would never be completed.  Move writing the value
and signalling the waiter to defer.

Test: TestOncePerPanic
Change-Id: Icc4d3b779a79914fcd881d61d38dffcc2f591c39
2019-05-14 18:40:13 +00:00
Jaewoong Jung
3cb6b2ef28 Fix manifest_fixer_test.py
am: e4948c79d3

Change-Id: Iab73e4c3b4a4b0f30d779445b7c57093b658aeec
2019-05-14 11:32:48 -07:00
Jaewoong Jung
e4948c79d3 Fix manifest_fixer_test.py
Test: manifest_fixer_test.py
Change-Id: I18067070154578e2effad8c70bb07a414cbc6dc0
2019-05-14 08:07:27 -07:00
Jaewoong Jung
1d5d99d652 Merge "Fixes typos in device_host_converter.go comments."
am: bc975e8b89

Change-Id: Ic86869fd88274d7ede9670123fdafc98921111cb
2019-05-13 18:32:06 -07:00
Treehugger Robot
bc975e8b89 Merge "Fixes typos in device_host_converter.go comments." 2019-05-14 01:16:27 +00:00
Christopher Ferris
486b170bbc Merge "Remove libc_scudo library when building asan."
am: d7e66d9e7c

Change-Id: Ib422be5e7d9010f26e65da3ccbcd0f9755ac6108
2019-05-13 17:27:53 -07:00
Christopher Ferris
d7e66d9e7c Merge "Remove libc_scudo library when building asan." 2019-05-14 00:12:33 +00:00
Jaewoong Jung
707d788ea2 Fixes typos in device_host_converter.go comments.
Test: TreeHugger
Change-Id: Ie786e8fc950c3e9913c9d51f2b88bc036bb17462
2019-05-13 15:11:23 -07:00
Colin Cross
9a7ee9da1b Merge "Don't hide *.kotlin_module in turbine dependencies"
am: f3e802bf0d

Change-Id: Iae8813f9f4e8e9376d7e0f05f0834f7fc7324c80
2019-05-13 13:47:26 -07:00
Treehugger Robot
f3e802bf0d Merge "Don't hide *.kotlin_module in turbine dependencies" 2019-05-13 20:21:47 +00:00
Sasha Smundak
f742a23db7 Merge "Add aaudio, amidi, camera2ndk and nativewindow NDK libraries."
am: 95aabdad9c

Change-Id: I1f5c14772b24ccbd377395ba9a9da46397207d7e
2019-05-13 11:39:30 -07:00
Treehugger Robot
95aabdad9c Merge "Add aaudio, amidi, camera2ndk and nativewindow NDK libraries." 2019-05-13 18:30:33 +00:00