Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[D134221] [runtimes] Always define the cxx_shared, cxx_static & other targets #77654

Closed
ldionne opened this issue Jan 10, 2024 · 0 comments · Fixed by #80007
Closed

[D134221] [runtimes] Always define the cxx_shared, cxx_static & other targets #77654

ldionne opened this issue Jan 10, 2024 · 0 comments · Fixed by #80007
Assignees
Labels
cmake Build system in general and CMake in particular libc++abi libc++abi C++ Runtime Library. Not libc++. libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. libunwind phabricator Related to migration from Phabricator

Comments

@ldionne
Copy link
Member

ldionne commented Jan 10, 2024

This issue tracks picking up https://reviews.llvm.org/D134221 from the Phabricator archive.

@ldionne ldionne added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Jan 10, 2024
@ldionne ldionne self-assigned this Jan 10, 2024
@ldionne ldionne added awaiting-review Has pending Phabricator review phabricator Related to migration from Phabricator and removed awaiting-review Has pending Phabricator review labels Jan 10, 2024
ldionne added a commit to ldionne/llvm-project that referenced this issue Jan 30, 2024
However, mark them as EXCLUDE_FROM_ALL when we don't want to build them.
Simply declaring the targets should be of no harm, and it allows other
projects to mention these targets regardless of whether they end up
being built or not.

This patch basically moves the definition of e.g. cxx_shared out of
the `if (LIBCXX_ENABLE_SHARED)` and instead marks it as EXCLUDE_FROM_ALL
conditionally on whether LIBCXX_ENABLE_SHARED is passed. It then does the
same for libunwind and libc++abi targets.

This is a reapplication of 79ee034, which was reverted in a353909
because it broke the TSAN and the Fuchsia builds.

Resolves llvm#77654

Differential Revision: https://reviews.llvm.org/D134221
ldionne added a commit to ldionne/llvm-project that referenced this issue Mar 11, 2024
However, mark them as EXCLUDE_FROM_ALL when we don't want to build them.
Simply declaring the targets should be of no harm, and it allows other
projects to mention these targets regardless of whether they end up
being built or not.

This patch basically moves the definition of e.g. cxx_shared out of
the `if (LIBCXX_ENABLE_SHARED)` and instead marks it as EXCLUDE_FROM_ALL
conditionally on whether LIBCXX_ENABLE_SHARED is passed. It then does the
same for libunwind and libc++abi targets.

This is a reapplication of 79ee034, which was reverted in a353909
because it broke the TSAN and the Fuchsia builds.

Resolves llvm#77654

Differential Revision: https://reviews.llvm.org/D134221
ldionne added a commit to ldionne/llvm-project that referenced this issue Aug 19, 2024
However, mark them as EXCLUDE_FROM_ALL when we don't want to build them.
Simply declaring the targets should be of no harm, and it allows other
projects to mention these targets regardless of whether they end up
being built or not.

This patch basically moves the definition of e.g. cxx_shared out of
the `if (LIBCXX_ENABLE_SHARED)` and instead marks it as EXCLUDE_FROM_ALL
conditionally on whether LIBCXX_ENABLE_SHARED is passed. It then does the
same for libunwind and libc++abi targets.

This is a reapplication of 79ee034, which was reverted in a353909
because it broke the TSAN and the Fuchsia builds.

Resolves llvm#77654

Differential Revision: https://reviews.llvm.org/D134221
ldionne added a commit to ldionne/llvm-project that referenced this issue Oct 3, 2024
However, mark them as EXCLUDE_FROM_ALL when we don't want to build them.
Simply declaring the targets should be of no harm, and it allows other
projects to mention these targets regardless of whether they end up
being built or not.

This patch basically moves the definition of e.g. cxx_shared out of
the `if (LIBCXX_ENABLE_SHARED)` and instead marks it as EXCLUDE_FROM_ALL
conditionally on whether LIBCXX_ENABLE_SHARED is passed. It then does the
same for libunwind and libc++abi targets.

This is a reapplication of 79ee034, which was reverted in a353909
because it broke the TSAN and the Fuchsia builds.

Resolves llvm#77654

Differential Revision: https://reviews.llvm.org/D134221
ldionne added a commit to ldionne/llvm-project that referenced this issue Oct 8, 2024
However, mark them as EXCLUDE_FROM_ALL when we don't want to build them.
Simply declaring the targets should be of no harm, and it allows other
projects to mention these targets regardless of whether they end up
being built or not.

This patch basically moves the definition of e.g. cxx_shared out of
the `if (LIBCXX_ENABLE_SHARED)` and instead marks it as EXCLUDE_FROM_ALL
conditionally on whether LIBCXX_ENABLE_SHARED is passed. It then does the
same for libunwind and libc++abi targets.

This is a reapplication of 79ee034, which was reverted in a353909
because it broke the TSAN and the Fuchsia builds.

Resolves llvm#77654

Differential Revision: https://reviews.llvm.org/D134221
ldionne added a commit that referenced this issue Oct 10, 2024
This patch always defines the cxx_shared, cxx_static & other top-level
targets. However, they are marked as EXCLUDE_FROM_ALL when we don't want
to build them. Simply declaring the targets should be of no harm, and it
allows other projects to mention these targets regardless of whether
they end up being built or not.

This patch basically moves the definition of e.g. cxx_shared out of the
`if (LIBCXX_ENABLE_SHARED)` and instead marks it as EXCLUDE_FROM_ALL
conditionally on whether LIBCXX_ENABLE_SHARED is passed. It then does
the same for libunwind and libc++abi targets. I purposefully avoided to
reformat the files (which now has inconsistent indentation) because I
wanted to keep the diff minimal, and I know this is an area of the code
where folks may have downstream diffs. I will re-indent the code
separately once this patch lands.

This is a reapplication of 79ee034, which was reverted in
a353909 because it broke the TSAN and the Fuchsia builds.

Resolves #77654

Differential Revision: https://reviews.llvm.org/D134221
@EugeneZelenko EugeneZelenko added cmake Build system in general and CMake in particular libc++abi libc++abi C++ Runtime Library. Not libc++. libunwind labels Oct 10, 2024
DanielCChen pushed a commit to DanielCChen/llvm-project that referenced this issue Oct 16, 2024
…#80007)

This patch always defines the cxx_shared, cxx_static & other top-level
targets. However, they are marked as EXCLUDE_FROM_ALL when we don't want
to build them. Simply declaring the targets should be of no harm, and it
allows other projects to mention these targets regardless of whether
they end up being built or not.

This patch basically moves the definition of e.g. cxx_shared out of the
`if (LIBCXX_ENABLE_SHARED)` and instead marks it as EXCLUDE_FROM_ALL
conditionally on whether LIBCXX_ENABLE_SHARED is passed. It then does
the same for libunwind and libc++abi targets. I purposefully avoided to
reformat the files (which now has inconsistent indentation) because I
wanted to keep the diff minimal, and I know this is an area of the code
where folks may have downstream diffs. I will re-indent the code
separately once this patch lands.

This is a reapplication of 79ee034, which was reverted in
a353909 because it broke the TSAN and the Fuchsia builds.

Resolves llvm#77654

Differential Revision: https://reviews.llvm.org/D134221
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cmake Build system in general and CMake in particular libc++abi libc++abi C++ Runtime Library. Not libc++. libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. libunwind phabricator Related to migration from Phabricator
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants