Commit Graph

42148 Commits

Author SHA1 Message Date
Isaac Chen 55e1d01f92 Refactor BoardConfig.mk for emulator products
The majority of the contents in BoardConfig.mk of emulator products
are the same. The common part is factored out as EmuConfig.mk so it's
easier to maintain these closely related products going forward.

Bug: 80117040
Test: Following products have been built and booted to homescreen:
  $ lunch aosp_x86-userdebug; m -j; emulator
  $ lunch aosp_x86_64-userdebug; m -j; emulator

Change-Id: I5392e0e88865d4908906a67c29939c23af84baf0
Merged-In: I5392e0e88865d4908906a67c29939c23af84baf0
(cherry picked from commit 510b76d8ff)
2018-07-05 18:47:15 +08:00
Shibin George 9dd9e680b9 Allow multiple profiles to be added as part of boot.prof
Extend PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION such that
multiple text-based profiles can be fed to profman to be included
in boot.prof

BUG: 70292748
Test: profman with --dump-only option shows that additional
      text-based profiles are also being read if they have
      been added to PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION

Change-Id: I8a6437a323e43b61612c67038abdde200607c513
2018-07-04 18:05:07 +00:00
Dario Freni aa45068cc7 Install /system/product apps odex in system-other.
This will cause odex/vdex files for apps installed under
/system/product/{priv-,}app to be installed in system-other image, under
/system/product/{priv-,}app as well.

Test: m on marlin-userdebug target, analyzed
installed-files{,-system-other}.txt
Bug: 110072687

Change-Id: I63406f91acc3de4b4f142767e28d45308706c7da
2018-07-04 16:28:18 +01:00
David Brazdil a94e4ca2c6 Make classes.jar the output of uninstallable Soong Java modules
The soong_java_prebuilt.mk file used to assume that if a Soong module
defines a dex jar, it is the output of the module and the module is
installable. This may now not be true if the module uses 'compile_dex'
to define a secondary build rule for a dex jar. If the module is not
installable (LOCAL_UNINSTALLABLE_MODULE=true), do not attempt to preopt
and copy classes.jar to the modules output destination.

Bug: 79409988
Test: on related CL
Change-Id: Ica958ac793e09a0e52125448b44e7cd36e7f35d5
2018-07-03 17:10:54 +01:00
Anton Hansson 8c01b71e2d Merge "Include partition-split selinux_policy modules." 2018-07-03 15:59:21 +00:00
Anton Hansson 52a23cfbb3 Move packages from base_system to base_vendor.
These install on the vendor partition. Clean up the whitelist.

Bug: 80410283
Test: lunch mainline_arm64; m nothing

Change-Id: I45df64e1fa060ea98534351140678589afe2e340
Merged-In: I45df64e1fa060ea98534351140678589afe2e340
2018-07-03 12:42:21 +01:00
Anton Hansson a9966c7c60 Merge "Include root in mainline_system artifact claim." 2018-07-02 16:20:15 +00:00
Anton Hansson 173b5e75db Include root in mainline_system artifact claim.
With PRODUCT_SHIPPING_API_LEVEL >= 28, system-as-root is implied.
Remove redundant whitelist entries.

Bug: 80410283
Test: lunch mainline_arm64; m nothing
Change-Id: Ia18ef42525a3abb33842e939c389530ed299aafe
2018-07-02 15:01:35 +01:00
Anton Hansson ce5eb452be Include partition-split selinux_policy modules.
The selinux_policy module has been split in two, so that the system
artifacts can be included separately. Also remove associated whitelist
entries.

Bug: 80410283
Test: for t in eng userdebug user; do lunch mainline_arm64-${t}; m nothing; done
Change-Id: Id704c907b1ed31ae49697d33f075c013bc3dfc8c
Merged-In: Id704c907b1ed31ae49697d33f075c013bc3dfc8c
2018-07-02 14:36:28 +01:00
David Brazdil 2986542f65 Merge "Fix unzip on sdk_mac build" 2018-07-02 13:10:07 +00:00
David Brazdil c06f48a21d Fix unzip on sdk_mac build
Recent CL added a flag to an unzip command which does not restore
the timestamps of extracted files. This is necessary because the
extracted files are the output of the rule and thus the timestamp
must be newer than the timestamp of the inputs.

