[ITA] llvm
Jon Turney
jon.turney@dronecode.org.uk
Fri Jul 18 13:11:18 GMT 2025
On 17/07/2025 00:13, Jeremy Drake via Cygwin-apps wrote:
[...]
>
> That being said, I do recognize this situation is pretty screwed up, and
> I'm trying to come up with a least-bad workaround that won't either mess
> with what upstream is doing, or cause unnecessary friction with Cygwin
> packaging (which including an unversioned dll of any sort in the versioned
> lib package would obviously do).
>
> 1) forget the other DLLs. libclang is the only one that thus far that has
> shown existing code that would break without an unversioned alias.
> 2) a package libclang containing usr/bin/cygclang.dll -> cygclang-X.Y.dll
> depending on package libclangX.Y, that can be upgraded or downgraded as
> desired.
I think the general pattern across Cygwin packages is: just don't
install those links, patch where necessary, try to educate upstream such
links aren't appropriate on PE.
> 3) clang-devel contains usr/lib/libclang.dll.a which has the dll name of
> cygclang-X.Y.dll, so things linking -lclang will end up with the real name
> in their import table. Someone would have to either explicitly try to
> link /usr/bin/cygclang.dll or not have the devel package installed to have
> the cygclang.dll symlink considered for linking.
>
> Does this make sense? Am I missing something that means this cannot
> possibly work to get that python binding to work?
So, we have an existing (elderly) python-clang package, which already
patches this to operate in a sane way.
Can we just keep on doing that?
[1]
https://cygwin.com/cgit/cygwin-packages/python-clang/tree/3.7.1-cygwin-ctypes.patch
More information about the Cygwin-apps
mailing list