Commit Graph

11787 Commits

Author SHA1 Message Date
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
Jaewoong Jung 142ec3bf4a Merge "Uncompress dex file in imported apk when needed."
am: b7cb607812

Change-Id: I02d2a4981b25986cf1b28f51fc3c8c97c9b6dbc2
2019-05-13 11:08:23 -07:00
Jaewoong Jung b7cb607812 Merge "Uncompress dex file in imported apk when needed." 2019-05-13 17:54:00 +00:00
Pete Gillin 075ed06c48 Merge "Make core-generated-annotation-stubs link as core stubs."
am: dd6dd18ef6

Change-Id: I86172e280993167de25deceb22c3d4b08503e9f2
2019-05-13 04:53:52 -07:00
Pete Gillin dd6dd18ef6 Merge "Make core-generated-annotation-stubs link as core stubs." 2019-05-13 11:37:43 +00:00
Colin Cross 927aad4f0a Merge "Write dexpreopt.config again during the build"
am: 0967b34dd9

Change-Id: I9757bb82a1c04c32a8835d9db85661544d04fb04
2019-05-10 21:21:02 -07:00
Colin Cross 0967b34dd9 Merge "Write dexpreopt.config again during the build" 2019-05-11 04:11:58 +00:00