Seite 1 von 1

Probleme mit Universal Binaries unter OS X

Verfasst: 5. Januar 2010 15:23
von mrwienh
Hallo zusammen,

vielleicht ein triviales Problem, allerdings bereitet es uns momentan einiges an Kopfzerbrechen:

Beim Portieren unserer Software nach OS X soll ein Universal Binary erzeugt werden (für Intel und PPC), das Projektfile wurde daher für macx um folgende CONFIGS erweitert:

CONFIGS += i386 ppc

Unsere Software ist allerdings auf verschiedene DEFINES je nach Architektur angewiesen (z.B. altivec code im Fall PPC).

Nun ist es möglich im Projektfall dies weiter zu spezifizieren:

macx {
ppc {
DEFINES += ...
}
i386 {
DEFINES += ...
}
}

Da ja aber beide CONFIGS true sind wirken sich die jeweiligen Blöcke natürlich auf das gesamte entstehende XCode Projekt aus.

Wie handhabt Ihr solche Fälle (in denen die DEFINES für die verschiedenen Zielplattformen eines XCode-Projekts unterschiedlich sein müssen)?

Eine andere Möglichkeit, die uns vorschwebt wäre das auswerten der Build-In Compiler DEFINES, wie z.B. __i386__, allerdings behebt dies nicht die Problematik unterschiedlicher aufrufe des Compilers, z.B. bei unterschiedlichen CFLAGS.

Ich wäre für jede Idee dankbar.

Viele Grüße

Markus

Verfasst: 5. Januar 2010 23:35
von solarix
Ich hab mal schnell einen Blick in "mkspecs/macx-xcode/qmake.conf" geworfen. Kannst du nicht einfach

Code: Alles auswählen

QMAKE_CFLAGS_PPC_64             =
QMAKE_CFLAGS_X86_64             =
QMAKE_CFLAGS_PPC                =
QMAKE_CFLAGS_X86                =
in der pro-file neu setzen (oder mit "+=" ergänzen)?

BTW: Die allgemeine Vorgehensweise in einem XCode-Projekt ist hier
http://developer.apple.com/legacy/mac/l ... binary.pdf
dokumentiert. Im Abschnitt "Architecture-Specific Options" ist dort auch die Sache mit den Flags beschrieben. Aber das wird hier vermutlich nicht weiterhelfen, weil qmake vermutlich die Einstellungen wieder überschreibt..

hth..