Unfortunately, the sdk_mac build has an old version of UnZip (5.52
vs 6.0) which does not support the flag. Replace it with find|touch.

Test: m
Change-Id: Ib1f218af4547a1d604b46e68b6ef50d45cb91ee9
2018-07-02 11:19:53 +01:00
Anton Hansson 7117311323 Merge "Enable /cache mount point" 2018-07-02 10:16:36 +00:00
Bowgo Tsai 631900e6ce Enable /cache mount point
Non-A/B devices using AOSP OTA flow will mount /cache in the
fstab file. Without setting BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE,
/cache will be a symlink to /data/cache which introduces the
failure of `mount_all /vendor/etc/fstab.{ro.hardware}`. This is
because all devices laucned in P need to switch to "system-as-root".

This CL sets board config to create /cache directory in rootfs
(system-as-root GSI image). Note that A/B devices doesn't mount
or use /cache so leaving an empty /cache in rootfs has no harm.

Bug: 78485405
Test: Boot GSI on walleye
Change-Id: Ic260d2917cc64c9497f5f60ea11303e953e80efd
Merged-In: Ic260d2917cc64c9497f5f60ea11303e953e80efd
2018-06-29 14:23:25 +01:00
Anton Hansson 3613193b31 Merge "Fix broken mainline_arm64." 2018-06-29 12:04:26 +00:00
David Brazdil 9b53066762 Merge "Refactor hiddenapi rules to share common code" 2018-06-29 11:33:09 +00:00
Anton Hansson 64e28c8a36 Fix broken mainline_arm64.
- Missed adding core_64_bit include in the aosp version of
  I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2.
- new recovery targets appeared over night, whitelist them for now

Test: make
Change-Id: I2235dcc7a3e62e1b0091e43829c519b03c2455a4
Merged-In: I2235dcc7a3e62e1b0091e43829c519b03c2455a4
2018-06-29 12:11:53 +01:00
Anton Hansson 4537a1a361 Merge "Add some experimental mainline targets." 2018-06-29 10:06:25 +00:00
David Brazdil dadcb9ced2 Merge "Adjust arguments of `hiddenapi` tool" 2018-06-29 08:40:55 +00:00
Anton Hansson 59497d050c Merge "Move some recovery packages out of base_system." 2018-06-29 07:06:22 +00:00
Treehugger Robot 3dbb886cda Merge "Support java sdk libraries" 2018-06-29 02:51:43 +00:00
Mathieu Chartier 3e4a376912 Merge "Add showmap and procrank to PRODUCT_PACKAGES_DEBUG" 2018-06-28 20:35:53 +00:00
Ari Hausman-Cohen 0d2436e372 Merge "Add PRODUCT_IOT support to soong." 2018-06-28 20:13:54 +00:00
David Brazdil 6b60b2151e Refactor hiddenapi rules to share common code
Java modules built with make and Soong currently invoke `hiddenapi`
with their own rules. Refactor the definitions so that Soong uses
make's definition. This will be useful for a subsequent CL which
needs to invoke `hiddenapi` on all boot dex files simultaneously.

Bug: 79409988
Test: m
Change-Id: I85105e650605d37c3ee8200d7f0d40c297756fcb
2018-06-28 18:14:30 +01:00
David Brazdil 57b1e546a0 Adjust arguments of `hiddenapi` tool
The `hiddenapi` build tool now expects the first argument to be
a command name. Change its build rule accordingly.

Bug: 79409988
Test: make
Change-Id: I7e34331c487f490d1de6a10c4139768e9774f03e
2018-06-28 18:14:30 +01:00
Mathieu Chartier 1a4037ea7b Add showmap and procrank to PRODUCT_PACKAGES_DEBUG
So that they are available on device by default.

