Commit graph

1119 commits

Author SHA1 Message Date
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
Tri Vo
46ead88e00 Merge "Add TOT_SEPOLICY_VERSION = 10000.0" am: 802eecc01c
am: 69898d4d14

Change-Id: I77179cee85704e65d5611ebd1668d198ba8b2249
2018-03-30 17:30:54 +00:00
Tri Vo
d9c8e956ac Add TOT_SEPOLICY_VERSION = 10000.0
This variable is equal to the sepolicy version for tip-of-tree development.

Bug: 74622750
Test: ./build/soong/soong_ui.bash  --dumpvars-mode -vars PLATFORM_SEPOLICY_VERSION
is unchanged.
Change-Id: I2a62f7399fe245ec0c681e9a789da6b1b83dd9d8
2018-03-27 17:11:38 -07:00
Bowgo Tsai
2864747425 Merge "Products launching with API 28 needs system-as-root" am: 1f7bf445e7
am: 9bbc647458

Change-Id: I834e84fc430f528e8f6cee9480afc59687afedfc
2018-03-27 03:57:35 +00:00
Bowgo Tsai
ed3b1ca12c Products launching with API 28 needs system-as-root
With project Treble, it's possible to only update system.img across
Android major releases without changing other partitions. However,
for non-A/B devices, ramdisk cannot be updated via a system-only OTA
because it resides in /boot partition.

This leads to two major incompatibility issues:
  - The older /init in ramdisk might not be able to parse the *.rc files
    on /system.
  - The ramdisk contains /init.rc, which also may be out of date compared to
    what is required for the new /system.

Therefore, for new devices launched in P with full Treble support, ramdisk
should be merged into system.img by setting
BOARD_BUILD_SYSTEM_ROOT_IMAGE := True.

Upgrading devices can keep using non-system-as-root configuration.

Bug: 64194858
Test: manual makefile prodding
Change-Id: Ic04c63bd2aac3afa686a6f5cb124beebbcd6a5ee
2018-03-26 23:16:06 +08:00
Treehugger Robot
c0811e291c Merge "Products launching with API 28 need 64-bit binder interface." 2018-03-22 21:52:26 +00:00
Tao Bao
701d830acb Merge "Remove the hard-coded path of build_verity_metadata.py." am: 0793683e86
am: 2a8e13f75d

Change-Id: Ifb02ec1a445595f3858cbbbc96155fbe6b6b7e4b
2018-03-22 19:01:44 +00:00
Tao Bao
b4ec6d752a Remove the hard-coded path of build_verity_metadata.py.
build_image.py used to invoke build_verity_metadata.py with a hard-coded
path of 'system/extras/verity/build_verity_metadata.py', which makes it
hard to run unittests from non-$(ANDROID_BUILD_TOP) directory.

This CL adds the dependency on the tool, so that it gets installed to
$(HOST_OUT_EXECUTABLES), then removes the hard-coded path.

Bug: 74544459
Bug: 76015688
Test: `m dist`
Test: python -m unittest test_validate_target_files
Change-Id: I0dcf4eb067a0db6f099cb589eb99a151a05c7f2b
2018-03-21 21:15:59 +00:00
Nan Zhang
82d40c4874 Add dist-for-goals for droiddoc docs.zip
Old droiddoc will install the *-docs.zip & API files to the dist.

And also remove INTERNAL_PLATFORM_*API_FILE variables from config.mk and
get rid of the dependencies on api-stubs, system-api-stubs, test-api-stubs
timestamp.

Test: m -j api-stubs-docs
Bug: b/70351683
Change-Id: I08923bb5f62d2f55961d9a2865723d7b3fae7206
Merged-In: I08923bb5f62d2f55961d9a2865723d7b3fae7206
2018-03-20 16:23:22 -07:00
Nan Zhang
0aa96a05fb Add dist-for-goals for droiddoc docs.zip
Old droiddoc will install the *-docs.zip & API files to the dist.

And also remove INTERNAL_PLATFORM_*API_FILE variables from config.mk and
get rid of the dependencies on api-stubs, system-api-stubs, test-api-stubs
timestamp.

Test: m -j api-stubs-docs
Bug: b/70351683
Change-Id: I08923bb5f62d2f55961d9a2865723d7b3fae7206
Merged-In: I08923bb5f62d2f55961d9a2865723d7b3fae7206
2018-03-20 11:42:23 -07:00
Søren Gjesse
31f40492d4 Merge "Enable R8 by default (second attempt for Q)" am: d04f28db7b
am: 85ac8c6e39

