Commit graph

1569 commits

Author SHA1 Message Date
Colin Cross
bc28181e3d Merge "Put javac, d8 and r8 rules into RBE ninja pool, take two" am: 845e23b0de am: b8999c3d88 am: 1e492a67d2
Original change: https://android-review.googlesource.com/c/platform/build/+/2065912

Change-Id: I47ac1a65c04c32666535e20c44f989921e013577
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 06:21:19 +00:00
Colin Cross
85722b807a Put javac, d8 and r8 rules into RBE ninja pool, take two
I60f7859f3657fc1eff0daf0e0a1b0f9fe63551b6 attempted to put the javac,
d8 and r8 rules into the RBE ninja pool so they could run 500 jobs
in parallel, but rbe.mk is not parsed during the main build phase
and the pool continued to be unset.  Move the pool configuration
into config.mk.

Bug: 228603472
Test: manual
Change-Id: I56377244e1c496034576ba5988393d88c2c5b09f
2022-04-18 12:10:33 -07:00
Cole Faust
28afecfd45 Merge "Remove usages of long-form variables" am: b760b469c7 am: 85f941cf3a am: c091ee15fb
Original change: https://android-review.googlesource.com/c/platform/build/+/2064287

Change-Id: I2610a8c39679c34cb82cb4dbd679dadf5f797666
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 18:23:48 +00:00
Cole Faust
81f1e92ed8 Remove usages of long-form variables
The long-form variables (PRODUCTS.<makefile>.<variable>)
are used to get information about multiple products.
However, they've never really worked correctly, and so
importing multiple products is deprecated behavior.

Remove as many usages of the long-form variables and
multi-product imports as possible.

Bug: 228518445
Test: Manually
Change-Id: I0b67f16360ff8bdcdb39638de739440472bccf76
2022-04-13 15:49:56 -07:00
Yurii Zubrytskyi
97191b2095 platform/build/make - T is now 33
Bug: 225745567
Test: Build
Change-Id: If115998c2ef9ef58329faa937e11d673f5585aab
2022-04-12 12:47:25 -07:00
Treehugger Robot
7bc6d0e71d Merge "Put javac, d8 and r8 rules into RBE ninja pool" 2022-04-12 14:27:24 +00:00
Colin Cross
24575c46e3 Put javac, d8 and r8 rules into RBE ninja pool
javac, d8 and r8 rules for module defined in Android.mk files are
running remotely with RBE but are running in the local ninja pool,
restricting them to only running as many jobs in parallel as there
are local CPUs.  Set the ninja pool to let them run 500 jobs in
parallel.

Bug: 228603472
Test: m checkbuild
Change-Id: I60f7859f3657fc1eff0daf0e0a1b0f9fe63551b6
2022-04-08 10:56:57 -07:00
Colin Cross
ac7febc9c7 Revert "Revert "Produce mappings of hashes to elf symbols and r8 dictionaries""
This reverts commit 59ecb9e016.

Reason for revert: symbols_map is fixed to ignore non-elf files

Bug: 218888599
Change-Id: I88654b2dba3dfb9ab2809b0555544277279f345d
2022-04-06 01:11:20 +00:00
Colin Cross
59ecb9e016 Revert "Produce mappings of hashes to elf symbols and r8 dictionaries"
This reverts commit 3570b3ed86.

Reason for revert: b/228195288

Bug: 218888599
Change-Id: I17b38ca1b6f8940d682f2782515bfd5f8db1ce58
2022-04-05 17:47:27 +00:00
Colin Cross
3570b3ed86 Produce mappings of hashes to elf symbols and r8 dictionaries
Run the symbols_map tool on each unstripped binary and proguard
dictionary while copying it to produce a textproto that maps the
hash to the symbol/dictionary file location.  Combine the textprotos
into a mapping file when producing the zipped build artifacts.

