Commit Graph

5393 Commits

Author SHA1 Message Date
Kris Alder
c81f59f03e add options for LibFuzzer, HWASan, and ASan to fuzz_config
Bug: 176998722
Test: built fuzz target with these options specified, checked resulting
config.json

Change-Id: Id38668dd11e76eead4ec87bd225ba67e3b30b80d
2021-01-07 23:43:10 +00:00
Colin Cross
912f1700a8 Merge "Split vndk_libraries_txt into multiple module types" am: ee7d0fd0f6 am: 15e8f2b6ca am: 8e37c43f3d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1541063

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I445abaa15513343916904d063ca106b30d5cd0b1
2021-01-07 19:20:21 +00:00
Justin Yun
c0d8c49224 Do not read 'vendor_available: false'
In case of VNDK, 'vendor_available: false' had a special meaning that
defines VNDK-private libraries. It is not trivial because not
defining a boolean property means 'false' normally. To avoid the
confusion replace it with the 'vndk.private: true' for VNDK-private
libraries and 'private: true' for LLNDK-private libraries.

All VNDK libraries must define 'vendor_available: true' and may have
'vndk.private: true' if they are VNDK-private.
With this change '(vendor|product)_available: false' is the same as
not defining the property.

LLNDK-private must define 'private: true' instead of
'vendor_available: false'.

Bug: 175768895
Test: build
Change-Id: I57fbca351be317257d95027f3cdcdbbe537eab23
2021-01-07 17:58:55 +09:00
Inseob Kim
0c1ca4c3e4 Remove redundant snapshot functions
Leaving only isSnapshotAware is sufficient and clearer than before.

Test: m nothing
Change-Id: I497ee72ca0cc2386b1b947732473ac63b722621c
2021-01-07 05:15:50 +00:00
Inseob Kim
e9aec6aaca Implement fake vendor snapshot
A fake vendor snapshot is a vendor snapshot whose prebuilt binaries and
captured headers are all empty. It's much faster to be built than the
real vendor snapshot, so users can exploit the fake vendor snapshot to
reduce the size of vendor snapshot they need, by installing the fake
snapshot and then inspecting the ninja dependencies.

Bug: 157967325
Test: m dist vendor-fake-snapshot
Change-Id: I5e16e8dbbf9dd5e753cdd471ca73d06984a6cb2c
2021-01-07 14:09:31 +09:00
Colin Cross
21d6f869c6 Fix llndk_library init am: 4f4f8ebd3f am: dcc5fc1550 am: 9f84abfe40
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1541062

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3d6a83a820d6f01d96e52dce0b037ee3c5b8076e
2021-01-07 03:59:02 +00:00
Treehugger Robot
c6b6483362 Merge "Create vndkproduct.libraries.txt" am: 47d186cd4e am: 184f4f0668 am: f2fc837d01
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1519461

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I927426ae76b9755bb5ec9a48c42bdc53ee0b5051
2021-01-07 03:16:26 +00:00
Jooyung Han
a2861d19f5 Merge "Add "aidl.flags:" property for cc_/java_ modules" am: 26ab0f1051 am: 076ed3bca3 am: fccf62ed45
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1538625

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7842f59026d63a2aab8efe354cc37f20ee9e39ab
2021-01-07 03:16:17 +00:00
Yabin Cui
e769dbb352 Merge "Switch to clang-r407598 (12.0.1)." am: 87b16fa3b4 am: 5327ff1d57 am: 27451f6122
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1541244

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia255b87e3f72b5757193ad3d4edbede713fbf127
2021-01-07 03:15:20 +00:00
Colin Cross
e4e44bc61b Split vndk_libraries_txt into multiple module types
Replace the vndk_libraries_txt module type with llndk_libraries_txt,
etc. in preparation for making it a new SingletonModule, which will
only work with a single instance of the module type.

Bug: 176904285
Test: m checkbuild
Change-Id: Ie010a9eeee8f5849201aa4ab4eb9b2e7a9cd7d5b
2021-01-06 17:54:30 -08:00
Colin Cross
4f4f8ebd3f Fix llndk_library init
llndk_library modules were not calling module.Init(), which caused them
not to register ModuleBase.VendorProperties.  Unregistered property
structs lose their values during cloning, which caused the shared
variants of llndk_library modules to not have IsLLNDK set.

Call module.Init(), which registers ModuleBase.VendorProperties.  Also
add a helper function to filter out llndk_library modules that now
show up in the list of modules with IsLLNDK set.