Change-Id: Idd417f98756496811230fb7ee97f9193e76db00d
2018-03-19 08:01:10 +00:00
Martijn Coenen
c3162eeff0 Products launching with API 28 need 64-bit binder interface.
This time around we're really deprecating the 32-bit
binder interface (v7), even for 32-bit devices.

Upgrading devices can keep using it.

Bug: 69775513
Test: manual makefile prodding
Change-Id: I3850418ca267e72593f5f12b940e5382b29b024a
Merged-In: I3850418ca267e72593f5f12b940e5382b29b024a
2018-03-16 09:43:39 +01:00
Søren Gjesse
f71d68de18 Enable R8 by default (second attempt for Q)
Fixed bugs which was discovered in the last attempt.

Bug: 74508478

Test: m -j PRODUCT-taimen-userdebug
Test: m -j PRODUCT-elfin-userdebug
Test: Check that some .vdex files built have R8 generated code

(cherry picked from commit a3b796d998)

Change-Id: Ibe08137cd6db94b1fc487267e169d3f5ee598846
Merged-In: I2a8e0e5cad1d698ae73ba152e34a08a496112d7d
2018-03-14 22:09:10 +01:00
Martijn Coenen
16ab41d8ff Merge "Products launching with API 28 need 64-bit binder interface." into pi-dev
am: d027dfa39f

Change-Id: I259f69f1be9baeab32f45637a17f43dea3c1b728
2018-03-14 11:17:17 +00:00
Martijn Coenen
d027dfa39f Merge "Products launching with API 28 need 64-bit binder interface." into pi-dev 2018-03-14 11:05:19 +00:00
Dan Willemsen
10cdd60b9f Merge "Fix xz with SANITIZE_HOST" am: b16a5b8d17
am: ad8b133476

Change-Id: Ibd3a9b4699e58fdb830a2ebed1db96b7e9802d85
2018-03-10 09:17:39 +00:00
Dan Willemsen
6b3a8380cc Fix xz with SANITIZE_HOST
There isn't an Address Sanitizer prebuilt of xz, so always use the same
xz prebuilt.

Bug: 36130900
Test: SANITIZE_HOST=address m nothing; check ninja file
Test: m libc
Change-Id: Iba3599d4289ad5afb573dbec5ac8fc463668b1c6
2018-03-09 22:38:37 -08:00
Dan Willemsen
bc84ac12c7 Merge "Use xz prebuilt" am: 8e287901c3
am: 0a0181bb96

Change-Id: Ie81e1f1ee105263bce6c2ac4b132b9828b9d92c3
2018-03-10 03:12:05 +00:00
Dan Willemsen
893859573d Use xz prebuilt
Instead of whichever xz happens to be on the PATH.

Bug: 36130900
Test: m
Change-Id: Ib37d8db4e935ef8f69f3d43b5065c22d34028cf3
2018-03-09 12:56:01 -08:00
Dan Willemsen
389bbe45a2 Support a pre-extracted PDK zip
Pre-extracting the zip files are more sustainable for git, so that
objects can be shared if unchanged, rather than the 900MB zip file
changing on every build.

This also has the advantage that we could put an Android.bp file inside
the PDK, and Soong would just pick it up.

Bug: 68767391
Test: Build mini_arm64 PDK with platform.zip
Test: Build mini_arm64 PDK with extracted zip file
Change-Id: I16db030a731aea55b69c1d6e2260dbd70b167544
Merged-In: I16db030a731aea55b69c1d6e2260dbd70b167544
(cherry picked from commit 0663f685c2)
2018-03-09 00:27:56 -08:00
Dan Willemsen
5a11a24234 Merge "Support a pre-extracted PDK zip" am: 1cfafdd9fc
am: d34cc3915c

Change-Id: I4996d7e056f48c128e8cf90679562562283d3e15
2018-03-09 05:08:10 +00:00
Dan Willemsen
0663f685c2 Support a pre-extracted PDK zip
Pre-extracting the zip files are more sustainable for git, so that
objects can be shared if unchanged, rather than the 900MB zip file
changing on every build.

This also has the advantage that we could put an Android.bp file inside
the PDK, and Soong would just pick it up.

