Vikram Adve wrote:>> Anyway, if anyone wants the VS project files just contact me. It's >> really a separate thing from the main project so I can see why you're >> reluctant to put it in the CVS. And, as said before, I think most >> windows users would prefer a binary distribution anyway so the ease of >> building the windows version from source is largely irrelevant. > > Are you referring to compiler writers or compiler *users*? I can see > binary distributions working for the latter but not the former.Well, actually I'm speaking mostly for myself ;-) I have a front end, I want to generate code, all I really need is a llvm.lib and the include files that go along with it... I imagine this is quite a common scenario, but I might be wrong. m.
Morten Ofstad wrote:> > Well, actually I'm speaking mostly for myself ;-) I have a front end, I > want to generate code, all I really need is a llvm.lib and the include > files that go along with it... I imagine this is quite a common > scenario, but I might be wrong.This is pretty much my usage scenario too, however I expect to be *able* to hack on the source and consequently rebuild it if I need too. Furthermore, a large part of the usage of LLVM is currently in research where modifications are much more likely. It sounds like there are two primary usage models, however: 1. I-just-need-a-backend-to-generate-code case: Here a simple binary distribution (tools, libraries, headers) would be sufficient. 2. I-need-to-hack-a-compiler-for-my-work/research case: Here the user needs full build control over everything (we can't pre-suppose which part of LLVM they want to hack on). So, I think what we want is a full build environment anyway to satisfy case 2 and generate the binary distribution for case 1. Ideally what we want is a build system that can produce an msi installer on windows, rpms on RH, Solaris pkg on Sun, StuffIt on Mac (or whatever they use these days). However, tgz or zip is probably sufficient for binary distributions for a while. My point here is that we have 98% of what we need for *all* Unix platforms, the only missing link is Windows. So, why should we bastardize both worlds? Attempting windows conformance in the makefiles will make the Unix world unhappy. Attempting to unixify a windows build environment would make the windows world unhappy. My vote is to just have both an MSVS project file and other supporting files added to a directory named "win" at the top level and let the windows folks keep it up to date. That way everyone is happy :) Reid.
On Nov 2, 2004, at 8:38 AM, Reid Spencer wrote:> Morten Ofstad wrote: >> Well, actually I'm speaking mostly for myself ;-) I have a front >> end, I want to generate code, all I really need is a llvm.lib and the >> include files that go along with it... I imagine this is quite a >> common scenario, but I might be wrong. > > This is pretty much my usage scenario too, however I expect to be > *able* to hack on the source and consequently rebuild it if I need > too. Furthermore, a large part of the usage of LLVM is currently in > research where modifications are much more likely. > > It sounds like there are two primary usage models, however: > > 1. I-just-need-a-backend-to-generate-code case: > Here a simple binary distribution (tools, libraries, headers) would > be > sufficient. > > 2. I-need-to-hack-a-compiler-for-my-work/research case: > Here the user needs full build control over everything (we can't > pre-suppose > which part of LLVM they want to hack on). > > So, I think what we want is a full build environment anyway to satisfy > case 2 and generate the binary distribution for case 1. Ideally what > we want is a build system that can produce an msi installer on > windows, rpms on RH, Solaris pkg on Sun, StuffIt on Mac (or whatever > they use these days). However, tgz or zip is probably sufficient for > binary distributions for a while. > > My point here is that we have 98% of what we need for *all* Unix > platforms, the only missing link is Windows. So, why should we > bastardize both worlds? Attempting windows conformance in the > makefiles will make the Unix world unhappy. Attempting to unixify a > windows build environment would make the windows world unhappy. My > vote is to just have both an MSVS project file and other supporting > files added to a directory named "win" at the top level and let the > windows folks keep it up to date. That way everyone is happy :) > > Reid.All of this makes sense to me. --Vikram http://www.cs.uiuc.edu/~vadve http://llvm.cs.uiuc.edu/