aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.2.1-5666.3/README.Apple
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.2.1-5666.3/README.Apple')
-rw-r--r--gcc-4.2.1-5666.3/README.Apple83
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.