• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: XCODE 2.1 targeting Panther
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: XCODE 2.1 targeting Panther


  • Subject: Re: XCODE 2.1 targeting Panther
  • From: Jeff Moore <email@hidden>
  • Date: Wed, 17 Aug 2005 17:49:49 -0700

Yup. That's important. Spelling is important too. That's what I messed up. Plus, I also found out that you don't need to use the $ (SDKRoot) if you are already using $(SYSTEM_LIBRARY_DIR).

At any rate, in addition to making sure I had the header search paths correct, I also had to add defines for KERNEL=1 and KERNEL_PRIVATE=1 to make things build correctly when I targeted the 10.3.9 SDK.

Here's a recap of what I had to do in the Reflector driver to target the 10.3.9 SDK given that it was created with 10.4 in mind:

1) Make gcc 3.3 the default compiler using gcc_select.

2) In the project info window's "General" tab, select the 10.3.9 SDK from the pop-up.

3) In any build setting the project is specifying a path, such as in the header search paths settings, be sure to use an appropriate build variable to prefix the path. For example, use $(SYSTEM_LIBRARY_DIR) instead of /System/Library. Take a look at the Build Settings Notes document from Xcode's Help menu for more info about what build variables are available.

4) Make sure that KERNEL=1 and KERNEL_PRIVATE=1 are defined in any target that is not directly a kernel extensions. For example, the target that build the floating point and altivec code into static link library prior to being linked into the driver's kext needs to have these symbols defined.

That was pretty much it. Note that this driver uses some IOAudio API that was new in 10.3, so I couldn't target the 10.2 SDK, but in theory the same sorts of things should need to be done.

On Aug 17, 2005, at 2:14 PM, B.J. Buchalter wrote:

on 8/17/05 4:00 PM, Jeff Moore at email@hidden wrote:


Hmm. I tried this with the new AudioReflectorDriver that's in our new
SDK, but I couldn't get it to build. I got errors about not finding
<IOKit/IOKit.h> and other standard system headers.

I'll ask around internally to see if I can come up with a more
definitive answer for you all.


As I said, it is kinda tweaky to get to work, and I may very well have left
something out of the recipe (I'm going by memory and how my current driver
project is configured, but I may have missed something; if I get a chance,
I'll take another look at it and report back; maybe I can try to do this to
the AudioReflectorDriver -- that would be a more generally useful guide).


I'm pretty sure that the

 HEADER_SEARCH_PATHS =
 "$(SDKROOT)/System/Library/Frameworks/Kernel.framework/Headers"

is a critical piece of this -- it is part of what lets everything find the
Kext version of <IOKit/IOKit.h>.


But my memory is rusty; all I can report for sure is that I can reliably
build 1394 audio drivers that load and run on panther using Xcode 2.1 on
Tiger.


Best regards,


B.J. Buchalter

Metric Halo
5 Donovan Drive
Hopewell Junction, NY 12533 USA
tel +1 845 223-6112
fax +1 603 250-2451




--

Jeff Moore
Core Audio
Apple


_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >Re: XCODE 2.1 targeting Panther (From: "B.J. Buchalter" <email@hidden>)

  • Prev by Date: On and off ramp for sine wave
  • Next by Date: Re: iTunes stuttering
  • Previous by thread: Re: XCODE 2.1 targeting Panther
  • Next by thread: RE: XCODE 2.1 targeting Panther
  • Index(es):
    • Date
    • Thread