Xcode 3.2.6, Lion and PPC support
4 09 2011Note: this entry is a follow-up of this StackOverflow entry. It gathers tricks from Anatomic Wax, StackOverflow and my personal experience.
Installing Xcode 3.2.6
In order to install Xcode 3.2.6 correctly on Lion, you need to use a trick to fool the installer so it installs everything (via ):
- Mount the Xcode 3.2.6 disk image
- Open a terminal
- Enter the commands:
export COMMAND_LINE_INSTALL=1 open "/Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg"
The open command will launch the installer app and allow you to install Xcode 3.2.6 on Lion with no package modifications.
You can choose not to install the MacOSX 10.4 SDK if you don't need it. Adapt the remaining steps if you don't.
When installing Xcode 3.2.6, choose a destination folder other than Developer. For the sake of this guide, the destination folder is Developer-3.2.
Installing Xcode 4.1
Installing Xcode 4.1 is done from the Mac AppStore. Once it is downloaded, click on the installer to start the installation.
Restoring 10.4/10.5 SDK Support
Open a terminal and run the following commands:
cd /Developer/SDKs sudo ln -s /Developer-3.2/SDKs/MacOSX10.4u.sdk . sudo ln -s /Developer-3.2/SDKs/MacOSX10.5.sdk .
Restoring GCC 4.0/GCC 4.2 Support
A lot of links should be added so the compiler executables are found. Moreover, the platform suffix should also be changed from darwin10 to darwin11.
Run the following commands (there should be some errors, but you can safely ignore them):
cd /Developer/usr/bin sudo ln -s /Developer-3.2/usr/bin/*4.0* . sudo ln -s /Developer-3.2/usr/bin/*4.2* . sudo ln -s powerpc-apple-darwin10-g++-4.0.1 powerpc-apple-darwin11-g++-4.0.1 sudo ln -s powerpc-apple-darwin10-gcc-4.0.1 powerpc-apple-darwin11-gcc-4.0.1 sudo ln -s powerpc-apple-darwin10-g++-4.2.1 powerpc-apple-darwin11-g++-4.2.1 sudo ln -s powerpc-apple-darwin10-gcc-4.2.1 powerpc-apple-darwin11-gcc-4.2.1
These commands are meant to make the platform match:
cd /usr/bin sudo ln -s /Developer/usr/bin/powerpc-apple-darwin10-g++-4.2.1 powerpc-apple-darwin11-g++-4.2.1 sudo ln -s /Developer/usr/bin/powerpc-apple-darwin10-gcc-4.2.1 powerpc-apple-darwin11-gcc-4.2.1
cd /Developer/usr/libexec/gcc/ sudo ln -s /Developer-3.2/usr/libexec/gcc/powerpc-apple-darwin10 . sudo ln -s powerpc-apple-darwin10 powerpc-apple-darwin11
These commands add the as support for PPC:
cd /Developer/usr/libexec/gcc/darwin/ sudo mkdir ppc cd ppc sudo ln -s /Developer-3.2/usr/bin/as .
These commands are needed if you plan to use Xcode in GUI mode:
cd /Developer/Library/Xcode/PrivatePlugIns cd Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins sudo ln -s "/Developer-3.2/Library/Xcode/Plug-ins/GCC 4.0.xcplugin" .
These commands will restore the PPC support for GCC 4.2:
cd /Developer/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1 sudo mv as as.bak sudo ln -s /Developer-3.2/usr/bin/as .
How to use
Once you have done all these command line works, you should be able to compile executable for PowerPC architecture on Lion. The typical command line looks like:
gcc-4.2 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk main.c -o HelloWorld
One more thing
Comments and feedback are welcome to correct/fix this entry.
when i take this into Xcode to try and build the most minimal project I end up with build errors...
erroring on
#include_next <stdarg.h>
#include_next <float.h>
#include <xmmintrin.h>
@Eric
The problem you encounter is due to changes in the GCC 4.2 libexec between Mac OS X 10.6 and 10.7. It seems that the GCC install differs for the i386 architecture.
Unfortunatly, I have no longer time to investigate the issue. I would be happy to accept contributions.
Laurent.