Commit Graph

24077 Commits

Author SHA1 Message Date
Jiyong Park
fe7df0a0a7 <partition>/build.prop rules are defined using macro am: e28fa80e12 am: 236859d234
Original change: https://android-review.googlesource.com/c/platform/build/+/1317596

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

Change-Id: I54b61290b5072a7311898c13cb4d60a2974413e9
2020-06-08 16:20:24 +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
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
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
f8da59ead4 Merge "Refactor library path representation in dexpreopt." am: 660edfdc4a am: 6a7f7b2662
Original change: https://android-review.googlesource.com/c/platform/build/+/1321926

Change-Id: I537d49a66cfa073f709cd8d26d1440fe408368d2
2020-06-05 11:08:56 +00: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
Yo Chiang
15183fa4fc Merge changes I47d523e4,Ib2f4b548 am: f9d1eee9b9 am: ee709b28ed
Original change: https://android-review.googlesource.com/c/platform/build/+/1323335

Change-Id: I911d66ee6dc8c0b127b419ce7dc44f871155fd25
2020-06-05 05:44:35 +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
Pierre Couillaud
74df52f11f Strip debug symbols from modules (fixup) am: bb726614db
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/11720591

Change-Id: I75cd2ff2dbcbf6465a7097c5b65dcb7116927bf2
2020-06-05 03:35:12 +00: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
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
a302888747 Merge "Add product variable PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS." am: 4c5ed87faa am: 8a54af6b70
Original change: https://android-review.googlesource.com/c/platform/build/+/1321931

Change-Id: Id03c52697447aba8a6e1aa333942f3661efd8f72
2020-06-04 09:20:57 +00: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
Pierre Couillaud
bb726614db 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
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2020-06-03 23:44:37 +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
76fbe68b37 Merge "refactor kernel module build, add version support" am: 8c6c2cd3de am: 59f09ba05c
Original change: https://android-review.googlesource.com/c/platform/build/+/1320314

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

Change-Id: Ic31d722a2b9d74937fa1bd32268d3f30ac6feb71
2020-06-03 18:39:49 +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
Steve Muckle
f6ce461f1f 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
Merged-In: I1687d0ec85c1dcf21350350623b4689aba3f6717
2020-06-03 11:18:10 -07:00
Steve Muckle
7576d5e131 move BOARD_RECOVERY_KERNEL_MODULES_LOAD default
Moving this makes each of the partition's kernel module Makefile
generation more similar, enabling a forthcoming cleanup/refactoring.

If recovery-is-boot and there are kernel modules defined in
BOARD_GENERIC_RAMDISK_KERNEL_MODULES, those kernel modules will
now be included in the default assignment to
BOARD_RECOVERY_KERNEL_MODULES_LOAD. If this is not desired then
BOARD_RECOVERY_KERNEL_MODULES_LOAD may simply be set to
BOARD_RECOVERY_KERNEL_MODULES (or a custom list of recovery kernel
modules to load).

Bug: 157645635
Change-Id: Ia1392b7d20d07cee75420edd95dcee1dc825516e
Merged-In: Ia1392b7d20d07cee75420edd95dcee1dc825516e
2020-06-03 11:17:32 -07:00
Steve Muckle
2319129a88 move module list creation outside conditionals
Currently the two special-case calls to create just a module load list
(as opposed to copying a set of modules and creating a module load list)
are inside checks that the related board macro for the module set is not
empty.

While it would be incorrect to create a non-empty module load list with
an empty set of modules, this error would quickly surface at runtime.
More importantly, moving these out will permit refactoring this code to
clean it up.

Bug: 157645635
Change-Id: I199788d49072d4c59737b3ef2c75546852cf3e36
Merged-In: I199788d49072d4c59737b3ef2c75546852cf3e36
2020-06-03 11:16:31 -07:00
Steve Muckle
708435b557 fix reference to BOARD_ODM_MODULES_LOAD
This check is meant to initialize BOARD_ODM_KERNEL_MODULES_LOAD to
BOARD_ODM_KERNEL_MODULES if BOARD_ODM_KERNEL_MODULES_LOAD is empty.

Bug: 157645635
Change-Id: I9c8ac0e64bb002e926d15b446a63801d7cfa9911
Merged-In: I9c8ac0e64bb002e926d15b446a63801d7cfa9911
2020-06-03 11:15:52 -07: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
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
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
Steve Muckle
c88a8c88e4 move BOARD_RECOVERY_KERNEL_MODULES_LOAD default
Moving this makes each of the partition's kernel module Makefile
generation more similar, enabling a forthcoming cleanup/refactoring.

