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

Mikael Lyngvig
Sun, 17 Jun 2012 10:59:45 -0000

As for memory/storage, I think you want these presented as early as
possible so people don't go setting up a box only to find out, half a week
later, that they can never do what they intended to do (build Clang in
debug mode).

The reason I use 32-bit Python is that it is what you need, if you want to
make a Windows buildbot slave because the Win32 bindings are needed and I
don't think Buildbot works with the 64-bit Win64 bindings yet.  So I am
trying to share paths here at the cost of having the user install a 32-bit
version of Python even on a 64-bit system.  The document actually started
out as a guide for how to set up a Windows buildbot slave, but then it got
split up.

No, you're working on LLVM and/or Clang, so you can't possibly be a n00b
:-)

The only result I've seen with make is that there's no difference
between
make -j2 and j-4: it only uses 50 percent CPU load in both cases (also on a
quad-core box).

The "make check" omission is simply an error on my part.

About integrating into VS document: I am using a new path here, it seems,
cmake + mingw32.  I don't even need to have MSVC installed to build this
way.

Ninja: great idea.  I tried pulling it yesterday with the intent of
building it, but there are some errors.  Perhaps they've been fixed today.


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/99b7103c/attachment.html>