makefiles/lib/Awt2dLibraries.gmk

Print this page
rev 8336 : 8025673: [macosx] Disable X11 AWT toolkit
Summary: Disable but not completely remove the XAWT and headless toolkits on Mac OS X
Reviewed-by:
Contributed-by: david.dehaven@oracle.com

@@ -227,11 +227,11 @@
 ifeq ($(OPENJDK_TARGET_OS), windows)
   LIBAWT_DIRS += \
       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d
-else
+else ifneq ($(OPENJDK_TARGET_OS), macosx)
   LIBAWT_DIRS += \
       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
 endif
 
 LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \

@@ -514,19 +514,11 @@
 
 BUILD_LIBRARIES += $(BUILD_LIBAWT)
 
 ##########################################################################################
 
-# TODO!!
-# Even though this variable as a general name, it is
-# only used on macos, in fontpath.c, as prefix for where to find fonts.
-#
-# It's used for libawt_headless _and_ libawt_xawt
-#
-X11_PATH := /usr/X11R6
-
-ifneq ($(OPENJDK_TARGET_OS), windows)
+ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
   ifndef BUILD_HEADLESS_ONLY
 
     LIBAWT_XAWT_DIRS := \
         $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
         $(JDK_TOPDIR)/src/share/native/sun/awt/utility \

@@ -537,11 +529,11 @@
         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
 
     LIBAWT_XAWT_CFLAGS := -DXAWT -DXAWT_HACK \
-        -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
+        -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
         $(CUPS_CFLAGS) \
         $(foreach dir, $(LIBAWT_XAWT_DIRS), -I$(dir)) \
         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \

@@ -632,15 +624,10 @@
     ifeq ($(OPENJDK_TARGET_OS), linux)
       # To match old build, add this to LDFLAGS instead of suffix.
       LIBAWT_XAWT_LDFLAGS += -lpthread
     endif
 
-    ifeq ($(OPENJDK_TARGET_OS), macosx)
-      LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
-    endif
-
-    # On macosx, the shared library origin is set twice for this lib.
     $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
         LIBRARY := awt_xawt, \
         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
         SRC := $(LIBAWT_XAWT_DIRS), \
         INCLUDE_FILES := $(LIBAWT_XAWT_FILES), \

@@ -658,14 +645,10 @@
             -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
             -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
             -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
             $(call SET_SHARED_LIBRARY_ORIGIN) \
             $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
-        LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN) \
-            $(call SET_SHARED_LIBRARY_ORIGIN). \
-            $(call SET_SHARED_LIBRARY_ORIGIN) \
-            $(call SET_SHARED_LIBRARY_ORIGIN)., \
         LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \
         VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
         RC_FLAGS := $(RC_FLAGS) \
             -D "JDK_FNAME=xawt.dll" \
             -D "JDK_INTERNAL_NAME=xawt" \

@@ -793,10 +776,15 @@
 
 ifeq ($(OPENJDK_TARGET_OS), windows)
   LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
       X11TextRenderer.c
   LIBFONTMANAGER_OPTIMIZATION := HIGHEST
+else ifeq ($(OPENJDK_TARGET_OS), macosx)
+  LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
+      X11TextRenderer.c \
+      fontpath.c \
+      lcdglyph.c
 else
   LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
       lcdglyph.c
 endif
 

@@ -850,11 +838,11 @@
     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfontmanager, \
     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 
 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
 
-ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris macosx))
+ifeq ($(OPENJDK_TARGET_OS), solaris)
   $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_XAWT)
 endif
 
 BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
 

@@ -952,26 +940,25 @@
 
   BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
 
 else # OPENJDK_TARGET_OS not windows
 
+  ifeq ($(OPENJDK_TARGET_OS), macosx)
+    JAWT_FILES := jawt.m
+    JAWT_LIBS := -lawt_lwawt
+  else
+    JAWT_FILES := jawt.c
   JAWT_LIBS :=
   ifneq ($(OPENJDK_TARGET_OS), solaris)
     JAWT_LIBS += -lawt
   endif
-
   ifndef BUILD_HEADLESS_ONLY
     JAWT_LIBS += -lawt_xawt
   else
     JAWT_LIBS += -lawt_headless
     HEADLESS_CFLAG += -DHEADLESS
   endif
-
-  JAWT_FILES := jawt.c
-  ifeq ($(OPENJDK_TARGET_OS), macosx)
-    JAWT_FILES := jawt.m
-    JAWT_LIBS := -lawt_lwawt
   endif
 
   $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \
       LIBRARY := jawt, \
       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \

@@ -1099,11 +1086,12 @@
 endif
 
 ##########################################################################################
 
 ifeq ($(BUILD_HEADLESS), true)
-  ifneq ($(OPENJDK_TARGET_OS), windows)
+  # Mac and Windows only use the native AWT lib, do not build libawt_headless
+  ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
 
     LIBAWT_HEADLESS_DIRS := $(JDK_TOPDIR)/src/share/native/sun/font \
         $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
         $(JDK_TOPDIR)/src/solaris/native/sun/font \
         $(JDK_TOPDIR)/src/solaris/native/sun/awt \

@@ -1113,11 +1101,11 @@
     ifeq ($(OPENJDK_TARGET_OS), macosx)
       LIBAWT_HEADLESS_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/font
     endif
 
     LIBAWT_HEADLESS_CFLAGS := -DHEADLESS=true \
-        -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
+        -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
         $(CUPS_CFLAGS) \
         $(X_CFLAGS) \
         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \

@@ -1160,20 +1148,10 @@
         GLXGraphicsConfig.c \
         GLXSurfaceData.c \
         AccelGlyphCache.c \
         CUPSfuncs.c
 
-    ifeq ($(OPENJDK_TARGET_OS), macosx)
-      LIBAWT_HEADLESS_FILES += \
-          AWTFont.m \
-          AWTStrike.m \
-          CCharToGlyphMapper.m \
-          CGGlyphImages.m \
-          CGGlyphOutlines.m \
-          CoreTextSupport.m
-    endif
-
     LIBAWT_HEADLESS_REORDER :=
     ifeq ($(OPENJDK_TARGET_OS), solaris)
       ifneq ($(OPENJDK_TARGET_CPU), x86_64)
         LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
       endif

@@ -1196,17 +1174,10 @@
             -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \
         LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN)., \
         REORDER := $(LIBAWT_HEADLESS_REORDER), \
         LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \
         LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \
-        LDFLAGS_SUFFIX_macosx := -ljvm $(LIBCXX) -lawt $(LIBDL) -ljava \
-            -framework Accelerate \
-            -framework ApplicationServices \
-            -framework Cocoa \
-            -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
-            -framework JavaNativeFoundation \
-            -framework JavaRuntimeSupport, \
         OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_headless, \
         DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 
     $(BUILD_LIBAWT_HEADLESS): $(BUILD_LIBAWT)