<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">*** the attachment is only to clarify
this discussion, and not a proposed change. Mikael is working on
the next change***<br>
<br>
1) I agree with a some of this discussion, but I am concerned that
we are getting away from a one page guide to provision a general
purpose Windows Builder. <br>
<br>
Completing all the steps results in a builder suitable for
integration with Zorg. <br>
<br>
The order of the sections is important for installation, and the
original didn't have enough of that. <br>
<br>
I made a revision that only Mikael has to correct the flow, and
allow optional components as Reid suggested. I'll attach it here
for discussion. (Mikael is making the final changes and
clarifications).<br>
<br>
2) The build machine should have the ability to build in multiple
environments that you would encounter on Windows. Msys, Cygwin,
DOS. <br>
<br>
When all packages are installed, it can be done by setting paths
prior to invoking one of the Bourne shells. I envision
Buildbot/Zorg making this build environment selection. <br>
<br>
The new section layout allows the user to skip some subsections,
and come up with a more specific build machine. <br>
<br>
3) In regards to the modified Bash, we are running the test suite
for llvm, clang, and polly. I think a specialized bash is fine,
but to me it is one more option that the build machine can do. It
doesn't take away from the packages that are in place. <br>
<br>
I'm a little concerned with a patched bash that the user cannot
build, or needs to set up another build environment to recreate,
but that can be addressed.<br>
<br>
4) In the attached document, MSVC has a small section to avoid
some pitfalls to avoid when using it to build LLVM. I agree that
it is NOT important to say anything about installing a commercial
product. <br>
<br>
5) What is simple, and what is complicated depends on what you are
doing...<br>
<br>
As a developer, a windows build machine should build llvm one way.
<br>
<br>
This setup is a bit complicated in that regard.<br>
<br>
As someone using a buildbot infrastructure, a windows build
machine needs a complete set of standard packages that build and
test LLVM all ways possible. Then I can replicate a number of
buildslaves, and it is simple to select a host and spread out the
workload. <br>
<br>
This setup is simple in that regard.<br>
<br>
Best Regards,<br>
Rick Foos<br>
<br>
On 11/13/2013 12:04 PM, Reid Kleckner wrote:<br>
</div>
<blockquote
cite="mid:CACs=tyLjrHJ5q9fxTQhumpQdrWY=K0aAd5Ukahs8L+Shg0kXag@mail.gmail.com"
type="cite">
<div dir="ltr">This sounds awesome! It would be really great for
developers that just want to use VS as well. No need to go and
choose one of the various sets of Unix tools for Windows that
are all slightly incompatible in different obscure ways.</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Wed, Nov 13, 2013 at 1:07 AM, Alp
Toker <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:alp@nuanti.com" target="_blank">alp@nuanti.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> <br>
On 13/11/2013 01:06, Sean Silva wrote:<br>
<blockquote type="cite">
<div><br>
</div>
<div>
<div>+**Notice:** If you do not plan to run the test
suite, or sshd server, you don't</div>
<div>+need Cygwin. You can build LLVM + Clang with
only Subversion, MingwNN, and CMake.</div>
</div>
<div><br>
</div>
<div>I feel like the way you are handling these notices
is backwards. </div>
</blockquote>
<br>
This is all very complicated and difficult to document!<br>
<br>
I'd like to share an alternative..<br>
<br>
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.<br>
<br>
This has a number of benefits:<br>
<ul>
<li>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.</li>
<li>No need for Administrator access. There is nothing
to install, no GNU this or that, just a fresh SVN/git
checkout from <a moz-do-not-send="true"
href="http://llvm.org" target="_blank">llvm.org</a>.</li>
<li>Easy to set up. Just drop the single binary in your
PATH or lit folder.<br>
</li>
<li>Escaping and /dev/null hacks for Windows in lit are
no longer needed.</li>
<li>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.</li>
</ul>
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.<br>
<br>
The patch to lit itself is very small / low-impact and
most of the work is in BusyBox itself.<br>
<br>
I can get this work Open Sourced along with a build of the
drop-in llvm-busybox.exe later today if it sounds
desirable.<br>
<br>
Certainly it'd reduce much of this document to just "Copy
llvm-busybox.exe into your PATH"<br>
<br>
How does this sound?<br>
<br>
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.<br>
<br>
Regards,<br>
Alp.<span class="HOEnZb"><font color="#888888"><br>
<br>
<pre cols="72">--
<a moz-do-not-send="true" href="http://www.nuanti.com" target="_blank">http://www.nuanti.com</a>
the browser experts
</pre>
</font></span></div>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a moz-do-not-send="true"
href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a moz-do-not-send="true"
href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits"
target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Rick Foos
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation</pre>
</body>
</html>