This is an archive of the discontinued LLVM Phabricator instance.

[libcxxabi] Unbreak `LLVM_ENABLE_PROJECTS=libcxxabi` build
AbandonedPublic

Authored by Ericson2314 on Aug 22 2022, 1:21 PM.

Details

Reviewers
phosek
ldionne
aaron.ballman
Group Reviewers
Restricted Project
Summary

D132324 was soft-reverted, this this wouldn't be by fiat prohibited
anymore.

However, builds were still failing as reported in https://reviews.llvm.org/D132324#3739383.
The issue was that D132298 still relied on this case not happening.

Since it in fact does happen with the soft-revert, I need to accommodate
that possibility in the if condition.

Additionally make the soft-revert closer to a real revert with
SEND_ERROR -> WARNING so CMake doesn't have a non-zero exit status
after competing configuring.

Diff Detail

Event Timeline

Ericson2314 created this revision.Aug 22 2022, 1:21 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 22 2022, 1:21 PM
Herald added a subscriber: mgorny. · View Herald Transcript
Ericson2314 requested review of this revision.Aug 22 2022, 1:21 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptAug 22 2022, 1:21 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript

I don't have a particularly good way to test this, but the doc publication bot is still red and we need to address that ASAP, so I'm okay landing this speculatively and watching the bots to ensure the expected ones go back to green. That said, from inspection, I think this won't fully address the failures from the libunwind sphinx builder: https://lab.llvm.org/buildbot/#/builders/31/builds/27142 (it does make it a warning rather than an error which should hopefully be sufficient to get that bot back to green, but we may still want a libubwind exception in the CMake).

kadircet added inline comments.
libcxxabi/CMakeLists.txt
136–137

i think we should have a fixme here (and in the relevant test) to drop the check for PROJECTS once libcxx/abi can't be built through it.

libcxxabi/test/CMakeLists.txt
64–65

isn't the first NOT here, before libcxx is wrong? (same for below)

i think we want libcxx to be present in RUNTIMES but not in PROJECTS.

llvm/CMakeLists.txt
112

should we also drop libcxx(abi) from this list? probably as a follow up patch.

Fix more things for posterity

(I will close this in a second)

Ericson2314 marked 2 inline comments as done.Aug 23 2022, 7:34 AM
Ericson2314 added inline comments.
libcxxabi/test/CMakeLists.txt
64–65

Yeah it is wrong. Stupid copy past mistake. More reason the revert proposed rather than me failing to ninja fixes is the right approach.

Ericson2314 abandoned this revision.Aug 23 2022, 7:36 AM
Ericson2314 marked an inline comment as done.

Abandoning because the plan is to revert and because @ldionne is skeptical building libc++ without libc++abi ought to be supported anyways.

(Updated before this because I at least wanted some record of what the correct code would look like were we to go ahead with this.)