Commit Graph

14978 Commits

Author SHA1 Message Date
Treehugger Robot
a48f8c8070 Merge changes I918b4878,I85238d93,Iefee8a91
* changes:
  Add an output file tag for proguard dictionaries
  Add InstallBypassMake
  Document wokaround for yama ptrace restrictions
2019-08-09 00:12:27 +00:00
Colin Cross
bdf9514e45 Use prebuilts for more tools in unbundled builds
Move the logic from Make that uses prebuilts for more tools for
unbundled builds, and export the values back to make.

Test: m checkbuild
Change-Id: I8c7031e0feaa9328a2b73db6dc8e63e12d1d12f7
2019-08-08 12:56:34 -07:00
Steven Moreland
043eab7ad3 Merge "-D__ANDROID_NDK__ for SDK builds."
am: 08f9262577

Change-Id: I79f4746e3f9096f36b19eb2c0ac0c720a6410c52
2019-08-08 09:56:14 -07:00
Steven Moreland
08f9262577 Merge "-D__ANDROID_NDK__ for SDK builds." 2019-08-08 16:22:53 +00:00
Victor Chang
07b5b4cdb8 Add new core-icu4j after separating icu4j from core-libart
Bug: 138994281
Test: m droid
Change-Id: I1e9fe3e344dcdde14fe4880a19440c5085c092e5
2019-08-08 16:02:02 +01:00
Inseob Kim
ae55303f36 Include headers and props to VNDK snapshot
For all vndk snapshot libraries, header files exported by the libraries
will be included to the snapshot. Android.bp will contain necessary
information to link against/install vndk snapshot libraires:
export_include_dirs, export_system_include_dirs, export_flags, and
relative_install_path.

Bug: 132818174
Test: 1) m nothing && mv out/soong/build.ninja /tmp && m nothing &&
         diff -u -u out/soong/build.ninja /tmp/build.ninja
Test: 2) VNDK_SNAPSHOT_BUILD_ARTIFACTS=true \
           development/vndk/snapshot/build.sh
Test: 3) development/vndk/snasphot/update.py
Test: 4) see contents of Android.bp and include directories
Change-Id: I791ab181545eb483242b04446afd40958bbb2b17
2019-08-08 18:45:59 +09:00
Tom Cherry
520d9aab64 Remove setting _USING_LIBCXX
aosp/1086558 deprecated the need for this.

Test: build
Change-Id: I161258a8883a60dc46ba10fbd78be8f9413fa28b
2019-08-07 13:28:47 -07:00
Steven Moreland
c324729692 -D__ANDROID_NDK__ for SDK builds.
The NDK is built like this. Having it for app builds within the Android
build system allows us to distinguish platform code from app code.

This is specifically to distinguish AIDL interfaces using libbinder_ndk.
'myBinder-ndk_platform' libs will use additional functionality that
'myBinder-ndk' libs won't use (in the future, these may be separate
variants with the same name, see b/121157555).

Bug: 136027762
Test: using this to distinuish code in NDK vs platform code
Change-Id: I4de6f2e066982e7573ffd28cda44407d9e5648e4
2019-08-07 13:06:06 -07:00
Alexander Smundak
73d9ff761f Merge "Allow reading zipfile list from a file."
am: 02ed5df4ac

Change-Id: I2888ac8c6b03bcfc09739e5329bc872d92a2e9a1
2019-08-07 10:16:20 -07:00
Alexander Smundak
02ed5df4ac Merge "Allow reading zipfile list from a file." 2019-08-07 17:02:53 +00:00
Jiyong Park
1d1119f4bd Fix sanitizer dep
This change fixes a problem in sanitizerMutator where a module is linked
with of non-sanitized variant of a lib at build-time, but is linked with
the sanitized variant of the lib at run-time.

This happened because, for each sanitizer type, every shared libs are
split into non-sanitized and sanitized variants, and then either of the
variants are suppressed from Make so that it isn't installed to the
device.

