Justin Holewinski
2012-Jun-16 12:25 UTC
[LLVMdev] Fwd: RFC: "Building with MinGW on Windows" (DOC, NEW)
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>
NAKAMURA Takumi
2012-Jun-17 00:08 UTC
[LLVMdev] Fwd: RFC: "Building with MinGW on Windows" (DOC, NEW)
2012/6/16 Justin Holewinski <justin.holewinski at gmail.com>:> 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.That's right. Now, python>=2.4 is essential. (In contrast, perl is not required, IIRC)> 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.As long as building llvm and clang with cmake on win32, We may say, "Choose your compiler, mingw32-gcc.exe or ms cl.exe (or, mingw32-clang.exe)" Processes among compilers would be similar. Suggested sections; - Install CMake - Install Python - Install VS Express (optional) - Install mingw32 (optional) - Install MSYS (optional) - Configure your build with cmake - Build and install on VS - Build and install on MSYS (or mingw32 cmd.exe) - Inter-platform testing with Lit - Run test-suite with Cygwin (optional! Also Takumi has not tried ever!) BTW, shall we introduce "msbuild" here, too? msbuild -m -nologo -v:m tools\clang\test\clang-test.vcxproj -p:Configuration=%1 ...Takumi
Mikael Lyngvig
2012-Jun-17 10:17 UTC
[LLVMdev] Fwd: RFC: "Building with MinGW on Windows" (DOC, NEW)
No problem. Perhaps some of it can be converted into mere patches to existing documentation? That leaves us with three docs so far: 1. Testing. 2. Windows build. 3. Windows buildbot slave. 2012/6/16 Justin Holewinski <justin.holewinski at gmail.com>> 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/20120617/95508adc/attachment.html>
Mikael Lyngvig
2012-Jun-17 11:02 UTC
[LLVMdev] Fwd: RFC: "Building with MinGW on Windows" (DOC, NEW)
The whole purpose of the document is to teach the user how to build with MinGW - without Microsoft Visual Studio. As far as I know, MSVS cannot be used together with Clang and I think many people are interested in trying out Clang. That's what I am trying to make them able to do without requiring the installation of MSVS. 2012/6/17 NAKAMURA Takumi <geek4civic at gmail.com>> 2012/6/16 Justin Holewinski <justin.holewinski at gmail.com>: > > 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. > > That's right. Now, python>=2.4 is essential. > (In contrast, perl is not required, IIRC) > > > 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. > > As long as building llvm and clang with cmake on win32, > We may say, "Choose your compiler, mingw32-gcc.exe or ms cl.exe (or, > mingw32-clang.exe)" > Processes among compilers would be similar. > > Suggested sections; > > - Install CMake > - Install Python > - Install VS Express (optional) > - Install mingw32 (optional) > - Install MSYS (optional) > - Configure your build with cmake > - Build and install on VS > - Build and install on MSYS (or mingw32 cmd.exe) > - Inter-platform testing with Lit > - Run test-suite with Cygwin (optional! Also Takumi has not tried ever!) > > BTW, shall we introduce "msbuild" here, too? > > msbuild -m -nologo -v:m tools\clang\test\clang-test.vcxproj > -p:Configuration=%1 > > ...Takumi >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120617/722bc4b5/attachment.html>
Mikael Lyngvig
2012-Jun-17 11:23 UTC
[LLVMdev] Fwd: RFC: "Building with MinGW on Windows" (DOC, NEW)
As for Subversion, I think the general strategy of the LLVM project is that people should build from the trunk. When people pop up with questions regarding release builds, they are usually referred to using the trunk version. So I think Subversion is mandatory. 2012/6/16 Justin Holewinski <justin.holewinski at gmail.com>> 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/20120617/3db836b3/attachment.html>
Mikael Lyngvig
2012-Jun-17 20:45 UTC
[LLVMdev] Fwd: RFC: "Building with MinGW on Windows" (DOC, NEW)
MSbuild should go into the MSVC document, I think. I'll probably look into converting it to Sphinx within not too long. I just have a few things I need to do first. 2012/6/17 NAKAMURA Takumi <geek4civic at gmail.com>> 2012/6/16 Justin Holewinski <justin.holewinski at gmail.com>: > > 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. > > That's right. Now, python>=2.4 is essential. > (In contrast, perl is not required, IIRC) > > > 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. > > As long as building llvm and clang with cmake on win32, > We may say, "Choose your compiler, mingw32-gcc.exe or ms cl.exe (or, > mingw32-clang.exe)" > Processes among compilers would be similar. > > Suggested sections; > > - Install CMake > - Install Python > - Install VS Express (optional) > - Install mingw32 (optional) > - Install MSYS (optional) > - Configure your build with cmake > - Build and install on VS > - Build and install on MSYS (or mingw32 cmd.exe) > - Inter-platform testing with Lit > - Run test-suite with Cygwin (optional! Also Takumi has not tried ever!) > > BTW, shall we introduce "msbuild" here, too? > > msbuild -m -nologo -v:m tools\clang\test\clang-test.vcxproj > -p:Configuration=%1 > > ...Takumi >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120617/ded2ca63/attachment.html>
Apparently Analagous Threads
- [LLVMdev] Fwd: RFC: "Building with MinGW on Windows" (DOC, NEW)
- [LLVMdev] msbuild and clang
- Windows build broken for me since r246156
- [LLVMdev] Fwd: RFC: "Building with MinGW on Windows" (DOC, NEW)
- [LLVMdev] Issues running LLVM tests on Windows + MKS; filed 4 PRs and have patches