On 12 December 2011 21:54, Quentin Neill wrote: > On Mon, Dec 12, 2011 at 3:20 PM, Jonathan Wakely <jwakely....@gmail.com> > wrote: >> On 12 December 2011 21:13, Quentin Neill wrote: >>> >>> I think an improvement could be made in automated downloading of GCC >>> and dependencies (I looked in the wiki and the document and didn't see >>> this, but it is worth mentioning). >>> >>> Any script (and new users as well) must understand which dependencies >>> are allowed for which releases, but those dependencies are only >>> unambiguously codified in the configure scripts, creating a >>> chicken/egg problem - you need to download and configure GCC before >>> you can be assured the configure will succeed. >> >> Run contrib/download_prerequisites to fetch gmp, mpfr and mpc. The >> other prerequisites are very stable and haven't changed in years, so >> the details at http://gcc.gnu.org/install/prerequisites.html apply to >> most releases. That page is included in the source tarball, so the >> version in the tarball tells you the prerequisites for the source you >> have. > > Thanks Jonathan. > > I see it is missing ppl and cloog, which I think have changed recently > with 4.6 and 4.7; perhaps that is outside the mainline, but it is > mentioned on prerequisites.html
They are entirely optional, not used by default, so configure won't fail if you don't have them. If you choose to enable them, then you you need them. If you don't have them or don't want them, don't use --with-cloog. > The OS dependencies needed to build are another thing - it seems it > could be better automated (we keep a list of packages per distro to > install when setting up a system to build GCC). > > I still occasionally build on a system that is missing autogen or has > an older YACC and so craps out later in the build. Seems like the > configure (or the download/setup) should take care of that. They should only be needed if you're building from svn or building a snapshot. That's not a typical case. I'm not convinced what benefit there is to automating it. The list doesn't change, and is already documented.