-
-
Notifications
You must be signed in to change notification settings - Fork 37
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
meson on windows with clang-cl & flang; python 3.12 support #255
Conversation
This reverts commit 8370005.
flang uses `-Xflang` instead of `-Xclang`, but doesn't know any of the options we're using for clang and errors if specified.
also increase value from 32'000 which wasn't enough
…nda-forge-pinning 2023.09.28.23.05.41
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
Don't let the mood be spoiled by the pypy failure, it happens similarly on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The recipe changes look quite good to me. I'll approve based on what I understand. The two things I can't judge are:
- The use of labels (
conda-forge/label/llvm_rc,conda-forge/label/meson_dev,conda-forge
) - The Windows-specific flags in
bld.bat
It's not ideal, but both are "only" build tools, and generate no run-time dependence for scipy from a non-main channel, so I'm not really worried about that part (though of course I'm trying to get rid of these labels by finishing up flang and meson support).
This is one thing where I'd like to have an in-depth review. The fact that the test suite passes is already a good start, but there are many ABI-relevant pieces at play here (clang vs. clang-cl, link.exe vs. lld-link, compiler-rt vs. msvcrt vs. libcmt, flang vs. all of the above, etc.). In particular, we might need to switch some of the flags to MSVC-syntax so that clang-cl will take them. Some of that could eventually also move to the clang_win-64 activation1; in any case, I'm hoping @isuruf, @xhochy et al. will be able to chime in. Footnotes
|
abf2c24
to
ba3d445
Compare
No idea why meson would not pick up flang specifically on python 3.12 - those things should be completely unrelated? 🤔
|
@conda-forge-admin, please restart ci |
Whoops, sorry @h-vetinari. Our attempts crossed wires. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the review! Flang doesn't understand --dependent-lib
as an option yet, so I'm not sure what we should do with that for now.
OK, so it seems we were picking up some symbols from compiler-rt after all (this from an attempt to remove
I couldn't find |
125e8a0
to
8a9225f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@isuruf, I think I've addressed all your points (short of patching upstream flang to process --dependent-lib
...)
Do you have any remaining concerns here?
Gentle ping @isuruf :) |
also remove flags that are redundant when using clang-cl
stats/tests/test_distributions.py::TestLevyStable::test_location_scale[cdf-0]
Co-authored-by: Isuru Fernando <[email protected]>
38155a0
to
4a0ce4f
Compare
…nda-forge-pinning 2023.10.04.19.29.41
4a0ce4f
to
79de424
Compare
Link checks are tidy now and the windows builds are green; given that the latter was the key change here, I'm going to put this in. Thanks for the help everyone! What a journey it's been! 😅 🚀 |
Thanks a lot @h-vetinari for the great effort on this! |
This is a cleaned-up version of #246, taking into account learnings & patches contributed by several people (also in #252 & #253), some of which were directly upstreamed to scipy and made it into 1.11.3 already.
Requires builds from conda-forge/flang-feedstock#28 &
conda-forge/meson-feedstock#89conda-forge/meson-feedstock#92 which are currently only available underllvm_rc
andmeson_dev
labels. This will hopefully improve soon.It's likely that this will still need some work around compiler-activation, flags, etc.; but with a passing test suite in #246, we should be good for more in-depth review.
Closes #253
Closes #252
Closes #246
Closes #213
Closes #164