Test: make

(cherry picked from commit 161db06003)

Merged-In: If3c1513d1c086f965a8adc157a96b35c119962c3
Change-Id: Ifd87294d08a8a7bb074b39b5bd620124e29540ed
2018-06-28 09:42:37 -07:00
Anton Hansson c0c39cf270 Add some experimental mainline targets.
These are not really realistic at the moment, but it's nice to get some
targets checked in that can be iterated upon.

- mainline_system: base mk for mainline systemimage. It will evolve to
  inherit other mks than base, and probably get a bunch of things added.
- mainline_system_arm: variant of mainline_system, specifically for
  the 'generic' device.
- mainline_arm: experimental product that also includes the non-system
  parts of aosp. Useful to experiment with the mk split.

Bug: 80410283
Test: lunch mainline_arm64 && m nothing && lunch mainline_system_arm64 && m nothing
Change-Id: I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2
Merged-In: I9beaa6f5f9c683733ed76a6d4e5c70b9376a5bb2
2018-06-28 17:28:24 +01:00
Anton Hansson 30417d971e Move some recovery packages out of base_system.
Put the in base_vendor for now. That file should probably be renamed
to base_nonsystem.mk or something of that sort.

There is a remaining artifacts in recovery, but I think its target
needs to be split up, so move these for now.

Bug: 80410283
Test: make
Change-Id: I98c2b96b413fff4c8b0377e69bc9c2693ccca7cd
2018-06-28 17:22:14 +01:00
Ari Hausman-Cohen 271d861ab5 Add PRODUCT_IOT support to soong.
Some code needs to behave differently for Android Things
systems. PRODUCT_IOT tracks Android Things products.
This change exposes this variable into the soong system.

Bug: 110494430
Test: aosp_angler builds
Change-Id: Id9c27e4fe70957f217cfbdc019e8a37532bafac2
2018-06-27 16:52:51 -07:00
Treehugger Robot 645b8db09a Merge "Do not set entry-point for Windows" 2018-06-27 20:22:23 +00:00
Treehugger Robot 69af20f184 Merge "Use $(my_prefix)OS instead of HOST_CROSS_OS" 2018-06-27 20:08:04 +00:00
Treehugger Robot 1caedd6bdc Merge "Use $(my_prefix)OS instead of HOST_CROSS_OS" 2018-06-27 18:28:34 +00:00
Pirama Arumuga Nainar b448834e96 Do not set entry-point for Windows
Bug: http://b/62424007

This breaks 64-bit Windows executables.  Probably due to the Clang
migration, the entry-point need not be set even for 32-bit executables.

Test: 32-bit and 64-bit aapt2_tests.exe and ziparchive-tests.exe can
start.  (There are some failed tests, though).

Change-Id: I1dea9137c79c5f26b493640cfae0856c1a7ea301
2018-06-27 11:28:33 -07:00
Pirama Arumuga Nainar 060741e77d Use $(my_prefix)OS instead of HOST_CROSS_OS
The latter is not module-specific and affects all host modules.  Also
remove the check for LOCAL_IS_HOST_MODULE and use  $(my_prefix)OS.

This should be future-proof, where may use different configurations of
cross-compilations across Linux, Darwin, Windows.

Test: m native
Change-Id: I0a6255a8b83960ffb543b593d4a50d963be1de88
2018-06-27 10:37:54 -07:00
Pirama Arumuga Nainar 407b6aca28 Use $(my_prefix)OS instead of HOST_CROSS_OS
The latter is not module-specific and prevents santizer configuration
for all host modules.

