Commit Graph

16161 Commits

Author SHA1 Message Date
Greg Kaiser 5bce0931c1 Merge "Partial reverts of vndk-apex" 2019-10-28 17:12:33 +00:00
Dario Freni cde2a037f6 Add support for including app prebuilts in APEX.
Bug: 138429615
Test: Created an APEX containing CtsShimPrebuilt and
CtsShimPrivPrebuilt.
Change-Id: I9d138ccfc03e4b96c9989d2681ad4e4ad5f20108
2019-10-28 16:05:32 +00:00
Dario Freni e423582f07 Sort the file with image content.
While modifying the CTS shim apex packages, it was observed that the
output of the image content file is not necessarily sorted, which in
turn can cause failure when checking the file against a whitelist.

Bug: 138429615
Test: Succesfully built a modified version of CTS Shim v3 that was
previously failing because of the issue this CL fixes.

Change-Id: I901859ae08feb6012f34b851e125977e1c0100d9
2019-10-28 15:51:03 +00:00
Treehugger Robot 05491b4861 Merge "Default to compiling lite protos" 2019-10-28 15:21:02 +00:00
Ulya Trafimovich d5df949385 Package dexpreopt artifacts for libcore jars in the ART apex.
This patch adds dexpreopt files for the libore part of the
bootclasspath to the ART apex.

Since this is specific to the ART apex and makes not sense for other
apexes, the patch does not add a new module property, but only a
boolean flag denoting that this is an ART apex.

Dexpreopt artifacts packaged into the ART apex differ from those that
are packaged in the system image: it inludes only the libcore part of
bootclasspath jars, but not the framework part. When the boot image
extension is implementd, dexpreopt artifacts for the libcore jars will
be removed from the system image (but for now they are both in the
apex and in the system image).

Build rules for the new set of dexpreopt artifacts are created using
a new variant of the global boot image config. Previously we had two
variants: "default" (for the system image) and "apex" (for the
JIT-zygote experiment). This patch adds the third "libcore" variant.

Test: m
Test: m com.android.art deapexer \
    && find $ANDROID_BUILD_TOP -type f -name 'com.android.art.*.apex \
        | xargs deapexer | grep boot \
    Expect to find dexpreopt/$ARCH/boot-art*.{art,oat,vdex} files.
Test: m art/build/apex/runtests.sh

Change-Id: I353ef90304bc5e18c3055ea379b3b223e5c38948
2019-10-28 14:03:08 +00:00
Pete Gillin ef99a4b06e Merge "Remove support for EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9." 2019-10-28 10:28:19 +00:00
Treehugger Robot d3f11c13b1 Merge "add stem property to java modules" 2019-10-28 06:23:32 +00:00
Jooyung Han 6db2f177db Partial reverts of vndk-apex
This installs vndk libs under system/lib/vndk
instead of vndk-apex.
(Partial reverts of 31c470b5d5)

Also fixes the bug 097087be53 brought.
This produced incomplete list of vndkcorevariant.libraries.txt.

Bug: 143374795
Test: m && boot
Change-Id: I17864de4770a84431756e0c3765b601d3dc2abb1
2019-10-28 14:12:48 +09:00
Treehugger Robot b480debbd8 Merge "Change exportedDirs and exportedSystemDirs from []string to android.Paths" 2019-10-28 02:24:41 +00:00
Xin Li ce2be0d4fb Merge "Merge Coral/Flame into AOSP master" 2019-10-27 04:44:30 +00:00
Colin Cross 0f97adae5f Default to compiling lite protos
Soong was incorrectly defaulting to compiling for full protos but
using the lite runtime.  Switch to compiling lite protos by default.

