From 0b0c80f560884b9d4c0faafb15ec28d810d25f70 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Tue, 19 Aug 2008 22:16:40 -0600 Subject: [PATCH] Mention universal binaries in INSTALL. * doc/install.texi (Compiling For Multiple Architectures): Explain how to create universal binaries on MacOS X. Signed-off-by: Eric Blake --- ChangeLog | 7 +++++++ doc/install.texi | 18 +++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b9c14bc7f..1a892f917 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-08-19 Bruno Haible + and Peter O'Gorman + + Mention universal binaries in INSTALL. + * doc/install.texi (Compiling For Multiple Architectures): Explain + how to create universal binaries on MacOS X. + 2008-08-19 Jim Meyering Eric Blake Ralf Wildenhues diff --git a/doc/install.texi b/doc/install.texi index e08762938..362be5941 100644 --- a/doc/install.texi +++ b/doc/install.texi @@ -6,7 +6,7 @@ @unnumbered Installation Instructions Copyright @copyright{} 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, -2005, 2006, 2007 Free Software Foundation, Inc. +2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. @@ -120,6 +120,22 @@ architecture at a time in the source code directory. After you have installed the package for one architecture, use @samp{make distclean} before reconfiguring for another architecture. +On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types---known as @dfn{fat} or +@dfn{universal} binaries---by specifying multiple @option{-arch} options +to the compiler but only a single @option{-arch} option to the +preprocessor. Like this: + +@example +./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" +@end example + +This is not guaranteed to produce working output in all cases, you may +have to build one architecture at a time and combine the results +using the @command{lipo} tool if you have problems. + @node Installation Names @section Installation Names -- 2.47.3