optimizing build of multiple configurations?

Jay jay.krell@cornell.edu
Wed Sep 3 08:43:00 GMT 2008


reducing identical builds?


Let's say I

 cd 
 /configure -build i686-pc-cygwin -host i686-pc-cygwin -target i686-pc-cygwin 
 make 
 make install  
 cd 
 /configure -build i686-pc-cygwin -host i686-pc-cygwin -target sparc-sun-solaris2.10 
 make 
 make install  
 cd 
 /configure -build i686-pc-cygwin -host i686-pc-cygwin -target sparc64-sun-solaris2.10 
 make 
 make install  
 cd 
 /configure -build i686-pc-cygwin -host sparc-sun-solaris2.10 -target sparc-sun-solaris2.10 
 make 
 make install DESTDIR=... 
 cd 
 /configure -build i686-pc-cygwin -host sparc64-sun-solaris2.10 -target sparc64-sun-solaris2.10 
 make 
 make install DESTDIR=... 


 This does the same thing many times, in the interest of doing a few different things. 
 It builds gmp, mpfr, libiberty many times. 
 Libiberty is built multiple times even with just one configure. 


 Has anyone done work to reduce the waste here? 
 In particular, to automate and optimize building multiple configurations? 


 I started something but it's not very far along, and the stuff I turned up 
 with libiberty's configure points out a danger -- compiling for a platform 
 is different depending on if the platform is build vs. host vs. target. 
 host=i686-pc-cygwin libiberty does not necessarily equal target=i686-pc-cygwin libiberty, etc. 
 Still in the above example, one can be conservative about that and still reduce a lot. 
 As long as build, host, target are really independent. 


 Maybe just something very general like ccache? I haven't tried that yet. I think I will now.


Thanks,
 - Jay



More information about the Gcc mailing list