Commit Graph

4624 Commits

Author SHA1 Message Date
Justin Yun
98df0d1c63 Enable vndk-ext for product variants
To build vndk-ext for product variants use `vndk.extends` property
with `product_specific: true` as for the vndk-ext for vendor
variants. For example:
cc_library {
    name: "libvndk_ext_product",
    product_specific: true,
    vndk: {
        enabled: true,
        extends: "libvndk",
    },
}

It will install the vndk-ext libs for product variants in
product/lib[64]/vndk/

Test: m nothing
Bug: 147778025
Change-Id: If1ee5be93c579abad302f44f18e6316f27e70019
Merged-In: If1ee5be93c579abad302f44f18e6316f27e70019
(cherry picked from commit 0ecf0b223f)
2020-03-04 04:37:02 +00:00
Automerger Merge Worker
3b5171e64c Enable vndk-ext for product variants am: 0ecf0b223f am: fff0ad2041
Change-Id: I44bd1da3eaf7dcf80a072078eb0f9839bcd67d8b
2020-03-04 01:55:20 +00:00
Justin Yun
0ecf0b223f Enable vndk-ext for product variants
To build vndk-ext for product variants use `vndk.extends` property
with `product_specific: true` as for the vndk-ext for vendor
variants. For example:
cc_library {
    name: "libvndk_ext_product",
    product_specific: true,
    vndk: {
        enabled: true,
        extends: "libvndk",
    },
}

It will install the vndk-ext libs for product variants in
product/lib[64]/vndk/

Test: m nothing
Bug: 147778025
Change-Id: If1ee5be93c579abad302f44f18e6316f27e70019
2020-03-04 01:22:16 +00:00
Automerger Merge Worker
d6f92db210 Merge "Make __ANDROID_APEX_<NAME>__ macro optional" am: 6efd3598c5 am: 2db5d65577
Change-Id: Ie3ef4fffa6f1b751e8e05daec16a21ed6b771ca4
2020-03-04 00:01:07 +00:00
Jooyung Han
6efd3598c5 Merge "Make __ANDROID_APEX_<NAME>__ macro optional" 2020-03-03 23:35:02 +00:00
Automerger Merge Worker
2c8805edb9 Merge "Add -z separate-code to default ARM64 device flags" am: 593c8c332c am: a86effc0bb
Change-Id: Ie4dd4dbbca0dd840f5553f0c2dedc349ba0c3631
2020-03-03 20:16:01 +00:00
Chih-Hung Hsieh
70b9316309 Add bugprone to global clang-tidy default checks
Test: WITH_TIDY=1 make
Change-Id: I1533c30035296fb1eaa7e2ff42360c5ff60a1d07
2020-03-03 12:05:22 -08:00
Ivan Lozano
c352e3e875 Add -z separate-code to default ARM64 device flags
Removing XOM had the side effect of removing "-z separate-code", which
was needed to override a new default after a recent toolchain update.
This led to some performance regressions in some tests. For now, add
this flag to the global arm64 device flags to return to the previous
behavior.

Bug: 150506341
Test: m -j
Change-Id: I26a93deb17868103eaa4b87bd7bb8416f3adbc7f
Merged-In: I54787954141d133e245dfd259a37bf4c3c8e7caa
(cherry picked from commit c80bbb46b1)
2020-03-03 14:39:35 -05:00
Ivan Lozano
c80bbb46b1 Add -z separate-code to default ARM64 device flags
Removing XOM had the side effect of removing "-z separate-code", which
was needed to override a new default after a recent toolchain update.
This led to some performance regressions in some tests. For now, add
this flag to the global arm64 device flags to return to the previous
behavior.

Bug: 150506341
Test: m -j
Change-Id: I54787954141d133e245dfd259a37bf4c3c8e7caa
2020-03-03 16:09:08 +00:00
Jooyung Han
c87a059c88 Make __ANDROID_APEX_<NAME>__ macro optional
This is rarely used feature but cost alot for the local build and build
inra.