Fixes: 119714316
Test: m checkbuild
Change-Id: I0832b854f01f2acb10682e68ce7cc68753ca9dda
2019-10-26 20:35:13 +00:00
Treehugger Robot 7d6b21c265 Merge "Soong generates libraries.txt files for vndk" 2019-10-26 01:52:39 +00:00
Chih-hung Hsieh ea89f313bb Merge "Rust owners, fix syntax error and more specific" 2019-10-26 01:23:44 +00:00
Chih-hung Hsieh a5a31f028f Merge "Allow rust code in external/rust." 2019-10-25 21:38:03 +00:00
Xin Li 7ad7d5aac5 Merge Coral/Flame into AOSP master
Bug: 141248619
Change-Id: Ie21f494b6c52952165babdcb26d4038f93ff0c0d
Merged-In: I2dbd6791675ed91303dc21d04992e600bb89f0ff
2019-10-25 10:27:44 -07:00
Chih-Hung Hsieh 3eff7cb3b0 Rust owners, fix syntax error and more specific
* per-file cannot handle file path yet
* subdirectory OWNERS inherit from parent OWNERS and add more

Bug: 141207129
Test: mm in rust enabled modules
Change-Id: I21cb16fcd69165099a6d3e85720af9da4382939e
2019-10-25 10:14:49 -07:00
Chih-Hung Hsieh c74d723c09 Allow rust code in external/rust.
Test: mm in all rust enabled directories
Change-Id: I3454c840adb7a9823637f0ae874355e4df995b66
2019-10-25 10:08:57 -07:00
Justin DeMartino ac38d7e521 Add support to extend commands bpfix and androidmk
Allows our partners to maintain partner-specific fixes in their repos. Converts most of androidmk into a library similar to bpfix. Makes some methods and types public for use by extended versions.

Bug:140727544
Test: Ran unit test cases &&
  ran test conversions with sample
Change-Id: I7e1fbf3a6a7a8bd47334f43fe3eb68cbbd3426c1
2019-10-25 16:18:15 +00:00
Pete Gillin a1c9e9da55 Remove support for EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9.
Prior to this change, setting that to "false" turned the default Java
language level back to 8. This change removes that option.

Bug: 115604102
Test: m java droid docs tests cts
Change-Id: I97bfd0dc8d941008b4071c6efe1c0c24950c4f1f
2019-10-25 16:55:06 +01:00
Jooyung Han 7289ddbeba Merge changes from topic "add-vndk-again"
* changes:
  add symlink for compatibility (vndk apex)
  Revert "Revert "Add __ANDROID_APEX_<NAME>__ for apex variants""
  Revert "Revert "Supports VNDK APEX with different versions""
2019-10-25 08:21:13 +00:00
Yi Kong 00ae8b3996 Merge "Repack libgcc.a to only include required objects" 2019-10-25 08:00:58 +00:00
Ryan Prichard b49fe1bde7 Stop linking libdl.a into static bins
libdl.a has a no-op dlopen, which breaks static libraries that need a real
dlopen. Instead of automatically linking libdl.a into static executables,
make it optional.

Until recently, the libunwind_llvm.a unwinder, used on arm32, needed the
no-op dladdr, but it's now built using -D_LIBUNWIND_USE_DLADDR=0.

The HWASan run-time uses dlsym and dladdr, so add a libdl dependency for
HWASan-built static binaries. We could also remove the dependency from
libclang_rt.hwasan_static-*.a, but this is also easy to do.

Bug: http://b/141485154
Test: bionic unit tests, device boots, verify that static and dynamic
   executables can throw/catch an exception
Test: verify that a static executable using dlopen doesn't link (unless it
   adds an explicit dependency on libdl)

Change-Id: Ic52c3f336b671b4ed335e99c94a64dfe8614b618
2019-10-24 22:25:54 -07:00
Jooyung Han 097087be53 Soong generates libraries.txt files for vndk
These files were generated by Make. This is an effort to converting make
to soong.

These files are created under a known location: $SOONG_OUT_DIR/vndk
- llndk.libraries.txt
- vndksp.libraries.txt
- vndkcore.libraries.txt
- vndkprivate.libraries.txt
- vndkcorevariant.libraries.txt
- vndk.libraries.txt: merged all of above with tags

