This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
optimizing build of multiple configurations?
- From: Jay <jay dot krell at cornell dot edu>
- To: <gcc at gcc dot gnu dot org>
- Date: Wed, 3 Sep 2008 08:42:44 +0000
- Subject: optimizing build of multiple configurations?
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