[LLVMdev] Patches for MinGW Build instructions

Misha Brukman
Thu, 10 Mar 2005 16:47:05 -0000

On Thu, Mar 10, 2005 at 01:59:12PM +0100, Henrik Bach
wrote:
> Here is my second try to document, how to build the llvm system for
> MinGW on Windows.

Thanks, Henrik!  Here are some comments on your document:

> Overview

Does not mention the status of the CFE on MinGW.

> Software on Windows

If something is a list, use the HTML or tags and make it
into
a real list.  Otherwise, it needs to be written as prose (i.e.,
paragraphs with full sentences).  In particular:

> Rename or move old perl utils.
>
> Update your path to perl\bin and perl\bin\arch after mingw in the
> path.
>
> copy pod2man.bat to pod2man and remove dos specific lines in the file.
>
> configure, make and install binutils.
>
> move old binutils from c:\mingw\mingw32\bin to
> c:\mingw\mingw32\bin\binutils_old even though your environment reaches
> the new binutils.

This is a list of things to do.  They need to be in an HTML list.
Perhaps that whole section needs to be a list, as they are all "required
steps".

> 2. Copy the tools to your --prefix=/some/path/you/can/install/to and add
> it to your PATH.

"make install" is the proper way of doing this, does this not work on
MinGW?

> 5. make CFLAGS=-O LIBCFLAGS+=-g LIBCFLAGS+=-O2 LIBCXXFLAGS+=-g
LIBCXXFLAGS+=-O2

Why CFLAGS=-O?  Why not -O2?  Can the other flags be combined like this:
LIBCFLAGS+="-O2 -g" LIBCXXFLAGS+="-O2 -g" for brevity?

> 8. make TOOLLINKOPTSB+=-ldbghelp TOOLLINKOPTSB+=-lpsapi

Same issue as above.

> 10. Not all is working yet: Test the newly-installed C frontend by one
> or more of the following means:

This isn't clear.  What works and what doesn't?  What's the status
of
the CFE on MinGW?

> An Example Using the LLVM Tool Chain

This is not changed from the standard Getting Started guide, as I
understand it, except for the two sentences in bold:

"Note: while you cannot do this step on Windows, you can do it on a Unix
system and transfer hello.bc to Windows."

and

"Not currently possible, but eventually will use NASMW."

As such, one cannot really "get started" using ONLY MinGW as their
platform, so this entire section should be replaced with a paragraph to
that effect, pointing the reader to the standard Getting Started guide
for more info.

--
Misha Brukman :: http://misha.brukman.net :: http://llvm.cs.uiuc.edu