Commit Graph

6388 Commits

Author SHA1 Message Date
Jingwen Chen
ca21ea8f5a bp2build: support arch/target static/shared props. am: bcf5304eab am: ba0ed994cb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1717437

Change-Id: Ibb05177835e7af688e27efb340acc78d4d0a2d68
2021-05-26 11:26:30 +00:00
Jiyong Park
d9a8119018 Merge "Update VndkMustUseVendorVariantList after aidl-freeze-api" into sc-dev am: 59fa1e4b7f
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/14703270

Change-Id: Ie942339e4d9c98bfdf9f43d0912313b71c797417
2021-05-26 11:24:03 +00:00
Jingwen Chen
bcf5304eab bp2build: support arch/target static/shared props.
This CL adds the support for static/shared cc_library props nested
within target and arch structs, and correctly sets them in the right
select statement.

Test: TH
Bug: 189183307
Change-Id: I48f7d62755ebab56fe03d3ecee2e15427eb552c9
2021-05-26 09:28:19 +00:00
Rupert Shuttleworth
e33da475f9 Make GetTargetProperties() aware of more complex targets, like 'android_arm', instead of just 'android'. am: c194ffbcf3 am: 42b29a5b40
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1712089

Change-Id: I2a68455e55701c2251d61a0db6855c34879fea93
2021-05-26 05:13:18 +00:00
Jose Galmes
737d0a1f84 Fix change in logic introduced in https://r.android.com/1666563.
https://r.android.com/c/platform/build/soong/+/1666563/3/cc/image.go#551
introduced a change in logic.

Bug: 188717568

Test: source build/envsetup.sh
Test: m -j nothing
Change-Id: Iab27f1c3ca1a488d074f9c5c61fe071d7d445b91
2021-05-25 22:06:41 -07:00
Colin Cross
243f3c250e Remove unused cc.copyDirectlyInAnyApexDependencyTag
Bug: 183759446
Test: go test ./build/soong/cc
Change-Id: I967f5c42cbf7722843a6455cbc2867a8912033cb
2021-05-25 18:28:38 -07:00
Rupert Shuttleworth
c194ffbcf3 Make GetTargetProperties() aware of more complex targets, like 'android_arm', instead of just 'android'.
Test: Added new unit test and updated existing tests.

Test: bazel build //bionic/... //external/... //frameworks/... //system/...

Test: ./build/bazel/scripts/run_presubmits.sh

Change-Id: I250d1964f5cf42b92ddb929379d35d8c844423f7
2021-05-25 19:40:16 -04:00
Jiyong Park
59fa1e4b7f Merge "Update VndkMustUseVendorVariantList after aidl-freeze-api" into sc-dev 2021-05-25 22:43:41 +00:00
Christopher Parsons
c311686ec6 Merge "Rollforward "Split asm and c flags and srcs in..."" am: e28a176a99 am: 47e19b1774
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1717990

Change-Id: Ia0ad960d0339fdfc308d63c8b77b7fad000d111d
2021-05-25 19:52:24 +00:00
Christopher Parsons
e28a176a99 Merge "Rollforward "Split asm and c flags and srcs in..."" 2021-05-25 18:59:39 +00:00
Liz Kammer
5e45e44281 Merge "Combine bp2build handling of static/shared props" am: 3169bca9e2 am: bc90e7a101
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1715719

Change-Id: I8518f285f18bcabea6f26cfea968cec5afccf75f
2021-05-25 17:19:33 +00:00
Liz Kammer
3169bca9e2 Merge "Combine bp2build handling of static/shared props" 2021-05-25 16:55:02 +00:00
Chris Parsons
990c4f4fc3 Rollforward "Split asm and c flags and srcs in..."
This fixes a test and rolls forward I28cf7437ee96cdf2fdbcb1eda2303691cff08ba4

Test: m nothing
Test: See I28cf7437ee96cdf2fdbcb1eda2303691cff08ba4
Change-Id: I0e450c28e70087e406e7b562d7e772785f177379
2021-05-25 12:15:52 -04:00
Colin Cross
cba30f8e8a Merge "Revert "Split asm and c flags and srcs in bp2build output"" am: 4f9d8d6482 am: 093a04ee0b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1717890

Change-Id: I132d4470234905227d5c8172914a7eaa141bbe45
2021-05-25 16:12:56 +00:00
Christopher Parsons
15f4842622 Merge "Split asm and c flags and srcs in bp2build output" am: ed73b76513 am: 9f4133b1a8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1714835

