RFR: 8349859: Support static JDK in libfontmanager/freetypeScaler.c

Vladimir Kozlov kvn at openjdk.org
Wed Feb 12 17:27:16 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`.

This broke our builds:

/jdk_git/open/src/java.desktop/share/native/libfontmanager/freetypeScaler.c: In function 'setInterpreterVersion':
/jdk_git/open/src/java.desktop/share/native/libfontmanager/freetypeScaler.c:307:9: error: implicit declaration of function 'FT_Property_Set' [-Werror=implicit-function-declaration]
  307 |         FT_Property_Set(library, module, property, (void*)(&version));
      |         ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

I don't see GHA testing enabled for this repo.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/23574#issuecomment-2654389337
PR Comment: https://git.openjdk.org/jdk/pull/23574#issuecomment-2654390478


More information about the build-dev mailing list