Hi,
This may be a daft question, but I have just begun taking a serious look at LLVM for a project that I am working on. Knowing myself pretty well, the probability that I ever complete the project is infinitesimal. I am saying this so you don’t jump up out of your chair, yelling “HOORAY!” because I am considering to use LLVM. Think of me as an academic student with too much time on his hands, who is considering if he dares embark on the adventure of getting to know LLVM. The way I see it, my life is going to be much easier if I can delegate the responsibility for generating good code for a number of targets to you guys and instead focus on what I am trying to do. Also, I particularly like the aspect of global optimizations (link-time optimizations) in LLVM - they’re one of the selling features of my project.
The project is a new programming language () for which I have been contemplating writing my own backends, but the more I think of it, the less I like the idea. I know you guys from earlier where I posted a suggestion for an alternate implementation of exceptions (one that uses only a single bit to indicate whether an exception has occured and then uses the ordinary return value registers for the pointer to the exception instance, in the rare event that an exception really happens) and it seems to me that there’s a natural match between what you do and what I’d like to do. Now I at least have two problems: 1) I’ve written my “compiler” (language parser, really) in C# and 2) I don’t seem to be able to find any procedures on building LLVM on Windows. The first problem is easy to solve; I’ll gladly recode my project in C++ just to get to use LLVM. The other problem is a bit bigger, though: LLVM’s Windows support. Do you plan to offer “true” Windows support - i.e. release binaries/libraries for Windows and offer a build system that can be used on Windows? Or is LLVM always going to be a mostly *nix-only project? IF LLVM already supports building on Windows, please don’t flame me but simply tell me in nice words that I am a moron and how to build LLVM for Windows. I am mostly interested in native x86_64 support for Windows. If there’s anything I can do to help, please don’t hesitate to let me know. I am on and off coding on portable build system written in C# for .NET/Mono (portable to a wide variety of hosts), which I could perhaps some day finish up and use to build the Windows release of LLVM. Perhaps I can be of some value as a real-life tester of the Win64 backend? My initial goal is to target Windows x64 first and then later on Windows x86, PPC, and so on. P.S. I have a Windows 7 x64 box and a Debian 6.0 Linux 64-bit PPC box (an ancient iMac G5 converted to a Linux box). I do know Linux and CAN work under Linux, but I prefer to use Windows because of the popularity of this platform and the fact that I have spent the last 20+ years working primarily on the PC/Windows platform. P.P.S. I love writing documentation so I wouldn’t mind putting together some docs on how to get flying with LLVM on Windows. Sincerely, Mikael Lyngvig