Bug: 150506627
Test: m
Change-Id: Iec3ada4a97c7b228f2818563fa0e81b407f2715a
2020-03-02 17:44:33 +09:00
Automerger Merge Worker
44b9b1408d Runtime deps to a stubs lib crosses APEX boundary am: 323a4c3ab3 am: 695543b6d7
Change-Id: I2e48ed182174de136948b231b0ba423711ddac80
2020-03-02 00:48:40 +00:00
Jiyong Park
323a4c3ab3 Runtime deps to a stubs lib crosses APEX boundary
When there is a runtime depedency (via runtime_libs property) to a
library providing stable C APIs, the dependency is considered as
crossing APEX boundary. Therefore, the requested lib doesn't need to be
made available to the APEX where the requesting lib is in.

Bug: 147813447
Test: m
Change-Id: I9cf8a5877850fb85b92c851e15fac921b8b7641b
2020-03-01 17:29:06 +09:00
Automerger Merge Worker
8b15cb8543 Merge changes from topic "soong_build_number_file" am: f14cd86e23 am: 5e1f7bf09b
Change-Id: Iac6e63067fd38a77eea68a4c7a76d02033b4908b
2020-02-28 20:44:49 +00:00
Treehugger Robot
f14cd86e23 Merge changes from topic "soong_build_number_file"
* changes:
  Add an order-only dependency on the build number file
  Add support for order-only dependencies to RuleBuilder
2020-02-28 20:15:52 +00:00
Colin Cross
2a2e0db2a2 Add an order-only dependency on the build number file
Remote execution and other tools can be confused by references to
build_number.txt without a dependency.  Add an order-only dependency,
which maintains the current behavior.

Test: BUILD_NUMBER=1 && m aapt && aapt version # shows 1
      BUILD_NUMBER=2 && m aapt && aapt version # shows 1
      rm out/soong/.intermediates/frameworks/base/tools/aapt/aapt/linux_glibc_x86_64/aapt
      BUILD_NUMBER=2 && m aapt && aapt version # shows 2
Change-Id: Icfa98d6840b1dc2e273ba29c33011635d1cf93b1
2020-02-28 18:16:56 +00:00
Automerger Merge Worker
bdaf52aadd Merge "Support arch variant for data attribute" am: 6f9bfc01a2 am: a3cc927fdb
Change-Id: I87f59934a972ff98fef9d35cead9beeca3999510
2020-02-27 06:40:36 +00:00
Dan Shi
6f9bfc01a2 Merge "Support arch variant for data attribute" 2020-02-27 06:06:50 +00:00
Automerger Merge Worker
5a35861bc2 Merge "Unless overridden include LICENSE files in notices." am: 40017be1c3 am: c07a0cf902
Change-Id: Iccc43375a95c39898ca62d10d4bbe198f339ef9a
2020-02-26 21:01:45 +00:00
Bob Badour
40017be1c3 Merge "Unless overridden include LICENSE files in notices." 2020-02-26 20:37:22 +00:00
Automerger Merge Worker
81b597b6ad Convert cc to AndroidMkEntries am: d80cbca76d am: 35189efd1d
Change-Id: Iab8e553dc23ff71b386165bae435b10262a4ef7f
2020-02-26 17:04:17 +00:00
Logan Chien
2a65dda27d Add check_all_apis option for header ABI checker
This commit adds a header ABI checker option to check all APIs that can
be found.  Without this option, the checker by default only checks the
class/struct/enum that are directly or indirectly referred by one of the
exported symbols.  With `check_all_apis: true,`, the checker will check
all class/struct/enum.

Bug: 141709599
Test: Add `header_abi_checker: { check_all_apis: true, }` to a library
      and see breakage if I change some enum.
Change-Id: I61f90e07b60a6752fc6be4398420c1ad1291102f
2020-02-26 09:25:40 +00:00
Colin Cross
d80cbca76d Convert cc to AndroidMkEntries
Use AndroidMkEntries so the next patch can use ExtraFooters, which
doesn't exist in AndroidMkData.

