New testing workflow for Windows (was Re: [PATCH] [DOCS] How to Setup a Windows Builder)
alp at nuanti.com
Wed Nov 13 02:02:30 PST 2013
On 13/11/2013 09:28, Mikael Lyngvig wrote:
> I think your suggestion is awesome!
> When I first started on this document, ages ago, my goal was to
> provide full documentation of the process of building LLVM on Windows
> using only MinGW. The reason for this being that not all LLVM
> students out there have the money to buy Microsoft's tools (I do have
> VS2010, but I prefer a command-line environment). MiNGW is free and
> readily available so I feel that it is important to support those too.
> So far, I've shaved off all references to Intel and Microsoft in my
> document because I think it is way more important to document the very
> difficult MinGW path than the rather easy MSVC path. I myself am
> building LLVM with VS2010 and I have found no issues in that process,
> but I think it would be very valuable to be able to do the test suite
> without having to install half the world's GNU ports to Windows :-)
> Feel free to send me your binary and I'll see what I can accomplish
> with it. It just might be the thing to avoid CygWin and the rest of
> the somewhat annoying packages that currently need to be installed to
> do the test.
> I definitely feel that this is an outstanding path forward for the
> Windows support, because the complicating factor is all those extra
> tools that needs to be installed.
Thanks for the feedback Mikael! Looking over, I can see there's a good
use case for documenting the MinGW build after all.
The contribution I was talking about may help with testing in that
setup, but is of most benefit to those building on a native MSVC
As chapuni kindly pointed out, my workflow is about eliminating MSYS for
the testing workflow rather than the MinGW build directly so I stand
corrected on the wording.
Anyway, I'll be getting this up shortly so we can take a look at it
Keep up the good work, it's a great bit of documentation and looking
over I think this won't obsolete much of it, after all it relates to
building using the MinGW toolchain as well as just testing.
> I'll be happy to spend the time needed to update the MSVC document to
> make use of your tool!
> Best Regards,
> 2013/11/13 Alp Toker <alp at nuanti.com <mailto:alp at nuanti.com>>
> On 13/11/2013 01:06, Sean Silva wrote:
>> +**Notice:** If you do not plan to run the test suite, or sshd
>> server, you don't
>> +need Cygwin. You can build LLVM + Clang with only Subversion,
>> MingwNN, and CMake.
>> I feel like the way you are handling these notices is backwards.
> This is all very complicated and difficult to document!
> I'd like to share an alternative..
> At Nuanti we have a setup that can run the full test suite
> natively on Windows using only the native Microsoft toolchain and
> a special BusyBox binary, so we don't even install MingW or Cygwin
> on Windows development systems.
> This has a number of benefits:
> * Full test coverage. Our BusyBox is patched to be compatible
> with Unix so we get to run tests that would usually fail due
> to REQURES/XFAIL mingw/shell/shell-preserves-root.
> * No need for Administrator access. There is nothing to install,
> no GNU this or that, just a fresh SVN/git checkout from
> llvm.org <http://llvm.org>.
> * Easy to set up. Just drop the single binary in your PATH or
> lit folder.
> * Escaping and /dev/null hacks for Windows in lit are no longer
> * Full in-process execution. Forking is slow on Windows, but
> with our approach a full test suite run is reduced close to
> native timings comparable to other platforms.
> I was planning to upstream this work later in the 3.5 cycle but
> looking at how painful the process is at present, and more so the
> effort to document it, I feel now like it might be worth pushing
> ahead earlier.
> The patch to lit itself is very small / low-impact and most of the
> work is in BusyBox itself.
> I can get this work Open Sourced along with a build of the drop-in
> llvm-busybox.exe later today if it sounds desirable.
> Certainly it'd reduce much of this document to just "Copy
> llvm-busybox.exe into your PATH"
> How does this sound?
> If you like the idea, let me know soon as today's the best time
> for me to pull this all together and post the lit side of the work
> for review.
> the browser experts
the browser experts
More information about the llvm-commits