RFR: 8349859: Support static JDK in libfontmanager/freetypeScaler.c
Phil Race
prr at openjdk.org
Wed Feb 12 05:10:10 UTC 2025
On Wed, 12 Feb 2025 00:02:22 GMT, Jiangli Zhou <jiangli at openjdk.org> wrote:
> Please review the change that looks up `FT_Property_Set` from the current executable first when running on static JDK. If `FT_Property_Set` can be found, don't `dlopen` `libfreetype.so`. If a bundled `libfreetype` is statically linked with the launcher executable (on static JDK), `FT_Property_Set` is provided in the current executable.
>
> According to the existing comment in `setInterpreterVersion`, `libfreetype` is always bundled on Windows & Mac. This change only applies to Linux.
>
> I tested the change by stepping through the code using `test/jdk/java/awt/font/JNICheck/FreeTypeScalerJNICheck.java`.
Marked as reviewed by prr (Reviewer).
src/java.desktop/share/native/libfontmanager/freetypeScaler.c line 303:
> 301: #else
> 302:
> 303: if (JVM_IsStaticallyLinked()) {
These kinds of checks on behalf of a statically linked build are quite intrusive.
Perhaps there is no alternative, but still.
SFAIK, at this time, no one is under any obligation to test this works, or to know how not to break it.
So I will approve with those caveats.
-------------
PR Review: https://git.openjdk.org/jdk/pull/23574#pullrequestreview-2610823880
PR Review Comment: https://git.openjdk.org/jdk/pull/23574#discussion_r1951984223
More information about the build-dev
mailing list