diff options
Diffstat (limited to 'gcc-4.2.1-5666.3/README.Apple')
-rw-r--r-- | gcc-4.2.1-5666.3/README.Apple | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/gcc-4.2.1-5666.3/README.Apple b/gcc-4.2.1-5666.3/README.Apple new file mode 100644 index 000000000..d50b2d8ad --- /dev/null +++ b/gcc-4.2.1-5666.3/README.Apple @@ -0,0 +1,83 @@ +APPLE LOCAL file documentation + +This file describes Apple's version of GCC 4.x modified for Darwin / +Mac OS X. Although Apple's stated policy is to contribute all of its +GCC work to the FSF GCC mainstream, at any given moment there will be +changes that are permanently unacceptable for FSF GCC, in need of +rework before acceptance, or that we simply aren't ready to send in. +This version of GCC contains all those changes. + +In keeping with provision 2a of the GPL, each Apple change is marked +with a comment saying "APPLE LOCAL", followed by optional words "begin", +"end", or "file", followed by a short phrase describing the change +generally ("AltiVec" for instance, if the change is related to AltiVec +support). + +BUILDING, THE APPLE WAY + +To build things the Apple way, just say (in the source directory) + + mkdir -p build/obj build/dst build/sym + gnumake install RC_OS=macos RC_ARCHS=ppc TARGETS=ppc \ + SRCROOT=`pwd` OBJROOT=`pwd`/build/obj \ + DSTROOT=`pwd`/build/dst SYMROOT=`pwd`/build/sym + +This will configure and then do a full bootstrap build, with all the +results going into the subdirectory build/ that you created. The +final results will be in the "dest root" directory build/dst, in the +form of an image of the installed directory structure. The drivers +and other user-visible tools have a "-4.0" suffixed, so for instance the +driver is /usr/bin/gcc-4.0 + +To install the results, become root and do + + ditto build/dst / + +Various knobs and switches are available, but even so, the Apple +makefile machinery is mainly designed for mass builds of all the +projects that make up Darwin and/or Mac OS X, and is thus not as +flexible as the standard GCC build process. + +To build for i386 Darwin, set TARGETS=i386. To build universal, set +RC_ARCHS='i386 ppc' TARGETS='i386 ppc'. Note that you must have a +complete set of universal libraries and i386-targeting cctools for this +all to work. + +You can set the four *ROOT variables to point anywhere, but they must +always be absolute pathnames. + +This way of building may or may not work on non-Macs, and if it +doesn't, you're on your own. + +BUILDING, THE FSF WAY + +In general, standard GCC procedures work for building this version. +We recommend that you build in a separate objdir; create a sibling +to the toplevel source dir, call it whatever you want, cd into it, +and say "../gcc/configure". This way you can have more than one +build using the same set of sources. + +If you insist on building in the source directory using "./configure", +the GNUmakefile that supports the Apple build process (see above) will +shadow your makefile, and you will need to override this behavior by +saying "make -f Makefile" (or by moving GNUmakefile out of the way). + +For instance: + + mkdir darwin + cd darwin + ../configure --prefix=/tmp/testplace + make bootstrap + make install + +does a full build, plus two generations of self-compilation for +GCC proper, then an install. + +To avoid building every language, use --enable-languages argument to +configure. For instance, '--enable-languages=objc,c++,obj-c++' skips +the Fortran and Java compilers. (The C compiler will always be +built.) + +To build an x86 cross-compiler, add "--target=i386-darwin" to the +configure line. The x86 compiler works, but to make it useful you +will need libraries and such from x86 Darwin. |