If recovery-is-boot and there are kernel modules defined in
BOARD_GENERIC_RAMDISK_KERNEL_MODULES, those kernel modules will
now be included in the default assignment to
BOARD_RECOVERY_KERNEL_MODULES_LOAD. If this is not desired then
BOARD_RECOVERY_KERNEL_MODULES_LOAD may simply be set to
BOARD_RECOVERY_KERNEL_MODULES (or a custom list of recovery kernel
modules to load).

Bug: 157645635
Change-Id: Ia1392b7d20d07cee75420edd95dcee1dc825516e
2020-06-02 15:17:15 -07:00
Steve Muckle
1013d789de move module list creation outside conditionals
Currently the two special-case calls to create just a module load list
(as opposed to copying a set of modules and creating a module load list)
are inside checks that the related board macro for the module set is not
empty.

While it would be incorrect to create a non-empty module load list with
an empty set of modules, this error would quickly surface at runtime.
More importantly, moving these out will permit refactoring this code to
clean it up.

Bug: 157645635
Change-Id: I199788d49072d4c59737b3ef2c75546852cf3e36
2020-06-02 15:17:04 -07:00
Steve Muckle
f291097221 fix reference to BOARD_ODM_MODULES_LOAD
This check is meant to initialize BOARD_ODM_KERNEL_MODULES_LOAD to
BOARD_ODM_KERNEL_MODULES if BOARD_ODM_KERNEL_MODULES_LOAD is empty.

Bug: 157645635
Change-Id: I9c8ac0e64bb002e926d15b446a63801d7cfa9911
2020-06-02 15:16:54 -07:00
Treehugger Robot
c47b36bbb9 Merge "Remove unused check-api rule" am: fa9ea4b8b0 am: 6231dd8584
Original change: https://android-review.googlesource.com/c/platform/build/+/1322795

Change-Id: Ia66d72bf145458e7b570b47b766a4bc6a4aae164
2020-06-02 19:40:09 +00:00
Treehugger Robot
6231dd8584 Merge "Remove unused check-api rule" am: fa9ea4b8b0
Original change: https://android-review.googlesource.com/c/platform/build/+/1322795

Change-Id: I5e1d6dd6629d51410a15620e22d0460d9c39c68b
2020-06-02 19:27:03 +00:00
Aurimas Liutikas
9c5b07966e Remove unused check-api rule
Change-Id: I0297b226d066e99ee4fc4c2b22e160eafc7f5a8a
Test: Treehugger?
2020-06-02 17:01:52 +00:00
Ulyana Trafimovich
9e92b1788e Merge "Provide library path to android.test.base for dexpreopt." am: 1c294551b4 am: 25ed6113d5
Change-Id: Ie76d17154ac74ae19abf4ff75d5265aaa68315f4
2020-06-01 15:29:22 +00:00
Ulyana Trafimovich
25ed6113d5 Merge "Provide library path to android.test.base for dexpreopt." am: 1c294551b4
Change-Id: Ia307ddb9cffe74e9eaf7009924617b41d4facb76
2020-06-01 15:18:13 +00:00
Ulya Trafimovich
0b0cf4c411 Provide library path to android.test.base for dexpreopt.
It may be needed in class loader context if the target API version
is less than 30.

Test: lunch aosp_cf_x86_phone-userdebug && m
Change-Id: Ifa5ab18d1dc322184100207ad6eee4bdcf74deb0
2020-06-01 12:29:27 +01:00
J. Avila
5ea1cf103f Merge "Add build support for LZ4 ramdisks" into rvc-dev 2020-05-31 15:55:08 +00:00
J. Avila
9600ace371 Add build support for LZ4 ramdisks
Ramdisks are currently compressed using gzip, which is generally
smaller, but slower to decompress than lz4. Provide an option for an
lz4 scheme to reduce the time taken to unpack initramfs during boot.

Bug: 156129966
Signed-off-by: J. Avila <elavila@google.com>
Merged-In: Iac9538e6ee6ec51e6b487de2101f53bb5d9c54c8
Change-Id: Iac9538e6ee6ec51e6b487de2101f53bb5d9c54c8
2020-05-29 22:46:31 +00:00