Commit Graph

59066 Commits

Author SHA1 Message Date
Jiyong Park
9f2e9e1a7f Partial cherry-pick of ag/10260813 am: 9ebefc640d
Original change: https://android-review.googlesource.com/c/platform/build/+/1317600

Change-Id: I4f8bfd258c2888818f4c5eea4c03b863c5bfb719
2020-06-08 16:04:55 +00:00
Jiyong Park
236859d234 <partition>/build.prop rules are defined using macro am: e28fa80e12
Original change: https://android-review.googlesource.com/c/platform/build/+/1317596

Change-Id: I6e5bd7a93c6e7fe0e45ca5befb2f110bfb40c4e1
2020-06-08 16:04:52 +00:00
Treehugger Robot
3957e09d24 Merge "fix spurious / on toplevel kernel module installations" am: 208689cca8
Original change: https://android-review.googlesource.com/c/platform/build/+/1324842

Change-Id: I11ced68b692bbf74873a5cbd21ba46b007b0c48d
2020-06-08 16:04:20 +00:00
Xin Li
90325f7f73 [automerger skipped] Merge "Merge QQ3A.200605.002 into master" am: 6e30a3fc86 -s ours
am skip reason: Change-Id I216989b052070e9f84bf1fa0f9ecc4724db50418 with SHA-1 0208ce535d is in history

Original change: https://android-review.googlesource.com/c/platform/build/+/1323218

Change-Id: Iad84b3031aa25e59044a8ae15a10420be731d853
2020-06-08 15:56:41 +00:00
Yo Chiang
dcfa601374 Remove default GSI libnfc-nci.conf
libnfc-nci.so provides a default config at /system/etc/libnfc-nci.conf.
Remove /system/etc/libnfc-nci.conf PRODUCT_COPY_FILES entries from
aosp_product.mk and board/generic/device.mk.

Bug: 157704723
Test: Build gsi. /system/etc/libnfc-nci.conf is installed.
Test: Flash gsi. Check logcat and NFC still works.
Test: Toggle NFC on/off and /etc/libnfc-nci.conf is loaded.
Test: Build aosp_bonito. Both /(system|product)/etc/libnfc-nci.conf are
  installed.
Test: Flash aosp_bonito. Check logcat and NFC still works.
Test: Toggle NFC on/off and /product/etc/libnfc-nci.conf is loaded.
Change-Id: Id119a88a10b549e1fd475cf9b14b18410923011b
2020-06-08 11:56:10 +00:00
Treehugger Robot
470cfbe8d7 Merge changes I53c05800,Ic218283b
* changes:
  Leave a comment when removing a prop
  Rule for system/build.prop is also from macro
2020-06-08 01:42:20 +00:00
Colin Cross
8ca4092ab4 Add out/soong/late-${TARGET_PRODUCT}.mk
Read out/soong/late-${TARGET_PRODUCT}.mk after reading Android.mk files
to allow Soong's makevars singleton to use $(call dist-for-goals).

Test: m lint-check dist
Change-Id: I7754fd1b8dab508c96ad59beed67f0d6c4ff75f0
2020-06-07 18:16:38 -07:00
Jiyong Park
cc49c6b8cd Leave a comment when removing a prop
post_process_prop.py doesn't simply drop a line when deleting a prop.
Instead, it makes the line as comment and leave a comment to clearly
mark that the prop was force removed. This is to aid the debugging.

Bug: 117892318
Test: m

Change-Id: I53c05800ff71d431a56dc370bcfe8bfc95c03bfc
2020-06-08 10:09:12 +09:00
Jiyong Park
bb26c6f2bf Rule for system/build.prop is also from macro
Like other <partition>/build.prop files, the build rule for
system/build.prop is also created using the build-properties macro.

system/build.prop has a few number of auto-generate properties that the
macro doesn't create. Those properties are emitted to intermediate files
using manually crafted rules, the paths to the files are fed to the
macro, where their contents are copied to system/build.prop.

