Commit graph

1169 commits

Author SHA1 Message Date
Dan Willemsen
c025213c15 Merge "Fix path to flex and bison with SANITIZE_HOST" am: 80ebd01032
am: f82669cc5d

Change-Id: I6f93126962d210e2896592bcd3f4a6f570dfc69f
2018-05-25 18:46:39 -07:00
Dan Willemsen
3de78fdf35 Fix path to flex and bison with SANITIZE_HOST
We don't have sanitized versions of flex and bison currently.

Test: forrest on aosp_x86_64-eng
Change-Id: I536885a715c162e36b69282099784abd16a5300c
2018-05-25 16:13:52 -07:00
Dan Willemsen
5db3299b9c Merge "Use new flex binary" am: 6fe15a380d
am: e3cca7657a

Change-Id: Ie148b4361d3f9b7e0d4b175234c18fdbe34b1949
2018-05-25 16:02:05 -07:00
Dan Willemsen
6535dd9891 Use new flex binary
Test: treehugger
Change-Id: Iee21114ae863eb50d26ee9562879a97f956274ab
2018-05-24 16:04:58 -07:00
Colin Cross
c45949b4db Merge "Fix missing class in manifest merger" am: 7f706cabac
am: df267c25e9

Change-Id: Iec8c8f60b7dbd59e23b8ef87b646854b2abe47dd
2018-05-24 10:44:00 -07:00
Yifan Hong
03f31c6625 Merge "Add PRODUCT_USE_LOGICAL_PARTITIONS" am: fecdb5db65
am: 725e94ea24

Change-Id: I64fb594c1493e804ec1dff1fe84976b574ff67bb
2018-05-24 10:43:25 -07:00
Treehugger Robot
7f706cabac Merge "Fix missing class in manifest merger" 2018-05-24 01:15:54 +00:00
Treehugger Robot
fecdb5db65 Merge "Add PRODUCT_USE_LOGICAL_PARTITIONS" 2018-05-23 23:50:32 +00:00
Colin Cross
0084dc8e2f Fix missing class in manifest merger
If manifest merger sees a manifest with an sdk codename instead
of a number it fails with:
Exception in thread "main" java.lang.NoClassDefFoundError: com/android/sdklib/SdkVersionInfo
	at com.android.manifmerger.XmlDocument.getApiLevelFromAttribute(XmlDocument.java:384)
	at com.android.manifmerger.XmlDocument.addImplicitElements(XmlDocument.java:418)
	at com.android.manifmerger.XmlDocument.merge(XmlDocument.java:161)
	at com.android.manifmerger.ManifestMerger2.merge(ManifestMerger2.java:909)
	at com.android.manifmerger.ManifestMerger2.merge(ManifestMerger2.java:263)
	at com.android.manifmerger.ManifestMerger2.access$600(ManifestMerger2.java:61)
	at com.android.manifmerger.ManifestMerger2$Invoker.merge(ManifestMerger2.java:1530)
	at com.android.manifmerger.Merger.process(Merger.java:153)
	at com.android.manifmerger.Merger.main(Merger.java:42)
Caused by: java.lang.ClassNotFoundException: com.android.sdklib.SdkVersionInfo
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
	... 9 more

Add sdklib to the classpath to fix it.

Test: m java
Bug: 77569197
Change-Id: I54fd9edb36aca32cff507340a76eee5e367529e6
2018-05-23 16:35:40 -07:00
Yifan Hong
ef4cd71ebf Add PRODUCT_USE_LOGICAL_PARTITIONS
Test: Set a device with PRODUCT_USE_LOGICAL_PARTITIONS,
      boot, examine /proc/cmdline
Test: build with USE_LOGICAL_PARTITIONS=true

Fixes: 79885414

Change-Id: I593b457786f3cf1bc50dedbc9b603e5408461bcc
2018-05-23 15:10:17 -07:00
Dario Freni
c8b3742f35 Merge "Use manifest-merger 26.1.0 for builds." am: 3b801ca7fb
am: b826fe65fb

Change-Id: Iebb45d1b586b5d9c72f646d7e943100a32a0a6f8
2018-05-23 13:15:36 -07:00
Treehugger Robot
3b801ca7fb Merge "Use manifest-merger 26.1.0 for builds." 2018-05-23 20:03:08 +00:00
Jiyong Park
6cb36a5d6c Merge "Convert apicheck tool build to Soong." am: 5e2056b906
am: 90525df267

