Author: wyoung
Date: Tue Aug 19 01:50:30 2008
New Revision: 2353

URL: http://svn.gna.org/viewcvs/mysqlpp?rev=2353&view=rev
Log:
Improved section on universal binaries

Modified:
    trunk/README-Mac-OS-X.txt

Modified: trunk/README-Mac-OS-X.txt
URL: 
http://svn.gna.org/viewcvs/mysqlpp/trunk/README-Mac-OS-X.txt?rev=2353&r1=2352&r2=2353&view=diff
==============================================================================
--- trunk/README-Mac-OS-X.txt (original)
+++ trunk/README-Mac-OS-X.txt Tue Aug 19 01:50:30 2008
@@ -39,23 +39,37 @@
 
 Making Universal Binaries
 ~~~~~~~~~~~~~~~~~~~~~~~~~
-    The command line build system will generate libraries that
-    only work with the platform you build MySQL++ on.  If you need
-    to generate a libmysqlpp that works on both Intel and PowerPC
-    machines, something like this may work:
+    By default, the command line build system will generate libraries
+    that only work with the platform you build MySQL++ on.  It can be
+    convinced to build "universal" binaries instead by configuring
+    the library like so:
 
-    $ ./configure CXXFLAGS='-arch ppc -arch i386' --disable-dependency-tracking
+    $ ./configure --disable-dependency-tracking \
+            CXXFLAGS='-arch ppc -arch i386'
 
-    This is untested with MySQL++ in particular, but it's said to work
-    with other projects.
+    This builds the library for the two 32-bit OS X architectures, and
+    is what most people have traditionally thought of as "universal".
+    However, you may also want a 64-bit build, meaning there are four
+    different architectures, and thus four -arch flags needed:
 
-    Note that with Tiger -- and to a greater extent, Leopard --
-    there are really *four* architectures, not two: you have 32-bit
-    and 64-bit versions of both PowerPC and Intel.  I'm not sure
-    exactly how you'd modify the command above to make a library that
-    supports all four, but I'll take a wild guess and say you'll need
-    four -arch flags.  Or, you can just avoid the command line build
-    system, and do it in...
+    $ ./configure --disable-dependency-tracking \
+            CXXFLAGS='-arch ppc -arch ppc64 -arch i386 -arch x86_64'
+
+    These are single commands, with the line broken to keep the line
+    lengths in this document reasonable.
+
+    The first command doubles build time relative to the default
+    configuration, and the second quadruples it.  It also makes the
+    resulting binaries larger, which increases the amount of time
+    it takes to start a program.  Build MySQL++ like this only if
+    you must.
+
+    The --disable-dependency-tracking flag is necessary because,
+    when building universal binaries, it has to rebuild each source
+    module multiple times, which confuses the logic that tries to tell
+    when a given module needs rebuiding based on its dependencies on
+    other files.
+
 
 Xcode
 ~~~~~


_______________________________________________
Mysqlpp-commits mailing list
[email protected]
https://mail.gna.org/listinfo/mysqlpp-commits

Reply via email to