conda-forge / llvmdev-feedstock

A conda-smithy repository for llvmdev.
BSD 3-Clause "New" or "Revised" License
8 stars 41 forks source link

Add LLVM-C.dll on Windows #213

Closed metab0t closed 1 year ago

metab0t commented 1 year ago

Checklist

Fixes #212

conda-forge-webservices[bot] commented 1 year ago

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 (recipe) and found it was in an excellent condition.

github-actions[bot] commented 1 year ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/llvmdev-feedstock/actions/runs/4980778126.

h-vetinari commented 1 year ago

@isuruf, I'd very much like your opinion here. The first point is whether we should set LLVM_BUILD_LLVM_C_DYLIB=ON on osx as well (where, contrary to windows, it's off by default).

I see you added the =NO on windows in https://github.com/conda-forge/llvmdev-feedstock/commit/8059f3a076bfc1770ab993c22e882fc7279e66a3 (though I don't see relevant comments in the corresponding PR). That commit is also relevant because it introduced another point about this recipe I'm not 100% sure about - currently on windows, libllvm16 & llvm are completely empty packages - I presume because this would be for the shared libraries which we're not building currently.

I see from the build log that Library/bin/LLVM-C.dll is shared though, so I wonder in which output this should go[^1]. The unix version of the library will end up in libllvm16 AFAICT. Another, larger question is then whether we should try again to build the shared libraries on windows and populate libllvm16 also on windows.

[^1]: that said, llvmdev currently contains two DLLs on windows already, LTO.dll & Remarks.dll

h-vetinari commented 1 year ago

PS. Thanks for the PR @metab0t! Sorry if this will still need some hashing out.

metab0t commented 1 year ago

@isuruf Would you like to give some feedback on this PR?

h-vetinari commented 1 year ago

Ping @isuruf. Might be good to figure this one out for the 17 cycle?

isuruf commented 1 year ago

This should be a separate output. libllvm-c16

h-vetinari commented 1 year ago

@isuruf, this is ready for review, PTAL. I refactored the installation scripts away from:

install then delete unwanted bits

towards

install into temporary prefix and copy specific files

which I think is clearer in intent and less error-prone, see https://github.com/conda-forge/llvmdev-feedstock/pull/213/commits/22fb387d61a1de9a5097d4f570b1bbb405ecaede.

This would be an independent improvement from this PR, but it makes sense in this context, because that way, it is a lot easier to extend for adding a libllvm-c output.

h-vetinari commented 1 year ago

Ping @isuruf if you want to review. Otherwise this follows your request of putting things in a separate output and I'll merge it in a few days.

github-actions[bot] commented 1 year ago

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

Thus the PR was passing and merged! Have a great day!