This change fixes the problem by NOT splitting for shared libs; only the
sanitized variant is created if needed. Header libs, static libs and
shared libs for a few sanitizer types (asan/fuzzer) are however split
into two. This is because the static and headers libs become part of the
depending module, and asan/fuzzer require that the depending module and
the dependant module should be compiled for the same sanitizer.

Bug: 138103882
Bug: 138426065
Test: m com.android.runtime.debug
Check that libziparchive exists under both
/system/apex/com.android.runtime/[lib|lib64]

Change-Id: Ia447785c485c0d049e19477b32bc638bfe6f1608
2019-08-08 01:51:26 +09:00
Anna Trostanetski
eb2c46d576 Merge "Create a module that extracts and installs compat_config."
am: bc93803081

Change-Id: I46d1844f3c4496b1c978fdb3a9894098130fee6e
2019-08-07 09:34:25 -07:00
Anna Trostanetski
bc93803081 Merge "Create a module that extracts and installs compat_config." 2019-08-07 15:46:43 +00:00
Jooyung Han
825001b111 Merge "Add TEST_MAPPING for build/soong/apex"
am: 289eb5bed0

Change-Id: I9596e72eb87a7bdcb5cb01bf98dda5b87d850d62
2019-08-07 07:48:53 -07:00
Treehugger Robot
289eb5bed0 Merge "Add TEST_MAPPING for build/soong/apex" 2019-08-07 14:31:23 +00:00
Paul Duffin
c9c0f52ea5 Merge changes from topic "restrict-libandroidicu-usages"
am: d5a57d8fc5

Change-Id: I5c6fa0a1806bbbb502564d96a8f28a110162c6e8
2019-08-07 04:10:21 -07:00
Paul Duffin
d5a57d8fc5 Merge changes from topic "restrict-libandroidicu-usages"
* changes:
  Support restrictions based on a module's OsClass
  Support restrictions based on a module's dependencies
2019-08-07 10:34:19 +00:00
Jooyung Han
07149d36aa Add TEST_MAPPING for build/soong/apex
build/soong/apex is highly coupled with system/apex.
So it is reasonable to "import" presubmit tests from system/apex.

Test: atest --test-mapping build/soong/apex
Bug: 138984456
Change-Id: I7447e04a63b86486daef0f2a7642842101c0029f
2019-08-07 17:33:24 +09:00
Hsin-Yi Chen
5348964723 Add tags to the list of lsdump paths
This commit adds tags, such as NDK, VNDK-core, and PLATFORM, to
LSDUMP_PATHS. The script updating the reference ABI dumps uses the tags
to determine the directories where the dumps should be created.

Test: make findlsdumps
Bug: 133176785
Change-Id: I8540286238cf0ec55c65e1c4f60cb9c12e5e57a1
2019-08-07 13:40:11 +08:00
Yifan Hong
101b37b9fc Merge "Add cc_*.target.recovery.static_libs"
am: fb4ecc42ce

Change-Id: I1ba9b00bff32791fcf1c0bb0adcd7b88b127eafa
2019-08-06 21:10:48 -07:00
Treehugger Robot
fb4ecc42ce Merge "Add cc_*.target.recovery.static_libs" 2019-08-07 03:45:17 +00:00
Hsin-Yi Chen
36528dc386 Merge "Skip ABI checks for APEX variants of opt-in libraries"
am: ff7321b32a

Change-Id: I575b12dec299d080a3bf9b0389517f5d49784b53
2019-08-06 19:36:50 -07:00
Hsin-Yi Chen
ff7321b32a Merge "Skip ABI checks for APEX variants of opt-in libraries" 2019-08-07 02:00:43 +00:00
Stephen Hines
b28643b33f Merge "Add support for AUTO_*_INITIALIZE to build/soong."
am: 7f0560d962

Change-Id: I2d964d462a29539252b3f76544a096028f48c668
2019-08-06 14:39:36 -07:00
Sasha Smundak
1459a9259e Allow reading zipfile list from a file.
Android build generates 180K+ zip files that are to be merged and the
result passed to the indexing pipeline to generate the source code
cross-reference. Their names cannot be passed on the command line,
hence the need for this change. That required extensive changes to
the code as it no longer can be assumed that all the input files can
be kept open.