Change-Id: Ia8242a167369f545c24f76911d315cf7e2b30d4c
2018-05-15 00:05:58 -07:00
Jiyong Park
5e2056b906 Merge "Convert apicheck tool build to Soong." 2018-05-15 05:30:41 +00:00
Jiyong Park
1c671fd7dd Convert apicheck tool build to Soong.
Bug: b/78034256
Test: m clean && m checkapi
Change-Id: Iaced7335714138730349bbea8a993705f197ae77
2018-05-15 11:38:44 +09:00
Anton Hansson
b2c2be9eca Merge "Remove two stale variables." am: fa682fb47a
am: fdbce7be8e

Change-Id: Ia685b6c7205f9b6bb7493a4c10970aaafee0fee1
2018-05-14 10:53:58 -07:00
Anton Hansson
2c37d704b4 Remove two stale variables.
These two variables are unused, and point to non-existing directories,
so delete them.

Test: make
Change-Id: I5f7577c86847146a7eea827ace74cf8022e19f71
2018-05-14 16:23:51 +01:00
Mathieu Chartier
d022b65c98 Add support for preopt with uses-libraries
Required libraries are specified with LOCAL_USES_LIBRARIES
Optional libraries are specified with LOCAL_OPTIONAL_USES_LIBRARIES

The make rule cross references the libraries against what's stored
in the manifest.

Verification is enabled if LOCAL_ENFORCE_USES_LIBRARIES is true. This
defaults to true if either of LOCAL_USES_LIBRARIES or
LOCAL_OPTIONAL_USES_LIBRARIES are specified.

Bug: 70934104
Bug: 67345922
Test: manual

(cherry picked from commit 09f3b97f4b)

Merged-In: Ifca7d1a993620e9d0e42dc497a4a5d7a6c3f4172
Change-Id: I670431f938c31115a7812c1857c31b9f71675632
2018-05-10 11:52:26 -07:00
Mathieu Chartier
00b42e8c6e Merge "Add support for preopt with uses-libraries" into pi-dev
am: 110d18d73c

Change-Id: Ia861e8d9bb2570ccb10c101e81e83eb372ef41f7
2018-05-10 11:47:48 -07:00
Mathieu Chartier
09f3b97f4b Add support for preopt with uses-libraries
Required libraries are specified with LOCAL_USES_LIBRARIES
Optional libraries are specified with LOCAL_OPTIONAL_USES_LIBRARIES

The make rule cross references the libraries against what's stored
in the manifest.

Verification is enabled if LOCAL_ENFORCE_USES_LIBRARIES is true. This
defaults to true if either of LOCAL_USES_LIBRARIES or
LOCAL_OPTIONAL_USES_LIBRARIES are specified.

Bug: 70934104
Bug: 67345922
Test: manual

Change-Id: Ifca7d1a993620e9d0e42dc497a4a5d7a6c3f4172
2018-05-09 16:52:10 -07:00
Alan Viverette
8ead03bde1 Allow projects to define their own globally-available variables
Bug: 73178261
Test: make checkbuild
Change-Id: I53ee0f1d3ec072e19f4893cca44e16ef672fabfe
Merged-In: I53ee0f1d3ec072e19f4893cca44e16ef672fabfe
(cherry picked from commit fa0184fae9)
2018-05-03 16:47:11 -07:00
Dario Freni
6ae46daaec Use manifest-merger 26.1.0 for builds.
Bug: 71775741
Test: m -j
Change-Id: I6d9c7878e5b1f03b9630290859a6eff04cd55317
2018-05-03 21:14:58 +00:00
Anton Hansson
272035c19c Merge "Move apicheck.mk off SRC_API_DIR." am: a1dc661f71
am: 02cae4c505

Change-Id: I93bcd3521b72eb932d3aeed2a5a5dc4d1a9bc35e
2018-05-03 06:31:48 -07:00
Anton Hansson
a1dc661f71 Merge "Move apicheck.mk off SRC_API_DIR." 2018-05-03 13:18:25 +00:00
android-build-prod (mdb)
66b6a3e77c Merge "Accept TARGET_DEVICE_DIR preserved from previous product load" am: 79babfacaa
am: 570881ef0d

Change-Id: Iaeeceb82312f40eee05fa98284e315e159bf49c4
2018-05-02 14:00:28 -07:00
Dan Willemsen
92afd7d1e7 Accept TARGET_DEVICE_DIR preserved from previous product load
During a build, we load product configuration three different times --
to dump some initial variables, when parsing the CleanSpec.mk files, and
again when we parse the Android.mk files.

The BoardConfig.mk find commands use -path, which isn't supported by the
Kati find optimizer, so we end up spending ~125ms in each of the above
cases (on my machine, internal master -- aosp is closer to 30ms).

Instead, do the search during the initial dumping of variables, and pass
in TARGET_DEVICE_DIR into the later runs, using that to load the
BoardConfig.mk file.