Test: manually diff out/soong/Android.aosp_x86_64.mk
Change-Id: Ia3006b6747813693cf7e2b536030b21f3109f538
2020-02-25 19:53:04 -08:00
Dan Shi
67a8834735 Support arch variant for data attribute
Bug: 143220441
Test: atest VtsHalDrmV1_2TargetTest
Change-Id: I2381f78b486852da267caa363b4c4cb5660c9055
2020-02-25 16:34:39 -08:00
Automerger Merge Worker
7d94169f5e Merge "Add support for cc_library_headers in sdk/module_exports" am: e1fd6a9bd8 am: 92e2a41ea0
Change-Id: I449f2fca05d926f53732b074e9a20bf5f230db18
2020-02-25 10:53:46 +00:00
Automerger Merge Worker
4b1fb4c567 Merge "Simplify cc library sdk snapshot handling of include dirs/headers" am: 2125138f25 am: 0f0bb62979
Change-Id: I458a012f73b34b7d183b553e7d777d94055790fd
2020-02-25 10:53:39 +00:00
Automerger Merge Worker
c990ac9e8e Merge changes Idd50ed38,Icbc86b21 am: 4483601b58 am: 3c025bf921
Change-Id: I266e580ff456d6d25b82e45693faa3e930d277fc
2020-02-25 04:21:20 +00:00
Paul Duffin
91756d2498 Add support for cc_library_headers in sdk/module_exports
Bug: 148933848
Test: m nothing
Change-Id: Ife6ee0f736238727a11b4421532eaeb29d46c1b7
2020-02-24 14:49:22 +00:00
Paul Duffin
64f54b0ae8 Simplify cc library sdk snapshot handling of include dirs/headers
Previously, the code for generating a snapshot of a cc library was
split into two separate phases. The first phase copied the files that
needed copying and the second phase added the properties for the
include dirs. This separation made it difficult to make sure that the
two phases were in sync.

This change merges those two phases together so the same paths used to
copy the files are used in the properties ensuring consistency. As the
various type of include dir and header were treated slightly different
to each other this parameterizes that behavior.

Bug: 142935992
Test: m nothing
Change-Id: I7877464987bbdae9662e5e3f02bb5e5a75dca5a3
2020-02-24 14:49:22 +00:00
Paul Duffin
f5ea9e1f76 Add cc_prebuilt_library_headers
In preparation for adding cc_library_headers support to
sdk/module_exports.

Two changes were needed to make the prebuilt version work.
1) Had to stop the prebuilt version of the library from creating static
   and shared variants for header only.
2) Had to allow the code to export/reexport include dirs to run even
   when no src is provided.

Bug: 148933848
Test: m nothing
Change-Id: Idd50ed38bc90d1d93551f78e6310f167941487d9
2020-02-24 14:49:22 +00:00
Paul Duffin
1c6c1c7251 Separate cc_library_headers to its own file and add tests
Preparation for adding cc_library_headers to sdk.

Bug: 148933848
Test: m nothing
Change-Id: Icbc86b21f44dc79393b82be339cf3b133cbf9d8c
2020-02-24 14:49:22 +00:00
Automerger Merge Worker
4932656913 Merge "Add C++ Host support on sysprop_library" am: efbce1cace am: e2c17743e4
Change-Id: I1f32c2443e75e15db4b2e96a5666a86aecd46cdc
2020-02-24 02:53:57 +00:00
Treehugger Robot
efbce1cace Merge "Add C++ Host support on sysprop_library" 2020-02-24 02:29:09 +00:00
Automerger Merge Worker
53d59b3659 Merge "Allow compile_multilib to be specified on module exports" am: f9f6a91376 am: f86541ab99
Change-Id: Ia79981d9c271924281a5cf64c818eb1dc612106b
2020-02-22 10:29:25 +00:00
Treehugger Robot
f9f6a91376 Merge "Allow compile_multilib to be specified on module exports" 2020-02-22 10:07:43 +00:00
Automerger Merge Worker
aafbe3ab60 Merge "Allow Linux hosts to use ubsan runtime sanitizers." am: 61f7a24cea am: 10d46c9a54 am: d06e0974ce
Change-Id: I216706ee0a8fea5c496485784794006c562f0c42
2020-02-21 21:59:32 +00:00
Ivan Lozano
61f7a24cea Merge "Allow Linux hosts to use ubsan runtime sanitizers." 2020-02-21 21:16:17 +00:00
Bob Badour
a75b057e17 Unless overridden include LICENSE files in notices.
As a second step to removing the go/android3p instructions to copy or
to link NOTICE to LICENSE, include LICENSE files in the notices, which
will allow deleting all of the copied/linked NOTICE files.

The change causes a few additions to the system image notice files.

