Commit Graph

11523 Commits

Author SHA1 Message Date
Inseob Kim
1f086e2f0d Generate VNDK snapshot with Soong except configs
This is the first commit to generate VNDK snapshot with Soong: .so
files, some txt files, and notice files are captured with Soong. As
ld.config.txt is currently in Android.mk and will be deprecated soon,
configs files (and zipping all of artifacts) are still handled with
Makefile.

Bug: 131564934
Test: 1) DIST_DIR=out/dist development/vndk/snapshot/build.sh
Test: 2) try installing vndk snapshot with:
     development/vndk/snapshot/update.py

Change-Id: I8629e1e25bfc461fd495565bb4872c9af176cf92
2019-05-15 10:26:54 +09:00
Colin Cross
0967b34dd9 Merge "Write dexpreopt.config again during the build" 2019-05-11 04:11:58 +00:00
Treehugger Robot
bebfdea437 Merge "Soong: Add mk2bp conversion for prebuilt_usr_share." 2019-05-10 22:30:43 +00:00
Patrice Arruda
77311df787 Soong: Add mk2bp conversion for prebuilt_usr_share.
There are a couple of makefiles that have etc with $(TARGET_OUT)/usr/share
as the local module path. Added the conversion in androidmk for target
and host.

Bug: b/132123818
Test: Wrote and ran unit test cases, did a test conversion on
      external/neven/Android.mk makefile.

Change-Id: Iafed89f4cee499f561a1235f8870b1f1329e99bc
2019-05-10 12:59:37 -07:00
Colin Cross
2d00f0dcae Write dexpreopt.config again during the build
Writing $OUT/dexpreopt.config during build setup and then using
it during the build causes bad incremental builds if a cleanspec
removes $OUT/dexpreopt.config.  Create a rule in Soong to write
out a copy so that it is a normal build artifact.

Bug: 132379813
Test: m checkbuild
Change-Id: I7755a7f8c1d6561fc83022a7f4cf7e4a64e989c9
2019-05-10 07:07:21 -07:00
Pete Gillin
42e862c56d Merge "Rename EXPERIMENTAL_USE_OPENJDK9 to EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9." 2019-05-10 11:50:08 +00:00
Dimitry Ivanov
9c9fd4e73a Merge "Enable native bridge support by default for certain ndk modules" 2019-05-10 08:16:49 +00:00
Treehugger Robot
4af530ff72 Merge "Go back to the host sed until we have a faster prebuilt." 2019-05-09 23:17:05 +00:00
Treehugger Robot
a1591ab08c Merge "Attach global variables to Context" 2019-05-09 22:36:30 +00:00
Xin Li
7592444a02 Merge "DO NOT MERGE - Merge Pie Bonito/Sargo into master." 2019-05-09 22:05:50 +00:00
Elliott Hughes
18e0d5e0f0 Go back to the host sed until we have a faster prebuilt.
Bug: https://issuetracker.google.com/131747477
Test: treehugger
Change-Id: I120fe1200216afdb492bd1353848d12a4be1f496
2019-05-09 13:59:01 -07:00
Tao Bao
fcf9979aa7 Merge "Make device_kernel_headers available to recovery and vendor" 2019-05-09 20:27:48 +00:00
Xin Li
e0ec6c7f00 DO NOT MERGE - Merge Pie Bonito/Sargo into master.
Bug: 131756210
Change-Id: I00db6c50910291f4b200e3d7d2942e367fe0c358
2019-05-09 09:27:02 -07:00
Treehugger Robot
11cd91dada Merge "Fix dangling rules on aosp_cf_x86_phone" 2019-05-09 16:16:01 +00:00
dimitry
03dc3f63f6 Enable native bridge support by default for certain ndk modules
The ndk_library, ndk_prebuilt_object and ndk_prebuilt_static_stl
modules are natural targets to have native bridge support enabled,
since they build user facing object which have to be supported for
translated architectures.

Bug: http://b/77159578
Test: make
Change-Id: Ic556f4c1c41e5b3dc92f9c290b4482dee8faed33
2019-05-09 16:37:16 +02:00
Pete Gillin
0c2143e1ee Rename EXPERIMENTAL_USE_OPENJDK9 to EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9.
The current EXPERIMENTAL_USE_OPENJDK9 environment variable is a legacy
from when the 8 -> 9 toolchain upgrade was happening. That migration
is done and the variable only affects the language level, so it should
have a name that reflects that. (The current situation would be
especially confusing if we started a 9 -> 11 toolchain upgrade,
presumably controlled by a variable like EXPERIMENTAL_USE_OPENJDK11,
since the two settings look incompatible but are actually orthogonal.)

The current variable historically allowed a value or "1.8" which meant
"use the OpenJDK 9 toolchain but target language level 8". That value
no longer has any meaning and the new variable doesn't allow it.

Bug: 131678633
Test: `make` with `EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9=true`
Test: `javap -v $OUT_DIR/soong/.intermediates/libcore/core-oj/android_common/javac/classes/java/util/List.class | grep 'major version'` shows 53
Test: Audit all mentions of the old string here and downstream
Change-Id: Idad808c7f07913baba1a777627322d5452dabcef
2019-05-09 15:36:29 +01:00
Hridya Valsaraju
d61df5041e Make device_kernel_headers available to recovery and vendor
This is required to build the recovery variant of boot control HAL.

