[ITA] llvm

Brian Inglis Brian.Inglis@SystematicSW.ab.ca
Wed Jul 16 17:53:43 GMT 2025


On 2025-07-16 10:59, ASSI via Cygwin-apps wrote:
> Jeremy Drake via Cygwin-apps writes:
>> How should the libclang python binding work then (it uses ctypes)?
> 
> 
>   I don't know, but Cygwin can't be the only platform having this
>   peculiar problem unless they also gnore it elsewhere.
>   
>> https://github.com/llvm/llvm-project/blob/6d0f573535e27171e4ef927baeab3edc928beebb/clang/bindings/python/clang/cindex.py#L4348-L4379
> 
> …which apparently they gleefully do.

As the preceding section makes clear, compatibility is the user's problem, they 
have to version their source to run with whatever features the current library 
happens to support! 8^p
>> No other platform includes a version number there.  It's pretty clear that
>> the intent of the PR is to then add
>>      elif if name.startswith("CYGWIN"):
>>          file = "cygclang.dll"
>>
>> I don't think they really want "cygclang-20.1.dll" and have to bump that
>> with every release.

> So their libary is infinitely backwards compatible or they expect elves
> to work out what their ABI requirements are?  If the ABI was stable like
> that then the library version would never change anyway and if not I
> don't see how they deal with it in the general case.

>> You might say, only bump the soversion on an ABI-breaking change, but
>> changing the release processes of llvm-project is pretty far outside the
>> scope of adding Cygwin platform support ;)

> Again, the DLL ultimately loaded must have a unique name, which
> precludes any trickery that hardlinks or copies it unless you can be
> sure that at runtime you really only need a single version, which gets
> you back to square 1.  It may be that there's a workaround using what is
> termed "assemblies", but none of that sounds like it would be easily or
> quickly implementable in a way thast can be used by Cygwin.
-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                 -- Antoine de Saint-Exupéry


More information about the Cygwin-apps mailing list