1) Use the
lipoutility to join your two static libraries into one universal binary library. This is fine, but you either have to write a script to automate the process or you have to manually run lipo. This is what I did earlier with the gpc runtime library.
2) Make use of the
CURRENT_ARCHenvironment variable. When a universal binary is being built, XCode will set this variable first to "i386", and then later to "ppc". You can use this to set (via XCode's project or target build configuration pane) your library pathnames properly for each half of the build, as in
../mylibs/$(CURRENT_ARCH)which will give a path to your
../mylibs/ppcdirectory during the PowerPC build and your
../mylibs/i386directory during the Intel portion. Of course, this requires you arrange your environment in such a fashion. And the directory doesn't even have to be
i386/ppcit could be
mac_i386/mac_ppcif you used
The same thing works for header paths.
One trick I figured out today, if you need to know an XCode environment variable, start a build and look at the beginning of the Build Results log. You'll see all the variables XCode sets. It's a lot faster than trying to guess what to google. A lot faster.