tags:

views:

37

answers:

2

I have a filter scheme driver with four binaries for 10.4 PPC, 10.4 i386, 10.5 & 10.6 i386 and 10.6 x86_64. I need to put them all into one kext. I don't think I can just lipo them together because of the two different i386 binaries.

How can I get them all into the same kext bundle?

+3  A: 

See Apple's SimpleUserClient example: you can use sub-kexts for each OS revision.

Note that you may need to tweak the build settings a bit because later ld versions insert a load command that the earlier kernel linker doesn't understand; see this mailing list message (and the surrounding thread, if you need more context).

(Why on earth was this question marked "non programming related"?)

Nicholas Riley
A: 

If you have four separate binaries, you cannot put them into the same kext bundle. You can put up to two binaries into a bundle by putting one bundle into the Plugins directory of the other bundle; the Plugin will match if the inital driver does not. However, if there are no API changes between your kexts, you may be able to use a kext compiled for 10.4 on 10.5 and 10.6, or one compiled for 10.5 on 10.6.

WhirlWind