Commit graph

15528 commits

Author SHA1 Message Date
Mathieu Chartier
401fada3f5 Merge "Revert "Revert "Default to nostripping for non /system preopt""" 2018-07-17 18:13:20 +00:00
Mathieu Chartier
fd5dfb817c Revert "Revert "Default to nostripping for non /system preopt""
Added logic to not preopt tests. Re-enabled usage of
my_module_multilib since this is referenced in setup_one_odex.

Bug: 110156979
Test: make
Test: forrest first boot tests

This reverts commit 9234def313.

Change-Id: I6a6ea2cd0024c33c0cfbd60f3a1f4ad5b1609dc8
2018-07-16 19:36:24 -07:00
Dan Willemsen
f012af1aab Remove '=' from the valid module/stem names
Kati produces errors when a variable containing '=' is used as a
dependency:

https://github.com/google/kati/issues/138

So provide a better error message instead.

Test: Add a module with an '=', see new error
Change-Id: I09d570a8d19abb067621af9983a9d568b643dfb0
2018-07-16 13:57:52 -07:00
Dan Willemsen
0ae41f2e79 Remove showcommands from docs
Test: none
Change-Id: Ia0be98049710175a0f3276841ef0c0bd2ccb60b6
2018-07-14 09:32:13 -07:00
Treehugger Robot
0e4c76743a Merge "fix typo" 2018-07-14 14:16:46 +00:00
Jiyong Park
be4910a0de fix typo
PRIATE -> PRIVATE

Test: m -j
Change-Id: I33bbdcefee8acb16e9d8fcdb4c86ce294b3c1762
2018-07-14 15:06:48 +09:00
Treehugger Robot
5787711e75 Merge "Add more status output" 2018-07-12 23:14:44 +00:00
David Brazdil
dc39f73d5b Merge "Add singleton rule for hiddenapi list generation" 2018-07-12 21:34:54 +00:00
Treehugger Robot
901d05469e Merge "Revert "Default to nostripping for non /system preopt"" 2018-07-12 16:32:46 +00:00
Yueming Wang
9234def313 Revert "Default to nostripping for non /system preopt"
This reverts commit 25f9aa8c4b.

Reason for revert: This CL is likely to break several targets in pi-dev-plus-aosp and oc-mr1-dev-plus-aosp.

Change-Id: I3b29cbdf54007d2043ea1d2e4fe8d56d45eced9e
2018-07-12 14:38:59 +00:00
David Brazdil
ab501e0d8b Add singleton rule for hiddenapi list generation
The lists of public/private APIs used for non-SDK API restriction
enforcement used to be generated by Doclava. In Q we're switching
to resolving android.jar (and other SDK stub JARs) against the boot
class path directly to avoid lowering Doclava's high-level view of
the framework and issues related to it.

This patch adds a new build rule which invokes `hiddenapi` on all
boot class path dex files simultaneously. The tool generates two
text files - one with public and one with private APIs.

Bug: 79409988
Test: m out/target/common/obj/PACKAGING/hiddenapi-private-list.txt
Merged-In: I826d8ac513a41a1d6d5e29a8300073158cff5acf
Change-Id: I826d8ac513a41a1d6d5e29a8300073158cff5acf
(cherry picked from commit a39db48511)
2018-07-12 08:58:14 +00:00
Mathieu Chartier
f37c37bac8 Merge "Default to nostripping for non /system preopt" 2018-07-11 23:43:58 +00:00
Mathieu Chartier
25f9aa8c4b Default to nostripping for non /system preopt
Enables preopting of product partition apps.

Disabled secondary arch preopt for TARGET_TRANSLATE_2ND_ARCH to fix
preopt errors for some tests.

Test: test-art-host
Bug: 110156979
Change-Id: I0370a309913c8a516e01563aef451e7ab5819129
2018-07-11 14:29:16 -07:00
Dan Willemsen
518373f8af Add more status output
soong_ui now parses the output from kati into "actions" to feed into the
unified status system. It also looks for errors and marks the enclosing
section as failed.

This adds a few more states so that error messages can be more
appropriately attributed - so that all errors at the end of the buid
aren't attributed to the last makefile read.