Bug: 78793464
Test: make
Bug: 34254109
Change-Id: Ia5d7b1a97926acbe4ba89df26aeb66fac6bbb1ab
Merged-In: Ia5d7b1a97926acbe4ba89df26aeb66fac6bbb1ab
(cherry picked from commit 1a3b62757c)
2019-05-08 22:58:10 -07:00
Inseob Kim
9516ee9556 Attach global variables to Context
Global variables make testing difficult, and they should attached to
Context.

Bug: N/A
Test: m
Change-Id: Ic671dda755e99d036c7ddce0eed114496374d7ec
2019-05-09 12:29:58 +09:00
Treehugger Robot
ffff95bc4e Merge "Don't dump BUILD_BROKEN_USES_BUILD_[HOST_]SHARED_TEST_LIBRARY" 2019-05-08 23:44:47 +00:00
Jaewoong Jung
53ad63c127 Merge "Implement DPI variants in android_app_import." 2019-05-08 23:34:04 +00:00
Colin Cross
c11e0c5a39 Fix dangling rules on aosp_cf_x86_phone
aosp_cf_x86_phone uses SecondArchIsTranslated, which was leaving
a dangling rule from the oatdump rules to
out/soong/vsoc_x86/dex_bootjars/system/framework/arm/boot.art.
Consolidate the code to select targets for dexpreopting and use it
in more places to prevent references to boot images that were not
generated.

Test: m checkbuild
Change-Id: Ia4945a99ff5e575e759299106559c85f38489acc
2019-05-08 22:26:14 +00:00
Dan Willemsen
7e52fa9f33 Don't dump BUILD_BROKEN_USES_BUILD_[HOST_]SHARED_TEST_LIBRARY
These have been errors for years, and are now marked as obsolete.

Test: treehugger
Change-Id: I8055ab689ce5085df763378ad40d9b9aaa7ca85b
2019-05-08 12:38:49 -07:00
Jaewoong Jung
a5e5abc449 Implement DPI variants in android_app_import.
Bug: 128610294
Test: app_test.go
Change-Id: Ie3e558bfdb40de6b0b9df95d3b373d08a4084d7b
2019-05-07 17:55:23 -07:00
Colin Cross
222f5ee5f2 Merge "Track sources for srcjars across modules"
am: 082640d6ee

Change-Id: Ia5505e67614e1531acd9fed44491faef4596a62c
2019-05-07 10:38:18 -07:00
Treehugger Robot
082640d6ee Merge "Track sources for srcjars across modules" 2019-05-07 17:25:52 +00:00
Colin Cross
04c69f1c9d Merge "Allow module types to generate resources"
am: da2bba1d71

Change-Id: I0ad142dadec08bd50ab8fdaa1f6dada0bf24a069
2019-05-07 07:36:39 -07:00
Treehugger Robot
da2bba1d71 Merge "Allow module types to generate resources" 2019-05-07 14:19:52 +00:00
Yi Kong
29ae56ede9 Merge "Exclude libgcc_stripped wherever libgcc is excluded"
am: 3277c39c6b

Change-Id: Idbe82ea4a3e5cb9a9a7c194dd0a4d8a282d56c03
2019-05-06 20:13:01 -07:00
Yi Kong
3277c39c6b Merge "Exclude libgcc_stripped wherever libgcc is excluded" 2019-05-07 02:57:24 +00:00
Patrice Arruda
a3898089ba Merge "Soong: Refactor the soong_ui arguments processing to be more like bazel."
am: 565ee6ed87

Change-Id: I4dd6ef7ac341857201969a830d8caf76e28cdfd5
2019-05-06 18:32:11 -07:00
Treehugger Robot
565ee6ed87 Merge "Soong: Refactor the soong_ui arguments processing to be more like bazel." 2019-05-07 00:49:21 +00:00
Yi Kong
3d8792f7dd Exclude libgcc_stripped wherever libgcc is excluded
Test: manual testing
Bug: 130267141
Bug: 29275768
Change-Id: Icc0d50e403dc4a3592e5bf389101cdef129042df
2019-05-06 16:18:33 -07:00
Jaewoong Jung
6538ed7e72 Merge "uncompressedDex option for android_app_import."
am: ddda3ce23a

Change-Id: I61d3cefceae2d53839477c65a15e69f4e863b952
2019-05-06 14:37:09 -07:00
Jaewoong Jung
ddda3ce23a Merge "uncompressedDex option for android_app_import." 2019-05-06 21:24:53 +00:00
Colin Cross
0c4ce21615 Track sources for srcjars across modules
Robolectric coverage needs a srcjar that sometimes needs to
include sources of dependencies.  Track the arguments and
dependencies necessary to jar the sources.

Test: TestIncludeSrcs
Change-Id: I9979d2b8350923a2237e743c232e6e548f54ba3b
2019-05-06 14:22:26 -07:00
Colin Cross
988708ce75 Allow module types to generate resources
Robolectric will need to generate extra resources to be added to
the jar.

