I know this process is well documented here http://llvm.org/docs/GettingStarted.html But man do I love scripting things: LLVM Getting Started (See http://llvm.org/docs/GettingStarted.html) ./getttingStarted.sh [-clang] [-compiler-rt] [-test-suite] [-branch branch] [-dir path] [-r rev] By default this script checks out ToT LLVM to the current working directory Project Options: -clang Checkout Clang repo -compiler-rt Checkout Compiler RT -test-suite Checkout LLVM test-suite Configuration Options: -branch branch Checkout a specific branch, default trunk -dir path Checkout to path instead of current working dir -r rev Checkout to a specific revision -v Verbose mode -help Print this message The shell script is attached, if you are interested. Perhaps we can add this to the GettingStarted doc? Joe -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121129/c967c44e/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: gettingStarted.sh Type: application/octet-stream Size: 3936 bytes Desc: gettingStarted.sh URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121129/c967c44e/attachment.obj> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121129/c967c44e/attachment.htm>
On Thu, Nov 29, 2012 at 9:41 AM, Joe Abbey <jabbey at arxan.com> wrote:> I know this process is well documented here > http://llvm.org/docs/GettingStarted.html > > But man do I love scripting things: > > LLVM Getting Started (See http://llvm.org/docs/GettingStarted.html) > ./getttingStarted.sh [-clang] [-compiler-rt] [-test-suite] [-branch branch] > [-dir path] [-r rev] >I think this is a good idea, although personally I'd prefer the script to be written in Python to allow more portability (i.e. using it on Windows as well). Eli
On Nov 29, 2012, at 12:46 PM, Eli Bendersky <eliben at google.com> wrote:> On Thu, Nov 29, 2012 at 9:41 AM, Joe Abbey <jabbey at arxan.com> wrote: >> I know this process is well documented here >> http://llvm.org/docs/GettingStarted.html >> >> But man do I love scripting things: >> >> LLVM Getting Started (See http://llvm.org/docs/GettingStarted.html) >> ./getttingStarted.sh [-clang] [-compiler-rt] [-test-suite] [-branch branch] >> [-dir path] [-r rev] >> > > I think this is a good idea, although personally I'd prefer the script > to be written in Python to allow more portability (i.e. using it on > Windows as well). > > EliAgreed. I thought about that right after I clicked send... should have come up during prototyping. I'll scrub and repost. Joe
On 11/29/2012 05:41 PM, Joe Abbey wrote:> I know this process is well documented > here http://llvm.org/docs/GettingStarted.html > > But man do I love scripting things: > > LLVM Getting Started (See http://llvm.org/docs/GettingStarted.html) > ./getttingStarted.sh [-clang] [-compiler-rt] [-test-suite] [-branch > branch] > [-dir path] [-r rev] > > By default this script checks out ToT LLVM to the current working > directory > > Project Options: > -clang Checkout Clang repo > -compiler-rt Checkout Compiler RT > -test-suite Checkout LLVM test-suite > > Configuration Options: > -branch branch Checkout a specific branch, default trunk > -dir path Checkout to path instead of current working dir > -r rev Checkout to a specific revision > -v Verbose mode > > -help Print this message > > The shell script is attached, if you are interested. Perhaps we can > add this to the GettingStarted doc? > > Joe > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdevHithere. If you used a makefile then theoptions could be makefile variables. You could then also build what you downloaded/updated. Then you could also specify -j7 and the parallel build options would be passed to llvm's make process. Lastly you could add targets to make a debian package and/or the documentation. Just my 2c. Regards, Philip Ashmore
This is very cool. Thanks for doing this! -Jim On Nov 29, 2012, at 9:41 AM, Joe Abbey <jabbey at arxan.com> wrote:> I know this process is well documented here http://llvm.org/docs/GettingStarted.html > > But man do I love scripting things: > > LLVM Getting Started (See http://llvm.org/docs/GettingStarted.html) > ./getttingStarted.sh [-clang] [-compiler-rt] [-test-suite] [-branch branch] > [-dir path] [-r rev] > > By default this script checks out ToT LLVM to the current working directory > > Project Options: > -clang Checkout Clang repo > -compiler-rt Checkout Compiler RT > -test-suite Checkout LLVM test-suite > > Configuration Options: > -branch branch Checkout a specific branch, default trunk > -dir path Checkout to path instead of current working dir > -r rev Checkout to a specific revision > -v Verbose mode > > -help Print this message > > The shell script is attached, if you are interested. Perhaps we can add this to the GettingStarted doc? > > Joe > > <gettingStarted.sh> > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121129/e422e3f0/attachment.html>
> -----Original Message----- > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > On Behalf Of Eli Bendersky > Sent: Thursday, November 29, 2012 12:47 PM > To: Joe Abbey > Cc: llvmdev at cs.uiuc.edu List > Subject: Re: [LLVMdev] Getting Started > > On Thu, Nov 29, 2012 at 9:41 AM, Joe Abbey <jabbey at arxan.com> wrote: > > I know this process is well documented here > > http://llvm.org/docs/GettingStarted.html > > > > But man do I love scripting things: > > > > LLVM Getting Started (See http://llvm.org/docs/GettingStarted.html) > > ./getttingStarted.sh [-clang] [-compiler-rt] [-test-suite] [-branch > > branch] [-dir path] [-r rev] > > > > I think this is a good idea, although personally I'd prefer the script to be > written in Python to allow more portability (i.e. using it on Windows as well). > > EliI'd like to throw in a suggestion for Perl instead. I have 4 different versions of Python installed on my Windows machine at home right now and have to figure out which one actually works and manually specify it for any given build system / program / etc which needs it. Meanwhile, the single Perl install just works for everything. Just my experience there... -Gordon
On Nov 29, 2012, at 12:46 PM, Eli Bendersky <eliben at google.com> wrote:> On Thu, Nov 29, 2012 at 9:41 AM, Joe Abbey <jabbey at arxan.com> wrote: >> I know this process is well documented here >> http://llvm.org/docs/GettingStarted.html >> >> But man do I love scripting things: >> >> LLVM Getting Started (See http://llvm.org/docs/GettingStarted.html) >> ./getttingStarted.sh [-clang] [-compiler-rt] [-test-suite] [-branch branch] >> [-dir path] [-r rev] >> > > I think this is a good idea, although personally I'd prefer the script > to be written in Python to allow more portability (i.e. using it on > Windows as well).I've never written python... but here goes. Attached. Joe -------------- next part -------------- A non-text attachment was scrubbed... Name: gettingStarted.py Type: text/x-python-script Size: 3905 bytes Desc: gettingStarted.py URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121129/70ddb93a/attachment.bin>
So instead of being able to quickly extend scripting via Bash or C Shell you'd prefer people learn Python to extend any functionality? Cygwin is well tested on Windows. Shell Scripting [Bash, C, Ksh, ZShell, etc] is pervasive in UNIX/Linux and won't be replaced by Python or Perl. Simple automated scripts requiring the memory footprint of python just to make it work in Windows seems counter-intuitive to the fact that LLVM/Clang is primarily UNIX first. - Marc P.S. Please let's not have a discussion of install size of components. It's 2012, not 1996. That argument went out the window when we went from 30GB drives to 4 TB drives. On 11/29/2012 09:46 AM, Eli Bendersky wrote:> On Thu, Nov 29, 2012 at 9:41 AM, Joe Abbey <jabbey at arxan.com> wrote: >> I know this process is well documented here >> http://llvm.org/docs/GettingStarted.html >> >> But man do I love scripting things: >> >> LLVM Getting Started (See http://llvm.org/docs/GettingStarted.html) >> ./getttingStarted.sh [-clang] [-compiler-rt] [-test-suite] [-branch branch] >> [-dir path] [-r rev] >> > I think this is a good idea, although personally I'd prefer the script > to be written in Python to allow more portability (i.e. using it on > Windows as well). > > Eli > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-- Marc J. Driftmeyer Email :: mjd at reanimality.com <mailto:mjd at reanimality.com> Web :: http://www.reanimality.com Cell :: (509) 435-5212 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121129/edef7077/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: mjd.vcf Type: text/x-vcard Size: 317 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121129/edef7077/attachment.vcf>
On 29 Nov 2012, at 17:46, Eli Bendersky wrote:> I think this is a good idea, although personally I'd prefer the script > to be written in Python to allow more portability (i.e. using it on > Windows as well).If you are doing a build using the UNIX-like way of checking everything out and building it, then you will already have a shell installed via mingw or cygwin on Windows. If you are doing a build via Visual Studio or similar, then you will not be using this script. Rewriting it in Python just adds a needless dependency. David
Hi Joe, thanks for working on this. My honest opinion on it is that time would be better spent improving the documentation, as the current documentation is archaic. I think this has come up on the list before, but to rehash: * Start out by saying "LLVM can be built with make or CMake, and checked out with svn or git", and have "make", "CMake", "svn", and "git" be links to their own section talking about the relevant thing. * Treat the different options on equal footing. The current document is extremely SVN/make centric. Overall, I think that adding automation to this is not really going to help that much for a newcomer (especially considering the portability concerns cited by others). TBH, it's not that difficult to set up. What *is* difficult is wading through the current documentation to find out that "oh hey, they support git", or "oh, they have CMake so I can develop in visual studio like I'm comfortable with". Also, as I'm sure you have witnessed on the lists, choice of build system and (local) version control is something that people are quite vehement about, to the point that failing to put those options in newcomers' faces could result in outright *losing a developer* or at least dampening their enthusiasm (the importance of which is not to be underestimated). I have yet to see anyone complain about a lack of automation for getting set up. -- Sean Silva On Thu, Nov 29, 2012 at 12:41 PM, Joe Abbey <jabbey at arxan.com> wrote:> I know this process is well documented here > http://llvm.org/docs/GettingStarted.html > > But man do I love scripting things: > > LLVM Getting Started (See http://llvm.org/docs/GettingStarted.html) > ./getttingStarted.sh [-clang] [-compiler-rt] [-test-suite] [-branch branch] > [-dir path] [-r rev] > > By default this script checks out ToT LLVM to the current working directory > > Project Options: > -clang Checkout Clang repo > -compiler-rt Checkout Compiler RT > -test-suite Checkout LLVM test-suite > > Configuration Options: > -branch branch Checkout a specific branch, default trunk > -dir path Checkout to path instead of current working dir > -r rev Checkout to a specific revision > -v Verbose mode > > -help Print this message > > The shell script is attached, if you are interested. Perhaps we can add > this to the GettingStarted doc? > > Joe >
On Fri, Nov 30, 2012 at 06:31:59PM -0500, Sean Silva wrote:> Hi Joe, thanks for working on this. > > My honest opinion on it is that time would be better spent improving > the documentation, as the current documentation is archaic. I think > this has come up on the list before, but to rehash:+1. -- Wei-Ren Chen (陳韋任) Computer Systems Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667 Homepage: http://people.cs.nctu.edu.tw/~chenwj
That's cool. It was a nice exercise to learn python, and gain a better understanding of how reST works. Thanks Eli and Dmitri!! While the script is super useful for my workflow, it is a solution to a problem that may not even exist. Since the script is out there in a few patch incarnations, I suspect that's where we should leave it. I'm not going to push to get it in, especially if I'm the only beneficiary. :) I'm a proponent of modernizing the getting started documentation. I'm happy to help with the svn and cmake parts as that's what I tend to focus on. Cheers, Joe On Nov 30, 2012, at 6:32 PM, "Sean Silva" <silvas at purdue.edu> wrote:> Hi Joe, thanks for working on this. > > My honest opinion on it is that time would be better spent improving > the documentation, as the current documentation is archaic. I think > this has come up on the list before, but to rehash: > > * Start out by saying "LLVM can be built with make or CMake, and > checked out with svn or git", and have "make", "CMake", "svn", and > "git" be links to their own section talking about the relevant thing. > > * Treat the different options on equal footing. The current document > is extremely SVN/make centric. > > Overall, I think that adding automation to this is not really going to > help that much for a newcomer (especially considering the portability > concerns cited by others). TBH, it's not that difficult to set up. > What *is* difficult is wading through the current documentation to > find out that "oh hey, they support git", or "oh, they have CMake so I > can develop in visual studio like I'm comfortable with". > > Also, as I'm sure you have witnessed on the lists, choice of build > system and (local) version control is something that people are quite > vehement about, to the point that failing to put those options in > newcomers' faces could result in outright *losing a developer* or at > least dampening their enthusiasm (the importance of which is not to be > underestimated). I have yet to see anyone complain about a lack of > automation for getting set up. > > -- Sean Silva > > On Thu, Nov 29, 2012 at 12:41 PM, Joe Abbey <jabbey at arxan.com> wrote: >> I know this process is well documented here >> http://llvm.org/docs/GettingStarted.html >> >> But man do I love scripting things: >> >> LLVM Getting Started (See http://llvm.org/docs/GettingStarted.html) >> ./getttingStarted.sh [-clang] [-compiler-rt] [-test-suite] [-branch branch] >> [-dir path] [-r rev] >> >> By default this script checks out ToT LLVM to the current working directory >> >> Project Options: >> -clang Checkout Clang repo >> -compiler-rt Checkout Compiler RT >> -test-suite Checkout LLVM test-suite >> >> Configuration Options: >> -branch branch Checkout a specific branch, default trunk >> -dir path Checkout to path instead of current working dir >> -r rev Checkout to a specific revision >> -v Verbose mode >> >> -help Print this message >> >> The shell script is attached, if you are interested. Perhaps we can add >> this to the GettingStarted doc? >> >> Joe >>
Seemingly Similar Threads
- [LLVMdev] Getting Started
- [LLVMdev] Getting Started
- [LLVMdev] Changes to Debian's linker object files breaks building LLVM [crti.o, crt1.o, crtn.o]
- [LLVMdev] Changes to Debian's linker object files breaks building LLVM [crti.o, crt1.o, crtn.o]
- [LLVMdev] Update CMakeLists.txt for Target Hexagon to adjust MCTargetDesc path for HexagonMCAsmInfo.cpp