Bug: 218888599
Test: m dist
Change-Id: I78997e2f3b631ed74213903cc8e72415b2d7eee0
2022-04-04 16:04:52 -07:00
Treehugger Robot
ddfa3ff19c Merge "Always turn on TARGET_BUILD_USE_PREBUILT_SDKS for unbundled build." 2022-03-30 11:06:46 +00:00
Jiakai Zhang
11f44e2802 Always turn on TARGET_BUILD_USE_PREBUILT_SDKS for unbundled build.
Before this change, TARGET_BUILD_USE_PREBUILT_SDKS was turned on only if
TARGET_BUILD_APPS or TARGET_BUILD_UNBUNDLED_IMAGE is set. After this
change, TARGET_BUILD_USE_PREBUILT_SDKS is always turned on if
TARGET_BUILD_UNBUNDLED is set.

We need this change because we need to build ART services on the thin
manifest, and ART's build script only sets TARGET_BUILD_UNBUNDLED.

Bug: 177273468
Test: (on aosp-master-art) . ./build/envsetup.sh && lunch arm_krait-eng && art/tools/buildbot-build.sh --target
Change-Id: I1b5f63043d518ac8306bd172ef8afd69ab3ae8e5
2022-03-29 16:11:12 +01:00
Colin Cross
c6d6306771 Remove ALL_ORIGINAL_DYNAMIC_BINARIES
Nothing ever reads the value, stop collecting it.

Test: m checkbuild
Change-Id: I2f2ba905c7c45c0da36606710b30864cd5822d91
2022-03-22 09:25:58 -07:00
Colin Cross
a1de5df4bd Remove ALL_GENERATED_SOURCES
ALL_GENERATED_SOURCES contains the generated sources of modules
defined in Make.  They always have a path inside the intermediates
directories.  The only readers of ALL_GENERATED_SOURCES are filtering
for files in the output directories, and will never match anything.

Test: m checkbuild
Change-Id: Ic9af8761d445fa90088f838c385bd2aea3bc3048
2022-03-22 09:25:58 -07:00
David Anderson
060505fb4a Merge "build_image: Remove mkerofsimage.sh." 2022-03-09 04:04:05 +00:00
David Anderson
94ad5bb5ef build_image: Remove mkerofsimage.sh.
These wrapper scripts are difficult to maintain and there's not really
any value add. The argument strings don't match and every new build flag
has to be connected in an extra place.

Bug: 222715577
Test: make with EROFS enabled
Change-Id: Ie0e51cc30aa08b004d5d8345a2a2d885e193ffa9
2022-03-04 11:07:43 -08:00
Xin Li
b3a96bd273 Merge sc-v2-dev-plus-aosp-without-vendor@8084891
Bug: 214455710
Merged-In: Ibcb32225098883b4098807da6468a539e1c41c0c
Change-Id: I408a03e95c0240420c5e5492988abdc4937a0a62
2022-02-11 07:01:21 +00:00
Ramji Jiyani
13a4137929 core & tools: system_dlkm: add dynamic partition
Converts existing static partition support to a
dynamic partition.

Bug: 200082547
Test: TH
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Ifd6d0c2a04e947b16f8b241e99cca594a1d315ae
2022-01-30 08:43:08 +00:00
Ramji Jiyani
1065523a5e Add support to build system_dlkm.img
There are 2 choices to build system_dlkm.img for
the system_dlkm partition for Android T launch
devices and must choose one.

1. Use kernel prebuilt system_dlkm.img
   - BOARD_PREBUILT_SYSTEM_DLKM_IMAGE to point image
2. Build from kernel prebuilt system_dlkm_staging
   - PRODUCT_BUILD_SYSTEM_DLKM_IMAGE

Both requires: BOARD_SYSTEM_DLKM_PARTITION_SIZE and
must be 64MB or higher in size (enforced via vts).

Bug: 200082547
Test: TH
Test: atest vts_system_dlkm_partition_test
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: I83435123bd8aa3d04ab8a8b650a95fbab0bc49f2
2022-01-21 21:39:15 +00:00
Pirama Arumuga Nainar
5fe798bea0 Merge "Revert "Set a BIONIC_COVERAGE .mk variable"" 2022-01-19 06:03:25 +00:00
Pirama Arumuga Nainar
e6b8497408 Revert "Set a BIONIC_COVERAGE .mk variable"
This reverts commit b1b4e1e38b.

