Am 03.04.2013 17:27, schrieb Simon Baldwin: > Suppose you had a month in which to reorganise gcc so that it builds > its 3-stage bootstrap and runtime libraries in some massively parallel > fashion, without hardware or resource constraints(*). How might you > approach this? > > I'm looking for ideas on improving the build time of gcc itself. So > far I have identified two problem areas: > > - Structural. In a 3-stage bootstrap, each stage depends on the > output of the one before. No matter what does the actual compilation > (make, jam, and so on), this constrains the options. > - Mechanical. Configure scripts cause bottlenecks in the build > process. Even if compilation is offloaded onto something like distcc, > configures run locally and randomly throughout the complete build, > rather than (say) all at once upfront. Source code compilation > blocks until configure is completed.
- the configuration and build of the runtime libraries (libgcc, libgomp, libstdc++) during the bootstrap is mostly serial. - multilibs are built for stage2 and stage3, but are not needed. multilib builds for the libararies are only needed for the final build of the target libraries. the simple approach to disable the multilib build in the toplevel makefile doesn't work, as the same target apparently used for the final build. - libjava should not be built for multilibs at all unless configured otherwise. and maybe the static build should be disabled by default too. Matthias