But this just builds a 10.4 universal and we need to target 10.3
for ppc for backwards compat.
Is there a means to specify in a single cc invocation per .c file
to build a .o file for both 10.3/PPC and 10.4/i386? Or do we need
to invoke cc twice for each .c file - once with the 10.3/PPC
options based on the above and once again for the 10.4/i386
options? The later is going to wreck havoc with our existing
autoconf/make system.
Thanks in advance.
mike
Since you general do configure-based builds in separate build
directories, I recommend building for one platform in one directory,
building for the other in a second directory, and then lipo'ing all
of your binaries together in a third step. This is essentially how
gcc and the like are built. The --exec-prefix in a properly-
implemented auto-confiscated project can also help, putting all of
the binaries in platform-specific directories.
So, do something like:
mkdir build install
cd build
mkdir ppc
cd ppc
$(SRC_DIR)/configure --target=powerpc-apple-darwin8 -CFLAGS="-
isysroot /Developer/SDKs/MacOSXSDK10.4u.sdk" -arch ppc LDFLAGS="-Wl,-
syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch ppc" -
prefix=`pwd`../../install --exec-prefix=`pwd`/../../install/ppc
make
make install
cd ..
mkdir i386
cd i386
$(SRC_DIR)/configure --target=i386-apple-darwin8 -CFLAGS="-isysroot /
Developer/SDKs/MacOSXSDK10.4u.sdk" -arch i386 LDFLAGS="-Wl,-
syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch i386" -
prefix=`pwd`/../../install --exec-prefix=`pwd`/../../install/i386
make
make install
cd ..
cd ..
# Now, your installation will be in ./install, with your binaries
in ./install/ppc and ./install/i386
lipo ./install/ppc/foo ./install/i386/foo -output ./install/foo
Or some such.
It's much easier to do this than to try to get "-arch ppc -arch i386"
to work throughout autoconf/automake/libtool/configure/whatever.
It's not free; there is work involved, and it's non-trivial. You also
have to watch for host-platform assumptions. If you build on a i386
machine, and a configure test says that a certain capability exists
on that machine, but the target is actually a powerpc machine, you
will have problems. The configure.ac files need to be bulletproof,
and need to actually work when you specify --target; otherwise you
may end up with problems ranging from compilation to subtle runtime
problems.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/xcode-users/sydvicious%
40mac.com
This email sent to email@hidden
Syd Polk - email@hidden
"Let the music be your light." -- Dave Edwards, KUHF-FM, 1982
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/xcode-users/email@hidden