[llvm-dev] Shipping LLVM.dll for the C API with the Windows installer.

Jakob Bornecrantz via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 5 04:50:54 PDT 2017

On Thu, Mar 30, 2017 at 4:46 PM, Jakob Bornecrantz <wallbraker at gmail.com> wrote:
> Hello list!
> So I'm wondering if there is a will to ship a DLL with the C API
> exported? LLVM currently ships with LTO.dll which has some C api
> functions exported, made from the export file tools/lto/lto.exports,
> so it would not be the first DLL LLVM shipped.
> Currently I (and the users of my project[1]) are building it ourselves
> using this script[2] derived from the LLVMSharp script[3]. Which adds
> a extra long step for all users of ours and other projects like
> LLVMSharp in order to use them.
> The resulting LLVM.dll exports 809 functions and weighs in at around
> 18mb, so it would make the installer larger. There is also the cost of
> maintaining a lists of export for the DLL, but hopefully we can use
> the llvm-echo to test it on the windows nodes so any failure to add
> new exports gets detected early.
> Now for the bike-shed questions, do we call it LLVM-c.dll or just
> LLVM.dll? Annotate all functions with a LLVM_EXPORT define or use a
> llvm-c.exports file?
> Thoughts and feedback welcome.
> Cheers, Jakob.
> [1] http://volt-lang.org
> [2] https://github.com/VoltLang/GenLLVMDLLPy/blob/master/GenLLVMDLL.py
> [3] https://github.com/Microsoft/LLVMSharp/blob/master/tools/GenLLVMDLL.ps1

Ping? Any thoughts?

What would be the best way to proceed? My cmake-fu is very weak so any
pointers here from those knowledgeable and stakeholders in the code
would be greatly appreciated.

Cheers, Jakob.

More information about the llvm-dev mailing list