Change-Id: I6d55ca20c08fec94f0f0454d13394acf8ff3c13d
2021-05-25 15:40:33 +00:00
Colin Cross
4f9d8d6482 Merge "Revert "Split asm and c flags and srcs in bp2build output"" 2021-05-25 15:21:36 +00:00
Colin Cross
52aa4e1fd4 Revert "Split asm and c flags and srcs in bp2build output"
Revert submission 1714835-roboleaf-asm-c

Reason for revert: TestCcLibraryStaticProductVariableSelects fails everywhere
Reverted Changes:
I28cf7437e:Split asm and c flags and srcs in bp2build output
I2b47e6b55:Split libraries by language in cc_library_static

Change-Id: I85d39a462f0a5b3f5ff3d685906813fab9f01358
2021-05-25 15:20:39 +00:00
Christopher Parsons
ed73b76513 Merge "Split asm and c flags and srcs in bp2build output" 2021-05-25 14:58:32 +00:00
Liz Kammer
2222c6bb42 Combine bp2build handling of static/shared props
Test: go test soong tests
Change-Id: I793f88bcbad2cdee042c6b2d17104e9ca03602b9
2021-05-25 08:28:43 -04:00
Justin Yun
c6cdef06dc Merge "Do not filter LLNDK lib from llndk.libraries.txt" am: 708984efbe am: 31353efea4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1716574

Change-Id: I8ea965904c83cde39ea7b8c4638b9316e9569ac2
2021-05-25 05:10:59 +00:00
Justin Yun
acd459728a Do not filter LLNDK lib from llndk.libraries.txt
llndk.libraries.txt is used to list the LLNDKs for the linkerconfig.
This is also required to define the VNDK snapshot modules of LLNDK
stub libraries.
The list had a filter for hwasan libraries, but the filter must be
used only for the LLNDK_LIBRARIES make variable, but not for the
llndk.libraries.txt file.

Bug: 189070366
Bug: 188716508
Test: m nothing
Test: LLNDK_LIBRARIES in make_vars-*.mk does not include hwasan.
Change-Id: I820dd1161892dc76700aa1d696ea2643764d2052
Merged-In: I820dd1161892dc76700aa1d696ea2643764d2052
(cherry picked from commit 611e886ca7)
2021-05-25 13:29:48 +09:00
Justin Yun
708984efbe Merge "Do not filter LLNDK lib from llndk.libraries.txt" 2021-05-25 04:21:54 +00:00
Chris Parsons
af24cdd99f Split asm and c flags and srcs in bp2build output
This allows removal of almost all current items from the mixed build
denylist, which were previously broken due to being unable to separately
control flags for compilations of different languages within the same
target.

Note that this does not appropriately implement asm/c srcs and flags for
either the shared variant or the static variant. This will require a
followup.

Test: bp2build.sh and mixed_libc.sh CI scripts
Test: Updated b2build tests

Change-Id: I28cf7437ee96cdf2fdbcb1eda2303691cff08ba4
2021-05-24 21:49:14 -04:00
Treehugger Robot
b507c380d2 Merge "Handle product config vars in bp2build." am: d01a80869d am: c62327ebf8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1698529

Change-Id: Iba303087148c275c227a4cfc98296011f5bcb84c
2021-05-24 22:58:43 +00:00
Liz Kammer
6fd7b3fee9 Handle product config vars in bp2build.
Test: bp2build ci  & mixed build libc
Bug: 183595873
Change-Id: I2d87434ff4df5a24efc5e3e38f087de035228934
2021-05-24 14:22:31 -04:00
Jiyong Park
c110a43b92 Update VndkMustUseVendorVariantList after aidl-freeze-api
Bug: 188713899
Test: m
Change-Id: Ib1287208a1c6cfc40e4c01617b64ce05c6c88f6e
2021-05-24 23:51:19 +09:00
Justin Yun
611e886ca7 Do not filter LLNDK lib from llndk.libraries.txt
llndk.libraries.txt is used to list the LLNDKs for the linkerconfig.
This is also required to define the VNDK snapshot modules of LLNDK
stub libraries.
The list had a filter for hwasan libraries, but the filter must be
used only for the LLNDK_LIBRARIES make variable, but not for the
llndk.libraries.txt file.