Bug: 170784825
Test: m checkbuild
Change-Id: Iafde85f6a95e85a618f6f7d7a210398febb6b158
2021-01-06 17:50:48 -08:00
Treehugger Robot
47d186cd4e Merge "Create vndkproduct.libraries.txt" 2021-01-07 01:43:15 +00:00
Jooyung Han
26ab0f1051 Merge "Add "aidl.flags:" property for cc_/java_ modules" 2021-01-07 01:28:47 +00:00
Yabin Cui
87b16fa3b4 Merge "Switch to clang-r407598 (12.0.1)." 2021-01-07 00:52:21 +00:00
Jose "Pepe" Galmes
005f4685ac Merge "Support for recovery snapshot." am: 7ba6f1cca7 am: 11d4dee3f1 am: 1b15ce5d98
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1526263

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2e59f440026537b88681972e2ba00d9bda4afded
2021-01-06 22:44:08 +00:00
Jose "Pepe" Galmes
7ba6f1cca7 Merge "Support for recovery snapshot." 2021-01-06 21:17:54 +00:00
Treehugger Robot
7746f3a695 Merge "Static variant deps are not considered as being in the same APEX" am: 4c89f3e11f am: 1735a305c7 am: 5a28af22c2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1538627

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie70efa1d2c7770165017b00c1d48738222bd6f87
2021-01-06 07:23:44 +00:00
Yabin Cui
db7dda89f3 Switch to clang-r407598 (12.0.1).
Also suppress a clang-tidy warning and a ubsan check to pass compilation.

Bug: 171348143
Test: build.
Change-Id: Ie5162c15df172cefd7cff9776e54531fd620bc23
2021-01-05 19:43:45 -08:00
Jiyong Park
12177fc962 Static variant deps are not considered as being in the same APEX
The shared variant of a cc_library module depends on the static variant
of the same module. The dependency is just to optimize the build time by
not compiling the same source files twice. It doesn't mean that the
"static:" dependencies of the static variant are used to build the
shared variant. Therefore, the inter-variant dependency is considered
as NOT being in the same APEX.

Bug: N/A
Test: m

Change-Id: I7b8ff8e5bd5c9eb31fc4d8d18bd93dd80296fb81
2021-01-06 11:40:37 +09:00
Justin Yun
8a2600cfc9 Create vndkproduct.libraries.txt
Some VNDKs will be available to product modules by adding
'product_available' property. These VNDK libs will be listed in
vndkproduct.libraries.txt and tracked by the build system for the
changes. The product available VNDK list will be frozen by the
release process.

Bug: 174323911
Test: build
Change-Id: Ie1b085851413a8f2273925fefdc14fec3bfc7892
2021-01-05 20:05:39 +09:00
Jooyung Han
e197d8b174 Add "aidl.flags:" property for cc_/java_ modules
The property can be used to pass additional flags to the AIDL compiler.
For example,

  cc_library {
    ..
    srcs: ["Foo.aidl"],
    aidl: {
      flags: [
        "-Werror",      // warnings as error
        "-Weverything", // turn on all warnings
      ],
    },
  }

Bug: 168028537
Test: soong test
Change-Id: I8120eeae7cd7b1acdd34c554af996a29e760a368
2021-01-05 10:40:22 +09:00
Cindy Zhou
e0f80df81f Skip apex dep check when sanitizer diag is enabled am: 18417cbd72 am: 262139d285 am: c8680d0691
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1523578

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4bb1c055b4e7da0ebe1ff02d2eeb9df593cc3472
2020-12-29 18:12:50 +00:00
Cindy Zhou
18417cbd72 Skip apex dep check when sanitizer diag is enabled
To avoid adding ubsan to the apex allowed_dep list, this commit adds a
check on depedency tags to see if apex check should be skipped.
The check is only used on sharedLib dependencies when diag mode are enabled
for sanitizers.

Bug: 158010610

Test: make build for aosp-sargo and aosp_cf_x86_phone-userdebug

Change-Id: I3d7dbb70d8c80ffae1854819cf8cf9e6b0b15c00
2020-12-29 14:48:37 +00:00
Justin Yun
f9de32202d Skip product variant for core-variant VNDK am: 31094b10d2 am: 05f5613573 am: ee4a7c8ece
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1534833

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I73a4426835e4db9d92e5e6fb3a51cfa40be89173
2020-12-24 09:43:55 +00:00
Justin Yun
31094b10d2 Skip product variant for core-variant VNDK
VNDK "mustUseVendorVariant" option checks only for the vendor
variant. Since the product variant of the VNDK is skipped from
installing, we don't need check product variant for
"mustUseVendorVariant" check.

Bug: 176268903
Test: m libxml2.product
      m libxml2.vendor
