Hi,<div><br></div><div>I have several times over the past three months tried to retrieve the trunk version of LLVM/Clang/Compiler-RT from Subversion and then tried to build it on Windows: Without success.  Also, I occasionally get emails from people who ask me why LLVM/Windows does not build (they find my name in the mailing list archive).</div>
<div><br></div><div>This has made me ponder the issue and I came up with the following scheme to ensure that there is a high probability that we Windows users can actually build the most recent version of LLVM:</div><div>
<br></div><div>1. Every night, an automated build builds LLVM & Co. on all the supported host platforms and runs the test suite to completion.</div><div>2. IF the automated build succceds on ALL supported host platforms AND the test suite succeeds, the build is marked as "Last Known Good" and automatically published to the website so that people can download it without using Subversion.  There should always only be one and only one Last Known Good (LKG) build - which is sort of equivalent to a "daily tarball", albeit it is known to build properly on all platforms.</div>
<div><br></div><div>I believe step 1 is already in place, but perhaps the project's build master, or I, can put together some Python scripts to automate the process of making a LKG build.</div><div><br></div><div>Why is the LKG build so important?  Because in software development in general, you want to reduce the "granularity" of the process as much as possible, approximating a kurve rather than a series of steps.  If people adopt LLVM v3.1 and then have to wait one year for another update (v3.2) in which LOTS and LOTS of things have changed, they are in for a tough ride when they want to upgrade to the new version.  If, on the other hand, they can get a bi-weekly LKG build (assuming the entire build process on all platforms only succeeds twice a week), they can adopt their code in very small steps.</div>
<div><br></div><div><br></div><div>Cheers and have a great day!</div><div><br></div><div>Mikael Lyngvig</div><div><br></div>