Bug: 78020936
Test: out/build-taimen.ninja is identical
Test: out/soong.log shows that we're not running these finds again
Change-Id: I6f186e1879aa362528b48b8a00be3f7a9f88bfc5
2018-05-02 00:15:41 -07:00
Anton Hansson
65b0210fd0 Merge "Update make rules to use new android.jar location." am: a22472315f
am: 636d569336

Change-Id: Ibed1095363d49ff5d8ad321392b2419594a3715c
2018-04-30 05:29:52 -07:00
Anton Hansson
66d47b884e Update make rules to use new android.jar location.
This file has been copied into a 'public' subdir. Use that, so that
the old file can be deleted. Also introduce a new macro to avoid
duplicating this path in a bunch of places.

Bug: 77525052
Test: m checkbuild
Change-Id: Ifcf59c6fb357769b2765e417c8dd56d2ad9b97aa
2018-04-27 16:39:44 +01:00
David Brazdil
b99de41221 DO NOT MERGE: Create filename constant for @removed API signature file
CL I8fe27e8c03334f9c90204db1e69447de65a06a38 introduced a new
Doclava-generated file that contains a list of dex signatures of
@removed API. This patch adds a new Makefile variable holding the
name of that file.

Bug: 78182899
Test: make
Merged-In: I20330bd59cc8b3d0ed0fa08d3f1c2be7b8656849
Change-Id: I22474bd0a43b03441a551fbb055ee336665e499a
2018-04-27 09:02:32 +00:00
Jiyong Park
4add87a9a7 Merge "Set BOARD_SYSTEMSDK_VERSIONS automatically for P-launching device" into pi-dev
am: e2ed4833bb

Change-Id: I7347e97b3431de623067733d231d1e211769ca65
2018-04-23 18:10:26 -07:00
Jiyong Park
b8f16824ad Set BOARD_SYSTEMSDK_VERSIONS automatically for P-launching device
Like BOARD_VNDK_VERSION is automatically set, BOARD_SYSTEMSDK_VERSIONS
is also automatically set to the latest supported SystemSDK version when
it is unset. Specifically, it is set when

1) it isn't explicitly set by the vendor and
2) the device is P-launching device (PRODUCT_SHIPPING_API_LEVEL >= 28)

Bug: 78431725
Test: m -j
Test: `get_build_var BOARD_SYSTEMSDK_VERSIONS` return P for 2018 Pixels.
Change-Id: I036a07da3ce58bdf22d252b6ef18263c7da3602a
2018-04-23 16:23:57 +09:00
Nelson Li
d10e7ca801 Merge "build/make: auto generate Test config file for Google Benchmark Test" am: 2338a70f90
am: 30bdb776e2

Change-Id: I26bb828227df3b9b1d592d38a1934d8dae15a31f
2018-04-20 14:27:52 -07:00
Treehugger Robot
2338a70f90 Merge "build/make: auto generate Test config file for Google Benchmark Test" 2018-04-20 21:16:00 +00:00
Anton Hansson
789c8cd5ef Merge "Add support for specifying LOCAL_SDK_LIBRARIES for prebuilts." am: 4ad0be36e3
am: 480e125b58

Change-Id: Id3b9bbf428650fba96aca05503738ec5e307005f
2018-04-20 01:31:24 -07:00
Anton Hansson
5aded2ff26 Move apicheck.mk off SRC_API_DIR.
This directory is getting deleted.

Also remove the variable, the other uses are being removed in this cl:
I1d4e87e7840e979b83779a2aefe176e7c1ed1527

Bug: 77525052
Test: Verified value of last_released_sdk_version variable.
Change-Id: I69b10ad83a8c06d337606df91e8d3b604adfef70
2018-04-19 17:17:31 +01:00
Anton Hansson
f5cefdcefb Add support for specifying LOCAL_SDK_LIBRARIES for prebuilts.
This new variable allows specifying libraries like this:
LOCAL_SDK_VERISON := 25
LOCAL_SDK_LIBRARIES := org.apache.http.legacy,
which would automatically pick up the prebuilt OAHL prebuilt
from prebuilts/sdk/25/public/org.apache.http.legacy.jar

Test: In master with uiautomator.
Bug: 77575476
Change-Id: Id8d92176f5b608c2bcea622b6aed4aa27c32e000
2018-04-19 15:18:55 +01:00
Nelson Li
eec9529de8 build/make: auto generate Test config file for Google Benchmark Test
BUG: 74844131
Test: cd bionic/; mm (auto generating the test config in out/)
      atest bionic-benchmarks (full testing in atest)