Bug: 68767391
Test: Build mini_arm64 PDK with platform.zip
Test: Build mini_arm64 PDK with extracted zip file
Change-Id: I16db030a731aea55b69c1d6e2260dbd70b167544
2018-03-08 13:50:21 -08:00
Martijn Coenen
08f10d0529 Products launching with API 28 need 64-bit binder interface.
This time around we're really deprecating the 32-bit
binder interface (v7), even for 32-bit devices.

Upgrading devices can keep using it.

Bug: 69775513
Test: manual makefile prodding
Change-Id: I3850418ca267e72593f5f12b940e5382b29b024a
2018-03-08 10:57:15 +00:00
Dan Willemsen
699c68e1d0 Merge "Remove some uses of export/unexport" am: 76d45d8ddf am: 39f4686998
am: b684761fd7

Change-Id: I8373a0e1344235be3b5994f829927e8362b5d4a0
2018-02-27 21:39:53 +00:00
Dan Willemsen
fb394978aa Remove some uses of export/unexport
All of these are already handled by soong_ui.

Test: inspect build/soong/ui/build/config.go
Change-Id: I3aa4dcd40ea92759374f9894d525507ef970a584
2018-02-27 02:14:11 -08:00
Dan Willemsen
f65052640e Merge "Use xmllint built from source" am: 063e6b2939 am: 41d79327cd
am: 993655b8bf

Change-Id: I182feaff6e3db997407affd5520f57b421b8e433
2018-02-27 04:43:13 +00:00
Dan Willemsen
4c36d45a2c Use xmllint built from source
Instead of relying on whatever version of xmllint is on the host system,
build and use the version in external/libxml2.

Test: diff build_aosp-marlin.ninja, expected changes.
Test: m $(xmllint targets in build_aosp-marlin.ninja)
Test: introduce xml error, build fails
Change-Id: I39579f06db3777e3b5c8dda7c7541c25a35887b2
2018-02-27 02:34:08 +00:00
Przemyslaw Szczepaniak
a5b2bad232 Merge "Remove org.apache.http.legacy from bootclasspath" 2018-02-23 14:05:59 +00:00
Przemyslaw Szczepaniak
bd613de7ff Remove org.apache.http.legacy from bootclasspath
Another attempt, waiting for b/73762903 to be mitigated

Change-Id: I496b1297f5dfe0737828ab01fc1b628f64a57304
Test: build, flash and cts/tests/signature/runSignatureTests.sh, manual
Bug: 18027885
2018-02-22 16:38:49 +00:00
Przemyslaw Szczepaniak
99abb9f731 Merge "Revert "Remove org.apache.http.legacy from bootclasspath"" 2018-02-22 16:10:12 +00:00
Przemyslaw Szczepaniak
929db472be Revert "Remove org.apache.http.legacy from bootclasspath"
This reverts commit 58b793771c.

Reason for revert: b/73762903

Change-Id: I2faa22d47278d436baa6d7994f0bad879ac7265b
Exempt-From-Owner-Approval: Revert
2018-02-22 16:07:53 +00:00
TreeHugger Robot
3d4d61d080 Merge "Remove org.apache.http.legacy from bootclasspath" 2018-02-22 04:34:34 +00:00
Przemyslaw Szczepaniak
58b793771c Remove org.apache.http.legacy from bootclasspath
Test: build, flash and cts/tests/signature/runSignatureTests.sh, manual
Bug: 18027885
Change-Id: I6a6d35198c49ed8a0b370fbe4a94320aefc4d7c3
2018-02-21 18:04:28 +00:00
TreeHugger Robot
0710ca2056 Merge "Add rule to enable running Jetifier within Make against Java modules" 2018-02-20 23:35:10 +00:00
Jeff Gaston
d2ba724f7f Add rule to enable running Jetifier within Make against Java modules
The only case where we expect to actually enable this behavior is for
modules that are just an unpacking of a prebuilt, because those are
the only cases for which we can't conveniently just change the source

Bug: 72552006
Test: ./build/soong/scripts/diff_build_graphs.sh \
      --products=aosp_arm 'build/make:work^' \
      'build/make:work'
Test: cherry-pick the following patch that depends on this one and
      the rest of that patch's topic, and then do `m -j jeffapp`

Change-Id: I62e231900d6d87673ddf19c7fc2686fef2828590
2018-02-20 22:25:23 +00:00
TreeHugger Robot
7c9bbd37cd Merge "Allow projects to define their own globally-available variables" 2018-02-16 22:29:02 +00:00
Chih-Hung Hsieh
acc684b07d Merge "Remove core/clang/versions.mk and scan-build wrapper" am: b9a66a6250 am: bfc856a64e
am: 7f3bea5982

