This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Tiny GCC: Pure, Unadulterated, Object Code
- From: Michael Witten <mfwitten at MIT dot EDU>
- To: gcc-help at gcc dot gnu dot org
- Date: Wed, 23 Jan 2008 11:24:22 -0500
- Subject: Tiny GCC: Pure, Unadulterated, Object Code
Dear GCC developers,
I would like to use distcc in a compile-farm comprised
of various and sundry computing architectures.
Consequently, I need cross-compilers on many of these
machines. Consider first how distcc works (as described
by (http://en.wikipedia.org/wiki/Distcc):
distcc works as an agent for the compiler. A distcc
daemon has to run on each of the participating mach-
ines. The originating machine invokes a preprocessor
to handle header files, preprocessing directives
(such as #ifdef) and the source files and sends the
preprocessed source to other machines over the net-
work via TCP either unencrypted or using SSH. Remote
machines compile those source files without any local
dependencies (such as libraries, header files or macro
definitions) to object files and send them back to the
originator for further compilation.
That "further compilation" really just means linking.
Therefore, the gcc cross-compilers I want to build need only
produce object code in the correct format using already pre-
processed code. That means:
These cross-compilers don't need access to any kind of
libraries or headers.
They don't need C libraries, or libstdc++, or libobjc,
or anything that has absolutely nothing to do whatsoever
with compilation.
Can I build gcc in this way?
I've been trying for quite some time now to achieve such a
stripped down gcc, but it would seem that the gcc build
process insists on building these libraries, which I think
is wholly unnecessary.
I would like to ask further that if my understandings are
incorrect, could somebody please disabuse me.
Sincerely,
Michael Witten