RFR: 8253795: Implementation of JEP 391: macOS/AArch64 Port [v3]

erik.joelsson at oracle.com erik.joelsson at oracle.com
Tue Jan 26 18:42:49 UTC 2021


On 2021-01-26 04:44, Magnus Ihse Bursie wrote:
> On 2021-01-26 13:09, Vladimir Kempik wrote:
>> On Tue, 26 Jan 2021 12:02:02 GMT, Alan Hayward 
>> <github.com+4146708+a74nh at openjdk.org> wrote:
>>
>>> AIUI, the configure line needs passing a prebuilt 
>>> JavaNativeFoundation framework
>>> ie:
>>> `--with-extra-ldflags='-F 
>>> /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/itms/java/Frameworks/'`
>>>
>>> Otherwise there will be missing _JNFNative* functions.
>>>
>>> Is this the long term plan? Or will eventually the required code be 
>>> moved into JDK and/or the xcode one automatically get picked up by 
>>> the configure scripts?
>> There is ongoing work by P. Race to eliminate dependence on JNF at all
> How far has that work come? Otherwise the logic should be added to 
> configure to look for this framework automatically, and provide a way 
> to override it/set it if not found.
>
> I don't think it's OK to publish a new port that cannot build 
> out-of-the-box without hacks like this.
>
My understanding is that Apple chose to not provide JNF for aarch64, so 
if you want to build OpenJDK, you first need to build JNF yourself (it's 
available in github). Phil is working on removing this dependency 
completely, which will solve this issue [1].

In the meantime, I don't think we should rely on finding JNF in 
unsupported locations inside Xcode. Could we wait with integrating this 
port until it can be built without such hacks? If not, then adding 
something in the documentation on how to get a working JNF would at 
least be needed.

/Erik

[1] https://bugs.openjdk.java.net/browse/JDK-8257852


More information about the serviceability-dev mailing list