The last one is used by 'check-vndk-list'.
(See the topic)

Others will be packaged by VNDK APEX of current VNDK.
(This is not merged yet. After landing, a follow-up CL will be
followed.)

Bug: 141019581
Bug: 141450808
Test: m check-vndk-list
Change-Id: I9a24f6975bd4b226a94f61a13d43857dcdce6b88
2019-10-25 14:08:28 +09:00
Jiyong Park 4c4c02400f add stem property to java modules
java_library, java_import and dex_import now support stem property to
set the output file name.

Bug: 139391334
Test: m
Merged-In: I11146badf558e524a973806114b9cb1344db4a6e
(cherry picked from commit 62c7829595c0df53e96addcd347c11ac01012eee)
Change-Id: I11146badf558e524a973806114b9cb1344db4a6e
2019-10-25 10:40:56 +09:00
Jiyong Park 7495504db4 Change exportedDirs and exportedSystemDirs from []string to android.Paths
exportedDirs and exportedSystemDirs are now changed to android.Paths so
that we can later manipulate the paths via Rel(), etc.

Test: m

Change-Id: I6fb02ea4983bcebac351bc284f75b44885379e8f
2019-10-25 09:52:08 +09:00
Yi Kong c49c393f73 Repack libgcc.a to only include required objects
Previous solution by using objcopy uses a quirky behaviour of the GNU
objcopy and there is no equivalent option in llvm-objcopy.

Instead of removing symbols, extract and repack libgcc to only include
required objects.

Bug: 142585047
Test: presubmit
Change-Id: I58af74c18838f797e481da38c3265f0624fddf99
2019-10-24 16:34:54 -07:00
Jooyung Han 11e0d21b5b Merge "fix: Override vndk-ext lib name with original lib"
am: ac1b07e2dc

Change-Id: I2dbd6791675ed91303dc21d04992e600bb89f0ff
2019-10-24 15:55:41 -07:00
Dan Willemsen 7cd9c0327f Merge "Add support for 10.15 SDK"
am: f887ee6765

Change-Id: I9d126172fef23988ff180f9a138179c79906a954
2019-10-24 15:54:24 -07:00
Treehugger Robot ac1b07e2dc Merge "fix: Override vndk-ext lib name with original lib" 2019-10-24 22:38:00 +00:00
Treehugger Robot f887ee6765 Merge "Add support for 10.15 SDK" 2019-10-24 22:28:30 +00:00
Ulyana Trafimovich d1c096743e Merge "Deduplicate config generation for boot images."
am: 1f09b0a09e

Change-Id: I99526d8b7da3fc202a9dbcac1be4a3d50805f20a
2019-10-24 03:14:54 -07:00
Ulyana Trafimovich 1f09b0a09e Merge "Deduplicate config generation for boot images." 2019-10-24 09:54:54 +00:00
Jooyung Han 72bd2f8f15 add symlink for compatibility (vndk apex)
With VNDK APEX, the location of VNDK lib is changed.
But vndk libs of older VNDK versions still depend on old location.

For current VNDK version, those hard-coded references will be fixed.
TODO(b/142911355): [VNDK APEX] Fix hard-coded references to /system/lib/vndk

Bug: 143192278
Bug: 142912195
Test: m com.android.vndk.current and check if /system/lib/vndk
      OVERRIDE_TARGET_FLATTEN_APEX m com.android.vndk.current

Change-Id: I2ebacde7fcd1c7621e4509e08a76765e1dfeb059
2019-10-24 18:48:51 +09:00
Ulya Trafimovich 18263381ed Deduplicate config generation for boot images.
Both default and apex configs are used for dexpreopting bootclasspath
jars. The difference between the two configs is in the naming (default
paths contain "boot", and apex paths contain "apex"). Another
difference is that apex config does not have a zip archive.

Test: m
Test: `find $ANDROID_BUILD_TOP/out -name '*.art' | sort`
    returns the same list of files before and after the patch

