This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Apple's PFE for GCC is now available
- From: Stan Shebs <shebs at apple dot com>
- To: gcc at gcc dot gnu dot org
- Date: Tue, 30 Jul 2002 21:47:43 -0700
- Subject: Apple's PFE for GCC is now available
Last year, I posted a message describing Apple's Persistent Front End
(PFE) project (http://gcc.gnu.org/ml/gcc/2001-09/msg01210.html). I'm
now pleased to announce that the complete source code is now both
available and portable; it runs well on GNU/Linux, and likely other
types of systems as well.
When used to implement precompiled headers, PFE offers a considerable
speedup; typically 6x for 100KLoc Mac headers, and as much as 12x on
Linux using comparable synthetic headers. (Of course, your results
will vary considerably, depending on everything from system RAM to
source file size.) PFE has been in production use for building
parts of Jaguar for some months now, so it's known to be reliable.
The most convenient way to get to current sources is via our CVS
repository. It's not a true anoncvs setup, but you can register at
http://www.opensource.apple.com/cgi-bin/apslregfm to get login id,
then use :pserver:<id>@anoncvs.opensource.apple.com:/cvs/Darwin as
your CVSROOT, module "gcc3". (More details may be found at
http://developer.apple.com/darwin/tools/cvs/read-only.html .) If the
registration thing is too onerous, we can probably set up a tarball
somewhere.
This is an exact mirror of our working repository, and as such is not
guaranteed to work at all times, such as right after importing an FSF
GCC snapshot. :-) The tag "pfe-test-2002-07-30" identifies sources
known to work on my vanilla Red Hat 7.1 system.
The toplevel file README.Apple is a summary of building and using.
PFE precomps are simple to use:
gcc --dump-pch foo -x c incl.h
gcc --dump-pch foo -x c++ incl.h
creates the directory foo that holds compiler states (one for
each language desired), and
gcc --load-pch foo file.c
gcc --load-pch foo otherfile.cc
loads state from foo, and compiles in the usual way. Semantically
it's identical to saying
gcc -include incl.h file.c
gcc -include incl.h otherfile.cc
This version of GCC includes many other features, most of them
specific to Mac OS X programming. The one that may be of general
interest is Objective-C++, which is C++ extended to work with the
Objective-C extensions.
There is a majordomo mailing list darwin-gcc3@opensource.apple.com
that gets CVS messages and is also used for discussion; everybody is
welcome to join.
Finally, if you're wondering how this relates to the PCH branch, it's
being actively discussed. PFE has both pluses and minuses relative to
the current PCH work, and ideally we'll be able to use both in coming
up with superior precompiled header support for FSF GCC.
Stan