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

[bazel] Allow configuring to exclude the native target … #79776

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

nullcatalyst
Copy link

@nullcatalyst nullcatalyst commented Jan 29, 2024

… from the set of compilation targets

This is useful for creating a compiler that strictly cross compiles

The set of allowed targets is checked for the current native target, and if found, the LLVM_NATIVE_* macros are defined to the correct value. Otherwise they are not defined

This is needed to prevent linker errors due to the LLVM initialize functions (eg: llvm::InitializeNativeTarget()) that attempt to call the functions if these macros are defined

…f compilation targets

This is useful for creating a compiler that strictly cross compiles

A new attribute "include_native_target" is added to the llvm_configure starlark function, to allow configuring this. This attribute defaults to True to match the existing implementation, so that those that do not need this functionality, do not need to change anything and it will continue to work as expected
Copy link

Thank you for submitting a Pull Request (PR) to the LLVM Project!

This PR will be automatically labeled and the relevant teams will be
notified.

If you wish to, you can add reviewers by using the "Reviewers" section on this page.

If this is not working for you, it is probably because you do not have write
permissions for the repository. In which case you can instead tag reviewers by
name in a comment by using @ followed by their GitHub username.

If you have received no comments on your PR for a week, you can request a review
by "ping"ing the PR by adding a comment “Ping”. The common courtesy "ping" rate
is once a week. Please remember that you are asking for valuable time from other developers.

If you have further questions, they may be answered by the LLVM GitHub User Guide.

You can also ask questions in a comment on this PR, on the LLVM Discord or on the forums.

@nullcatalyst nullcatalyst marked this pull request as draft January 29, 2024 03:27
If the native target is not included, don't define the corresponding LLVM_NATIVE_* defines
@nullcatalyst nullcatalyst marked this pull request as ready for review January 29, 2024 03:43
@@ -96,15 +82,7 @@ builtin_thread_pointer = select({
})

# TODO: We should split out host vs. target here.
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that I believe that this TODO can be removed, because this CL should fix it

I left it in just in case it was also referring to something else here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant