[jdk8u-dev] RFR: 8222362: Upgrade to Freetype 2.10.0

Jiří Vaněk jvanek at openjdk.org
Wed Nov 19 11:21:26 UTC 2025


On Fri, 14 Nov 2025 10:53:19 GMT, Jiří Vaněk <jvanek at openjdk.org> wrote:

> Without
> 
> index 00d35a69844..3464eb15e88 100644
> --- a/jdk/make/lib/Awt2dLibraries.gmk
> +++ b/jdk/make/lib/Awt2dLibraries.gmk
> @@ -541,6 +541,7 @@ else
>           E_STATEMENT_NOT_REACHED \
>           E_END_OF_LOOP_CODE_NOT_REACHED, \
>        DISABLED_WARNINGS_microsoft := 4267 4244 4312, \
> +      DISABLED_WARNINGS_gcc := implicit-fallthrough, \
>        LDFLAGS := $(LDFLAGS_JDKLIB) \
>            $(call SET_SHARED_LIBRARY_ORIGIN), \
>    ))
> 
> which needs
> https://github.com/openjdk/jdk11u/commit/f74d0aef61caa48a248c6661fa8e3871885b0ec8#diff-a634b106e57d9efbd1270664b8b79b2048b035a109b6f5220c4d39a4293d4458 and few others:
> https://github.com/openjdk/jdk11u/blame/518c6c5dd04dda28d9468e89cc9e322b72fcbcd3/make/lib/Awt2dLibraries.gmk

runtime/containers/docker/TestCPUAwareness.java  from linux x64  nor   gc/6581734/Test6581734.java 
gc/concurrentMarkSweep/SystemGCOnForegroundCollector.java  on linux i686 does not looks related. Am running it locally, and wills tart full multi paltform/multi OS QA in Monday. Any inputs welcomed, especially about the `8199639: Introduce SetupJdkLibrary and SetupJdkExecutable`.

In future updates, following changes to build happens:

* 8222362: Upgrade to Freetype 2.10.0

index bad68c7d3e2..9c7c251779f 100644
--- a/make/lib/Awt2dLibraries.gmk
+++ b/make/lib/Awt2dLibraries.gmk
@@ -503,6 +503,8 @@ else
   LIBFREETYPE_CFLAGS := -I$(BUILD_LIBFREETYPE_HEADER_DIRS)
   ifeq ($(OPENJDK_TARGET_OS), windows)
     LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
+    # freetype now requires you to manually define this (see ftconfig.h)
+    BUILD_LIBFREETYPE_CFLAGS += -DDLL_EXPORT
   else
     LIBFREETYPE_LIBS := -lfreetype
   endif
@@ -516,8 +518,8 @@ else
       DISABLED_WARNINGS_solstudio := \
          E_STATEMENT_NOT_REACHED \
          E_END_OF_LOOP_CODE_NOT_REACHED, \
-      DISABLED_WARNINGS_microsoft := 4267 4244 4312 4819, \
-      DISABLED_WARNINGS_gcc := implicit-fallthrough, \
+      DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \
+      DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast, \
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN), \
   ))


* 8306881: Update FreeType to 2.13.0

index 19ef7ba0410..fecbb248a7c 100644
--- a/make/lib/Awt2dLibraries.gmk
+++ b/make/lib/Awt2dLibraries.gmk
@@ -527,6 +527,7 @@ else
          E_END_OF_LOOP_CODE_NOT_REACHED, \
       DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \
       DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast, \
+      DISABLED_WARNINGS_clang := missing-declarations, \
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN), \
   ))

and side one:

* 8324347: Enable "maybe-uninitialized" warning for FreeType

index 73bb9325194..37f35dd3214 100644
--- a/make/lib/Awt2dLibraries.gmk
+++ b/make/lib/Awt2dLibraries.gmk
@@ -516,7 +516,6 @@ else
     LIBFREETYPE_LIBS := -lfreetype
   endif
 
-  # gcc_ftobjs.c := maybe-uninitialized required for GCC 7 builds.
   $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
       NAME := freetype, \
       OPTIMIZATION := HIGHEST, \
@@ -529,7 +528,6 @@ else
       DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \
       DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast, \
       DISABLED_WARNINGS_clang := missing-declarations, \
-      DISABLED_WARNINGS_gcc_ftobjs.c := maybe-uninitialized, \
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN), \
   ))

Ok, now updated to 2.10. As noted before, umiteed hunks were:

--- jdk/make/lib/Awt2dLibraries.gmk
+++ jdk/make/lib/Awt2dLibraries.gmk
@@ -503,6 +503,8 @@ else
   LIBFREETYPE_CFLAGS := -I$(BUILD_LIBFREETYPE_HEADER_DIRS)
   ifeq ($(OPENJDK_TARGET_OS), windows)
     LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
+    # freetype now requires you to manually define this (see ftconfig.h)
+    BUILD_LIBFREETYPE_CFLAGS += -DDLL_EXPORT
   else
     LIBFREETYPE_LIBS := -lfreetype
   endif
@@ -516,8 +518,8 @@ else
       DISABLED_WARNINGS_solstudio := \
          E_STATEMENT_NOT_REACHED \
          E_END_OF_LOOP_CODE_NOT_REACHED, \
-      DISABLED_WARNINGS_microsoft := 4267 4244 4312 4819, \
-      DISABLED_WARNINGS_gcc := implicit-fallthrough, \
+      DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \
+      DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast, \
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN), \
   ))

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

PR Comment: https://git.openjdk.org/jdk8u-dev/pull/720#issuecomment-3532335612
PR Comment: https://git.openjdk.org/jdk8u-dev/pull/720#issuecomment-3532629877
PR Comment: https://git.openjdk.org/jdk8u-dev/pull/720#issuecomment-3552139727


More information about the jdk8u-dev mailing list