[LLVMdev] Fwd: RFC: "Building with MinGW on Windows" (DOC, NEW)
Justin Holewinski
justin.holewinski at gmail.com
Sat Jun 16 05:25:52 PDT 2012
On Sat, Jun 16, 2012 at 3:29 AM, Mikael Lyngvig <mikael at lyngvig.org> wrote:
> Hi Takumi,
>
> THANK YOU for your excellent review! It makes all the work worthwhile in
> itself.
>
> It is getting "late" here (it is early morning) so I am about to call it a
> day. But I will contemplate and incorporate your suggestions tomorrow, and
> send you a full reply. I think I originally wrote a document where I
> addressed both Visual Studio and MinGW, but then decided that there were
> way too many "if this" and "if that"s to continue on that path.
>
> Thanks again :-)
>
Under Python installation, you mention that Python is only needed for the
test suite. This is not true, as the normal LLVM build still requires
Python.
I would seriously consider splitting this up into "building LLVM/Clang" and
then "getting and running the test suite." At first glance, a Windows user
may get overwhelmed by the number of steps that are listed in this
document. But only a handful of them are actually needed if you just want
to build LLVM/Clang and do not care about the test suite. Or at the very
least include a Windows quick-start guide at the beginning which just lists
Python, CMake, and MinGW. And then introduce Subversion if they want the
latest sources, then everything else if they want to run the test suite.
>
>
> Cheers,
> Mikael
>
>
> 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.
>>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
--
Thanks,
Justin Holewinski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120616/5e507072/attachment.html>
More information about the llvm-dev
mailing list