OS X Universal Binaries erzeugen
Seit Apple von der PowerPC-Architektur auf die Intel-Architektur umgestiegen ist, können Anwendungen sowohl für die eine als auch für die andere Architektur in einem Binary kompiliert werden. Solche Binaries werden als Universal Binaries bezeichnet.
Um eine Anwendung oder Bibliothek, die mit einem configure
ausgeliefert wird, für beide Architekturen zu kompilieren, reicht es meistens folgenden configure-Aufruf zu verwenden.
./configure \ CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" \ LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" \ --enable-shared --disable-dependency-tracking
Je nach Anwendung können noch weitere Parameter angehängt werden.
Um zu prüfen ob eine Anwendung wirklich als Universal kompiliert wurde, reichte eine Prüfung mit file
:
$ file convert convert: Mach-O fat file with 2 architectures convert (for architecture ppc): Mach-O executable ppc convert (for architecture i386): Mach-O executable i386