Commit graph

9396 commits

Author SHA1 Message Date
Treehugger Robot
a0aaf2f43e Merge "Add zip-apex" 2018-12-05 22:37:35 +00:00
Dimitry Ivanov
c0da7bb41b Merge "Make filegroups work for library.Shared/Static.Srcs"
am: 53c21b7152

Change-Id: Iaf655ef7d621dd7a3ac422b62f8c80360babd7c8
2018-12-05 14:30:28 -08:00
Dimitry Ivanov
53c21b7152 Merge "Make filegroups work for library.Shared/Static.Srcs" 2018-12-05 22:13:33 +00:00
Chih-hung Hsieh
644df40b33 Merge "Switch to clang-r346389."
am: 89dbee61ff

Change-Id: I18befe8152bb455cee18852a5b494256c0c175be
2018-12-05 10:53:03 -08:00
Chih-hung Hsieh
89dbee61ff Merge "Switch to clang-r346389." 2018-12-05 18:24:12 +00:00
Elliott Hughes
6646904a47 Move to toybox cmp(1).
Test: treehugger
Change-Id: Idf5c9f00d0698aca6ceab2956c7dc49ad7c604e1
2018-12-05 10:03:31 -08:00
dimitry
0345ad8073 Make filegroups work for library.Shared/Static.Srcs
Add dependencies for source modules when they are referenced in
library.Shared/Static.Srcs. Use ExpandSources to expand filegroups
for these properties.

Bug: http://b/120534727
Test: make
Change-Id: I58d02d8f7d60026abbcde75298c7a61b27bdbf12
2018-12-05 15:31:10 +00:00
Haibo Huang
9223081372 Remove denver from soong
am: 47c9d4c8a3

Change-Id: Ie63b19efa16354b8e6003bca7e4330cd03c2981c
2018-12-04 23:29:36 -08:00
Haibo Huang
47c9d4c8a3 Remove denver from soong
Test: build
Change-Id: If740c2aaa321dee01f5d99c37171390e15f62c62
2018-12-04 19:39:48 -08:00
Elliott Hughes
88151f0aae Merge "Move to toybox basename(1)."
am: d00bbd72f4

Change-Id: Idbcfeda542f267087794561864f0a53897b55d2a
2018-12-04 17:16:32 -08:00
Dan Willemsen
a06497ae57 Merge "Fix mac build w/echo -n"
am: 4322f4008f

Change-Id: I095c9d77b8c010fd665e25ae965ffbac10f752d0
2018-12-04 17:11:33 -08:00
Treehugger Robot
d00bbd72f4 Merge "Move to toybox basename(1)." 2018-12-05 01:09:01 +00:00
Treehugger Robot
4322f4008f Merge "Fix mac build w/echo -n" 2018-12-05 00:53:46 +00:00
Peter Collingbourne
d7225eaac4 Stop mapping c++17 to c++1z.
Clang has been accepting -std=c++17 since August 2017.

Change-Id: Iebb91438ba26b3cc4dbbdcd86e15c9df5901f402
2018-12-04 16:46:27 -08:00
Haibo Huang
238f6c330d Remove denver64 from soong
am: f46b1cb06e

Change-Id: I400a0bcabbb3ebd63136a28e6cf58314f4b499e8
2018-12-04 16:35:13 -08:00
Elliott Hughes
6141a7d7ff Move to toybox basename(1).
Test: treehugger
Change-Id: I29f210d86a0dada8a40eca1919e2f6f876d50bcd
2018-12-04 13:42:46 -08:00
Alex Light
5098a612fc Add zip-apex
This adds support for an apex-like file where the payload is a zip
file instead of a FS image. This makes it easier to examine and use
without root. These can also be built for the host.

This can be controlled using the 'type' modifier in the apex build
rule. 'type' may be "image" to build an apex file called {name}.apex
with an FS image payload, "zip" to build an apex with called
{name}.zipapex with a zip-file payload or "both" to build both. By
default we will use "image".

This also adds support for setting apex rules to
"host_supported: true".

Test: cd art/build/apex; mma; examine the com.android.runtime.host.zipapex
      artifact.
Test: go test android/soong/apex -v
Bug: 120436895

Change-Id: I534d330672211ac5ccc3bd5a0c89b9fc507bf51e
2018-12-04 13:10:17 -08:00
Dan Willemsen
83f97aed95 Fix mac build w/echo -n
Soong doesn't wrap everything in bash, but relies on the ninja default
of /bin/sh. We should probably improve that in the future, but for now,
just fix the build.

On Mac, /bin/sh and /bin/bash are both bash, but /bin/sh implies `set -o
posix`, and ignores the `-n` flag.