Bug: http://b/194128476

Coverage metrics dropped for ~10 of the 40 modules.  There are also
regressions in mainline when running tests on older platform builds.

Test: presubmit
Change-Id: Ib34f607292cd64e7cb9fe35c59a4f79b46904ab8
2022-01-18 13:09:01 -08:00
Yi-Yo Chiang
44fb3619d1 Android T GKI certification scheme
New scheme is to certify kernel & ramdisk image separately, and
effectively decouple kernel & user space ramdisk image.

Under the new scheme, the --os_version and --os_patch_level boot header
field must be empty in order to maintain consistency.
Instead, these values must be in the vbmeta hash descriptor and
GKI certificate.

The new scheme also validates the image metadata, including the security
patch level.

The 'generic_kernel' certificate is associated with the 'boot' partition
and 'generic_ramdisk' certificate with 'init_boot' partition.

The 'generic_ramdisk' certificate may be packed into the 'boot' image if
product configuration doesn't have 'init_boot' image, this is only for
testing purposes and would be removed eventually.

Bug: 210367929
Bug: 211741246
Bug: 203698939
Test: unpack_bootimg --boot_img boot.img
Test: unpack_bootimg --boot_img init_boot.img
Test: avbtool info_image --image out/boot_signature
Change-Id: Iaf48a6e3d4b97fa6bfb5e1635a288b045baa248f
2022-01-11 15:14:38 +08:00
Pirama Arumuga Nainar
909b666ec4 Merge "Set a BIONIC_COVERAGE .mk variable" am: bd7e1a38ba am: 8fdd8e7553 am: ad47bd9907
Original change: https://android-review.googlesource.com/c/platform/build/+/1918952

Change-Id: I9060c64719df35eaff3e4aa0ebe4d2e5280da3e2
2022-01-10 23:30:27 +00:00
Pirama Arumuga Nainar
bd7e1a38ba Merge "Set a BIONIC_COVERAGE .mk variable" 2022-01-10 22:36:57 +00:00
Inseob Kim
a6deddb940 Merge "Add sepolicy prebuilt dirs and variables to config" am: f6e4b7b769 am: f6e08dcf68 am: 8f45830c60
Original change: https://android-review.googlesource.com/c/platform/build/+/1926906

Change-Id: I87eaa89cfbbe09fdae61539d989bf37c4c494a31
2021-12-21 07:39:44 +00:00
Inseob Kim
bfe25fe702 Add sepolicy prebuilt dirs and variables to config
These are used when we build vendor sepolicy against old plat sepolicy.

Bug: 33691272
Test: build
Change-Id: I847108539b3b9d7d25c0fad9eddc017275a564be
2021-12-21 09:50:22 +09:00
Inseob Kim
7bc4dacabd Merge "Refactor sepolicy version related codes" am: e23891877c am: c95816ce4b am: 7a259e3752
Original change: https://android-review.googlesource.com/c/platform/build/+/1916858

Change-Id: Id55341d883bf9bcf4aabf2ed44f6892ca9da8c27
2021-12-13 04:45:51 +00:00
Pirama Arumuga Nainar
b1b4e1e38b Set a BIONIC_COVERAGE .mk variable
Bug: http://b/194128476
Bug: http://b/210012154

Set BIONIC_COVERAGE to true if coverage instrumentation is enabled for
bionic/libc.  This is used in system/core/rootdir/Android.mk to set
the default LLVM_PROFILE_FILE environment.

Test: Run tests with this topic and verify coverage still works and also
test memory-mapped coverage (death tests, JNI code in CTS)

Change-Id: I585f3e43dfcb82dd3c211051d354dd79ee77b1fb
2021-12-10 15:29:37 -08:00
Inseob Kim
51c455bdb2 Refactor sepolicy version related codes
1. Move BOARD_SEPOLICY_VERS to build/make/core/config.mk where
PLATFORM_SEPOLICY_VERSION is set.

