Why make llvm to be a dll? Since DMD compiled binary is OMF, and I didn't try DMC to compile llvm on windows. To get llvm OMF binary seems a lot of tweaking of llvm building system. So dll came to my mind. Once dparser frontend part can be compiled by itself. The backend part could take advantage of llvm-gcc compiling llvm (llvm backend code compiled to llvm byte code.) There, llvm-ld can link the backend byte code with the frontend part without the DLL layer. backend.exp is built from backend.def. target.def is for further use(JIT and etc.) buildbackenddll.bat illustrate a almost minimal compile command. pefixup.exe is borrowed from reactos. maybe it's not necessary. Enjoy!