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