Test: m
Test: add some errors
Change-Id: I3abdb004c82e2b99822906910cd66123c11a5099
2018-07-11 12:00:56 -07:00
Colin Cross
5bcb2fc9a9 Move manifest merger config to Soong
Bug: 110848854
Test: m checkbuild
Change-Id: Id9a8b4c02ade275eefc32bf72710430e889cd554
Merged-In: Id9a8b4c02ade275eefc32bf72710430e889cd554
Merged-In: Ib20aa4849978283f1da1ce601b28199fc0183e05
2018-07-11 09:43:04 -07:00
Tao Bao
8f48f18f69 Merge "Group the generic props together in generate-image-prop-dictionary." 2018-07-10 20:02:40 +00:00
Tao Bao
3602eca6d6 Group the generic props together in generate-image-prop-dictionary.
Test: m dist
Change-Id: Iedb62c246e9ae8c88ff7822122d6c182aa925738
2018-07-10 10:54:11 -07:00
Treehugger Robot
670dd68705 Merge "Make USE_D8 and USE_R8 read-only" 2018-07-10 16:38:44 +00:00
Dario Freni
adc972d7bb Generate a NOTICE xml file for /product partition.
Bug: 111179267
Test: tested on a device with /product partition enabled.
Change-Id: I333f916da214c71e04ebd3fe3bf4dac1e341b098
2018-07-10 11:54:56 +01:00
Anton Hansson
4788f5b094 Merge "Warn when defining a 32-bit product on a 64-bit device." 2018-07-10 06:29:44 +00:00
Anton Hansson
65dc646c76 Merge "Make including missing modules an error." 2018-07-10 06:28:41 +00:00
Treehugger Robot
b676d6d609 Merge "Depend on the ramdisk/root files for BOARD_BUILD_SYSTEM_ROOT_IMAGE" 2018-07-09 23:04:32 +00:00
Luis Hector Chavez
ff48993ca6 Depend on the ramdisk/root files for BOARD_BUILD_SYSTEM_ROOT_IMAGE
When using BOARD_BUILD_SYSTEM_ROOT_IMAGE, there is no direct dependency
on the files that get typically added to the ramdisk.img apart from the
NOTICE.html dependency that some files have. This change explicitly adds
the ramdisk/root files as a dependencies of system.img so that the image
is recreated any time a file in the ramdisk changes. It also creates the
installed-files-root.txt file.

Bug: 62387674
Test: /init.rc is present in system.img's dependencies
Change-Id: I234cb8d8a648f8963610be519de1b70b7efe1fd7
2018-07-09 11:07:12 -07:00
Mathieu Chartier
502892a936 Add logic to preopt both archs for SDK libs
Update stale PRODUCT_SYSTEM_SERVER_JARS list since
com.android.location.provider was renamed to
com.android.location.provider.impl.

Added logic to preopt both archs for SDK libs that are also system
server JARS.

Bug: 110780021
Test: manual and verify speed compiled

(cherry picked from commit 4568c2d908)

Merged-In: I34e728444ffda6db3375b638028d54b6ab623209
Change-Id: If0cb68ba4808aa8716099c5447645f4baac63f30
2018-07-09 11:05:21 -07:00
David Brazdil
cf91546456 Merge "Make classes.jar the output of uninstallable Soong Java modules" 2018-07-09 16:24:16 +00:00
Anton Hansson
133fcb2550 Warn when defining a 32-bit product on a 64-bit device.
Building a 32-bit-app-only product on a 64-bit capable device is likely
to be unintentional. Print a warning if this is done implicitly,
e.g. via forgetting to define the TARGET_SUPPORTS_64_BIT_APPS variable.

Also change existing references to only treat 'true' as a positive
value, rather than all non-empty ones.

Bug: 110918674
Test: lunched 64-bit-device product that does and doesn't set this var
Change-Id: I021157c94ec3ac1c690547c8992768e58c89c287
2018-07-09 13:17:52 +01:00
Anton Hansson
1ebcbd51ee Make including missing modules an error.
Only enable it for the core build files rolling up to generic.mk
for now, and whitelist a couple of modules that are conditionally
defined.

Bug: 7456955
Bug: 80410283
Test: lunch generic; m
Test: lunch full; m
Change-Id: I5448769433d09eaf970c4231874ced3261a5c66b
2018-07-09 11:00:24 +01:00
Treehugger Robot
9721ee965e Merge "aidl: -ninja -> --ninja" 2018-07-07 00:19:45 +00:00
Mathieu Chartier
a3010c60fe Merge "Allow multiple profiles to be added as part of boot.prof" 2018-07-06 23:03:23 +00:00
Steven Moreland
385442d399 aidl: -ninja -> --ninja
Bug: 110967839
Test: AIDL's runtests.sh
Change-Id: I785d39846a477c7edb91db477a0dfa046d823cbf
2018-07-06 11:35:09 -07:00
Anton Hansson
ce0d4aa328 Merge "Add documentation for module resolution." 2018-07-05 16:38:31 +00:00
Anton Hansson
eb3358cfa7 Add documentation for module resolution.
I found this in the CL description of
I5fda1a77f58814097b10b5ad2743ee25adfaecc4, and modified it slightly.

Bug: 111154853
Test: No
Change-Id: I984ac1a9521357af6b54340939dcde36988fc634
2018-07-05 16:31:33 +01: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
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
David Brazdil
9b53066762 Merge "Refactor hiddenapi rules to share common code" 2018-06-29 11:33:09 +00:00
David Brazdil
dadcb9ced2 Merge "Adjust arguments of hiddenapi tool" 2018-06-29 08:40:55 +00:00
Treehugger Robot
3dbb886cda Merge "Support java sdk libraries" 2018-06-29 02:51:43 +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
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
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
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
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