cross-compiling kexts from 10.4
cross-compiling kexts from 10.4
- Subject: cross-compiling kexts from 10.4
- From: chuck remes <email@hidden>
- Date: Sun, 11 Sep 2005 19:32:29 -0500
I'm trying to cross-compile a kext from 10.4.2 to 10.3.9.
In my project configuration (General pane) I changed the Target SDK
to 10.3.9. I changed the deployment target too. However, when I build
my kext I get a ton of errors regarding system structures that are
not defined properly or method calls that take different parameters.
These errors are related to many structures changing due to the new
KPIs released as part of Tiger and that are only part of the 10.4 SDK.
When I look at the detail of how the files are being compiled, I see
that it is passing the wrong search paths for the headers. For example:
CompileCplusplus /Volumes/spaceman/cremes/developer/projects/
darwin_tulip debug/src/build/tulip.build/Development/tulip.build/
Objects-normal/ppc/base_tulip.o
/usr/bin/g++-3.3 -c "-Wp,-header-mapfile,/Volumes/spaceman/
cremes/developer/projects/darwin_tulip debug/src/build/tulip.build/
Development/tulip.build/tulip.hmap" -F"/Volumes/spaceman/cremes/
developer/projects/darwin_tulip debug/src/build/Development" -F/
System/Library/Frameworks -I"/Volumes/spaceman/cremes/developer/
projects/darwin_tulip debug/src/build/Development/include" -arch ppc
-fno-common -nostdinc -O0 -Wmost -Wno-four-char-constants -Wno-
unknown-pragmas -I/System/Library/Frameworks/Kernel.framework/
PrivateHeaders -I/System/Library/Frameworks/Kernel.framework/Headers -
fno-builtin -finline -fno-keep-inline-functions -force_cpusubtype_ALL
-fno-rtti -fno-exceptions -fcheck-new -msoft-float -fapple-kext -
mlong-branch -static -DKERNEL -DKERNEL_PRIVATE -DDRIVER_PRIVATE -
DAPPLE -DNeXT -pipe "-fmessage-length=0" -g -I"/Volumes/spaceman/
cremes/developer/projects/darwin_tulip debug/src/build/tulip.build/
Development/tulip.build/DerivedSources" -I"/Volumes/spaceman/cremes/
developer/projects/darwin_tulip debug/src/build/tulip.build/
Development/tulip.build/DerivedSources" "-fpermissive"
base_tulip.cpp -o "/Volumes/spaceman/cremes/developer/projects/
darwin_tulip debug/src/build/tulip.build/Development/tulip.build/
Objects-normal/ppc/base_tulip.o"
base_tulip.cpp: In member function `virtual void
darwin_tulip::_printMbuf(mbuf*)':
base_tulip.cpp:156: error: invalid use of undefined type `struct mbuf'
/System/Library/Frameworks/Kernel.framework/Headers/IOKit/network/
IONetworkInterface.h:202: error: forward declaration of `struct mbuf'
Notice (-I/System/Library/Frameworks/Kernel.framework/Headers) that
it is looking for the system headers at path /System/Library/
Frameworks instead of /Developer/SDKs/MacOSX10.3.9/System/Library/
Frameworks. This code compiles perfectly on 10.3.9 because the
headers contain the correct definitions. I thought this was the point
of target SDKs in Xcode.
How do I change this behavior so it finds the correct headers in the
older SDK?
cr
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden