New testing workflow for Windows (was Re: [PATCH] [DOCS] How to Setup a Windows Builder)

Alp Toker 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
environment.

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
together.

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.

Alp.





>
> I'll be happy to spend the time needed to update the MSVC document to
> make use of your tool!
>
>
> Best Regards,
> Mikael
>
>
> 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
>         needed.
>       * 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.
>
>     Regards,
>     Alp.
>
>     -- 
>     http://www.nuanti.com
>     the browser experts
>
>

-- 
http://www.nuanti.com
the browser experts




More information about the llvm-commits mailing list