Andi Vajda (JIRA) <j...@apache.org> wrote:

> Why is this a bug ?

I asked about this on the Apple java-dev mailing list a few weeks ago,
and got back an answer similar to what Jim suggests.  This is from Mike
Swingler at Apple (swing...@apple.com):

> On Mar 19, 2010, at 9:23 PM, Bill Janssen wrote:
> 
> > [I find jni.h in the standard /System libraries, for instance]
> > 
> > /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0
> > 
> > Is this a good idea?
> 
> No. There are no binaries that you may link against in the versioned
> JVM directories, so it is not appropriate to use headers from those
> directories either.
> 
> > Or, should I always use
> > /Developer/SDKs/System/Library/Frameworks/JavaVM.framework/Versions/XX/Headers
> > when compiling JNI code?  Presumably at some point in the future, Apple 
> > might
> > like to introduce more of the JDK/JRE distinction, perhaps for the iPhone or
> > iPad?  In which case jni.h might not be there at all without the developer 
> > SDK.
>
> You should link against the JavaVM.framework and use the jni.h from
> the Mac OS X 10.x SDK. The only exception to this is to link directly
> against the JavaVM.framework on your system if you require new
> functionality that was provided in a Java software update, and not
> part of an actual SDK (though this case should be rare).

So, Jim's mod seems in accord with Apple's thinking.

Bill

Reply via email to