Test: treehugger
Test: build on a mac
Change-Id: Icf41b1c5a1ce9eb0a56e39e68c433fc80b53620f
2018-12-04 13:06:02 -08:00
Haibo Huang
f46b1cb06e Remove denver64 from soong
Test: build
Bug: 73545680
Change-Id: I6b213a1d83275c566fd6142a07550094240528c4
2018-12-04 21:01:50 +00:00
Chih-Hung Hsieh
3567e62f97 Switch to clang-r346389.
* Add -fno-sanitize=implicit-integer-sign-change when
  there is any integer related sanitizer, and this check
  is not explicitly specified.
  Android core does not boot with this new sanitizer yet.
* Filter out -fno-sanitize=implicit-integer-sign-change
  from tooling flags.

Bug: 119329758
Bug: 119557795
Test: make checkbuild, boot, go/clang-r346389-testing
Change-Id: I709de569cb73d070fc4958e2b4387f4041bc5438
2018-12-04 19:50:45 +00:00
Jiyong Park
421ba99ebc Merge "Stubs variant is used when building for APEX"
am: ce16f3bac8

Change-Id: I47381a8546586a6a1b7f20158b58c34a0cdf9f2a
2018-12-04 06:21:32 -08:00
Jiyong Park
ce16f3bac8 Merge "Stubs variant is used when building for APEX" 2018-12-04 14:07:56 +00:00
Yi Kong
9d256a5aa1 Merge "Revert "Revert "Remove unnecessary warning suppression"""
am: 3a33fe535e

Change-Id: I81421f5340798c181c7f9b72faea5bc433bc0ed5
2018-12-04 01:47:51 -08:00
Yi Kong
3a33fe535e Merge "Revert "Revert "Remove unnecessary warning suppression""" 2018-12-04 09:30:54 +00:00
Justin Yun
ec8bf83f9c Merge "VNDK lib must not have product_specific: true"
am: 2098eb8c2a

Change-Id: Iac87ea02330944d0dce438209433186220114c6e
2018-12-04 00:57:43 -08:00
Jiyong Park
25fc6a9cc9 Stubs variant is used when building for APEX
When a native module is built for an APEX and is depending on a native
library having stubs (i.e. stubs.versions property is set), the stubs
variant is used unless the dependent lib is directly included in the
same APEX with the depending module.

Example:

apex {
    name: "myapex",
    native_shared_libs: ["libX", "libY"],
}

cc_library {
    name: "libX",
    shared_libs: ["libY", "libZ"],
}

cc_library {
    name: "libY",
    stubs: { versions: ["1", "2"], },
}

cc_library {
    name: "libZ",
    stubs: { versions: ["1", "2"], },
}

In this case, libX is linking to the impl variant of libY (that provides
private APIs) while libY is linking to the version 2 stubs of libZ. This is
because libY is directly included in the same apex via
native_shared_libs property, but libZ isn't.

Bug: 112672359
Test: apex_test added
Change-Id: If9871b70dc74a06bd828dd4cd1aeebd2e68b837c
2018-12-04 17:46:22 +09:00
Treehugger Robot
2098eb8c2a Merge "VNDK lib must not have product_specific: true" 2018-12-04 08:39:35 +00:00
Dan Willemsen
28ebb18c1c Merge changes from topic "python_entry_point"
am: 990b4b6e7e

Change-Id: I134e9db5cf94e56b0c89244ada34446f5a55beb4
2018-12-03 23:18:02 -08:00
Treehugger Robot
990b4b6e7e Merge changes from topic "python_entry_point"
* changes:
  python par: trim and convert the entry point at build time
  Fix par file zip offsets
2018-12-04 07:11:23 +00:00
Dan Willemsen
1bd48bd2b2 Merge "Apply system_shared_libs to static libraries"
am: 6f3e24ab55

Change-Id: I67b4841cf66fd01528e542334a28734c6aa0c8dd
2018-12-03 22:30:52 -08:00
Dan Willemsen
6f3e24ab55 Merge "Apply system_shared_libs to static libraries" 2018-12-04 06:19:08 +00:00
Justin Yun
9357f4aeda VNDK lib must not have product_specific: true
VNDK libs are system defined libraries. They must not be product
specific. Adding sanity check and a test to prevent setting
`product_specific: true` on VNDK libs.

Bug: 119575107
Test: building a vndk lib with 'product_specific: true,'
      must return error.

Change-Id: Ie0326540a692573f076ee08baf5d2e2f09d1007e
2018-12-04 14:10:59 +09:00
Yi Kong
734a07c66d Revert "Revert "Remove unnecessary warning suppression""
This reverts commit afedf3bdc9.

Build failure fixed.

