[LLVMdev] Ninja (make replacement)

Sean Silva silvas at purdue.edu
Mon Jun 18 10:56:52 PDT 2012


Thank you so much for your hard work!

LLVM/Clang is in need of motivated Windows developers willing to put in the
time to make the LLVM/Clang experience better on Windows :)

Quick note on the reST:

instead of using a construct like:

**Notice:** If you only want to build 32-bit programs, you do **not** need
to
install MinGW64.

Prefer to use the reStructuredText "admonitions" <
http://docutils.sourceforge.net/docs/ref/rst/directives.html#note>, so the
above would look like:

.. note:: If you only want to build 32-bit programs, you do **not** need to
   install MinGW64.

reST also has a number of other semantically rich admonitions ("hint",
"warning", etc.), which are listed on the page I linked above.

--Sean Silva



On Sun, Jun 17, 2012 at 6:29 PM, Mikael Lyngvig <mikael at lyngvig.org> wrote:

> Yes, sorry, the LLVM CMake documentation :-)
>
> I don't think I am duplicating a large chunk; I am continuously trying to
> shave off extraneous and redundant stuff off my Windows-specific document.
>  I just managed to shave off about six lines or so because I don't like the
> huge introduction and explanation of what MinGW is.  Now that the document
> covers Ninja, there's even more reason for _Windows_ users to read it (and
> the document even got a bit simpler).
>
> You might ask: Why not just make a generic document and patch it up to
> support Windows as well as Unices?  Well, you guys keep making all sorts
> of, IMHO, undesirable assumptions regarding your potential userbase.  That
> somebody in CS201 wants to try out LLVM or perhaps more likely Clang does
> not mean that they have a Ph. D. in converting Unix commands into Windows
> commands.  I simply don't understand your often repeated assumption that
> "any user of LLVM knows this and that (and probably has a beard according
> to many articles on how gurus look) and therefore we don't need to cater to
> the less experienced".    That attitude strikes ME as arrogant.  Because it
> makes life very complicated for those newbies that are just out to look and
> learn.  And there are many pitfalls on the Windows path because Clang++
> does not support the Microsoft C++ ABI and the MinGW64 C++ ABI: This was
> nowhere documented before, now it is documented together with an
> easy-to-use guide for how to build and use Clang on Windows.
>
> One guy recently called LLVM an advanced, multi-backend, optimizing
> assembler language.  There are even today newbies who throw themselves at
> coding in assembly, so why not code in LLVM IR?  The potential for LLVM is,
> in my mind, much bigger than just 17 research dudes and five corporations.
>
> Another angle is that most guys interested in Computer Science go through
> a period of their life where they want to know everything about how
> compilers (usually not linkers) work.  So they want to study some source
> code and see how things are done.  I'd like to wager that Clang is probably
> one of the best authored compilers out there.  So why not make it easy for
> people to get going on their studies of Clang?  I don't mean to offend
> anyone, but I don't personally think that the GNU compilers are overly much
> worth studying.  I myself contemplated adding a new frontend to the GNU
> compiler suite, for my own language, but ended up dropping the idea because
> I found it to be too difficult and too complex for my taste (I am allergic
> to structured programming).
>
> A third angle is that 80 percent of Windows users are breathing Windows
> and have never known anything but Windows.  They don't know what Linux is.
>  Literally.  They much less know what Unix is.  The word Linux they may
> have heard here and there, but they don't know what it means.  And yet,
> some of these Linux/Unix ignorant people are great thinkers with great
> brains that can provide great assistance to the project if only they get a
> little helping hand in the beginning.
>
> You cannot reasonably assume that any and all potential users of LLVM and
> especially Clang are willing to play around for two or three days with the
> various combinations of tools and settings to get something to work.
>  Windows users are perhaps a bit spoiled, but on Windows, people normally
> get a binary release that works straight out of the box without additional
> downloads.  Compare that to two or three days of experimentation and you
> see why I am so intent on making LLVM and especially Clang EASY to get to
> work (I have not given up making a binary distribution of Clang).
>
> I know I am probably being perceived as a arrogant, lunatic n00b, but all
> I want is to make Clang READILY available to as many Windows users as
> possible.  I have at least two reasons for this:
>
>    1. I want the Windows support in LLVM (and to some extent Clang) to be
> 100 percent mature as I need it myself for a project I am working on.
>  Since I don't code on LLVM/Clang myself, I have to find others to do it.
>    2. I think the Windows platform has too few options with respect to
> compiling your C and C++ programs.  MSVS is expensive.  MSVS Express is a
> joke (IMHO).  OpenWatcom is, I suspect, slowly dying (this used to be my
> favorite compiler throughout the past 19 years!).  And GCC has a somewhat
> unsettling track record of broken features.
>
> I hope this makes my actions and intentions more understandable :-)  Also,
> please remember that MinGW32 has been downloaded more than a million times.
>  Why aren't millions downloading Clang for Windows?
>
> But all that stuff being said, please don't hesitate to criticize my
> documents.  I know they are not perfect.  They will never be perfect.  But
> the more feedback I get, the closer to perfect they'll hopefully become.
>
> Try checking out this latest version of the "Building using MinGW on
> Windows" document.  It is reStructured Text and therefore requires
> Python+Sphinx to be installed.  I've attached it.  It is not a formal
> release, it is intended only for those worrying that I am duplicating too
> much or writing too much text.
>
>
> Cheers,
> Mikael
> -- Disclaimer: I am not arrogant in real life, so if you perceive me as
> being arrogant, there's a communications problem somewhere.
>
>
> 2012/6/18 Óscar Fuentes <ofv at wanadoo.es>
>
>> Mikael Lyngvig <mikael at lyngvig.org> writes:
>>
>> [snip]
>>
>> > Yes, I am quite familiar with the CMake documentation, but why are you
>> > asking?
>>
>> That's not the cmake documentation, that's the LLVM cmake documentation:
>> a short document that tries to explain everything you need to know about
>> cmake to build LLVM. I had the impression that you were duplicating a
>> large chunk of the info contained on that page. OTOH it's my personal
>> opinion that you may be explaining too much: it is not necessary to
>> explain, nor even mention, the different available build tools on
>> Windows. As LLVM and Clang are developer tools, one can suppose that the
>> user knows how to run a build. IMHO you only need to explain the bits
>> that are specific to LLVM. As cmake might not be popular enough yet, a
>> bit of an introduction is needed, but no more.
>>
>> I haven't thoroughly read your proposed documentation, sorry if my
>> opinions are off-base.
>>
>> [snip]
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120618/484adfe3/attachment.html>


More information about the llvm-dev mailing list