[cfe-dev] Distributing libclang-cpp.dll for Windows in the pre-built downloads

Michael Kruse via cfe-dev cfe-dev at lists.llvm.org
Wed Mar 18 14:31:39 PDT 2020


This would be a new interface that someone had to out work into.

Note that in llvm/utils/extract_symbols.py there is a script that
tries to export only symbols that are actually needed (for limited
plugin support under Windows). In my experience, it filters out too
many symbols that are needed for non-trivial/example use cases (in my
case: Polly).

Michael

Am Mi., 18. März 2020 um 12:51 Uhr schrieb Jan Ryšavý via cfe-dev
<cfe-dev at lists.llvm.org>:
>
> What about DLL with simple COM-like interface (abstract class with pure virtual methods)?
>
> Best regards
> Jan
>
> On 18.03.2020 17:22, Michael Kruse via cfe-dev wrote:
> > As far as I know, these libraries are not supported on Windows.
> >
> > Windows DLLs have a limit of 2^16 exported symbols, that LLVM
> > unfortunately exceeds.
> >
> > Michael
> >
> > Am Di., 17. März 2020 um 19:17 Uhr schrieb Stephen Crane via cfe-dev
> > <cfe-dev at lists.llvm.org>:
> >>
> >> Hi all,
> >>
> >> I'm working to transition rust-bindgen from libclang to using the
> >> clang libtooling C++ interface directly. This is unfortunately
> >> necessary because there is a great deal of details about AST nodes
> >> that we need but isn't exposed by libclang. I'm comfortable using and
> >> maintaining a library interface on top of the C++ APIs, that's not a
> >> problem.
> >>
> >> However, I am hitting a wall on distribution for Windows. Would it at
> >> all a possibility to include the new libclang-cpp library and headers
> >> on Windows in the pre-built binaries? The only real alternative I see
> >> is making users build LLVM+Clang from source, which seems prohibitive
> >> in many cases, or distributing my own binary build, which I prefer not
> >> to resort to for a single open-source Rust tool.
> >>
> >> Adding C++ libraries on Windows potentially introduces issues by
> >> exposing the C++ ABI directly,  so I think we would have to specify
> >> which C++ library and toolchain each release was built with.
> >>
> >> Thanks,
> >> Stephen
> >> _______________________________________________
> >> cfe-dev mailing list
> >> cfe-dev at lists.llvm.org
> >> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> > _______________________________________________
> > cfe-dev mailing list
> > cfe-dev at lists.llvm.org
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> >
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev


More information about the cfe-dev mailing list