This change also refactors the code fragment that defines BUILD_*
variables that identifes the given build.

Bug: 117892318
Test: m

Change-Id: Ic218283b40fedeaddacb3fda93167edbec86094c
2020-06-08 10:09:12 +09:00
Jiyong Park
c844de4241 Merge changes I4d88733c,I61943476,Ibed9c96d
* changes:
  remove buildinfo_common.sh
  Partial cherry-pick of ag/10260813
  <partition>/build.prop rules are defined using macro
2020-06-08 00:58:48 +00:00
Treehugger Robot
208689cca8 Merge "fix spurious / on toplevel kernel module installations" 2020-06-06 01:53:24 +00:00
Xin Li
6e30a3fc86 Merge "Merge QQ3A.200605.002 into master" 2020-06-06 01:41:29 +00:00
Aurimas Liutikas
d0bead63e6 Remove use of metalava compatible output
Change-Id: Iad6a2df0c3840c5f388e07b72735e03268a29c6c
Test: treehugger
2020-06-05 23:18:43 +00:00
Steve Muckle
950d723b9d fix spurious / on toplevel kernel module installations
When kernel modules are being put directly into lib/modules/ (as opposed
to lib/modules/<subdir>/), the empty part of the destination path causes
a target containing a redundant /. If the target is also added elsewhere
in the build without the redundant /, then rule merging will miss it,
and a build error will occur.

Bug: 158158635
Change-Id: I797addce760f4886166efa283302a53783581625
2020-06-05 12:10:56 -07:00
Ulyana Trafimovich
6a7f7b2662 Merge "Refactor library path representation in dexpreopt." am: 660edfdc4a
Original change: https://android-review.googlesource.com/c/platform/build/+/1321926

Change-Id: Iba2da276e7c88b6ed95db93825c233bebb2458c4
2020-06-05 10:53:49 +00:00
Ulyana Trafimovich
660edfdc4a Merge "Refactor library path representation in dexpreopt." 2020-06-05 10:46:01 +00:00
Treehugger Robot
b3e683614b Merge "Do not print environment variables if ANDROID_QUIET_BUILD is set." am: a48079902e
Original change: https://android-review.googlesource.com/c/platform/build/+/1324452

Change-Id: I810840cf5a94967bd733e500f47d5f6b0d9f7d3e
2020-06-05 07:01:05 +00:00
Treehugger Robot
a48079902e Merge "Do not print environment variables if ANDROID_QUIET_BUILD is set." 2020-06-05 06:37:12 +00:00
Yo Chiang
ee709b28ed Merge changes I47d523e4,Ib2f4b548 am: f9d1eee9b9
Original change: https://android-review.googlesource.com/c/platform/build/+/1323335

Change-Id: I4c6ec5551fb4f3caa2d588a5eb49475383c2cc02
2020-06-05 05:27:23 +00:00
Yo Chiang
f9d1eee9b9 Merge changes I47d523e4,Ib2f4b548
* changes:
  Make required modules support :32 and :64 suffix
  Refactor *-select-bitness-of-required-modules
2020-06-05 05:12:23 +00:00
Treehugger Robot
929ddc7fe5 Merge "Strip debug symbols from modules (fixup)" am: 173149f177
Original change: https://android-review.googlesource.com/c/platform/build/+/1322908

Change-Id: I11ef7a196f7a3c01ae7d3d67e8be2ac1349d9a04
2020-06-05 04:04:46 +00:00
Treehugger Robot
173149f177 Merge "Strip debug symbols from modules (fixup)" 2020-06-05 03:51:09 +00:00
Jiyong Park
35a83d1a5a remove buildinfo_common.sh
The shell script was responsible for appending some system properties
that are common to <partition>/build.prop files. The values of the
system properties were given via environment variables whose names were
slightly different from their corresponding make var names.