Test: manually built and compared before and after notices
Change-Id: Ia7bc58e2eba7bed5e63934881b5298201a93bc3e
2020-02-21 20:40:43 +00:00
Automerger Merge Worker
7eaafe07cf Merge "Ensure consistent handling of generated headers/dirs" am: a0d58893fc am: 44242ee450 am: 4d54a5a580
Change-Id: I66ccacab3c2f411afdad5f91cd243b66ad519456
2020-02-21 09:06:19 +00:00
Paul Duffin
13ad94fce2 Allow compile_multilib to be specified on module exports
This is needed to allow the art-host-module-exports to restrict itself
to just managing the linux 64 bit version of the host tools as that is
the only variant that is currently supported by all host tools. This
greatly simplifies that process and allows us to make progress on the
unbundling.

Bug: 142935992
Test: m nothing
Change-Id: I62d016d97c2df73e5feecf912638f477fedd97c9
2020-02-21 09:01:08 +00:00
Treehugger Robot
a0d58893fc Merge "Ensure consistent handling of generated headers/dirs" 2020-02-21 08:19:33 +00:00
Automerger Merge Worker
7e83a01a1d Merge "Add static_libs field to target.vendor" am: 5c50e7f7c4 am: f789eab3c5 am: dc7dc18251
Change-Id: I398d0b8b2b66794b0fafba8688ba75f950ff1550
2020-02-21 04:38:44 +00:00
Treehugger Robot
5c50e7f7c4 Merge "Add static_libs field to target.vendor" 2020-02-21 03:57:05 +00:00
Chong Zhang
ed5c14632a Add static_libs field to target.vendor
test: builds with a local Android.bp that uses target.vender.static_libs

Change-Id: Id1b70660ccab26025c280497916929d303d16aff
2020-02-20 15:21:38 -08:00
Chih-hung Hsieh
78620004fc Merge "Enable bitwise-conditional-parentheses warning" 2020-02-20 21:55:28 +00:00
Paul Duffin
5efd1985d1 Ensure consistent handling of generated headers/dirs
The list of exported generated headers are all expected to be within
one of the exported generated include dirs. Previously, that was not
the case as ExportedGeneratedIncludeDirs was suitable for extracting
to common properties (which changes the output location) and
exportedGeneratedHeaders was not.

This would cause a problem if there was only one variant. In that case
the ExportedGeneratedIncludeDirs would be treated as a common property
and placed in include_gen/<x> directory while exportedGeneratedHeaders
would be treated as an arch specific property and placed in
<arch>/include_gen/<x>.

Bug: 142935992
Test: m nothing
Change-Id: Idf82a5ca551b44ec31971c7ff3bd957a4c38f396
2020-02-20 21:52:02 +00:00
Automerger Merge Worker
96574500db Merge changes from topic "soong_tests_ndk" am: 53fe467c67 am: 563533c0e6 am: 56f90a17fe
Change-Id: Ia267936ad071f362b92a788fb49b1dcb2ae44d3f
2020-02-20 21:36:00 +00:00
Automerger Merge Worker
2f4e3cc276 Move NDK test modules into cc/testing.go am: f28329de73 am: 8a9806b3b1 am: 09bb178aea
Change-Id: I84af2424f82cf9bdfbeefb1b54d96107c930a71e
2020-02-20 21:35:57 +00:00
Automerger Merge Worker
56f90a17fe Merge changes from topic "soong_tests_ndk" am: 53fe467c67 am: 563533c0e6
Change-Id: I0e2cbd23cf3471129102c850c987a6c9f20590a2
2020-02-20 21:23:29 +00:00
Automerger Merge Worker
09bb178aea Move NDK test modules into cc/testing.go am: f28329de73 am: 8a9806b3b1
Change-Id: I68825d36d7bf849b7c10d43ce5e12b94d87a7a5c
2020-02-20 21:23:27 +00:00
Ivan Lozano
9ac32c7674 Allow Linux hosts to use ubsan runtime sanitizers.
Linux host prebuilts for UBSan runtime are available now, so we can
enable these. There's a bit more work to be done for Windows/Darwin
support, so that's left to another CL.

Bug: 148289941
Test: Build host binary with integer overflow sanitization enabled.
Test: ./art/test/testrunner/run_build_test_target.py art-linux-bionic-x64

Change-Id: Ie98979116fa3bb8accb23d1788adcc28330a9530
2020-02-20 20:27:35 +00:00