Change-Id: I3b10f0579aceca1fb32fa4d6fb21dc020a35874d
2020-12-24 16:11:23 +09:00
Treehugger Robot
d02a9e1be7 Merge changes I81769f57,I28fb6886 am: 2187e41f05 am: ea47fd675a am: 856b3dee70
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1534827

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I868969a3e53f17831b9fa4bc2c5bb0056a747a27
2020-12-24 06:24:37 +00:00
Justin Yun
fd9e804470 Define vndk.private property for VNDK-private libraries
To define VNDK-private libraries, we used `vendor_available: false`.
Because of it, `vendor_available == nil` had different meaning from
`vendor_available: false` for the VNDK libraries.
To clarify this, we change the logic for defining VNDK-private
libraries which was:

cc_library {
    name: "vndk_private",
    vendor_available: false,
    product_available: false,
    vndk: {
        enabled: true,
    },
}

It must be replaced with

cc_library {
    name: "vndk_private",
    vendor_available: true,
    product_available: true,
    vndk: {
        enabled: true,
        private: true,
    },
}

Bug: 175768895
Test: m nothing
Change-Id: I81769f57c2231e54b682a28e4b82631ab9f3d390
2020-12-24 10:51:07 +09:00
Jose Galmes
6f843bc4ba Support for recovery snapshot.
Bug: 171231437

Test: source build/envsetup.sh
Test: ALLOW_MISSING_DEPENDENCIES=true m -j nothing

Change-Id: I74636cf7f97e027a229a5ef7c776f2b7a42ead95
2020-12-23 10:34:44 -08:00
Justin Yun
6977e8a80c 'vendor_available: *' will not create product variant
With this patch, `vendor_available: true` will no longer creates
product variant. Instead, modules need to set `product_available:
true` if they have to be available to product vanriant.
If both properties are defined for VNDKs, they must have the same
values.

Bug: 150902910
Test: m nothing
Change-Id: I28fb6886e6114583227a31151136627c8516ac9c
2020-12-23 18:14:30 +09:00
Jaewoong Jung
de6671062a Merge "Remove unnecessary snake case variables." am: e794b1e302 am: ce131b6fcf am: e3ec6f723e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1533880

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2e481c45e9fcc2e0023c03aed89320c49678dc86
2020-12-23 02:15:09 +00:00
Kalesh Singh
df619a6997 Merge "Reland: Add android.hardware.memtrack-unstable-ndk_platform" am: 98dea94982 am: c425b49238 am: 12c0c922c2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1534599

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If661274a75f52c0a132b9c90d66dd05a33407ef9
2020-12-23 02:14:39 +00:00
Jaewoong Jung
e794b1e302 Merge "Remove unnecessary snake case variables." 2020-12-23 01:21:28 +00:00
Kalesh Singh
98dea94982 Merge "Reland: Add android.hardware.memtrack-unstable-ndk_platform" 2020-12-23 01:20:51 +00:00
Kalesh Singh
7b63b2677d Reland: Add android.hardware.memtrack-unstable-ndk_platform
Bug: 175021432
Test: Fixes build failure on aosp/1518666
Change-Id: Id53bb93bfce35347637a271b7f6aa3c1c4d8c839
2020-12-22 20:49:54 +00:00
Jaewoong Jung
18aefc1977 Remove unnecessary snake case variables.
Test: m nothing + TreeHugger
Change-Id: I99f7162944daa6c57c6ae4763261e108bb5cb6b1
2020-12-22 12:38:35 -08:00
Colin Cross
091e094210 Merge changes from topic "llndk_cc_library" am: 1f8c272984 am: f0dee605eb am: 4ee7ea6517
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1532861

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icdaf99352b87880777e36ec8c1a3a3479b03c715
2020-12-22 20:07:50 +00:00
Colin Cross
127bb8b9f6 Don't rewrite LLNDK dependencies with .llndk suffix
Rewriting LLNDK dependencies with .llndk suffix requries referencing
a global data structure to determine if a given library is an LLNDK
library and therefore needs the .llndk suffix.  References to
global data structures from mutators must be removed to support
incremental Soong analysis.  Instead, move the LLNDK stubs rules
into the vendor variant of the implementing cc_library so that
the original name can be used.

As an incremental step, the llndk_library modules are left in
place, and the properties are copied into the cc_library via
the dependency specified by the llndk_stub property.  A followup
will move the LLNDK properties directly into the cc_library and
delete the llndk_library modules.

The global list of LLNDK libraries is kept for now as it is used
to generate the vndk.libraries.txt file.

