Linking to JavaRuntimeSupport framework
Mike Swingler
swingler at apple.com
Wed Jan 26 08:17:31 PST 2011
On Jan 26, 2011, at 12:23 AM, David Kocher wrote:
> On 26.01.2011, at 00:28, Mike Swingler wrote:
>
>> On Jan 25, 2011, at 2:43 PM, Henri Gomez wrote:
>>
>>> 2011/1/25 David Kocher <dkocher at cyberduck.ch>:
>>>> (Resending this to the list as it did not appear after 24h)
>>>>
>>>> Looking at the binary build available from the openjdk-osx-build [1], the universal libjava.dylib is linking against /System/Library/Frameworks/JavaVM.framework/Versions/A/Frameworks/JavaRuntimeSupport.framework/Versions/A/JavaRuntimeSupport. Is this intended and if so why? The equivalent library from the i386 build does not.
>>>>
>>>>> libjava.dylib:
>>>>> @rpath/libjava.dylib (compatibility version 1.0.0, current version 1.0.0)
>>>>> @rpath/libjvm.dylib (compatibility version 1.0.0, current version 1.0.0)
>>>>> @rpath/libverify.dylib (compatibility version 1.0.0, current version 1.0.0)
>>>>> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.42.0)
>>>>> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration (compatibility version 1.0.0, current version 293.6.0)
>>>>> /System/Library/Frameworks/JavaVM.framework/Versions/A/Frameworks/JavaRuntimeSupport.framework/Versions/A/JavaRuntimeSupport (compatibility version 1.0.0, current version 1.0.0)
>>>>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)
>>>
>>> I guess it because it's now build with Apple VM 1.6.0
>>
>> Yes, this is intentional. JavaRuntimeSupport.framework is a special framework where we export API exclusively for the use of Java runtimes (like OpenJDK). Our proprietary Java SE 6 and J2SE 5.0 have also linked against it for almost three years, so it's known battle-tested code.
>>
>> We will also be making more additions to the JavaRuntimeSupport.framework soon to support additional functionality we will be introducing to the OpenJDK builds.
>
> I understand now that the difference is because the non universal builds available are from the BSD port instead. But linking against a private framework in the macosx-port makes it a show stopper to for applications targeting the MAS I presume.
JavaRuntimeSupport.framework is a public sub-framework of the JavaVM.framework. It's all API, and it's all public (that is kinda the point).
Regards,
Mike Swingler
Java Engineering
Apple Inc.
More information about the macosx-port-dev
mailing list