Change-Id: I0497eed876640893d0b82d4cde384d3608cf4875
2018-04-19 09:16:54 +00:00
Anton Hansson
703ab28b58 Merge "Switch make over to use the new prebuilt modules." am: 2944c11b1f
am: 424ee8d748

Change-Id: I25e8350db92ad48b848a9bd364fdb4aff1f3c473
2018-04-19 02:01:27 -07:00
Anton Hansson
9235faa9a4 Switch make over to use the new prebuilt modules.
There are a couple more places throughout the tree that use the old
modules, and I will update those next before deleting the old module
definitions.

Bug: 77525052
Test: make droid
Change-Id: I9385ae34cc1646cbd4e249d9e96a0116296f139a
2018-04-18 16:15:05 +01:00
Dan Willemsen
52e14a617d Merge "Add variables for configuring Soong plugins" into pi-dev 2018-04-17 19:35:35 +00:00
Wale Ogunwale
040ba07736 Merge "Finalizing P SDK" into pi-dev
am: 5de065e3ec

Change-Id: I552ebda180de398512b91addde17d8d48ec60624
2018-04-13 14:06:43 -07:00
Wale Ogunwale
07a54b7fba Finalizing P SDK
Bug: 77588754
Test: builds
Merged-In: Iebb43a246016774150a3053f10bdedb0278b3e5d
Change-Id: Ied2e381795643aaf8c48e6c89d8ee66b8b5b15ed
2018-04-13 14:59:03 +00:00
Dan Willemsen
79657520ee Add variables for configuring Soong plugins
See the Soong commit for detailed usage.

Bug: 76168832
Test: define some variables, use them
Change-Id: Ia8af5b6ec1cb3f12cbc1fee582a309eebb340b7c
Merged-In: Ia8af5b6ec1cb3f12cbc1fee582a309eebb340b7c
(cherry picked from commit eaacf5b285)
2018-04-11 15:31:35 -07:00
Anton Hansson
395092db03 Merge "Consolidate the logic for the sdk prebuilt module names." am: 9b72b53a24
am: 762e03ad41

Change-Id: I79ba2766028f2f26836a3a6d99eb5e8311f31921
2018-04-11 02:27:37 -07:00
Anton Hansson
9b72b53a24 Merge "Consolidate the logic for the sdk prebuilt module names." 2018-04-11 09:10:33 +00:00
Dan Willemsen
fb3eeea64a Merge "Add variables for configuring Soong plugins" am: de61b23ffc
am: 3ae1f7af36

Change-Id: I5abe5931423d25a8314914bc81ba2a38a3439a94
2018-04-10 18:58:05 -07:00
Dan Willemsen
eaacf5b285 Add variables for configuring Soong plugins
See the Soong commit for detailed usage.

Bug: 76168832
Test: define some variables, use them
Change-Id: Ia8af5b6ec1cb3f12cbc1fee582a309eebb340b7c
2018-04-10 15:51:53 -07:00
Anton Hansson
400673cf1e Consolidate the logic for the sdk prebuilt module names.
I'm making some changes to it, and found the names are scattered
in various places. Make a macro and re-use the logic instead.

Bug: 77525052
Test: make droid
Change-Id: I0f2da80b8b4d427353509b27ec720d024eee7a6e
2018-04-10 18:53:30 +01:00
Dan Willemsen
d9a2594d1f Merge "Allow boards to turn overriding commands into an error" am: 3c93dbfa61
am: 1533d14754

Change-Id: I032fbc08fc17fb4c4f5d7f4e1f2ace0560407276
2018-04-06 09:12:29 -07:00
Dan Willemsen
ac406f5c68 Allow boards to turn overriding commands into an error
Many boards have warnings like this, saying that we defined a build
rule, but later something else came in and overrode it with something
else:

art/build/Android.gtest.mk:677: warning: overriding commands for target `test-art-target-gtest-cmdline_parser_test'
art/build/Android.gtest.mk:674: warning: ignoring old commands for target `test-art-target-gtest-cmdline_parser_test'

Beyond the obvious problem of replacing the rule with something else,
target-specific variables can be combined as well, leading to some very
strange problems.

Since so many boards still have problems like this, but we don't
currently have any global problems, add a flag so that we can mark
boards as not broken. This should prevent regressions while we clean up
the individual problems.

Once the non-broken devices number significantly more than the broken
devices, we'll switch this default. And once they're all cleaned up this
variable will become obsolete, and these warnings will always be errors.

Bug: 77611511
Test: lunch aosp_arm-eng; m nothing
Test: lunch aosp_marlin-eng; m nothing
Test: build_test on all downstream branches
Change-Id: I43b645658f468c23a5b9ebcfcd9d4516537db540
2018-04-05 17:26:35 -07:00