Test: TestResources
Change-Id: I028f91ea8fc5d1e59e4e805876d70f57d8899f11
2019-05-06 14:22:26 -07:00
Patrice Arruda
a5c2542f68 Soong: Refactor the soong_ui arguments processing to be more like bazel.
Currently, the command line argments is being processed in multiple
places. In the main soong_ui arguments, there are several if statements
that checks if a specific argument was specified in order to execute
the requested operation. This does not scale well when adding or
removing a command in the near future. In order to support the build
commands (m, mma, etc...) from the envsetup.sh in soong_ui, a refactor
was required in order to add a command rather quickly and to have the
flexibiity to unit test the command. The soong_ui arguments format is
as follows:

soong_ui <command> [<arg 1> <arg 2> ... <arg n>]

The <command> is a specific operation to be executed. The arguments
after the command are processed by the command itself.

Below is the list of changes made in this commit:

 * Created a new command infrastructure that allows adding
   or deprecating a command easily.

 * Fixed a bug when running ./soong_ui.bash directly would cause
   a panic due to index being out of range for args list.

Bug: b/130049705
Test: Below is the list of testing done on this commit:
    * Ran lunch and verified that the output is the same as the the output
      without the modifications. lunch indirectly runs soong_ui passing
      in the --dumpvar-mode (to read makefile variables such as
      TARGET_PRODUCT) and --dumpvars-mode (to build the build cache).
    * Ran ./soong_ui.bash directly (with unsupported flags and no flags)
      and the proper message appeared that soong native UI is not yet
      available.
    * Ran m, mm, mmm, mma, mmma commands.
    * Ran the make installclean command:
         make -j80 TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=eng dist DIST_DIR=/tmp/helloworld installclean
    * Ran ./out/soong_ui -j80 --make-mode PRODUCT-aosp_arm64-eng dist checkbuild tests

Change-Id: Iee4de7ec0fa4661206fda8ae1fe6fa4487d9bb22
Merged-In: Iee4de7ec0fa4661206fda8ae1fe6fa4487d9bb22
2019-05-06 14:05:52 -07:00
Patrice Arruda
2a38d89734 Merge "Soong: Add synopsis to ndk_prebuilt_* modules."
am: e0dbdd87f0

Change-Id: I757be447a4868755799c0cb40d21ed52989f9e7a
2019-05-06 11:37:08 -07:00
Treehugger Robot
e0dbdd87f0 Merge "Soong: Add synopsis to ndk_prebuilt_* modules." 2019-05-06 18:12:12 +00:00
dimitry
96ba9ea6f9 Mark libgcc_stripped native_bridge_supported
am: 0e55ba6dbc

Change-Id: I5f8c9616f1c4a935f4f06c1b642dbc8177917c88
2019-05-06 10:47:41 -07:00
dimitry
0e55ba6dbc Mark libgcc_stripped native_bridge_supported
Test: make
Change-Id: I04e86a4deb3e743a63fc6df199ee0c1a7deb9e48
2019-05-06 10:58:10 +02:00
Colin Cross
7e793aa12b Merge "Support install-clean and data-clean"
am: 6ff39230e8

Change-Id: I1657ca7f833923b5c85a19546ed149a89a588e6e
2019-05-03 17:07:15 -07:00
Treehugger Robot
6ff39230e8 Merge "Support install-clean and data-clean" 2019-05-03 23:38:40 +00:00
dimitry
9da19e15ee Merge "Add native_bridge target to Android.bp"
am: ec89e4c65c

Change-Id: I90803e4cac6fccdaaabc9d1ba3fb01491bb9bd65
2019-05-03 16:08:33 -07:00
Jaewoong Jung
acf18d7c63 uncompressedDex option for android_app_import.
This also partially consolidates shouldUncompressDex implementations.

Bug: 128610294
Test: TreeHugger
Change-Id: I7cea5a3890ddd473f63c0738a35af067455b5c4d
2019-05-03 15:58:41 -07:00
Treehugger Robot
ec89e4c65c Merge "Add native_bridge target to Android.bp" 2019-05-03 22:23:00 +00:00
Colin Cross
806fd94bed Support install-clean and data-clean
Allow install-clean as an alias for installclean and data-clean as
an alias for dataclean.

Test: m install-clean
Change-Id: I9c97d60572a524ad68caecd26d52bfb987468075
2019-05-03 13:38:57 -07:00
Elliott Hughes
aeb80db696 Merge "Allow the host expr."
am: b0e7320fbc

Change-Id: Iacdc734085ecff25235ea94d09018070f3d1da3a
2019-05-03 11:29:51 -07:00
Elliott Hughes
b0e7320fbc Merge "Allow the host expr." 2019-05-03 17:24:00 +00:00
dimitry
1f33e40972 Add native_bridge target to Android.bp
This allows us to build guest libraries for the native bridge for
arm/arm64 architectures.

Bug: http://b/77159578
Test: make
Change-Id: I35520ca456105ddadd456c78a4eb1e6de39147c5
2019-05-03 15:33:28 +02:00