2. Remove hard-coded versions for the treble tests.

Test: build
Change-Id: Iab338a1f16855205d62312d4247a15ea766be1fe
2021-12-10 18:36:18 +09:00
Treehugger Robot
8b8bd8f2ba Merge "Remove 26.0 and 27.0 compat support" am: 5a0cef1c00 am: e802f38861 am: 4b2b6d9173
Original change: https://android-review.googlesource.com/c/platform/build/+/1904274

Change-Id: If8f879bb790a1b6a609933cf37551d5174d48cde
2021-12-02 07:18:15 +00:00
Treehugger Robot
5a0cef1c00 Merge "Remove 26.0 and 27.0 compat support" 2021-12-02 06:26:58 +00:00
Treehugger Robot
325468c518 Merge "Add 32.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS" am: b5373a9845 am: 109643a5cc am: 8455d3a36d
Original change: https://android-review.googlesource.com/c/platform/build/+/1906151

Change-Id: Ic7c9b944247ba53b4a8cb4b17a3660584a0de1f0
2021-12-02 00:01:05 +00:00
Inseob Kim
e124e3a02d Add 32.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS
Bug: 206330997
Test: m selinux_policy
Change-Id: Ibbe71843a0ba5677203eabb27690562d55cb057e
2021-11-30 13:44:52 +09:00
Inseob Kim
a6568e00e2 Remove 26.0 and 27.0 compat support
Treble doesn't support T system + O vendor, so removing 26.0 (N) and
27.0 (O) prebuilts and compat files.

Bug: 207815515
Test: build
Change-Id: Ie12737cc5ca8725caf834d9bf1bdfe840ac516c0
2021-11-29 01:29:28 +00:00
Treehugger Robot
0622a4fed6 Merge "Record ALL_DEPS by default." am: 372d74a8c9 am: 44ce81a207 am: 97e85dcf4a am: 180720602f
Original change: https://android-review.googlesource.com/c/platform/build/+/1878199

Change-Id: I434737a8d4c2170e99ff8d5eadee88a11c6efcea
2021-11-11 05:38:52 +00:00
Treehugger Robot
372d74a8c9 Merge "Record ALL_DEPS by default." 2021-11-11 04:48:16 +00:00
Jim Tang
5c6410edee Record ALL_DEPS by default.
Abandon the use of RECORD_ALL_DEPS to record ALL_DEPS.

BUG: 204397180

Test: m, and inspect module-info.json.
Change-Id: Iaf35580b52c11ad37017b1fb8e0937b859d3f55b
2021-11-11 10:24:51 +08:00
Treehugger Robot
e9b9bc2203 Merge "Fix BOARD_SYSTEMSDK_VERSIONS checks" am: 7bd2d13cde am: f5b59967b4 am: 3ac2ecaff6 am: a7b02fdb27
Original change: https://android-review.googlesource.com/c/platform/build/+/1885789

Change-Id: I14628044e00b19703c72d8b894e4619b4790f9f6
2021-11-11 00:41:50 +00:00
Treehugger Robot
7bd2d13cde Merge "Fix BOARD_SYSTEMSDK_VERSIONS checks" 2021-11-10 23:38:28 +00:00
Cole Faust
eb404fac37 Merge "Add soong_config_get" am: e856367da1 am: 88fac99ae6 am: 7e00224e10 am: 40886414ba
Original change: https://android-review.googlesource.com/c/platform/build/+/1883263

Change-Id: Ifa459c801c327c6709a3d08ca89e697e03fb64fa
2021-11-10 21:15:57 +00:00
Cole Faust
70a886c7ce Add soong_config_get
Having a function to get soong config variables
makes it easier to convert to starlark.