Change-Id: I5946a803690d77243721b342d5b35a87728a6111
2018-02-16 01:11:14 +00:00
Treehugger Robot
b9a66a6250 Merge "Remove core/clang/versions.mk and scan-build wrapper" 2018-02-15 23:56:36 +00:00
Nan Zhang
f1cbc5dbf1 Merge "Remove BUILD_DATETIME from Make." am: 4babe39d0f am: 03bca8c4a8
am: 649f5b3c9a

Change-Id: Iaf6c6240dce29da37b2b4dd30abbc7326a5464be
2018-02-15 22:59:46 +00:00
Chih-Hung Hsieh
7ed0db8d1d Remove core/clang/versions.mk and scan-build wrapper
* Use the definitions of ClangDefaultBase and ClangDefaultVersion
  in build/soong/cc/config/global.go.
* scan-build is too old;
  replaced by better clang-tidy's -clang-analyzer-* checks.
* WITH_STATIC_ANALYZER is still effective
  to invoke ccc-analyzer or c++-analyzer.

Test: make checkbuild
Change-Id: Ifd159dd28e529d5d3c9807f5e391911365da8cdb
2018-02-15 13:38:50 -08:00
Alan Viverette
fa0184fae9 Allow projects to define their own globally-available variables
Bug: 73178261
Test: make checkbuild
Change-Id: I53ee0f1d3ec072e19f4893cca44e16ef672fabfe
2018-02-15 15:02:53 -05:00
Nan Zhang
975f41ed34 Remove BUILD_DATETIME from Make.
Soong_UI will handle build timestamp and export date file to Make.

Test: m -j32
Bug: b/70351683
Change-Id: Ibe4ceb1b224c5e8f3e1a8a59cfee89217765a901
2018-02-14 13:30:53 -08:00
Jaekyun Seok
9cbf2e00df Merge "Enable BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED for full-treble products" am: 42c7cf0631 am: cae2ca8ef5
am: aabb24c3fc

Change-Id: Ic36f71be5b0d900f13c4d7eb2cb56391110ac90d
2018-02-14 01:04:42 +00:00
Treehugger Robot
42c7cf0631 Merge "Enable BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED for full-treble products" 2018-02-14 00:30:23 +00:00
Justin Yun
e136d21ff8 Merge "Revert "PRODUCT_TREBLE_LINKER_NAMESPACES must be true for BOARD_VNDK_VERSION"" am: 835e296ce1 am: 2c95415716
am: e5f2a716cb

Change-Id: I8b5b14434356e5d7ea56a325b4c5a61dcd0aae03
2018-02-08 08:18:16 +00:00
Justin Yun
fbcc2ad22e Revert "PRODUCT_TREBLE_LINKER_NAMESPACES must be true for BOARD_VNDK_VERSION"
This reverts commit 69ae572779.

Reason for revert: Build breaks on aosp_car

Change-Id: I9c7f0eedf8ea8fb3b4e14dc2024dea376cc14093
2018-02-08 07:06:13 +00:00
Justin Yun
1cd7012024 Merge "PRODUCT_TREBLE_LINKER_NAMESPACES must be true for BOARD_VNDK_VERSION" am: 1e6b7c553a am: 3a9118137b
am: 2076edbd93

Change-Id: I1506cb1f26ee4879d5fec53deea2cccd6c6df4fa
2018-02-08 06:47:59 +00:00
Justin Yun
69ae572779 PRODUCT_TREBLE_LINKER_NAMESPACES must be true for BOARD_VNDK_VERSION
If PRODUCT_TREBLE_LINKER_NAMESPACES is not true when
BOARD_VNDK_VERSION is defined, report a build error.
To enable VNDK, linker namespace must be configured.

Bug: 72704254
Test: Try to build with one of them is missing
Change-Id: I804704e2f48fa44c8f998183508741d5cc40e4ce
2018-02-08 05:53:48 +00:00
Jaekyun Seok
c227ce7c25 Enable BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED for full-treble products
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED can be true only if early-mount of
partitions is supported. But the early-mount must be supported for full
treble products, and so BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED should be
set by default for full treble products.

Additionally this CL sets ro.vndk.version regardless of
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED.

Bug: 73078796
Test: tested with walleye
Change-Id: Icfe1b6957b55b0f9261d34d7e92db3dc5073cb58
2018-02-08 11:49:16 +09:00