Bug: 189070366
Bug: 188716508
Test: m nothing
Test: LLNDK_LIBRARIES in make_vars-*.mk does not include hwasan.
Change-Id: I820dd1161892dc76700aa1d696ea2643764d2052
2021-05-24 20:44:44 +09:00
Christopher Parsons
5fa630590e Merge "Propagate unexported deps via implementation_deps" am: dbfafc0a3c am: 5166c5a9b3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1711041

Change-Id: I076d42f013a4554178c7d5660744dea0773381b9
2021-05-22 19:27:53 +00:00
TreeHugger Robot
5ff8e3f567 Merge changes from topic "far-dep-exists" into sc-dev
* changes:
  Check for product variant in addition to core variant.
  Plumb through OtherModuleFarDependencyVariantExists from blueprint.
2021-05-22 12:54:47 +00:00
Christopher Parsons
dbfafc0a3c Merge "Propagate unexported deps via implementation_deps" 2021-05-21 21:29:59 +00:00
Pirama Arumuga Nainar
64df571229 Merge "[cc/coverage] Define a macro during coverage builds" am: cb56f0166f am: dfee0cc854
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1689270

Change-Id: I31b196fd716c06ef7feb426f6224239a89f339bd
2021-05-21 21:19:06 +00:00
Pirama Arumuga Nainar
dcabea581c [cc/coverage] Define a macro during coverage builds
Bug: http://b/186576313

During a coverage build, pass the __ANDROID_CLANG_COVERAGE__ macro to
native compilations.  This allows tools like dalvikvm and dex2oat, which
would otherwise call _exit(), to write profiles on coverage builds by
calling exit() instead.

Test: `m CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS="art" nothing`
          and check compiler flags in out/soong/build.ninja.
Change-Id: I18315b89170abdd650e4c6c55577688348c42225
(cherry picked from commit 551b06d9e6)
2021-05-21 13:48:41 -07:00
Pirama Arumuga Nainar
cb56f0166f Merge "[cc/coverage] Define a macro during coverage builds" 2021-05-21 20:47:00 +00:00
Martin Stjernholm
f7a62e6c73 Merge changes I4e7a7ac5,I0c73361b into sc-dev
* changes:
  Record the actual APEXes that a module is part of.
  Rename InApexes -> InApexVariants
2021-05-21 19:22:15 +00:00
Jingwen Chen
a29df3fdc3 Merge "bp2build: generate arm toolchain flags into @soong_injection." am: 857d037566 am: 9a8576be51
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1714248

Change-Id: I5a96029eec031d6cfd7017c8387b53431b264ae1
2021-05-21 04:53:52 +00:00
Jingwen Chen
857d037566 Merge "bp2build: generate arm toolchain flags into @soong_injection." 2021-05-21 04:14:51 +00:00
Bill Peckham
8f37844151 Check for product variant in addition to core variant.
It's possible that a module will have a product variant
but not a core variant. In that case, we still need to
apply the vendor suffix to the androidmk module name.

Bug: 188720375
Bug: 187963715
Test: Build vendor image using vendor snapshot.

Change-Id: I190fdd707ca23357d1c324c1b1f3318457625f03
Merged-In: I190fdd707ca23357d1c324c1b1f3318457625f03
(cherry picked from commit 4016d7b53e)
2021-05-21 11:44:45 +09:00
Bill Peckham
bcd51263cb Merge changes from topic "far-dep-exists" am: 79610d55fa am: fa8f685b4d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1714569

Change-Id: I24a8134e562f3d88bfce3ee391e4458d32a5b315
2021-05-21 02:23:47 +00:00
Bill Peckham
79610d55fa Merge changes from topic "far-dep-exists"
* changes:
  Check for product variant in addition to core variant.
  Plumb through OtherModuleFarDependencyVariantExists from blueprint.
2021-05-21 01:37:21 +00:00
Justin Yun
a42f005bd1 VNDK snapshot may provide LLNDK stub libraries
VNDK snapshots newer than v30 have LLNDK stub libraries. In that
case, the vendor variant for the BOARD_VNDK_VERSION must not be
generated from the LLNDK modules. They are already provided by the
VNDK snapshots.
Generate the vendor variant of the BOARD_VNDK_VERSION only if
BOARD_VNDK_VERSION has an integer value less than or equal to 30.

Bug: 187963715
Bug: 181815415
Test: m nothing
Change-Id: I31e90f4d7e7678c45558f6bf987f5582a4c34f78
Merged-In: I31e90f4d7e7678c45558f6bf987f5582a4c34f78
(cherry picked from commit dee806fd09)
2021-05-21 08:30:07 +09:00
Jingwen Chen
51a1e1cf59 bp2build: generate arm toolchain flags into @soong_injection.
Other architectures will come later.