Bug: 121267023
Test: internal + treehugger + combine index files
Change-Id: I0a829f96ff7187ad967fb6b8cede387501ec57cc
2019-08-06 14:23:35 -07:00
Stephen Hines
7f0560d962 Merge "Add support for AUTO_*_INITIALIZE to build/soong." 2019-08-06 21:04:04 +00:00
atrost
db25ac07a5 Create a module that extracts and installs compat_config.
Currently it extracts from the provided jar file compat/compat_config.xml
(generated by compat-changeid-annotation-processor) and installs on
/system/etc/sysconfig.
Future improvements:
 - Merge all the configs going for the system image into one, so that
   duplicate change ids across modules are failing the build instead of
   runtime.
 - Support uploading the config onto APEX for APEX modules.

Test: flashed device locally, config files found and read by
com.android.server.compat.CompatConfig.
Bug: 138222363

Change-Id: I64b11fdc466f746702e7e73f612794e024de2288
2019-08-06 19:21:46 +01:00
Colin Cross
2d975b197e Add an output file tag for proguard dictionaries
Allow modules to depend on the proguard dictionary of another module
using module{.proguard_map}.

Bug: 122332855
Test: m checkbuild
Change-Id: I918b487872c1a8ef8a51c0b994277efb0512d157
2019-08-06 09:45:04 -07:00
Colin Cross
607d8587e4 Add InstallBypassMake
Allow modules to mark themselves as InstallBypassMake, which will
cause android.PathForModuleInstall to return a path in $OUT_DIR
instead of $OUT_DIR/soong.  This can be used for modules that
can handle installation to the final location on their own.  The
main blocker for most modules is support for the "required" property,
which requires adding dependencies on the installed location of
other modules.

Bug: 122332855
Test: m checkbuild
Change-Id: I85238d937ff30335167d4b3fec79bbefc734b5e1
2019-08-06 09:45:04 -07:00
Colin Cross
8baf29fb10 Document wokaround for yama ptrace restrictions
Fixes: 138580915
Test: m checkbuild
Change-Id: Iefee8a914225d465a1feb37690a54423be332841
2019-08-06 09:44:39 -07:00
Paul Duffin
f1c9bbee88 Support restrictions based on a module's OsClass
Bug: 137543088
Test: m nothing
Change-Id: Ibb05f222594d8180746b612c04ab1538a1cf3c0b
2019-08-06 11:09:09 +01:00
Paul Duffin
3578188fac Support restrictions based on a module's dependencies
Adds a neverallow InDirectDeps(deps) verb that will allow a neverallow
rule to restrict access to a specific dependency, irrespective of how
it is specified.

Bug: 137543088
Test: m nothing
Change-Id: I0c6bb702d55175e9b78b79e86e96924c5dd83efa
2019-08-06 11:09:02 +01:00
Hsin-Yi Chen
af17d74a1a Skip ABI checks for APEX variants of opt-in libraries
Test: make findlsdumps
Bug: 138219814
Change-Id: I2ae6fadad5af4f7b648aa15307a0bd11339ffc7c
2019-08-06 17:54:01 +08:00
Yifan Hong
e7efbc8c78 Add cc_*.target.recovery.static_libs
Test: use static_libs in target.recovery

Change-Id: Ib2a10d09e205932be83e74274a641fd8544f7188
2019-08-05 19:56:44 -07:00
Jooyung Han
3873fcd58d Merge changes from topic "put-dep-in-apex"
am: d62b4af8b7

Change-Id: Ie21cdc47015a8870a915b2bcc5e49c08f4578da4
2019-08-05 17:34:05 -07:00
Jooyung Han
3c6423ef1a Put dependency in apex_manifest.json
am: e16330393a

Change-Id: I1090b2cc5154e7fefb1a16655ac874799fab740f
2019-08-05 17:33:57 -07:00
Treehugger Robot
d62b4af8b7 Merge changes from topic "put-dep-in-apex"
* changes:
  Add jsonmodify tool
  Put dependency in apex_manifest.json