Change-Id: I5b2e8d83ab94fd0b1b3d4dc3f0db243ef70bfb08
2019-10-23 17:19:17 +01:00
Elliott Hughes ce3a0ef4fc Merge "Switch to toybox find for darwin and linux."
am: e23c63de21

Change-Id: I5f40e5c80163e7e0d409e107f98d5bfea48d569f
2019-10-23 08:06:38 -07:00
Elliott Hughes e23c63de21 Merge "Switch to toybox find for darwin and linux." 2019-10-23 14:52:28 +00:00
Dan Willemsen 89dad60ed5 Add support for 10.15 SDK
I haven't found any issues so far.

Test: try the build
Change-Id: I1e2f4095795daead6eb96280d60a122c51ba66ba
2019-10-22 17:01:15 -07:00
Jooyung Han 4c2b942e92 fix: Override vndk-ext lib name with original lib
vndk-ext should have the same output filename with the lib which it
extends. "extends" property is "module name", not "filename" of output.

Bug: 143130384
Test: add "protox" as a vndk-ext module (extends 'libprotobuf-cpp-full')
      m protox.vendor && check output filename under /vendor/lib/vndk/
      (should have correct suffix)

Change-Id: I5741ea87b4f2ad375b69f54c93dcb8753d9952dd
2019-10-22 20:01:28 +09:00
Pete Gillin 8f344a659c Merge "Refactor and strengthen sdk_test.go."
am: e195591829

Change-Id: I2c11b96b41f685e1159e11ec1ac10c4558269659
2019-10-22 03:59:15 -07:00
Pete Gillin e195591829 Merge "Refactor and strengthen sdk_test.go." 2019-10-22 10:46:27 +00:00
Nicolas Geoffray 0588adad94 Merge "Remove support for stripping dex."
am: 43118dc1fc

Change-Id: I127ada3653c551c72a31513c20789dd72f23bd7b
2019-10-22 03:21:32 -07:00
Nicolas Geoffray 43118dc1fc Merge "Remove support for stripping dex." 2019-10-22 09:48:06 +00:00
Ivan Lozano 966981031d Merge "Add Rust darwin host support."
am: 1fd602c34a

Change-Id: I100ed16569f3ccddab250d0d7d03f0e41299b66d
2019-10-21 21:12:48 -07:00
Treehugger Robot 1fd602c34a Merge "Add Rust darwin host support." 2019-10-22 03:51:31 +00:00
Ivan Lozano 1c2ff86225 Add Rust darwin host support.
Support for building Rust modules on darwin hosts.

Bug: 140640858
Test: m libremain works on darwin
Change-Id: Ieb1ff9167de34cffbebebab31fa48da07081c8a6
2019-10-21 13:15:10 -07:00
Pete Gillin bdf5d7170a Refactor and strengthen sdk_test.go.
This change:

- Removes usage of the EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9=false option
  from tests, since it is going to be removed. The java_version
  property is used instead.

- Commons up some of the assertions between the tests for language
  levels 8 and 9 in sdk_test.go.

- In commoning the code up, some additional assertions are made in the
  language level 9 cases, strengthening the tests.

Test: m nothing
Bug: 115604102

Change-Id: I693c5d299b5592b851c44dde4434d92a931f15cd
2019-10-21 14:36:41 +01:00
Jerome Gaillard b9630c65ad Merge "Update droidstubs build target"
am: 8436ccea9c

Change-Id: Ieb62a5d1dd66990bb4292b049f92cab50d0a9cf7
2019-10-21 02:49:38 -07:00
Jerome Gaillard 8436ccea9c Merge "Update droidstubs build target" 2019-10-21 09:32:12 +00:00
Colin Cross ff88f6b700 Merge "Add tradefed_java_library_host"
am: 8141c8781a

Change-Id: I55bca53e02588827374896ef87d58f3f4bdc48c7
2019-10-18 20:09:34 -07:00
Treehugger Robot 8141c8781a Merge "Add tradefed_java_library_host" 2019-10-19 02:45:42 +00:00