Bug: 187084665
Test: TH
Change-Id: Ifcc6773625e56b1fc20260d840380e7ee4ecee7f
2021-05-20 22:29:39 +00:00
Bill Peckham
1368d3fc09 Merge "VNDK snapshot may provide LLNDK stub libraries" am: 1d3466a019 am: 06123b76d2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1710768

Change-Id: I311a977c64ac09e8a5f97846bcd7b9a10cf05536
2021-05-20 22:26:54 +00:00
Bill Peckham
4016d7b53e Check for product variant in addition to core variant.
It's possible that a module will have a product variant
but not a core variant. In that case, we still need to
apply the vendor suffix to the androidmk module name.

Bug: 188720375
Bug: 187963715
Test: Build vendor image using vendor snapshot.

Change-Id: I190fdd707ca23357d1c324c1b1f3318457625f03
2021-05-20 18:57:04 +00:00
Jiyong Park
712e8b5b1b Rename InApexes -> InApexVariants
.. in preparation for the upcoming change. This change doesn't alter any
behavior.

InApexes is a misleading name. People expects that it has the list of
soong module names of the APEXes that a module is part of. So, for
example, `core-oj` is a part of both `com.android.art` and
`com.google.android.art`. However, in reality, that's not true. The
field has `com.android.art` only. This is because the two APEXes
(android and Google) have the same apex name which is `com.android.art`.
That apex name is used in various places like the `apex_available` and
allows us to keep using the same name regardless of whether the APEX is
overridden or not.

However, this is causing problems in some cases where the exact list of
soong module names is required. The upcoming change will add a new field
to handle the case and the new field actually will get the name
'InApexes'. So, the existing field is renamed to a less misleading name
`InApexVariants`.

Cherry-picked from https://r.android.com/1710528.

Bug: 180325915
Test: m nothing

Change-Id: I0c73361b452eddb812acd5ebef5dcedaab382436
Merged-In: I0c73361b452eddb812acd5ebef5dcedaab382436
2021-05-20 17:36:22 +01:00
Chris Parsons
d6358775c8 Propagate unexported deps via implementation_deps
Test: bp2build and mixed_libc CI
Test: Manually verified that libc_bionic_ndk compilation gets the
appropriate headers (and no extra headers) from downstream

Change-Id: I79eb6e8ec1d415bd50d12105da4cf97101f95474
2021-05-20 12:05:24 -04:00
Luke Huang
0573b316d3 Fix the apex compatible issue on the platform Q
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1710971

Bug: 187907243
Change-Id: If81c03e8d828cb9e421e48d887b06d5e7ab37d5f
(cherry picked from commit 0c96eb74e2)
Merged-In: I9aceb7ba33baa23d193a6d554e7892a5d5f0effa
2021-05-20 12:53:22 +00:00
Justin Yun
dee806fd09 VNDK snapshot may provide LLNDK stub libraries
VNDK snapshots newer than v30 have LLNDK stub libraries. In that
case, the vendor variant for the BOARD_VNDK_VERSION must not be
generated from the LLNDK modules. They are already provided by the
VNDK snapshots.
Generate the vendor variant of the BOARD_VNDK_VERSION only if
BOARD_VNDK_VERSION has an integer value less than or equal to 30.

Bug: 187963715
Bug: 181815415
Test: m nothing
Change-Id: I31e90f4d7e7678c45558f6bf987f5582a4c34f78
2021-05-20 21:05:19 +09:00
Jiyong Park
1df9944677 Merge changes I4e7a7ac5,I0c73361b am: 6fae608181 am: 058b7332db
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1710529

Change-Id: I45f947f67305801b2389c2dcb84b66caf997cea1
2021-05-20 10:42:10 +00:00
Luke Huang
9fdb4bd7b0 Merge "Fix the apex compatible issue on the platform Q" am: 4a256414e9 am: c575e41b44
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1710971

Change-Id: I6eae818132585cdc2ce470224479bc1b76be03d5
2021-05-20 10:09:19 +00:00
Jiyong Park
6fae608181 Merge changes I4e7a7ac5,I0c73361b
* changes:
  Record the actual APEXes that a module is part of.
  Rename InApexes -> InApexVariants
2021-05-20 09:59:59 +00:00