[LLVMdev] Fwd: RFC: "Building with MinGW on Windows" (DOC, NEW)

Mikael Lyngvig
Sun, 17 Jun 2012 13:16:08 -0000

Sigh.  It was just the PATH environment variable that was set up
incorrectly.  Now MSYS works too.  Turns out you have to have MSYS before
GnuWin32 in the path.

2012/6/17 Mikael Lyngvig <mikael at lyngvig.org>

> Now I can't make CMake use "MSYS Makefiles".  I get an error
about GNU
> v4.7.0 being broken as it can't build a simple test program.  Using
"MinGW
> Makefiles", everything works out of the box.  And I am trying to give
the
> user the most Windowsy experience (to avoid Cygwin, GnuWin32, and MSYS, if
> I can).  So I think I'll stick to my current angle - which is to let
the
> user install only MinGW, CMake, and Python, and then leave out any mention
> of MSYS (until the Testing on Windows document).
>
> P.S. There is one more compiler for Windows: The OpenWatcom compiler (my
> favorite for its marvellous debugger), but unfortunately it does not
> support newer C++ advances so it can't be used to build LLVM and Clang
as
> far as I recall.  At the very least, it is not usable for Unicode programs
> as it does not support wstreams.
>
>
> 2012/6/16 NAKAMURA Takumi <geek4civic at gmail.com>
>
>> Mikael,
>>
>> Thanks for working on.
>>
>> My gross comments...
>>
>> - Canonical URL of LLVM project is; http://llvm.org/ , not
www.llvm.org.
>>
>> - "test-suite and cygwin" could be split out. It would be
special thing.
>>
>> - Memory/storage requirements would be moved to "A.B
Debugging". Less
>> memory would be enough without debug build.
>>
>> - Python (x64 binary) is available, too. I am using.
>>  Python 2.7.1 (r271:86832, Nov 27 2010, 17:19:03) [MSC v.1500 64 bit
>> (AMD64)] on win32
>>
>> - Distinguish "test-suite" and "{llvm|clang}
tests". (Installing GnuWin32)
>>
>> - Don't recommend to delete MSYS sh.exe in "Installing
CMake". Use
>> MSYS Makefiles instead with msys.
>>
>> - gnuwin32 is not needed on %PATH% if gnuwin32 is dedicated to tests.
>> Use LLVM_LIT_TOOLS_DIR instead then.
>>  (gnuwin32 is not needed when person is working on MSYS bash shell,
FYI)
>>
>> - cmake and python are needed on %PATH%, as long as they are not
>> invoked explicitly.
>>  cmake-generated Makefiles know where they are.
>>  eg. "make edit_cache", "make check"
>>
>> - If the target of this would be for newbies, you may mention
>> "cmake-gui", too.
>>  FYI, I am usually use cmake-gui.exe, because I am n00b.
>>
>> - (Building the Sources), In my experience, make.exe -jN tends to be
>> choked. I don't know where is -jN-stable gnu make on mingw. (Lemme
>> know if you knew better version of make!)
>>
>> - Why don't you mention "make
{check|clang-test|check-all}", despite
>> of introducing gnuwin32?
>>
>> - You forgot to mention a few important cmake variables.
>>
>>  - CMAKE_BUILD_TYPE=Release (for most purpose)
>>  - CMAKE_INSTALL_PREFIX (Who would be happy if clang were installed
>> onto C:\PROGRA~1\?)
>>  - LLVM_LIT_TOOLS_DIR, to use gnuwin32 dedicated to testing llvm and
>> clang.
>>  - LLVM_EXTERNAL_CLANG_SOURCE_DIR, to check out clang outside from
>> llvm source tree
>>  - PYTHON_EXECUTABLE, if %PATH% does not contain python.
>>
>> - Consider to introduce ninja?
>>
>> Anyway, this could be integrated to "GettingStartedVS.html"
;)
>>
>> ...Takumi
>>
>> ps. feel free to visit and ask me on the irc, oftc#llvm.
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20120617/5c94b442/attachment.html>