Bug: 170784825
Test: m checkbuild
Test: compare Soong outputs
Test: all Soong tests
Change-Id: I2a942b21c162541a49e27b2e5833c9aebccff1d0
2020-12-21 17:53:30 -08:00
Colin Cross
adc81a0783 Don't strip stub libraries
LLNDK and NDK stubs are already not stripped, don't strip APEX stubs
either.

Test: m checkbuild
Change-Id: I9a50df4b8b73d764ca81634a8a3014726eceda99
2020-12-21 15:54:09 -08:00
Colin Cross
088fc71a70 Merge changes from topic "sbox_tools" am: 97a1be6e7b am: 62bc8d2316 am: cc288ca3f4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1531944

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icc640676d59a71e70fec6124fd8a4af42bd1be26
2020-12-17 23:30:16 +00:00
Colin Cross
97a1be6e7b Merge changes from topic "sbox_tools"
* changes:
  Sandbox genrule tools
  Call ctx.InstallFile for uninstallable cc modules
  Don't copy uninstallable variants of NDK libraries to sysroot
2020-12-17 22:01:06 +00:00
Colin Cross
a9c8c9f145 Call ctx.InstallFile for uninstallable cc modules
SkipInstall is actually primarily used to prevent making a module
visible to Make, rename it and add new SkipInstall that actually
skips installation without affecting Make.

Call c.SkipInstall() for uninstallable cc modules to allow calling
c.installer.install, which will collect PackagingSpecs for
uninstallable cc modules, allowing them to be used by genrules.

Bug: 124313442
Test: m checkbuild
Change-Id: I8038ed5c6f05c989ac21ec06c4552fb3136b9a7a
2020-12-17 10:02:18 -08:00
Colin Cross
95b07f2b59 Don't copy uninstallable variants of NDK libraries to sysroot
After the next patch libraryDecorator.install will be called for
uninstallable variants of modules, manually filter them out when
copying to the NDK sysroot.

Bug: 124313442
Test: m checkbuild
Change-Id: I28b538d4ae271dc5e27c386d7cfa538ac0ed841b
2020-12-17 10:02:18 -08:00
Treehugger Robot
5818f23004 Merge "Assert android.ApexModule interface for types having ApexModuleBase" am: 1a74be780b am: 7d3e31bd70 am: bb56da8ed0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1530138

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idc0a30d1747606337cfdfd4ce76495dcf4cadc05
2020-12-17 05:25:14 +00:00
Treehugger Robot
1a74be780b Merge "Assert android.ApexModule interface for types having ApexModuleBase" 2020-12-17 04:14:35 +00:00
Treehugger Robot
2778154a44 Merge "versioning macro is exported from prebuilt stubs as well" am: 6a8c18a89b am: a781b0a384 am: 7a162fecb3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1527540

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4e4ca257dc6b58f34dc42a918d3af44f46238456
2020-12-16 03:20:56 +00:00
Kalesh Singh
5b2cbe6810 Merge "Revert "Add android.hardware.memtrack-unstable-ndk_platform"" am: fc0cba0b77 am: cf7a4b306f am: dcf072887d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1530882

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9ed5e1681bb4287b47c17037d5613bcb95518238
2020-12-16 02:22:57 +00:00
Treehugger Robot
6a8c18a89b Merge "versioning macro is exported from prebuilt stubs as well" 2020-12-16 01:31:10 +00:00
Kalesh Singh
fc0cba0b77 Merge "Revert "Add android.hardware.memtrack-unstable-ndk_platform"" 2020-12-16 00:48:06 +00:00
Kalesh Singh
67d69f0d1c Revert "Add android.hardware.memtrack-unstable-ndk_platform"
Revert submission 1518702-memtrack-aidl

Reason for revert: Broken tests and boot time regressions
Reverted Changes:
Ic4dd70e2c:Add android.hardware.memtrack-unstable-ndk_platfor...
Iaf99d0ca4:Add stable aidl memtrack HAL to product packages
Iac54ae2ba:Add stable aidl memtrack hal to vndk list
If310210a3:libmemtrack: Add support for AIDL memtrack HAL
Ib6c634def:Memtrack HAL: Add stable AIDL implementation
I5e1d0e006:Memtrack HAL stable aidl sepolicy

Change-Id: I4fc71dc5813d10600727a2630c10f5d113f61936
2020-12-16 00:19:38 +00:00
Colin Cross
d525d8eec7 Require libraries in header_libs to be cc_library_header am: 649d8174b8 am: c4fe1486ec am: a8c1c23da1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1524479

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5e59aa8e4dcc904b2392d7c2507dc1b6d569ac84
2020-12-15 19:11:35 +00:00