This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Don't generate cxx-abilist for some sets of targets
AbandonedPublic

Authored by lanza on Dec 2 2020, 9:27 PM.

Details

Reviewers
ldionne
smeenai
Group Reviewers
Restricted Project
Summary

Windows didn't previously use this mechanism and the change introduced
in https://reviews.llvm.org/D92194 now is causing it to do so. This
fails on "$<TARGET_SONAME_FILE:cxx_shared>" as this is not available
on Windows. Simply reintroduce the first test that excluded Windows
here.

Diff Detail

Event Timeline

lanza created this revision.Dec 2 2020, 9:27 PM
lanza requested review of this revision.Dec 2 2020, 9:27 PM
ldionne set the repository for this revision to rG LLVM Github Monorepo.Dec 3 2020, 8:13 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 3 2020, 8:13 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne requested changes to this revision.Dec 3 2020, 8:16 AM

Can you please show me how you're configuring your build? Also, what exact error are you seeing?

The goal of D92194 was specifically to get rid of this special logic around the target, so we won't go back. But we might need to use a different way to get to the library file on Windows.

This revision now requires changes to proceed.Dec 3 2020, 8:16 AM
lanza added a comment.Dec 3 2020, 1:19 PM

Seems pretty trivially that this just requires LIBCXX_INCLUDE_TESTS and LIBCXX_ENABLE_SHARED for Windows. The error is:

CMake Error at /data/users/lanza/toolchain_dev/external/llvm-project/libcxx/lib/abi/CMakeLists.txt:67 (add_custom_target):
  Error evaluating generator expression:

    $<TARGET_SONAME_FILE:cxx_shared>

  TARGET_SONAME_FILE is not allowed for DLL target platforms.
lanza abandoned this revision.Jan 23 2021, 8:19 PM