Test: mma HOST_SANITIZE=address hardware/google/apf
Change-Id: I62a448973c1d6526e4b475f3288996e44c88fbc9
2018-06-27 09:42:33 -07:00
Treehugger Robot 14add31780 Merge "Sort lists in AndroidProducts.mk." 2018-06-27 15:33:52 +00:00
Anton Hansson 1555709499 Sort lists in AndroidProducts.mk.
Test: No
Change-Id: I4147103eee03ef9af500e73fd4481f11c19580ec
2018-06-27 14:43:21 +01:00
Anton Hansson 4e0ccc4c8a Merge "Split up fs_config_* modules per partition." 2018-06-27 12:59:22 +00:00
Anton Hansson cc496f9b61 Merge "Remove core_base.mk" 2018-06-27 11:36:31 +00:00
Anton Hansson e85ec84eef Split up fs_config_* modules per partition.
This was already done for partitions other than the system partition.
Add new, separate "_system" targets, and add new phony modules which
collects _system and _nonsystem targets for now.

Update the base_system.mk file to only depend on the system module, and
put the other ones in base_vendor.mk for now.

Bug: 80410283
Test: make fs_config_dirs[_*] fs_config_files[_*] and verify output
Change-Id: I7843578dbb9f27edf4c1e5b4a795a530f79e0be1
2018-06-27 11:15:59 +01:00
Anton Hansson c23ef03838 Remove core_base.mk
It's small, and doesn't really have a theme so it doesn't really warrant
its own build file. Inline its contents in all its children.

Bug: 80410283
Test: diff product variables with multiproduct_kati
Change-Id: I7db95f9134df36ebd0271e21dba1fa13b28afc72
2018-06-27 09:56:56 +01:00
Anton Hansson a314fc0166 Merge "Move 6 packages up from core_base.mk" 2018-06-27 08:30:08 +00:00
Anton Hansson 351a147cd7 Merge "Split base.mk into system and vendor parts." 2018-06-27 08:29:40 +00:00
Mathieu Chartier 47ad7d0f60 Merge "Move go default system properties into prop files" 2018-06-27 00:09:27 +00:00
Treehugger Robot 0d53f4b12b Merge "Do not enable sanitizers on Windows" 2018-06-26 23:28:29 +00:00
Mathieu Chartier f39c2c7495 Move go default system properties into prop files
Test: manual
Bug: 110517986

(cherry-picked from commit 732a4cc62f)

Merged-In: I28f5c18bb9e70c755ece50c49c02434f825878dc
Change-Id: I28f5c18bb9e70c755ece50c49c02434f825878dc
2018-06-26 15:12:46 -07:00
Pirama Arumuga Nainar c6a3ddf834 Do not enable sanitizers on Windows
Bug: http://b/69933068

Test: m native-host-cross SANITIZE_HOST=address
Change-Id: I0b99797d218dc34d302906d704d991e59698c351
2018-06-26 14:18:14 -07:00
Anton Hansson c0dd046586 Move 6 packages up from core_base.mk
Also remove two nonexistant packages (libnfc_ndef & libvariablespeed).

The moved packages are already being pulled in by being required by
other included packages in one of its parents (base or core_minimal).

These are the moved packages and their pre-existing deps:
- libmdnssd: by netd in base.mk
- libandroidfw: by 7 packages, many in base.mk
- libaudioutils: by 3 packages, e.g libmedia in base.mk
- libpowermanager: by 3 packages, e.g. libaudioflinger in base.mk
- libspeexresampler: by libaudioutils
- libwebrtc_audio_preprocessing: by libaudiopreprocessing in core_minimal.mk

This change makes core_base.mk very small. It will be deleted in a
followup-CL and its contents inlined in its direct children.

Bug: 80410283
Bug: 7456955
Test: make
Change-Id: I1240ec6adc5b9208effd6fc70892dfbd453a1fba
2018-06-26 21:57:13 +01:00
Treehugger Robot 060c99c33e Merge "Disable lld for windows host modules" 2018-06-26 19:47:53 +00:00
Treehugger Robot 7ef5d75009 Merge "Use pretty-error in prebuilt_internal.mk" 2018-06-26 19:28:24 +00:00
Colin Cross effbc370dc Merge "Disable standalone relocation packer" 2018-06-26 17:40:57 +00:00