Change-Id: I46e7e222c2b5bfa5b1846f3fe87444afb70f1b31
2018-12-04 00:42:27 +00:00
Dan Willemsen
54c5b61f0a python par: trim and convert the entry point at build time
Instead of doing these string operations in the C++ code at every
startup of an embedded par, trim and convert the entry point file to a
python module path at build time.

Test: m
Change-Id: I04a6459a80c84a704b8a25a144ab1e19622d6cc3
2018-12-03 15:58:45 -08:00
Dan Willemsen
263dde779e Fix par file zip offsets
The zip file format does support scripts/programs prefixed to the
archive, though many of the offsets are supposed to start from the
beginning of the file. Some tools (python and zipinfo) are able to
read zip files with arbitrary prefixes, but others (libziparchive and
zipdetails) fail.

So pass the file to prefix onto the zip file into merge_zips so that we
can set the offsets from the real start of the file.

Test: m sepolicy_tests  (runs the embedded python interpreter)
Test: zipinfo out/host/linux-x86/bin/sepolicy_tests
Test: zipdetails out/host/linux-x86/bin/sepolicy_tests
Change-Id: If73d4c2465581f7de5aa47959284ecf2059df091
2018-12-03 15:55:15 -08:00
Dan Willemsen
3a26eefdbe Apply system_shared_libs to static libraries
Even though we aren't doing any linking for static libraries, the
default libraries (libc, libm, libdl) are now exporting headers, so we
should be using those for both static and shared libraries (especially
when re-using objects between the two). Without this we've been in a
state where a cc_library will compile differently than a
cc_library_shared, as we'd re-use the compilation units from the static
variant in the shared library.

This does require marking many of libc's dependencies as not using libc
with system_shared_libs, otherwise we run into dependency loops.

Test: treehugger
Change-Id: Ie42edc5184f315f998db953594e425214b810e0e
2018-12-03 15:38:39 -08:00
Elliott Hughes
faaa65d89b Merge "Move setsid(1) to toybox."
am: 314d8c142c

Change-Id: I843298fc4467bd78ea006b1df5be4f6e7767b8e8
2018-12-03 13:58:58 -08:00
Evgenii Stepanov
792684273d Merge "Add sanitizer runtime library to recovery when needed."
am: 5b46a085d7

Change-Id: I7115159d4bd3eb88636699c4164fabe07501554f
2018-12-03 13:53:18 -08:00
Treehugger Robot
314d8c142c Merge "Move setsid(1) to toybox." 2018-12-03 21:49:53 +00:00
Treehugger Robot
5b46a085d7 Merge "Add sanitizer runtime library to recovery when needed." 2018-12-03 20:42:37 +00:00
Zhizhou Yang
e74941431e Merge "Do not generate SHT_RELR relocations before API 28"
am: 89df00c216

Change-Id: I76f45bbea868f137906074dfda233ecad02d9caa
2018-12-03 11:27:53 -08:00
Treehugger Robot
89df00c216 Merge "Do not generate SHT_RELR relocations before API 28" 2018-12-03 18:40:59 +00:00
Elliott Hughes
577ec82465 Merge "Move tee(1) to toybox."
am: ddefe27f12

Change-Id: I580e6be3cf671e0137486393cc89fdae2f1b2f59
2018-12-03 10:18:11 -08:00
Elliott Hughes
5728fb536f Move setsid(1) to toybox.
Test: treehugger
Change-Id: I8caf9dbbb671218379c309e698f23e7c964f1a18
2018-12-03 10:14:52 -08:00
Treehugger Robot
ddefe27f12 Merge "Move tee(1) to toybox." 2018-12-03 18:08:32 +00:00
Pirama Arumuga Nainar
81c3d410fb Merge "Use libucrt instead of libmsvcr110"
am: 7ef2700761

Change-Id: I8aedf207323172895f103b4939c3c4170bec096e
2018-12-03 10:01:33 -08:00
Pirama Arumuga Nainar
7ef2700761 Merge "Use libucrt instead of libmsvcr110" 2018-12-03 17:53:43 +00:00
Yi Kong
1e8681d22f Merge "Revert "Remove unnecessary warning suppression""
am: cf492adb34

Change-Id: If2941e0eb1a19194bce00af67e5e81aab6368286
2018-11-30 15:42:10 -08:00
Yi Kong
cf492adb34 Merge "Revert "Remove unnecessary warning suppression"" 2018-11-30 23:20:11 +00:00
Jaewoong Jung
448e079ab2 Merge "Use debug mode when running R8 for eng builds."
am: acb51e1015

Change-Id: Ic9b257ea19d0a279b3ce73c79586a35e4585376e
2018-11-30 15:05:41 -08:00