2019-08-06 00:21:11 +00:00
yidong.zhang
263802ebda Merge "Fix recovery-variant VNDK libs miss-installed to recovery img"
am: 52644cb29a

Change-Id: I05db8d67248c11dce6a04d90ae53705ddc3f9228
2019-08-05 15:20:49 -07:00
Treehugger Robot
52644cb29a Merge "Fix recovery-variant VNDK libs miss-installed to recovery img" 2019-08-05 22:02:46 +00:00
Mitch Phillips
cead9bad66 Merge "Disable LTO when building with fuzzer support."
am: df7d2cc9f8

Change-Id: Ie4f0e1c6266cca662c4eb133ce2bd9ce85b1dcd9
2019-08-05 11:39:28 -07:00
Kun Niu
fb6a70e5a1 Merge "Build module from source branch instead of using prebuilds when coverage is enabled."
am: a535be6012

Change-Id: Ia5f294ceec3d15f7455792a91eef1330e0131f4f
2019-08-05 11:38:53 -07:00
Mitch Phillips
df7d2cc9f8 Merge "Disable LTO when building with fuzzer support." 2019-08-05 18:18:51 +00:00
Kun Niu
a535be6012 Merge "Build module from source branch instead of using prebuilds when coverage is enabled." 2019-08-05 18:04:49 +00:00
Mitch Phillips
34b493fec5 Disable LTO when building with fuzzer support.
Bug: 131771163

LTO is currently broken when building with SANITIZE_TARGET=fuzzer. The
compiler bug is currently being addressed upstream (see linked bug), but
we have applied a local workaround in the build system to disable LTO
when building using the fuzzer config.

There is a bug here however. In the sanitizer mutator we explicitly
remove -flto and add -fno-lto. The sanitizer mutator runs after the LTO
mutator, so (in general) this works just fine. The problem exists when a
target specifies an explicit 'lto: { ... }' flag in their Android.bp. In
this case, the sanitizer mutator disables LTO, then the flags are parsed
from the Android.bp, re-enabling LTO.

This patch fixes this issue. If the sanitizer mutator has added the
-fsanitize=fuzzer-no-link flags, then the LTO mutator won't add the LTO
flags after this fact.

Test: Build a target with SANITIZE_TARGET=fuzzer (or a cc_fuzz target),
where there is an explitiy 'lto: { ... }' and watch it now succeed in
building.

Change-Id: I6643909417f666539c23469816926b806e204b06
2019-08-02 16:57:55 -07:00
Kun Niu
10c9f83f26 Build module from source branch instead of using prebuilds when coverage is enabled.
Test: successfully get coverage data from coverage build.
Bug: 137865099
Change-Id: I7df96c2b2c2ec2859393fb2c19ffe1081d112c96
2019-08-02 10:13:46 -07:00
yidong.zhang
d06ecc8af1 Fix recovery-variant VNDK libs miss-installed to recovery img
When no-vendor-variant VNDK is enabled,the vendor variant of VNDK
libraries are not installed.This should not be fit for recovery module.
Recovery module deps should be always installed.

Bug: 138812833
Test: `adb reboot recovery;` recovery mode boot ok

Change-Id: I0c3b8ac0fb0176677ddd94ba7216dd068f2eb81b
2019-08-02 16:24:15 +08:00
Dan Willemsen
57d5786d59 Merge "Remove support for ONE_SHOT_MAKEFILE"
am: d778b93168

Change-Id: I32ef15cf94df3524e4e805327d4af246c95226a6
2019-08-01 14:31:53 -07:00
Dan Willemsen
d778b93168 Merge "Remove support for ONE_SHOT_MAKEFILE" 2019-08-01 21:11:02 +00:00
Elliott Hughes
4177df9567 Merge "Reland "Remove product_is_iot.""
am: 80e071d1da

Change-Id: I875289d3b5f88034b4e1256054b41fb9e05dfdd1
2019-08-01 11:59:54 -07:00
Elliott Hughes
80e071d1da Merge "Reland "Remove product_is_iot."" 2019-08-01 18:24:26 +00:00