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

Alp Toker alp at
Thu Nov 14 14:23:19 PST 2013

On 14/11/2013 22:16, Mikael Lyngvig wrote:
> Alp, is there something I can do to help you out with finalizing this?
>  I am very excited about this path through the maze of Unix-style
> components needed to build LLVM on Windows.  I sort of hope that your
> method will solve all known problems in the world and that Paradise
> will be a reality the day after tomorrow as a result of using your
> stuff :-)

Thanks for the encouragement, ran out of time yesterday but going to
push it out this week :-)

It certainly changes the Windows experience, and potentially will find
other uses like simple cross-testing using qemu without a full chroot/VM
so yeah, it is exciting!

> If necessary, I can take over the job of maintaining your patches when
> a new version of BusyBox hits the street (which rarely, it seems).

There are actually a couple of bits that I could do with help fixing
once I push the changes. The 'not' built-in utility is using a tokenizer
hack in the ash shell I don't like, perhaps you could help me dig into
it shortly?


> Regards,
> Mikael
> 2013/11/13 Alp Toker <alp at <mailto:alp at>>
>     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
> <>.
>       * 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.
>     -- 
>     the browser experts

the browser experts

More information about the llvm-commits mailing list