This change removes the script and instead write the system properties
directly in Make, thus eliminating the need to keep track of the mapping
across sysprop names, environment variable names, and make var names.

Bug: 117892318
Test: m

Change-Id: I4d88733c1afa30ea0c0c4fcfc2b349f07f7fc090
2020-06-05 10:50:15 +09:00
Jiyong Park
9ebefc640d Partial cherry-pick of ag/10260813
This change is a partial cherry-pick of ag/10260813
(Iaeefb35137de01c6ea57115d8830dd9bc30eccba) to prevent downstream merge
conflict when buildinfo_common.sh is removed by the upcoming changes.

Bug: 117892318
Test: m

Change-Id: I6194347668fd57dfb29ce1bfda16b90088483591
Merged-In: Iaeefb35137de01c6ea57115d8830dd9bc30eccba
2020-06-05 10:49:35 +09:00
Jiyong Park
e28fa80e12 <partition>/build.prop rules are defined using macro
The macro `build-properties' is defined to generate build rules to
create <partition>/build.prop.

build.prop files in all partitions except for the system partition are
now build using the macro.

system partition will use the macro in the following changes.

Bug: 117892318
Test: m

Change-Id: Ibed9c96dac4366251ec59a0b1317aa92f501c9a3
2020-06-05 10:47:34 +09:00
Chris Gross
203191b5be Use BUILD_*_IMAGE flags in add_img_to_target_files.
Modify add_img_to_target_files.py to use the BUILDING_*_IMAGE flags when
deciding whether to create and add a given image to a target files
archive.

To do this, the BUILDING_*_IMAGE flags are now dumped to misc_info.txt.

The origin of this change was to use the BUILDING_USERDATA_IMAGE and
BUILDING_CACHE_IMAGE flags in add_img_to_target_files.py so that we
could reliably turn off the generation of the userdata and cache images.
The other image flags were added for symmetry.

Bug: 130307439
Test: m -j out/target/product/bonito/misc_info.txt
Test: m -j droid dist
Change-Id: I32d5a8d6c9ebb5f329d856030084d698ee8d271d
2020-06-04 17:53:04 +00:00
Sasha Smundak
90d07bc72d Do not print environment variables if ANDROID_QUIET_BUILD is set.
Test: manual
Change-Id: I17c24beb9f0008e038a739a06027266b57e17e7a
2020-06-04 10:48:15 -07:00
frankfeng
7e32b34ed3 Add test config template for sh_test.
Verification of compatibility with existing sh_test targets is in progress.

Bug: 148805488
Bug: 151761373

Test: make
Test: unit tests
Test: verified test config auto-gen for bc-tests and toybox-tests
Change-Id: Id8ce5dd0723e8c95921e2e20bff72fc828d47d87
2020-06-04 10:35:53 -07:00
Ulya Trafimovich
77a78fca4e Refactor library path representation in dexpreopt.
This is a preliminary CL before fixing on-device paths to DEX jars.
It groups together the inormation about on-host build paths and
on-device install paths to library DEX jars.

This CL changes the structure of module dexpreopt.config files
generated by the build system. Aside of that, no functional changes.

Test: lunch aosp_cf_x86_phone-userdebug && m
Change-Id: I8e92829885f26522aa2b936e77e91ce91593b27c
2020-06-04 17:33:22 +01:00
Ulyana Trafimovich
8a54af6b70 Merge "Add product variable PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS." am: 4c5ed87faa
Original change: https://android-review.googlesource.com/c/platform/build/+/1321931

Change-Id: I338c76a6b6e91634112bf32cc7e280ddeb4e14d0
2020-06-04 09:04:19 +00:00
Ulyana Trafimovich
4c5ed87faa Merge "Add product variable PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS." 2020-06-04 08:56:04 +00:00
Pierre Couillaud
d99da8fa17 Strip debug symbols from modules (fixup)
allow to also skip the stripping of the modules present in vendor
ramdisk when the BOARD configuration is set to skip the strip step.

there is also a shortcoming of this functionality: it currently assumes
the modules to strip are all created equal against the same arch in
particular, however this does not work for kernel modules which are
for mixed mode platforms, as example {kernel,android} == {aarch64,armv7}
because it will select the "android" mode strip which is unaware of the
kernel mode architecture.

Bug: 156395749
Bug: 155193290
Change-Id: I35ef51845224e94e3e253acdeb6bb14b990a401b
2020-06-04 00:17:58 +00:00
Treehugger Robot
d8c0980339 Merge "Re-enable link type checking" am: 49efd2aad0
Original change: https://android-review.googlesource.com/c/platform/build/+/1156840

Change-Id: I5295afd02e604c2da24f87f2cabd3e2b293cd867
2020-06-03 21:49:05 +00:00
Treehugger Robot
49efd2aad0 Merge "Re-enable link type checking" 2020-06-03 21:30:22 +00:00
Dan Willemsen
be15ded040 Re-enable link type checking
When I removed the actions that ran the python link type checker, I
forgot that the Make version hadn't been enabled yet. Enable the Make
version.

Bug: 143748700
Test: treehugger (particularly, build_test on the downstream branches)
Change-Id: I293b3be5ca7828c9d7148e13d88b0f0bba54d964
Merged-In: I293b3be5ca7828c9d7148e13d88b0f0bba54d964
Merged-In: I08090db44d47f809fbaa0c4ad373e46e6a3fbe2e
2020-06-03 21:09:32 +00:00
Treehugger Robot
59f09ba05c Merge "refactor kernel module build, add version support" am: 8c6c2cd3de
Original change: https://android-review.googlesource.com/c/platform/build/+/1320314

Change-Id: I52dbcafe262fda74db73c714cd91ade30b24abff
2020-06-03 18:28:15 +00:00
Treehugger Robot
2027f6bf85 Merge changes Ia1392b7d,I199788d4,I9c8ac0e6 am: aa62df07cf
Original change: https://android-review.googlesource.com/c/platform/build/+/1318773

Change-Id: Iff388cc9bb7e38b9ccdb80912d6edd8440604be7
2020-06-03 18:28:09 +00:00
Treehugger Robot
8c6c2cd3de Merge "refactor kernel module build, add version support" 2020-06-03 18:10:52 +00:00
Treehugger Robot
aa62df07cf Merge changes Ia1392b7d,I199788d4,I9c8ac0e6
* changes:
  move BOARD_RECOVERY_KERNEL_MODULES_LOAD default
  move module list creation outside conditionals
  fix reference to BOARD_ODM_MODULES_LOAD
2020-06-03 18:10:44 +00:00
Xin Li
e92524e4ce Merge QQ3A.200605.002 into master
Bug: 158095402
Merged-In: I216989b052070e9f84bf1fa0f9ecc4724db50418
Change-Id: I58f2e5b4c7039a22aaecb66eabc8288ff51cd97c
2020-06-03 10:44:41 -07:00
Ulya Trafimovich
40e55c20eb Add product variable PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS.
If true, incorrect order of system server jars does not cause a build
error. The order is non-optimal if some jar X precedes its dependency Y.
In that case dexpreopt will be unable to resolve any rerefences from X
to Y.

Test: lunch cf_x86_phone-userdebug && m nothing
Test: lunch aosp_car_arm && m nothing

Bug: 140451054

Change-Id: I70efd365fa9fbd9e40792d646f8471d009164924
Merged-In: I70efd365fa9fbd9e40792d646f8471d009164924
(cherry picked from commit 17715b48f0)
2020-06-03 17:38:26 +01:00
Yo Chiang
60da88da55 Make required modules support :32 and :64 suffix
Support specifying bitness of required modules with :32 and :64 suffix,
like in PRODUCT_PACKAGES.

Bug: 155869107
Bug: 129323707
Test: TH noop
Change-Id: I47d523e4e57cb8a99629fd241a16069c0be55903
2020-06-03 18:27:42 +08:00
Yo Chiang
1b8283358e Refactor *-select-bitness-of-required-modules
* Streamline required module bitness resolution

If a module is for cross host OS, the required modules are also for that
OS.
Otherwise if the requirer module is native and the required module is
shared library or native test, then the required module resolves to the
same bitness.
Otherwise the required module resolves to both variants, if they exist.

* Factor out the common logic and merge
  <target|host|host-cross>-select-bitness-of-required-modules

This lays the road for follow-up changes to add bitness suffix support.
This slightly reduces readibility. To make up for the loss, the
bitness-resolving logic is easier to maintain since we don't have
multiple copies of *-select-bitness-of-required-modules.

Bug: 155869107
Test: check the diff of product_target_FILES and product_host_FILES
Test: check the diff of ALL_MODULES.*.REQUIRED_FROM_(TARGET|HOST)
Change-Id: Ib2f4b548535e983d621dad71cb920101111140f2
2020-06-03 18:27:20 +08:00
Treehugger Robot
0208ce535d Merge "remove clatd.conf which is no longer required by clat daemon" am: 5638065faa
Original change: https://android-review.googlesource.com/c/platform/build/+/1172552

Change-Id: I216989b052070e9f84bf1fa0f9ecc4724db50418
2020-06-03 05:27:41 +00:00
Treehugger Robot
5638065faa Merge "remove clatd.conf which is no longer required by clat daemon" 2020-06-03 05:15:21 +00:00
Yo Chiang
eb4f43e6cc Merge "Revert^2 "Retire mainline.mk"" am: 2ca90c5e97
Original change: https://android-review.googlesource.com/c/platform/build/+/1322634

Change-Id: Ia1fe27c92188cf0dc07a1dcc44e819a2babd617c
2020-06-03 03:02:49 +00:00
Yo Chiang
2ca90c5e97 Merge "Revert^2 "Retire mainline.mk"" 2020-06-03 02:47:52 +00:00
Yo Chiang
82e4bc5d0c Revert^2 "Retire mainline.mk"
This reverts commit 4003bd9def.

Reason for revert: cleaned up mainline.mk users

Bug: 157548597
Fixes: 141443017
Change-Id: I5e38620ed1c90f7188901eb148c7e3aa0596a27d
2020-06-03 02:47:34 +00:00
Oleg Aravin
8046cb0a2c Attach apk_name as a suffix for the temporary files
With this change the name of the signed and unsigned APK will be something like 'tmpadrbpp9f/tmpvl0lf2kr/tmpknja6mca_MyApk.apk' instead of 'tmpadrbpp9f/tmpvl0lf2kr/tmpknja6mca'.

The motivation for this change is a better logging and transparency what is being signed in the underlying client.

Change-Id: I32b0e93d5859ca3fb712e426705f16d329d71f0e
2020-06-02 16:03:21 -07:00
Steve Muckle
2335d76ada refactor kernel module build, add version support
Refactor the build support for kernel modules. This refactoring is
leveraged to add support for directories of kernel modules in each
partition. To add a directory of kernel modules, define
BOARD_KERNEL_MODULE_DIRS to include the directory name, for example:

BOARD_KERNEL_MODULE_DIRS := 5.4

The build will then check all the usual kernel module related macros
with an extension of _5.4, for example you can define

BOARD_VENDOR_KERNEL_MODULES_5.4 := <modules to copy>
BOARD_VENDOR_KERNEL_MODULES_ARCHIVE_5.4 = <path to archive file>
BOARD_VENDOR_KERNEL_MODULES_LOAD_5.4 := <modules for load list>

Bug: 157645635
Change-Id: I1687d0ec85c1dcf21350350623b4689aba3f6717
2020-06-02 15:17:26 -07:00