|
|
@@ -0,0 +1,83 @@
|
|
|
+From 8df09bb41f8aec8904a2231facc76660d2a83236 Mon Sep 17 00:00:00 2001
|
|
|
+From: Thomas Devoogdt <thomas@devoogdt.com>
|
|
|
+Date: Thu, 13 Nov 2025 17:23:44 +0100
|
|
|
+Subject: [PATCH] awt: fix HEADLESS compilation without X11
|
|
|
+
|
|
|
+Upstream: https://github.com/openjdk/jdk/pull/28310
|
|
|
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
|
|
|
+---
|
|
|
+ make/modules/java.desktop/lib/Awt2dLibraries.gmk | 16 ++++++++++++++--
|
|
|
+ .../unix/native/common/awt/utility/rect.h | 4 ++--
|
|
|
+ 2 files changed, 16 insertions(+), 4 deletions(-)
|
|
|
+
|
|
|
+diff --git a/make/modules/java.desktop/lib/Awt2dLibraries.gmk b/make/modules/java.desktop/lib/Awt2dLibraries.gmk
|
|
|
+index 46e3b1677f7..0e92ce6aeca 100644
|
|
|
+--- a/make/modules/java.desktop/lib/Awt2dLibraries.gmk
|
|
|
++++ b/make/modules/java.desktop/lib/Awt2dLibraries.gmk
|
|
|
+@@ -77,6 +77,10 @@ ifeq ($(call isTargetOs, windows), true)
|
|
|
+ #
|
|
|
+ endif
|
|
|
+
|
|
|
++ifeq ($(ENABLE_HEADLESS_ONLY), true)
|
|
|
++ LIBAWT_CFLAGS += -DHEADLESS
|
|
|
++endif
|
|
|
++
|
|
|
+ ifeq ($(call isTargetOs, linux macosx aix), true)
|
|
|
+ LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
|
|
|
+ endif
|
|
|
+@@ -362,13 +366,20 @@ ifeq ($(call isTargetOs, windows macosx), false)
|
|
|
+ $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
|
|
|
+ #
|
|
|
+
|
|
|
+- LIBAWT_HEADLESS_EXCLUDES := medialib
|
|
|
++ LIBAWT_HEADLESS_EXCLUDES := medialib opengl
|
|
|
++
|
|
|
++ LIBAWT_HEADLESS_EXCLUDE_FILES := \
|
|
|
++ GLXGraphicsConfig.c \
|
|
|
++ GLXSurfaceData.c \
|
|
|
++ X11PMBlitLoops.c \
|
|
|
++ X11Renderer.c \
|
|
|
++ X11SurfaceData.c \
|
|
|
++ #
|
|
|
+
|
|
|
+ LIBAWT_HEADLESS_EXTRA_HEADER_DIRS := \
|
|
|
+ $(LIBAWT_DEFAULT_HEADER_DIRS) \
|
|
|
+ common/awt/debug \
|
|
|
+ common/font \
|
|
|
+- common/java2d/opengl \
|
|
|
+ #
|
|
|
+
|
|
|
+ LIBAWT_HEADLESS_CFLAGS := $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) $(X_CFLAGS) \
|
|
|
+@@ -378,6 +389,7 @@ ifeq ($(call isTargetOs, windows macosx), false)
|
|
|
+ NAME := awt_headless, \
|
|
|
+ EXTRA_SRC := $(LIBAWT_HEADLESS_EXTRA_SRC), \
|
|
|
+ EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
|
|
|
++ EXCLUDE_FILES := $(LIBAWT_HEADLESS_EXCLUDE_FILES), \
|
|
|
+ OPTIMIZATION := LOW, \
|
|
|
+ CFLAGS := $(CFLAGS_JDKLIB) \
|
|
|
+ $(LIBAWT_HEADLESS_CFLAGS), \
|
|
|
+diff --git a/src/java.desktop/unix/native/common/awt/utility/rect.h b/src/java.desktop/unix/native/common/awt/utility/rect.h
|
|
|
+index ceea38f4349..91b5a17ec58 100644
|
|
|
+--- a/src/java.desktop/unix/native/common/awt/utility/rect.h
|
|
|
++++ b/src/java.desktop/unix/native/common/awt/utility/rect.h
|
|
|
+@@ -28,7 +28,7 @@
|
|
|
+ #ifndef _AWT_RECT_H
|
|
|
+ #define _AWT_RECT_H
|
|
|
+
|
|
|
+-#ifndef MACOSX
|
|
|
++#if !defined(HEADLESS) && !defined(MACOSX)
|
|
|
+ #include <X11/Xlib.h>
|
|
|
+ typedef XRectangle RECT_T;
|
|
|
+ #else
|
|
|
+@@ -39,7 +39,7 @@ typedef struct {
|
|
|
+ int width;
|
|
|
+ int height;
|
|
|
+ } RECT_T;
|
|
|
+-#endif /* !MACOSX */
|
|
|
++#endif /* !HEADLESS && !MACOSX */
|
|
|
+
|
|
|
+ #define RECT_EQ_X(r1,r2) ((r1).x==(r2).x && (r1).width==(r2).width)
|
|
|
+
|
|
|
+--
|
|
|
+2.43.0
|
|
|
+
|