Bug: 201700692
Test: m RBC_PRODUCT_CONFIG=1 RBC_BOARD_CONFIG=1 nothing and check output files
Change-Id: I8627555df10d3f66f6154c00be9f0565076f1f94
2021-11-09 17:09:04 -08:00
Justin Yun
e81ec6960a Fix BOARD_SYSTEMSDK_VERSIONS checks
BOARD_SYSTEMSDK_VERSIONS must be greater than or equal to the minimum
of PRODUCT_SHIPPING_API_LEVEL and BOARD_API_LEVEL. If BOARD_API_LEVEL
is not defined, read BOARD_SHIPPING_API_LEVEL. If both board api
levels are not defined, compare only with PRODUCT_SHIPPING_API_LEVEL.

Bug: 204964200
Bug: 201489975
Bug: 202919753
Test: manual test with different settings
Change-Id: I36fa0b2fed3bca9ebe1baad46ee1dbe8cb1414e3
2021-11-10 00:34:17 +00:00
Michael Wright
f67a456828 S V2 is now 32 am: 24d3b88704
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/16140164

Change-Id: Ic8bf8f30a82bebdd9c8e60a347fb8502184cfc61
2021-11-06 16:06:50 +00:00
Michael Wright
24d3b88704 S V2 is now 32
Bug: 204295952
Test: N/A
Change-Id: I0627247e0b40c6c912584d55417671d20167b7c2
Merged-In: I0627247e0b40c6c912584d55417671d20167b7c2
2021-11-05 19:39:39 +00:00
Colin Cross
bca6483b07 Move tools compiled by Soong to HOST_OUT_EXECUTABLES
Soong now installs native tools to HOST_OUT_EXECUTABLES instead
of SOONG_HOST_OUT_EXECUTABLES.

Also add a cleanspec for SOONG_HOST_OUT to remove old files from
SOONG_HOST_OUT_EXECUTABLES.

Bug: 204136549
Test: m checkbuild
Change-Id: Id18213b9294b6d2cf78f657740c6d5a02733b8ad
2021-11-01 15:03:01 -07:00
Sasha Smundak
c5d5bb424f Better Soong config namespace support makefile macros.
Implement two new macros, `soong_config_set` and `soong_config_append`,
which will eventually replace the existing add_soong_config_xxx. With the
new macros, namespace declaration is implicit, and a value can be appended
to a variable in the namespace.

Bug: 200297238
Test: treehugger

Change-Id: I4ffd21bdb6d93db3b1630703fc5f766649b4152c
2021-10-15 15:39:15 -07:00
Treehugger Robot
72c7768320 Merge "BOARD_SYSTEMSDK_VERSIONS should depend on BOARD_*_API_LEVEL if it exists" am: 9885f2f744
Original change: https://android-review.googlesource.com/c/platform/build/+/1843156

Change-Id: Ib1b20e7c1da4427c30a98d11a2729724ad176be8
2021-10-05 02:02:22 +00:00
Jeongik Cha
fe6ef7c08a BOARD_SYSTEMSDK_VERSIONS should depend on BOARD_*_API_LEVEL if it exists
BOARD_SYSTEMSDK_VERSIONS should be checked by BOARD_API_LEVEL,
BOARD_SHIPPING_API_LEVEL, or PRODUCT_SHIPPING_API_LEVEL in a forward
order.

Bug: 201489975
Test: BOARD_SYSTEMSDK_VERSIONS := 30, PRODUCT_SHIPPING_API_LEVEL := 31,
BOARD_API_LEVEL := 30, and then check if there isn't an error

Change-Id: I00e3bf8dda6e6e87a2daf42c74d703503cbeed1f
2021-10-01 23:30:13 +09:00
Colin Cross
59737777dd Merge "Remove MAINDEXCLASSES" am: e919f2b8b1
Original change: https://android-review.googlesource.com/c/platform/build/+/1833628

Change-Id: I95d200e87eeb41f6eb686ab9913b748ae340a68d
2021-09-23 16:33:21 +00:00
Colin Cross
5a3729b2ba Remove MAINDEXCLASSES
The last user of MAINDEXCLASSES was removed in
Ia88660550c3e57749b8ccb154e97c31aaf2fcf3a.

Test: m checkbuild
Change-Id: I35d9e7d9ff4ac2c07716db59c900b8c3f2cb352e
2021-09-22 15:53:39 -07:00