make/lib/Awt2dLibraries.gmk
branchihse-cflags-rewrite-branch
changeset 56726 3a9b7a1f9197
parent 56312 a52bcf4118eb
parent 50494 1ac60dacaafb
child 56760 8a18c7457c88
equal deleted inserted replaced
56313:d287dfac1304 56726:3a9b7a1f9197
    25 
    25 
    26 $(eval $(call IncludeCustomExtension, lib/Awt2dLibraries-pre.gmk))
    26 $(eval $(call IncludeCustomExtension, lib/Awt2dLibraries-pre.gmk))
    27 
    27 
    28 WIN_AWT_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt/awt.lib
    28 WIN_AWT_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt/awt.lib
    29 
    29 
    30 ################################################################################
    30 LIBAWT_DEFAULT_HEADER_DIRS := \
    31 
    31     libawt/awt/image \
    32 BUILD_LIBMLIB_SRC := $(TOPDIR)/src/java.desktop/share/native/libmlib_image \
    32     libawt/awt/image/cvutils \
    33     $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib
    33     libawt/java2d \
    34 BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
    34     libawt/java2d/loops \
    35     $(addprefix -I, $(BUILD_LIBMLIB_SRC)) \
    35     libawt/java2d/pipe \
    36     -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libmlib_image
    36     #
    37 
    37 
    38 BUILD_LIBMLIB_LDLIBS :=
    38 ################################################################################
    39 BUILD_LIBMLIB_IMAGE_MAPFILE := $(TOPDIR)/make/mapfiles/libmlib_image/mapfile-vers
    39 
    40 
    40 # We must not include java.desktop/unix/native/libmlib_image, which is only
    41 BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
    41 # for usage by solaris-sparc in libmlib_image_v.
       
    42 BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS := unix
       
    43 
       
    44 BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES -DMLIB_NO_LIBSUNMATH
    42 
    45 
    43 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
    46 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
    44   BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
    47   BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
    45 endif
    48 endif
    46 
    49 
    47 ifneq ($(OPENJDK_TARGET_OS), windows)
       
    48   BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
       
    49 endif
       
    50 
       
    51 $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE, \
    50 $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE, \
    52     NAME := mlib_image, \
    51     NAME := mlib_image, \
    53     SRC := $(BUILD_LIBMLIB_SRC), \
    52     EXTRA_SRC := common/awt/medialib, \
    54     EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
    53     EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
       
    54     EXCLUDE_SRC_PATTERNS := $(BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS), \
    55     OPTIMIZATION := HIGHEST, \
    55     OPTIMIZATION := HIGHEST, \
    56     CFLAGS := $(CFLAGS_JDKLIB) \
    56     CFLAGS := $(CFLAGS_JDKLIB) \
    57         $(BUILD_LIBMLIB_CFLAGS), \
    57         $(BUILD_LIBMLIB_CFLAGS), \
    58     MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
       
    59     LDFLAGS := $(LDFLAGS_JDKLIB) \
    58     LDFLAGS := $(LDFLAGS_JDKLIB) \
    60         $(call SET_SHARED_LIBRARY_ORIGIN), \
    59         $(call SET_SHARED_LIBRARY_ORIGIN), \
    61     LIBS := $(BUILD_LIBMLIB_LDLIBS) \
    60     LIBS := $(JDKLIB_LIBS), \
    62         $(JDKLIB_LIBS), \
    61     LIBS_unix := $(LIBM) $(LIBDL), \
    63 ))
    62 ))
    64 
    63 
    65 $(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java)
    64 $(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java)
    66 
    65 
    67 TARGETS += $(BUILD_LIBMLIB_IMAGE)
    66 TARGETS += $(BUILD_LIBMLIB_IMAGE)
    68 
    67 
    69 ################################################################################
    68 ################################################################################
    70 
    69 
    71 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
    70 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
    72 
    71 
    73   LIBMLIB_IMAGE_V_SRC := $(TOPDIR)/src/java.desktop/share/native/libmlib_image \
    72   # libmlib_image_v is basically built from mlib_image sources, with some additions
    74       $(TOPDIR)/src/java.desktop/unix/native/libmlib_image \
    73   # and some exclusions.
    75       $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib \
    74   LIBMLIB_IMAGE_V_SRC := \
    76       $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib \
    75      libmlib_image \
    77       #
    76      common/awt/medialib \
    78   LIBMLIB_IMAGE_V_CFLAGS := $(TOPDIR)/src/java.desktop/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il \
    77      #
    79       $(addprefix -I, $(LIBMLIB_IMAGE_V_SRC)) \
    78 
    80       #
    79   LIBMLIB_IMAGE_V_CFLAGS := -xarch=sparcvis -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
       
    80       $(TOPDIR)/src/$(MODULE)/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il
       
    81 
       
    82   ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
       
    83     LIBMLIB_IMAGE_V_CFLAGS += -DMLIB_OS64BIT
       
    84   endif
    81 
    85 
    82   BUILD_LIBMLIB_IMAGE_V_EXFILES := \
    86   BUILD_LIBMLIB_IMAGE_V_EXFILES := \
    83       awt_ImagingLib.c \
    87       awt_ImagingLib.c \
    84       mlib_c_ImageAffine_BC.c \
    88       mlib_c_ImageAffine_BC.c \
    85       mlib_c_ImageAffine_BC_S16.c \
    89       mlib_c_ImageAffine_BC_S16.c \
    95       mlib_c_ImageCopy.c \
    99       mlib_c_ImageCopy.c \
    96       mlib_c_ImageLookUp.c \
   100       mlib_c_ImageLookUp.c \
    97       mlib_c_ImageLookUp_f.c \
   101       mlib_c_ImageLookUp_f.c \
    98       #
   102       #
    99 
   103 
   100   LIBMLIB_IMAGE_V_CFLAGS += $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
       
   101 
       
   102   $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE_V, \
   104   $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE_V, \
   103       NAME := mlib_image_v, \
   105       NAME := mlib_image_v, \
   104       SRC := $(LIBMLIB_IMAGE_V_SRC), \
   106       SRC := $(LIBMLIB_IMAGE_V_SRC), \
   105       EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \
   107       EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \
   106       OPTIMIZATION := HIGHEST, \
   108       OPTIMIZATION := HIGHEST, \
   107       CFLAGS := -xarch=sparcvis \
   109       CFLAGS := $(CFLAGS_JDKLIB) \
   108           $(LIBMLIB_IMAGE_V_CFLAGS) \
   110           $(LIBMLIB_IMAGE_V_CFLAGS), \
   109           $(CFLAGS_JDKLIB), \
       
   110       MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
       
   111       LDFLAGS := $(LDFLAGS_JDKLIB) \
   111       LDFLAGS := $(LDFLAGS_JDKLIB) \
   112           $(call SET_SHARED_LIBRARY_ORIGIN), \
   112           $(call SET_SHARED_LIBRARY_ORIGIN), \
   113       LIBS := -ljava -ljvm $(BUILD_LIBMLIB_LDLIBS), \
   113       LIBS := -ljava -ljvm $(LIBM) $(LIBDL), \
   114   ))
   114   ))
   115 
   115 
   116   $(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java)
   116   $(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java)
   117 
   117 
   118   TARGETS += $(BUILD_LIBMLIB_IMAGE_V)
   118   TARGETS += $(BUILD_LIBMLIB_IMAGE_V)
   119 
   119 
   120 endif
   120 endif
   121 
   121 
   122 ################################################################################
   122 ################################################################################
   123 
   123 
   124 LIBAWT_DIRS := $(TOPDIR)/src/java.desktop/share/native/libawt \
   124 LIBAWT_EXTRA_SRC := \
   125     $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \
   125     common/awt/debug \
   126     $(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
   126     $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
   127     $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
       
   128     #
   127     #
   129 
   128 
   130 ifeq ($(OPENJDK_TARGET_OS), aix)
   129 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
   131   LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/libawt
   130   LIBAWT_EXTRA_SRC += $(TOPDIR)/src/$(MODULE)/share/native/common/awt/medialib
   132 endif
   131 endif
   133 
   132 
   134 ifeq ($(OPENJDK_TARGET_OS), windows)
   133 ifeq ($(OPENJDK_TARGET_OS), windows)
   135   LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/share/native/common/awt/utility
   134   LIBAWT_EXTRA_SRC += \
       
   135       $(TOPDIR)/src/$(MODULE)/share/native/common/awt/utility \
       
   136       $(TOPDIR)/src/$(MODULE)/share/native/common/font \
       
   137       $(TOPDIR)/src/$(MODULE)/share/native/common/java2d/opengl \
       
   138       $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt/systemscale \
       
   139       #
   136 endif
   140 endif
   137 
   141 
   138 ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx aix), )
   142 ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx aix), )
   139   LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
   143   LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
   140 endif
   144 endif
   141 
   145 
   142 ifeq ($(OPENJDK_TARGET_OS), macosx)
   146 ifeq ($(OPENJDK_TARGET_OS), macosx)
   143   LIBAWT_EXFILES += initIDs.c awt/image/cvutils/img_colors.c
   147   LIBAWT_EXFILES += initIDs.c awt/image/cvutils/img_colors.c
   144 endif
   148 endif
   145 
   149 
   146 LIBAWT_CFLAGS += -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
       
   147     $(addprefix -I, $(shell find $(LIBAWT_DIRS) -type d)) \
       
   148     $(LIBJAVA_HEADER_FLAGS) \
       
   149     $(addprefix -I, $(BUILD_LIBMLIB_IMAGE_SRC)) \
       
   150     #
       
   151 
       
   152 LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS)
       
   153 
       
   154 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
       
   155   LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
       
   156   LIBAWT_CFLAGS += -xarch=sparcvis
       
   157 
       
   158   LIBAWT_CFLAGS += $(TOPDIR)/src/java.desktop/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il
       
   159   LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib
       
   160   LIBAWT_EXFILES += java2d/loops/MapAccelFunc.c
       
   161 
       
   162   ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
       
   163     LIBAWT_ASFLAGS = -P -xarch=v9a
       
   164   else
       
   165     LIBAWT_ASFLAGS = -P -xarch=v8plusa
       
   166   endif
       
   167 else
       
   168   LIBAWT_EXCLUDES += \
       
   169       $(TOPDIR)/src/java.desktop/unix/native/libawt/awt/medialib \
       
   170       $(TOPDIR)/src/java.desktop/unix/native/libawt/java2d/loops \
       
   171       $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib \
       
   172       #
       
   173 endif
       
   174 
       
   175 ifneq ($(OPENJDK_TARGET_OS), solaris)
       
   176   LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
       
   177 endif
       
   178 
       
   179 ifeq ($(OPENJDK_TARGET_OS), windows)
   150 ifeq ($(OPENJDK_TARGET_OS), windows)
   180   LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/share/native/common/font \
       
   181       $(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
       
   182       $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt/systemscale \
       
   183   # Why does libawt need java.base headers?
       
   184   LIBAWT_CFLAGS += -I$(TOPDIR)/src/java.desktop/share/native/common/font \
       
   185       -I$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
       
   186       -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d/opengl \
       
   187       -I$(TOPDIR)/src/java.desktop/windows/native/include \
       
   188       -I$(TOPDIR)/src/java.desktop/share/native/include \
       
   189       -I$(SUPPORT_OUTPUTDIR)/headers/java.base \
       
   190       #
       
   191   LIBAWT_EXFILES += \
   151   LIBAWT_EXFILES += \
   192       java2d/d3d/D3DShaderGen.c \
   152       java2d/d3d/D3DShaderGen.c \
   193       awt/image/cvutils/img_colors.c \
   153       awt/image/cvutils/img_colors.c \
   194       #
   154       #
   195 
   155 endif
       
   156 
       
   157 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
       
   158   LIBAWT_EXFILES += java2d/loops/MapAccelFunc.c
       
   159 else
       
   160   LIBAWT_EXCLUDES += \
       
   161       $(TOPDIR)/src/$(MODULE)/unix/native/libawt/awt/medialib \
       
   162       $(TOPDIR)/src/$(MODULE)/unix/native/libawt/java2d/loops \
       
   163       $(TOPDIR)/src/$(MODULE)/unix/native/common/awt/medialib \
       
   164       #
       
   165 endif
       
   166 
       
   167 LIBAWT_EXTRA_HEADER_DIRS := \
       
   168     $(LIBAWT_DEFAULT_HEADER_DIRS) \
       
   169     $(call GetJavaHeaderDir, java.base) \
       
   170     libawt/awt/medialib \
       
   171     libawt/java2d/d3d \
       
   172     libawt/java2d/opengl \
       
   173     libawt/java2d/windows \
       
   174     libawt/windows \
       
   175     common/awt/medialib \
       
   176     libmlib_image \
       
   177     include \
       
   178     java.base:libjava \
       
   179     java.base:include \
       
   180     #
       
   181 
       
   182 LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS)
       
   183 
       
   184 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
       
   185   LIBAWT_CFLAGS += -xarch=sparcvis -DMLIB_ADD_SUFF \
       
   186       $(TOPDIR)/src/$(MODULE)/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il
       
   187 
       
   188   LIBAWT_ASFLAGS = -P -xarch=v9a
       
   189 endif
       
   190 
       
   191 ifneq ($(OPENJDK_TARGET_OS), solaris)
       
   192   LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
       
   193 endif
       
   194 
       
   195 ifeq ($(OPENJDK_TARGET_OS), windows)
   196   LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
   196   LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
   197   ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
   197   ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
   198     LIBAWT_CFLAGS += -DMLIB_OS64BIT
   198     LIBAWT_CFLAGS += -DMLIB_OS64BIT
   199   endif
   199   endif
   200 
   200 
   201   LIBAWT_RC_FLAGS ?= -I $(TOPDIR)/src/java.base/windows/native/launcher/icons
   201   LIBAWT_RC_FLAGS ?= -I $(TOPDIR)/src/java.base/windows/native/launcher/icons
   202   LIBAWT_VERSIONINFO_RESOURCE := $(TOPDIR)/src/java.desktop/windows/native/libawt/windows/awt.rc
   202   LIBAWT_VERSIONINFO_RESOURCE := $(TOPDIR)/src/$(MODULE)/windows/native/libawt/windows/awt.rc
   203 endif
   203 endif
   204 
   204 
   205 LIBAWT_MAPFILE := $(TOPDIR)/make/mapfiles/libawt/mapfile-vers
       
   206 ifeq ($(OPENJDK_TARGET_OS), linux)
   205 ifeq ($(OPENJDK_TARGET_OS), linux)
   207   LIBAWT_MAPFILE :=
   206   # FIXME: This is probably not what we want to do, but keep it now for compatibility.
       
   207   LIBAWT_CFLAGS += $(EXPORT_ALL_SYMBOLS)
   208 endif
   208 endif
   209 
   209 
   210 # Turn off all warnings for debug_mem.c This is needed because the specific warning
   210 # Turn off all warnings for debug_mem.c This is needed because the specific warning
   211 # about initializing a declared 'extern' cannot be turned off individually. Only
   211 # about initializing a declared 'extern' cannot be turned off individually. Only
   212 # applies to debug builds.
   212 # applies to debug builds.
   216   LIBAWT_CFLAGS += -fgcse-after-reload
   216   LIBAWT_CFLAGS += -fgcse-after-reload
   217 endif
   217 endif
   218 
   218 
   219 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
   219 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
   220     NAME := awt, \
   220     NAME := awt, \
   221     SRC := $(LIBAWT_DIRS), \
   221     EXTRA_SRC := $(LIBAWT_EXTRA_SRC), \
   222     EXCLUDES := $(LIBAWT_EXCLUDES), \
   222     EXCLUDES := $(LIBAWT_EXCLUDES), \
   223     EXCLUDE_FILES := $(LIBAWT_EXFILES), \
   223     EXCLUDE_FILES := $(LIBAWT_EXFILES), \
   224     OPTIMIZATION := LOW, \
   224     OPTIMIZATION := LOW, \
   225     CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
   225     CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
       
   226     EXTRA_HEADER_DIRS := $(LIBAWT_EXTRA_HEADER_DIRS), \
   226     DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
   227     DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
   227         format-nonliteral parentheses, \
   228         format-nonliteral parentheses, \
   228     DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
   229     DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
   229     DISABLED_WARNINGS_microsoft := 4297 4244 4267 4996, \
   230     DISABLED_WARNINGS_microsoft := 4244 4267 4996, \
   230     ASFLAGS := $(LIBAWT_ASFLAGS), \
   231     ASFLAGS := $(LIBAWT_ASFLAGS), \
   231     MAPFILE := $(LIBAWT_MAPFILE), \
       
   232     LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
   232     LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
   233     LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
   233     LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
   234     LDFLAGS_windows := -delayload:user32.dll -delayload:gdi32.dll \
   234     LDFLAGS_windows := -delayload:user32.dll -delayload:gdi32.dll \
   235         -delayload:shell32.dll -delayload:winmm.dll \
   235         -delayload:shell32.dll -delayload:winmm.dll \
   236         -delayload:winspool.drv -delayload:imm32.dll \
   236         -delayload:winspool.drv -delayload:imm32.dll \
   266 
   266 
   267 TARGETS += $(BUILD_LIBAWT)
   267 TARGETS += $(BUILD_LIBAWT)
   268 
   268 
   269 ################################################################################
   269 ################################################################################
   270 
   270 
   271 ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
   271 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx), )
   272   ifeq ($(ENABLE_HEADLESS_ONLY), false)
   272   ifeq ($(ENABLE_HEADLESS_ONLY), false)
   273 
   273 
   274     LIBAWT_XAWT_DIRS := \
   274     LIBAWT_XAWT_EXTRA_SRC := \
   275         $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt_xawt \
   275         common/awt \
   276         $(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
   276         common/java2d \
   277         $(TOPDIR)/src/java.desktop/share/native/common/awt/utility \
   277         common/font \
   278         $(TOPDIR)/src/java.desktop/share/native/common/font \
       
   279         $(TOPDIR)/src/java.desktop/share/native/common/java2d \
       
   280         $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d \
       
   281         $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
       
   282         #
   278         #
   283 
   279 
   284     ifneq ($(filter $(OPENJDK_TARGET_OS),linux solaris aix), )
       
   285       LIBAWT_XAWT_DIRS += $(TOPDIR)/src/java.desktop/unix/native/common/awt/systemscale
       
   286     endif
       
   287 
       
   288     LIBAWT_XAWT_EXCLUDES := medialib
   280     LIBAWT_XAWT_EXCLUDES := medialib
   289 
   281 
   290     LIBAWT_XAWT_CFLAGS := $(addprefix -I, $(shell $(FIND) $(LIBAWT_XAWT_DIRS) -type d)) \
   282     LIBAWT_XAWT_EXTRA_HEADER_DIRS := \
   291         -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
   283         $(LIBAWT_DEFAULT_HEADER_DIRS) \
   292         -I$(TOPDIR)/src/java.desktop/share/native/include \
   284         libawt_xawt/awt \
   293         -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/include \
   285         include \
   294         -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/include \
   286         common/awt/debug \
   295         -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \
   287         common/awt/systemscale \
   296         -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/java2d \
   288         common/font \
   297         -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
   289         common/java2d/opengl \
   298         -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe \
   290         common/java2d/x11 \
   299         -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
       
   300         -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
       
   301         -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/font \
       
   302         $(LIBJAVA_HEADER_FLAGS)
       
   303         #
   291         #
   304 
   292 
   305     LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \
   293     LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \
   306         -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
   294         -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
   307         $(FONTCONFIG_CFLAGS) \
   295         $(FONTCONFIG_CFLAGS) \
   330       BUILD_LIBAWT_XAWT_gtk2_interface.c_CFLAGS := -w
   318       BUILD_LIBAWT_XAWT_gtk2_interface.c_CFLAGS := -w
   331       # comparison between pointer and integer
   319       # comparison between pointer and integer
   332       BUILD_LIBAWT_XAWT_awt_Font.c_CFLAGS := -w
   320       BUILD_LIBAWT_XAWT_awt_Font.c_CFLAGS := -w
   333       # initializing a declared 'extern'
   321       # initializing a declared 'extern'
   334       BUILD_LIBAWT_XAWT_debug_mem.c_CFLAGS := -w
   322       BUILD_LIBAWT_XAWT_debug_mem.c_CFLAGS := -w
   335    endif
   323     endif
   336 
   324 
   337     $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_XAWT, \
   325     $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_XAWT, \
   338         NAME := awt_xawt, \
   326         NAME := awt_xawt, \
   339         SRC := $(LIBAWT_XAWT_DIRS), \
   327         EXTRA_SRC := $(LIBAWT_XAWT_EXTRA_SRC), \
       
   328         EXTRA_HEADER_DIRS := $(LIBAWT_XAWT_EXTRA_HEADER_DIRS), \
   340         EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
   329         EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
   341         OPTIMIZATION := LOW, \
   330         OPTIMIZATION := LOW, \
   342         CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
   331         CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
   343             $(X_CFLAGS), \
   332             $(X_CFLAGS), \
   344         WARNINGS_AS_ERRORS_xlc := false, \
   333         WARNINGS_AS_ERRORS_xlc := false, \
   346             unused-result maybe-uninitialized format \
   335             unused-result maybe-uninitialized format \
   347             format-security int-to-pointer-cast parentheses \
   336             format-security int-to-pointer-cast parentheses \
   348             implicit-fallthrough, \
   337             implicit-fallthrough, \
   349         DISABLED_WARNINGS_solstudio := E_ASSIGNMENT_TYPE_MISMATCH \
   338         DISABLED_WARNINGS_solstudio := E_ASSIGNMENT_TYPE_MISMATCH \
   350              E_NON_CONST_INIT, \
   339              E_NON_CONST_INIT, \
   351         MAPFILE := $(TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
       
   352         LDFLAGS := $(LDFLAGS_JDKLIB) \
   340         LDFLAGS := $(LDFLAGS_JDKLIB) \
   353             $(call SET_SHARED_LIBRARY_ORIGIN) \
   341             $(call SET_SHARED_LIBRARY_ORIGIN) \
   354             -L$(INSTALL_LIBRARIES_HERE), \
   342             -L$(INSTALL_LIBRARIES_HERE), \
   355         LIBS :=  $(X_LIBS) $(LIBAWT_XAWT_LIBS), \
   343         LIBS :=  $(X_LIBS) $(LIBAWT_XAWT_LIBS), \
   356         RC_FLAGS := $(RC_FLAGS) \
       
   357             -D "JDK_FNAME=xawt.dll" \
       
   358             -D "JDK_INTERNAL_NAME=xawt" \
       
   359             -D "JDK_FTYPE=0x2L", \
       
   360     ))
   344     ))
   361 
   345 
   362     $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
   346     $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
   363 
   347 
   364     $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
   348     $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
   368   endif
   352   endif
   369 endif
   353 endif
   370 
   354 
   371 ################################################################################
   355 ################################################################################
   372 
   356 
   373 LIBLCMS_SRC := $(TOPDIR)/src/java.desktop/share/native/liblcms
       
   374 LIBLCMS_CPPFLAGS += -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
       
   375     -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \
       
   376     -I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
       
   377     $(LIBJAVA_HEADER_FLAGS) \
       
   378     #
       
   379 # The fast floor code loses precision.
   357 # The fast floor code loses precision.
   380 LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR
   358 LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR
       
   359 
       
   360 LCMS_CFLAGS_JDKLIB := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB))
   381 
   361 
   382 ifeq ($(USE_EXTERNAL_LCMS), true)
   362 ifeq ($(USE_EXTERNAL_LCMS), true)
   383   # If we're using an external library, we'll just need the wrapper part.
   363   # If we're using an external library, we'll just need the wrapper part.
   384   # By including it explicitly, all other files will be excluded.
   364   # By including it explicitly, all other files will be excluded.
   385   BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c
   365   BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c
       
   366   # If we're using an external library, we can't include our own SRC path
       
   367   # as includes, instead the system headers should be used.
       
   368   LIBLCMS_HEADERS_FROM_SRC := false
   386 else
   369 else
   387   BUILD_LIBLCMS_INCLUDE_FILES :=
   370   BUILD_LIBLCMS_INCLUDE_FILES :=
   388   # If we're using the bundled library, we'll need to include it in the
       
   389   # include path explicitly. Otherwise the system headers will be used.
       
   390   LIBLCMS_CPPFLAGS += $(addprefix -I, $(LIBLCMS_SRC))
       
   391 endif
   371 endif
   392 
   372 
   393 $(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
   373 $(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
   394     NAME := lcms, \
   374     NAME := lcms, \
   395     SRC := $(LIBLCMS_SRC), \
       
   396     INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
   375     INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
   397     OPTIMIZATION := HIGHEST, \
   376     OPTIMIZATION := HIGHEST, \
   398     CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
   377     CFLAGS := $(LCMS_CFLAGS_JDKLIB) \
   399         $(LIBLCMS_CPPFLAGS) \
       
   400         $(LCMS_CFLAGS), \
   378         $(LCMS_CFLAGS), \
   401     CFLAGS_solaris := -xc99=no_lib, \
   379     CFLAGS_solaris := -xc99=no_lib, \
   402     CFLAGS_windows := -DCMS_IS_WINDOWS_, \
   380     CFLAGS_windows := -DCMS_IS_WINDOWS_, \
       
   381     EXTRA_HEADER_DIRS := \
       
   382         common/awt/debug \
       
   383         libawt/java2d, \
       
   384     HEADERS_FROM_SRC := $(LIBLCMS_HEADERS_FROM_SRC), \
   403     DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation, \
   385     DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation, \
   404     DISABLED_WARNINGS_clang := tautological-compare, \
   386     DISABLED_WARNINGS_clang := tautological-compare, \
   405     DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
   387     DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
   406     DISABLED_WARNINGS_microsoft := 4819, \
   388     DISABLED_WARNINGS_microsoft := 4819, \
   407     MAPFILE := $(TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \
       
   408     LDFLAGS := $(LDFLAGS_JDKLIB) \
   389     LDFLAGS := $(LDFLAGS_JDKLIB) \
   409         $(call SET_SHARED_LIBRARY_ORIGIN), \
   390         $(call SET_SHARED_LIBRARY_ORIGIN), \
   410     LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   391     LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   411     LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \
   392     LIBS_unix := -lawt -ljvm -ljava $(LCMS_LIBS) $(LIBM), \
   412     LIBS_unix := -lawt -ljvm -ljava $(LCMS_LIBS), \
       
   413     LIBS_linux := $(LIBM), \
       
   414     LIBS_macosx := $(LIBM), \
       
   415     LIBS_aix := $(LIBM),\
       
   416     LIBS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
   393     LIBS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
   417 ))
   394 ))
   418 
   395 
   419 TARGETS += $(BUILD_LIBLCMS)
   396 TARGETS += $(BUILD_LIBLCMS)
   420 
   397 
   421 $(BUILD_LIBLCMS): $(BUILD_LIBAWT)
   398 $(BUILD_LIBLCMS): $(BUILD_LIBAWT)
   422 
   399 
   423 ################################################################################
   400 ################################################################################
   424 
   401 
   425 LIBJAVAJPEG_SRC += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg
   402 # "DISABLED_WARNINGS_gcc := clobbered" rationale:
   426 
       
   427 BUILD_LIBJAVAJPEG_REORDER :=
       
   428 ifeq ($(OPENJDK_TARGET_OS), solaris)
       
   429   ifneq ($(OPENJDK_TARGET_CPU), x86_64)
       
   430     BUILD_LIBJAVAJPEG_REORDER := $(TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
       
   431   endif
       
   432 endif
       
   433 
       
   434 
       
   435 # Suppress gcc warnings like "variable might be clobbered by 'longjmp'
   403 # Suppress gcc warnings like "variable might be clobbered by 'longjmp'
   436 # or 'vfork'": this warning indicates that some variable is placed to
   404 # or 'vfork'": this warning indicates that some variable is placed to
   437 # a register by optimized compiler and it's value might be lost on longjmp().
   405 # a register by optimized compiler and it's value might be lost on longjmp().
   438 # Recommended way to avoid such warning is to declare the variable as
   406 # Recommended way to avoid such warning is to declare the variable as
   439 # volatile to prevent the optimization. However, this approach does not
   407 # volatile to prevent the optimization. However, this approach does not
   440 # work because we have to declare all variables as volatile in result.
   408 # work because we have to declare all variables as volatile in result.
   441 #ifndef CROSS_COMPILE_ARCH
       
   442 #  CC_43_OR_NEWER := \
       
   443 #      $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
       
   444 #          \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
       
   445 #  ifeq ($(CC_43_OR_NEWER), 1)
       
   446 #    BUILD_LIBJAVAJPEG_CFLAGS_linux += -Wno-clobbered
       
   447 #  endif
       
   448 #endif
       
   449 
   409 
   450 ifeq ($(USE_EXTERNAL_LIBJPEG), true)
   410 ifeq ($(USE_EXTERNAL_LIBJPEG), true)
   451   LIBJPEG_LIBS := -ljpeg
   411   LIBJPEG_LIBS := -ljpeg
   452   BUILD_LIBJAVAJPEG_INCLUDE_FILES := \
   412   BUILD_LIBJAVAJPEG_INCLUDE_FILES := \
   453       imageioJPEG.c \
   413       imageioJPEG.c \
   454       jpegdecoder.c
   414       jpegdecoder.c
   455   BUILD_LIBJAVAJPEG_HEADERS :=
   415   # If we're using an external library, we can't include our own SRC path
       
   416   # as includes, instead the system headers should be used.
       
   417   LIBJPEG_HEADERS_FROM_SRC := false
   456 else
   418 else
   457   LIBJPEG_LIBS :=
   419   LIBJPEG_LIBS :=
   458   BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
   420   BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
   459   BUILD_LIBJAVAJPEG_HEADERS := $(addprefix -I, $(LIBJAVAJPEG_SRC))
       
   460 endif
   421 endif
   461 
   422 
   462 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \
   423 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \
   463     NAME := javajpeg, \
   424     NAME := javajpeg, \
   464     SRC := $(LIBJAVAJPEG_SRC), \
       
   465     INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
   425     INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
   466     OPTIMIZATION := HIGHEST, \
   426     OPTIMIZATION := HIGHEST, \
   467     CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBJAVAJPEG_HEADERS) \
   427     CFLAGS := $(CFLAGS_JDKLIB), \
   468         $(LIBJAVA_HEADER_FLAGS) \
   428     HEADERS_FROM_SRC := $(LIBJPEG_HEADERS_FROM_SRC), \
   469         -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop, \
       
   470     DISABLED_WARNINGS_gcc := clobbered implicit-fallthrough shift-negative-value, \
   429     DISABLED_WARNINGS_gcc := clobbered implicit-fallthrough shift-negative-value, \
   471     MAPFILE := $(TOPDIR)/make/mapfiles/libjpeg/mapfile-vers, \
       
   472     LDFLAGS := $(LDFLAGS_JDKLIB) \
   430     LDFLAGS := $(LDFLAGS_JDKLIB) \
   473         $(call SET_SHARED_LIBRARY_ORIGIN), \
   431         $(call SET_SHARED_LIBRARY_ORIGIN), \
   474     LIBS := $(LIBJPEG_LIBS) $(JDKLIB_LIBS), \
   432     LIBS := $(LIBJPEG_LIBS) $(JDKLIB_LIBS), \
   475     LIBS_windows := $(WIN_JAVA_LIB) jvm.lib, \
   433     LIBS_windows := $(WIN_JAVA_LIB) jvm.lib, \
   476     REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
       
   477 ))
   434 ))
   478 
   435 
   479 $(BUILD_LIBJAVAJPEG): $(call FindLib, java.base, java)
   436 $(BUILD_LIBJAVAJPEG): $(call FindLib, java.base, java)
   480 
   437 
   481 TARGETS += $(BUILD_LIBJAVAJPEG)
   438 TARGETS += $(BUILD_LIBJAVAJPEG)
   483 ################################################################################
   440 ################################################################################
   484 
   441 
   485 # Mac and Windows only use the native AWT lib, do not build libawt_headless
   442 # Mac and Windows only use the native AWT lib, do not build libawt_headless
   486 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
   443 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
   487 
   444 
   488   LIBAWT_HEADLESS_DIRS := $(TOPDIR)/src/java.desktop/unix/native/libawt_headless/awt \
   445   LIBAWT_HEADLESS_EXTRA_SRC := \
   489       $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
   446       common/font \
   490       $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d \
   447       common/java2d \
   491       $(TOPDIR)/src/java.desktop/share/native/common/java2d \
   448       $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
   492       $(TOPDIR)/src/java.desktop/share/native/common/font \
       
   493       #
   449       #
   494 
   450 
   495   LIBAWT_HEADLESS_EXCLUDES := medialib
   451   LIBAWT_HEADLESS_EXCLUDES := medialib
   496   LIBAWT_HEADLESS_CFLAGS := -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
   452 
   497       $(addprefix -I, $(LIBAWT_HEADLESS_DIRS)) \
   453   LIBAWT_HEADLESS_EXTRA_HEADER_DIRS := \
   498       -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
   454       $(LIBAWT_DEFAULT_HEADER_DIRS) \
   499       -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
   455       common/awt/debug \
   500       -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \
   456       common/font \
   501       -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/java2d \
   457       common/java2d/opengl \
   502       -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
   458       #
   503       -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe \
   459 
   504       -I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
   460   LIBAWT_HEADLESS_CFLAGS := $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) $(X_CFLAGS) \
   505       -I$(TOPDIR)/src/java.desktop/share/native/common/font \
   461       -DHEADLESS=true -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
   506       -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/font \
       
   507       -I$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
       
   508       -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d/opengl \
       
   509       $(LIBJAVA_HEADER_FLAGS) \
       
   510       #
       
   511 
       
   512   LIBAWT_HEADLESS_REORDER :=
       
   513   ifeq ($(OPENJDK_TARGET_OS), solaris)
       
   514     ifneq ($(OPENJDK_TARGET_CPU), x86_64)
       
   515       LIBAWT_HEADLESS_REORDER := $(TOPDIR)/make/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
       
   516     endif
       
   517   endif
       
   518 
   462 
   519   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
   463   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
   520       NAME := awt_headless, \
   464       NAME := awt_headless, \
   521       SRC := $(LIBAWT_HEADLESS_DIRS), \
   465       EXTRA_SRC := $(LIBAWT_HEADLESS_EXTRA_SRC), \
   522       EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
   466       EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
   523       OPTIMIZATION := LOW, \
   467       OPTIMIZATION := LOW, \
   524       CFLAGS := $(CFLAGS_JDKLIB) \
   468       CFLAGS := $(CFLAGS_JDKLIB) \
   525           -DHEADLESS=true \
       
   526           -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
       
   527           $(CUPS_CFLAGS) \
       
   528           $(FONTCONFIG_CFLAGS) \
       
   529           $(X_CFLAGS) \
       
   530           $(LIBAWT_HEADLESS_CFLAGS), \
   469           $(LIBAWT_HEADLESS_CFLAGS), \
       
   470       EXTRA_HEADER_DIRS := $(LIBAWT_HEADLESS_EXTRA_HEADER_DIRS), \
   531       DISABLED_WARNINGS_xlc := 1506-356, \
   471       DISABLED_WARNINGS_xlc := 1506-356, \
   532       DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \
   472       DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \
   533       MAPFILE := $(TOPDIR)/make/mapfiles/libawt_headless/mapfile-vers, \
       
   534       LDFLAGS := $(LDFLAGS_JDKLIB) \
   473       LDFLAGS := $(LDFLAGS_JDKLIB) \
   535           $(call SET_SHARED_LIBRARY_ORIGIN), \
   474           $(call SET_SHARED_LIBRARY_ORIGIN), \
   536       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   475       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   537       REORDER := $(LIBAWT_HEADLESS_REORDER), \
       
   538       LIBS_unix := -lawt -ljvm -ljava, \
   476       LIBS_unix := -lawt -ljvm -ljava, \
   539       LIBS_linux := $(LIBM) $(LIBDL), \
   477       LIBS_linux := $(LIBM) $(LIBDL), \
   540       LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX), \
   478       LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX), \
   541   ))
   479   ))
   542 
   480 
   551 endif
   489 endif
   552 
   490 
   553 ################################################################################
   491 ################################################################################
   554 
   492 
   555 ifeq ($(FREETYPE_TO_USE), system)
   493 ifeq ($(FREETYPE_TO_USE), system)
       
   494   # For use by libfontmanager:
   556   LIBFREETYPE_CFLAGS := $(FREETYPE_CFLAGS)
   495   LIBFREETYPE_CFLAGS := $(FREETYPE_CFLAGS)
   557   LIBFREETYPE_LIBS := $(FREETYPE_LIBS)
   496   LIBFREETYPE_LIBS := $(FREETYPE_LIBS)
   558 else
   497 else
   559   LIBFREETYPE_SRC := $(TOPDIR)/src/java.desktop/share/native/libfreetype
   498   BUILD_LIBFREETYPE_HEADER_DIRS := $(TOPDIR)/src/$(MODULE)/share/native/libfreetype/include
   560   BUILD_LIBFREETYPE_HEADERS := $(addprefix -I, $(LIBFREETYPE_SRC)/include)
   499   BUILD_LIBFREETYPE_CFLAGS := -DFT2_BUILD_LIBRARY $(EXPORT_ALL_SYMBOLS)
   561   LIBFREETYPE_CFLAGS := $(BUILD_LIBFREETYPE_HEADERS)
   500 
       
   501   # For use by libfontmanager:
       
   502   LIBFREETYPE_CFLAGS := -I$(BUILD_LIBFREETYPE_HEADER_DIRS)
   562   ifeq ($(OPENJDK_TARGET_OS), windows)
   503   ifeq ($(OPENJDK_TARGET_OS), windows)
   563     LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
   504     LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
   564   else
   505   else
   565     LIBFREETYPE_LIBS := -lfreetype
   506     LIBFREETYPE_LIBS := -lfreetype
   566   endif
   507   endif
   567 
   508 
   568   $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
   509   $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
   569       NAME := freetype, \
   510       NAME := freetype, \
   570       SRC := $(LIBFREETYPE_SRC)/src, \
       
   571       OPTIMIZATION := HIGHEST, \
   511       OPTIMIZATION := HIGHEST, \
   572       CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFREETYPE_HEADERS) \
   512       CFLAGS := $(CFLAGS_JDKLIB) \
   573           -DFT2_BUILD_LIBRARY, \
   513           $(BUILD_LIBFREETYPE_CFLAGS), \
       
   514       EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
   574       DISABLED_WARNINGS_solstudio := \
   515       DISABLED_WARNINGS_solstudio := \
   575          E_STATEMENT_NOT_REACHED \
   516          E_STATEMENT_NOT_REACHED \
   576          E_END_OF_LOOP_CODE_NOT_REACHED, \
   517          E_END_OF_LOOP_CODE_NOT_REACHED, \
   577       DISABLED_WARNINGS_microsoft := 4267 2220 4244, \
   518       DISABLED_WARNINGS_microsoft := 4267 2220 4244, \
   578       LDFLAGS := $(LDFLAGS_JDKLIB) \
   519       LDFLAGS := $(LDFLAGS_JDKLIB) \
   582   TARGETS += $(BUILD_LIBFREETYPE)
   523   TARGETS += $(BUILD_LIBFREETYPE)
   583 endif
   524 endif
   584 
   525 
   585 ###########################################################################
   526 ###########################################################################
   586 
   527 
   587 LIBFONTMANAGER_SRC := $(TOPDIR)/src/java.desktop/share/native/libfontmanager \
       
   588     $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libfontmanager
       
   589 LIBFONTMANAGER_CFLAGS := \
       
   590     $(addprefix -I, $(shell $(FIND) \
       
   591       $(LIBFONTMANAGER_SRC) \
       
   592       $(TOPDIR)/src/java.desktop/share/native/libawt \
       
   593       $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \
       
   594       $(TOPDIR)/src/java.desktop/share/native/common \
       
   595       $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common -type d)) \
       
   596     -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
       
   597     $(LIBJAVA_HEADER_FLAGS) \
       
   598     #
       
   599 
       
   600 #### Begin harfbuzz configuration
   528 #### Begin harfbuzz configuration
   601 
   529 
   602 HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN
   530 HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN
   603 
   531 
   604 ifneq ($(OPENJDK_TARGET_OS), windows)
   532 ifneq ($(OPENJDK_TARGET_OS), windows)
   622 
   550 
   623 LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS)
   551 LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS)
   624 
   552 
   625 #### End harfbuzz configuration
   553 #### End harfbuzz configuration
   626 
   554 
       
   555 LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
       
   556     libfontmanager/harfbuzz \
       
   557     libfontmanager/harfbuzz/hb-ucdn \
       
   558     common/awt \
       
   559     common/font \
       
   560     libawt/java2d \
       
   561     libawt/java2d/pipe \
       
   562     libawt/java2d/loops \
       
   563     #
       
   564 
   627 LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS)
   565 LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS)
   628 # This may be overridden in a custom makefile
       
   629 BUILD_LIBFONTMANAGER_MAPFILE ?= $(TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers
       
   630 BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS)
   566 BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS)
   631 
   567 
   632 LIBFONTMANAGER_OPTIMIZATION := HIGH
   568 LIBFONTMANAGER_OPTIMIZATION := HIGH
   633 
   569 
   634 ifeq ($(OPENJDK_TARGET_OS), windows)
   570 ifeq ($(OPENJDK_TARGET_OS), windows)
   635   LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
   571   LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
   636       X11TextRenderer.c
   572       X11TextRenderer.c
   637   LIBFONTMANAGER_OPTIMIZATION := HIGHEST
   573   LIBFONTMANAGER_OPTIMIZATION := HIGHEST
   638   LIBFONTMANAGER_CFLAGS += -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows
       
   639 else ifeq ($(OPENJDK_TARGET_OS), macosx)
   574 else ifeq ($(OPENJDK_TARGET_OS), macosx)
   640   LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
   575   LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
   641       X11TextRenderer.c \
   576       X11TextRenderer.c \
   642       fontpath.c \
   577       fontpath.c \
   643       lcdglyph.c
   578       lcdglyph.c
   644 else
   579 else
   645   LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
   580   LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
   646       lcdglyph.c
   581       lcdglyph.c
   647 endif
   582 endif
   648 
   583 
   649 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
   584 LIBFONTMANAGER_CFLAGS += $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
   650 
   585 
   651 ifeq ($(TOOLCHAIN_TYPE), gcc)
   586 ifeq ($(TOOLCHAIN_TYPE), gcc)
   652   # Turn off all warnings for sunFont.c. This is needed because the specific warning
   587   # Turn off all warnings for sunFont.c. This is needed because the specific warning
   653   # about discarding 'const' qualifier cannot be turned off individually.
   588   # about discarding 'const' qualifier cannot be turned off individually.
   654   BUILD_LIBFONTMANAGER_sunFont.c_CFLAGS := -w
   589   BUILD_LIBFONTMANAGER_sunFont.c_CFLAGS := -w
   655   # Turn off aliasing with GCC for ExtensionSubtables.cpp
   590   # Turn off aliasing with GCC for ExtensionSubtables.cpp
   656   BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
   591   BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
   657 endif
   592 endif
   658 
   593 
       
   594 # LDFLAGS clarification:
       
   595 #   Filter relevant linker flags disallowing unresolved symbols as we cannot
       
   596 #   build-time decide to which library to link against (libawt_headless or
       
   597 #   libawt_xawt). See JDK-8196516 for details.
   659 $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
   598 $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
   660     NAME := fontmanager, \
   599     NAME := fontmanager, \
   661     SRC := $(LIBFONTMANAGER_SRC), \
       
   662     EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
   600     EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
   663         AccelGlyphCache.c, \
   601         AccelGlyphCache.c, \
   664     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
   602     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
   665     CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
   603     CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
   666     CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
   604     CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
   667     OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
   605     OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
   668     CFLAGS_windows = -DCC_NOEX, \
   606     CFLAGS_windows = -DCC_NOEX, \
       
   607     EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
   669     WARNINGS_AS_ERRORS_xlc := false, \
   608     WARNINGS_AS_ERRORS_xlc := false, \
   670     DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \
   609     DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \
   671         type-limits missing-field-initializers implicit-fallthrough, \
   610         type-limits missing-field-initializers implicit-fallthrough, \
   672     DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
   611     DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
   673         maybe-uninitialized, \
   612         maybe-uninitialized, \
   679         E_ENUM_VAL_OVERFLOWS_INT_MAX, \
   618         E_ENUM_VAL_OVERFLOWS_INT_MAX, \
   680     DISABLED_WARNINGS_CXX_solstudio := \
   619     DISABLED_WARNINGS_CXX_solstudio := \
   681         truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
   620         truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
   682         hidevf w_novirtualdescr arrowrtn2, \
   621         hidevf w_novirtualdescr arrowrtn2, \
   683     DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101, \
   622     DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101, \
   684     MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
   623     LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
   685     LDFLAGS := $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
   624         $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
   686         $(call SET_SHARED_LIBRARY_ORIGIN), \
   625         $(call SET_SHARED_LIBRARY_ORIGIN), \
   687     LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   626     LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   688     LDFLAGS_macosx := -undefined dynamic_lookup, \
   627     LDFLAGS_aix := -Wl$(COMMA)-berok, \
   689     LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
   628     LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
   690     LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
   629     LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
   691     LIBS_aix := -lawt_headless,\
   630     LIBS_macosx := -lawt_lwawt -framework CoreText -framework CoreFoundation \
       
   631         -framework CoreGraphics, \
   692     LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
   632     LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
   693         $(WIN_AWT_LIB), \
   633         $(WIN_AWT_LIB), \
   694 ))
   634 ))
   695 
   635 
   696 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
   636 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
   697 
   637 
   698 ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix))
   638 ifeq ($(OPENJDK_TARGET_OS), macosx)
   699   $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_HEADLESS)
   639   $(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt)
   700 endif
   640 endif
   701 
   641 
   702 ifeq ($(FREETYPE_TO_USE), bundled)
   642 ifeq ($(FREETYPE_TO_USE), bundled)
   703   $(BUILD_LIBFONTMANAGER): $(BUILD_LIBFREETYPE)
   643   $(BUILD_LIBFONTMANAGER): $(BUILD_LIBFREETYPE)
   704 endif
   644 endif
   706 TARGETS += $(BUILD_LIBFONTMANAGER)
   646 TARGETS += $(BUILD_LIBFONTMANAGER)
   707 
   647 
   708 ################################################################################
   648 ################################################################################
   709 
   649 
   710 ifeq ($(OPENJDK_TARGET_OS), windows)
   650 ifeq ($(OPENJDK_TARGET_OS), windows)
   711   LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libjawt
   651 
   712   LIBJAWT_CFLAGS := -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows \
   652   LIBJAWT_CFLAGS := -EHsc -DUNICODE -D_UNICODE
   713       -I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
   653 
   714       -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \
   654   LIBJAWT_EXTRA_HEADER_DIRS := \
   715       -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
   655       include \
   716       -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/java2d/windows \
   656       common/awt/debug \
   717       -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
   657       libawt/awt/image/cvutils \
   718       -I$(TOPDIR)/src/java.desktop/windows/native/include \
   658       libawt/java2d \
   719       -I$(TOPDIR)/src/java.desktop/share/native/include \
   659       libawt/java2d/windows \
   720       $(LIBJAVA_HEADER_FLAGS) \
   660       libawt/windows \
       
   661       java.base:include \
       
   662       java.base:libjava \
   721       #
   663       #
   722 
   664 
   723   ifeq ($(OPENJDK_TARGET_CPU), x86)
   665   ifeq ($(OPENJDK_TARGET_CPU), x86)
   724     KERNEL32_LIB := kernel32.lib
   666     KERNEL32_LIB := kernel32.lib
   725   endif
   667   endif
       
   668 
   726   $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
   669   $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
   727       NAME := jawt, \
   670       NAME := jawt, \
   728       SRC := $(LIBJAWT_SRC), \
       
   729       INCLUDE_FILES := $(LIBJAWT_INCLUDE_FILES), \
       
   730       OPTIMIZATION := LOW, \
   671       OPTIMIZATION := LOW, \
   731       CFLAGS := $(CXXFLAGS_JDKLIB) \
   672       CFLAGS := $(CXXFLAGS_JDKLIB) \
   732           -EHsc -DUNICODE -D_UNICODE \
       
   733           $(LIBJAWT_CFLAGS), \
   673           $(LIBJAWT_CFLAGS), \
       
   674       EXTRA_HEADER_DIRS := $(LIBJAWT_EXTRA_HEADER_DIRS), \
   734       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
   675       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
   735       LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \
   676       LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \
   736   ))
   677   ))
   737 
   678 
   738   $(BUILD_LIBJAWT): $(BUILD_LIBAWT)
   679   $(BUILD_LIBJAWT): $(BUILD_LIBAWT)
   739 
   680 
   740   $(eval $(call SetupCopyFiles, COPY_JAWT_LIB, \
   681   $(eval $(call SetupCopyFiles, COPY_JAWT_LIB, \
   741       FILES := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX), \
   682       FILES := $(BUILD_LIBJAWT_IMPORT_LIBRARY), \
   742       DEST := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \
   683       DEST := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \
   743   ))
   684   ))
   744 
   685 
   745   $(COPY_JAWT_LIB): $(BUILD_LIBJAWT)
   686   $(COPY_JAWT_LIB): $(BUILD_LIBJAWT)
   746 
   687 
   747   TARGETS += $(COPY_JAWT_LIB)
   688   TARGETS += $(COPY_JAWT_LIB)
   748 
   689 
   749 else # OPENJDK_TARGET_OS not windows
   690 else # OPENJDK_TARGET_OS not windows
   750 
   691 
   751   ifeq ($(OPENJDK_TARGET_OS), macosx)
   692   ifeq ($(OPENJDK_TARGET_OS), macosx)
   752     LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/macosx/native/libjawt
   693     # libjawt on macosx do not use the unix code
   753   else
   694     LIBJAWT_EXCLUDE_SRC_PATTERNS := unix
   754     LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libjawt
   695   endif
   755   endif
       
   756   LIBJAWT_CFLAGS := \
       
   757       -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
       
   758       -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/include \
       
   759       -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/include \
       
   760       -I$(TOPDIR)/src/java.desktop/share/native/include \
       
   761       $(LIBJAVA_HEADER_FLAGS) \
       
   762       #
       
   763 
   696 
   764   ifeq ($(OPENJDK_TARGET_OS), macosx)
   697   ifeq ($(OPENJDK_TARGET_OS), macosx)
   765     JAWT_LIBS := -lawt_lwawt
   698     JAWT_LIBS := -lawt_lwawt
   766   else
   699   else
   767     JAWT_LIBS :=
   700     JAWT_LIBS :=
   770     endif
   703     endif
   771     ifeq ($(ENABLE_HEADLESS_ONLY), false)
   704     ifeq ($(ENABLE_HEADLESS_ONLY), false)
   772       JAWT_LIBS += -lawt_xawt
   705       JAWT_LIBS += -lawt_xawt
   773     else
   706     else
   774       JAWT_LIBS += -lawt_headless
   707       JAWT_LIBS += -lawt_headless
   775       HEADLESS_CFLAG += -DHEADLESS
   708       ifeq ($(OPENJDK_TARGET_OS), linux)
       
   709         JAWT_CFLAGS += -DHEADLESS
       
   710       endif
   776     endif
   711     endif
   777   endif
   712   endif
   778 
   713 
   779   $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
   714   $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
   780       NAME := jawt, \
   715       NAME := jawt, \
   781       SRC := $(LIBJAWT_SRC), \
   716       EXCLUDE_SRC_PATTERNS := $(LIBJAWT_EXCLUDE_SRC_PATTERNS), \
   782       INCLUDE_FILES := $(JAWT_FILES), \
   717       INCLUDE_FILES := $(JAWT_FILES), \
   783       OPTIMIZATION := LOW, \
   718       OPTIMIZATION := LOW, \
   784       CFLAGS := $(CFLAGS_JDKLIB) \
   719       CFLAGS := $(CFLAGS_JDKLIB) \
   785           $(LIBJAWT_CFLAGS), \
   720           $(JAWT_CFLAGS), \
   786       CFLAGS_linux := $(HEADLESS_CFLAG), \
   721       EXTRA_HEADER_DIRS := \
   787       CFLAGS_macosx := $(LIBJAWT_CFLAGS_macosx), \
   722           include \
   788       MAPFILE := $(TOPDIR)/make/mapfiles/libjawt/mapfile-vers, \
   723           common/awt, \
   789       LDFLAGS := $(LDFLAGS_JDKLIB) \
   724       LDFLAGS := $(LDFLAGS_JDKLIB) \
   790           $(call SET_SHARED_LIBRARY_ORIGIN), \
   725           $(call SET_SHARED_LIBRARY_ORIGIN), \
   791       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   726       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   792       LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \
   727       LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \
   793       LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \
   728       LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \
   811 
   746 
   812 ################################################################################
   747 ################################################################################
   813 
   748 
   814 ifeq ($(ENABLE_HEADLESS_ONLY), false)
   749 ifeq ($(ENABLE_HEADLESS_ONLY), false)
   815 
   750 
   816   LIBSPLASHSCREEN_DIRS := \
   751   LIBSPLASHSCREEN_EXTRA_SRC := \
   817       $(TOPDIR)/src/java.desktop/share/native/libjavajpeg \
   752       common/awt/systemscale \
   818       $(TOPDIR)/src/java.desktop/share/native/libsplashscreen \
   753       #
   819       #
   754 
   820 
   755   ifeq ($(USE_EXTERNAL_LIBGIF), false)
   821   ifeq ($(USE_EXTERNAL_LIBGIF), true)
   756     LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/giflib
       
   757   else
       
   758     LIBSPLASHSCREEN_EXCLUDES := giflib
   822     GIFLIB_LIBS := -lgif
   759     GIFLIB_LIBS := -lgif
   823     LIBSPLASHSCREEN_EXCLUDES := giflib
   760   endif
       
   761 
       
   762   ifeq ($(USE_EXTERNAL_LIBJPEG), false)
       
   763     # While the following ought to work, it will currently pull in the closed
       
   764     # additions to this library, and this was not done previously in the build.
       
   765     # LIBSPLASHSCREEN_EXTRA_SRC += libjavajpeg
       
   766     LIBSPLASHSCREEN_EXTRA_SRC += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg
   824   else
   767   else
   825     LIBSPLASHSCREEN_CFLAGS += -I$(TOPDIR)/src/java.desktop/share/native/libsplashscreen/giflib
       
   826   endif
       
   827 
       
   828   ifeq ($(USE_EXTERNAL_LIBJPEG), true)
       
   829     LIBJPEG_LIBS := -ljpeg
   768     LIBJPEG_LIBS := -ljpeg
   830   else
       
   831     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg
       
   832     LIBJPEG_CFLAGS := -I$(TOPDIR)/src/java.desktop/share/native/libjavajpeg
       
   833   endif
   769   endif
   834 
   770 
   835   ifeq ($(USE_EXTERNAL_LIBPNG), false)
   771   ifeq ($(USE_EXTERNAL_LIBPNG), false)
   836     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libsplashscreen/libpng
   772     LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/libpng
       
   773 
       
   774     ifeq ($(OPENJDK_TARGET_OS), macosx)
       
   775       ifeq ($(USE_EXTERNAL_LIBZ), true)
       
   776         # When building our own libpng and using an external libz, we need to
       
   777         # inject our own libz.h to tweak the exported ZLIB_VERNUM macro. See
       
   778         # $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen/libpng/zlibwrapper/zlib.h
       
   779         # for details. This must be specified with -iquote, not -I to avoid a
       
   780         # circular include.
       
   781         LIBSPLASHSCREEN_CFLAGS += -iquote $(TOPDIR)/src/$(MODULE)/macosx/native/libsplashscreen/libpng/zlibwrapper
       
   782       endif
       
   783     endif
   837   else
   784   else
   838     LIBSPLASHSCREEN_EXCLUDES += libpng
   785     LIBSPLASHSCREEN_EXCLUDES += libpng
   839   endif
   786   endif
   840 
   787 
   841   ifneq ($(OPENJDK_TARGET_OS), macosx)
   788   ifeq ($(USE_EXTERNAL_LIBZ), false)
   842     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libsplashscreen
   789     LIBSPLASHSCREEN_EXTRA_SRC += java.base:libzip/zlib
   843   else
   790   endif
   844     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen
   791 
   845   endif
   792   ifeq ($(OPENJDK_TARGET_OS), macosx)
   846 
   793     # libsplashscreen on macosx do not use the unix code
   847   ifneq ($(filter $(OPENJDK_TARGET_OS),linux solaris aix), )
   794     LIBSPLASHSCREEN_EXCLUDE_SRC_PATTERNS := unix
   848     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/unix/native/common/awt/systemscale
   795   endif
   849   endif
   796 
   850 
   797   LIBSPLASHSCREEN_CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0
   851   ifeq ($(OPENJDK_TARGET_OS), windows)
       
   852     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/windows/native/common/awt/systemscale
       
   853   endif
       
   854   LIBSPLASHSCREEN_CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0 \
       
   855       $(addprefix -I, $(LIBSPLASHSCREEN_DIRS)) \
       
   856       $(LIBJAVA_HEADER_FLAGS) \
       
   857       #
       
   858 
   798 
   859   ifeq ($(OPENJDK_TARGET_OS), macosx)
   799   ifeq ($(OPENJDK_TARGET_OS), macosx)
   860     LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
   800     LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
   861     LIBSPLASHSCREEN_CFLAGS += -I$(TOPDIR)/src/java.desktop/macosx/native/libosxapp
       
   862 
   801 
   863     BUILD_LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
   802     BUILD_LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
   864     BUILD_LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
   803     BUILD_LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
   865     BUILD_LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0
   804     BUILD_LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0
   866     BUILD_LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0
   805     BUILD_LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0
   873   else
   812   else
   874     LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS)
   813     LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS)
   875   endif
   814   endif
   876 
   815 
   877   LIBSPLASHSCREEN_LIBS :=
   816   LIBSPLASHSCREEN_LIBS :=
   878 
       
   879   ifeq ($(USE_EXTERNAL_LIBZ), false)
       
   880     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.base/share/native/libzip/zlib
       
   881   else
       
   882     ifeq ($(OPENJDK_TARGET_OS), macosx)
       
   883       ifeq ($(USE_EXTERNAL_LIBPNG), false)
       
   884         # When building our own libpng and using an external libz, we need to
       
   885         # inject our own libz.h to tweak the exported ZLIB_VERNUM macro. See
       
   886         # $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen/libpng/zlib.h
       
   887         # for details.
       
   888         LIBSPLASHSCREEN_CFLAGS += -iquote $(TOPDIR)/src/java.desktop/macosx/native/libsplashscreen/libpng
       
   889       endif
       
   890     endif
       
   891   endif
       
   892 
   817 
   893   ifeq ($(OPENJDK_TARGET_OS), macosx)
   818   ifeq ($(OPENJDK_TARGET_OS), macosx)
   894     LIBSPLASHSCREEN_LIBS += \
   819     LIBSPLASHSCREEN_LIBS += \
   895         $(LIBM) -lpthread -liconv -losxapp \
   820         $(LIBM) -lpthread -liconv -losxapp \
   896         -framework ApplicationServices \
   821         -framework ApplicationServices \
   901     LIBSPLASHSCREEN_LIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib
   826     LIBSPLASHSCREEN_LIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib
   902   else
   827   else
   903     LIBSPLASHSCREEN_LIBS += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread -ldl
   828     LIBSPLASHSCREEN_LIBS += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread -ldl
   904   endif
   829   endif
   905 
   830 
       
   831   LIBSPLASHSCREEN_HEADER_DIRS += \
       
   832       libosxapp \
       
   833       java.base:include \
       
   834       java.base:libjava \
       
   835       #
       
   836 
   906   $(eval $(call SetupJdkLibrary, BUILD_LIBSPLASHSCREEN, \
   837   $(eval $(call SetupJdkLibrary, BUILD_LIBSPLASHSCREEN, \
   907       NAME := splashscreen, \
   838       NAME := splashscreen, \
   908       SRC := $(LIBSPLASHSCREEN_DIRS), \
   839       EXTRA_SRC := $(LIBSPLASHSCREEN_EXTRA_SRC), \
       
   840       EXCLUDE_SRC_PATTERNS := $(LIBSPLASHSCREEN_EXCLUDE_SRC_PATTERNS), \
   909       EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
   841       EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
   910       EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
   842       EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
   911       OPTIMIZATION := LOW, \
   843       OPTIMIZATION := LOW, \
   912       CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
   844       CFLAGS := $(CFLAGS_JDKLIB) $(LIBSPLASHSCREEN_CFLAGS) \
   913           $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
   845           $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
       
   846       EXTRA_HEADER_DIRS := $(LIBSPLASHSCREEN_HEADER_DIRS), \
   914       DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \
   847       DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \
   915           maybe-uninitialized shift-negative-value implicit-fallthrough, \
   848           maybe-uninitialized shift-negative-value implicit-fallthrough, \
   916       DISABLED_WARNINGS_clang := incompatible-pointer-types, \
   849       DISABLED_WARNINGS_clang := incompatible-pointer-types, \
   917       DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
   850       DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
   918       DISABLED_WARNINGS_microsoft := 4018 4244 4267, \
   851       DISABLED_WARNINGS_microsoft := 4018 4244 4267, \
   919       MAPFILE := $(TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
       
   920       LDFLAGS := $(LDFLAGS_JDKLIB) \
   852       LDFLAGS := $(LDFLAGS_JDKLIB) \
   921           $(call SET_SHARED_LIBRARY_ORIGIN), \
   853           $(call SET_SHARED_LIBRARY_ORIGIN), \
   922       LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
   854       LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
   923       LDFLAGS_windows := -delayload:user32.dll, \
   855       LDFLAGS_windows := -delayload:user32.dll, \
   924       LIBS := $(JDKLIB_LIBS) $(LIBSPLASHSCREEN_LIBS) $(LIBZ_LIBS) \
   856       LIBS := $(JDKLIB_LIBS) $(LIBSPLASHSCREEN_LIBS) $(LIBZ_LIBS) \
   927   ))
   859   ))
   928 
   860 
   929   TARGETS += $(BUILD_LIBSPLASHSCREEN)
   861   TARGETS += $(BUILD_LIBSPLASHSCREEN)
   930 
   862 
   931   ifeq ($(OPENJDK_TARGET_OS), macosx)
   863   ifeq ($(OPENJDK_TARGET_OS), macosx)
   932     $(BUILD_LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
   864     $(BUILD_LIBSPLASHSCREEN): $(call FindLib, $(MODULE), osxapp)
   933   endif
   865   endif
   934 
   866 
   935 endif
   867 endif
   936 
   868 
   937 ################################################################################
   869 ################################################################################
   938 
   870 
   939 ifeq ($(OPENJDK_TARGET_OS), macosx)
   871 ifeq ($(OPENJDK_TARGET_OS), macosx)
   940 
   872 
   941   LIBAWT_LWAWT_DIRS := \
   873   LIBAWT_LWAWT_EXTRA_SRC := \
   942       $(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt \
   874       $(TOPDIR)/src/$(MODULE)/unix/native/common/awt \
   943       $(TOPDIR)/src/java.desktop/unix/native/common/awt \
   875       $(TOPDIR)/src/$(MODULE)/share/native/common/font \
   944       $(TOPDIR)/src/java.desktop/share/native/common/font \
   876       $(TOPDIR)/src/$(MODULE)/share/native/common/java2d \
   945       $(TOPDIR)/src/java.desktop/share/native/common/java2d \
   877       #
   946       #
   878 
   947 
   879   LIBAWT_LWAWT_EXTRA_HEADER_DIRS := \
   948   LIBAWT_LWAWT_CFLAGS := \
   880       $(LIBAWT_DEFAULT_HEADER_DIRS) \
   949       $(addprefix -I, $(LIBAWT_LWAWT_DIRS)) \
   881       libawt_lwawt/awt \
   950       -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
   882       libawt_lwawt/font \
   951       -I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/awt \
   883       libawt_lwawt/java2d/opengl \
   952       -I$(TOPDIR)/src/java.desktop/unix/native/libawt_xawt/awt \
   884       include \
   953       -I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/font \
   885       common/awt/debug \
   954       -I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl \
   886       common/java2d/opengl \
   955       -I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
   887       libosxapp \
   956       -I$(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
   888       #
   957       -I$(TOPDIR)/src/java.desktop/macosx/native/include \
   889 
   958       -I$(TOPDIR)/src/java.desktop/share/native/include \
   890   LIBAWT_LWAWT_CFLAGS := $(X_CFLAGS) $(X_LIBS)
   959       -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
       
   960       -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
       
   961       -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d \
       
   962       -I$(TOPDIR)/src/java.desktop/unix/native/libawt/java2d \
       
   963       -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
       
   964       -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe \
       
   965       -I$(TOPDIR)/src/java.desktop/share/native/libmlib_image/ \
       
   966       -I$(TOPDIR)/src/java.desktop/macosx/native/libosxapp \
       
   967       $(LIBJAVA_HEADER_FLAGS) \
       
   968       #
       
   969 
   891 
   970   LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
   892   LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
   971   LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib
   893   LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/$(MODULE)/unix/native/common/awt/medialib
   972 
   894 
   973   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_LWAWT, \
   895   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_LWAWT, \
   974       NAME := awt_lwawt, \
   896       NAME := awt_lwawt, \
   975       SRC := $(LIBAWT_LWAWT_DIRS), \
   897       EXTRA_SRC := $(LIBAWT_LWAWT_EXTRA_SRC), \
   976       INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
   898       INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
   977       EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
   899       EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
   978       EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
   900       EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
   979       OPTIMIZATION := LOW, \
   901       OPTIMIZATION := LOW, \
   980       CFLAGS := $(CFLAGS_JDKLIB) \
   902       CFLAGS := $(CFLAGS_JDKLIB) \
   981           $(X_CFLAGS) \
       
   982           $(X_LIBS) \
       
   983           $(LIBAWT_LWAWT_CFLAGS), \
   903           $(LIBAWT_LWAWT_CFLAGS), \
       
   904       EXTRA_HEADER_DIRS := $(LIBAWT_LWAWT_EXTRA_HEADER_DIRS), \
   984       DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \
   905       DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \
   985           deprecated-declarations objc-method-access bitwise-op-parentheses \
   906           deprecated-declarations objc-method-access bitwise-op-parentheses \
   986           incompatible-pointer-types parentheses-equality extra-tokens, \
   907           incompatible-pointer-types parentheses-equality extra-tokens, \
   987       LDFLAGS := $(LDFLAGS_JDKLIB) \
   908       LDFLAGS := $(LDFLAGS_JDKLIB) \
   988           $(call SET_SHARED_LIBRARY_ORIGIN) \
   909           $(call SET_SHARED_LIBRARY_ORIGIN) \
  1005 
   926 
  1006   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBAWT)
   927   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBAWT)
  1007 
   928 
  1008   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBMLIB_IMAGE)
   929   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBMLIB_IMAGE)
  1009 
   930 
  1010   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBOSXAPP)
   931   $(BUILD_LIBAWT_LWAWT): $(call FindLib, $(MODULE), osxapp)
  1011 
   932 
  1012   $(BUILD_LIBAWT_LWAWT): $(call FindLib, java.base, java)
   933   $(BUILD_LIBAWT_LWAWT): $(call FindLib, java.base, java)
  1013 
   934 
  1014 endif
   935 endif
  1015 
   936 
  1017 
   938 
  1018 ifeq ($(OPENJDK_TARGET_OS), macosx)
   939 ifeq ($(OPENJDK_TARGET_OS), macosx)
  1019 
   940 
  1020   $(eval $(call SetupJdkLibrary, BUILD_LIBOSXUI, \
   941   $(eval $(call SetupJdkLibrary, BUILD_LIBOSXUI, \
  1021       NAME := osxui, \
   942       NAME := osxui, \
  1022       SRC := $(TOPDIR)/src/java.desktop/macosx/native/libosxui, \
       
  1023       OPTIMIZATION := LOW, \
   943       OPTIMIZATION := LOW, \
  1024       CFLAGS := $(CFLAGS_JDKLIB) \
   944       CFLAGS := $(CFLAGS_JDKLIB), \
  1025           -I$(TOPDIR)/src/java.desktop/macosx/native/libosxui \
   945       EXTRA_HEADER_DIRS := \
  1026           -I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/awt \
   946           libawt_lwawt/awt \
  1027           -I$(TOPDIR)/src/java.desktop/macosx/native/libosxapp \
   947           libosxapp, \
  1028           -I$(TOPDIR)/src/java.base/share/native/libjava \
   948       DISABLED_WARNINGS_clang := deprecated-declarations, \
  1029           -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
       
  1030           -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop,  \
       
  1031       LDFLAGS := $(LDFLAGS_JDKLIB) \
   949       LDFLAGS := $(LDFLAGS_JDKLIB) \
  1032           $(call SET_SHARED_LIBRARY_ORIGIN) \
   950           $(call SET_SHARED_LIBRARY_ORIGIN) \
  1033           -Wl$(COMMA)-rpath$(COMMA)@loader_path \
   951           -Wl$(COMMA)-rpath$(COMMA)@loader_path \
  1034           -L$(INSTALL_LIBRARIES_HERE), \
   952           -L$(INSTALL_LIBRARIES_HERE), \
  1035       LIBS := -lawt -losxapp -lawt_lwawt \
   953       LIBS := -lawt -losxapp -lawt_lwawt \
  1043 
   961 
  1044   TARGETS += $(BUILD_LIBOSXUI)
   962   TARGETS += $(BUILD_LIBOSXUI)
  1045 
   963 
  1046   $(BUILD_LIBOSXUI): $(BUILD_LIBAWT)
   964   $(BUILD_LIBOSXUI): $(BUILD_LIBAWT)
  1047 
   965 
  1048   $(BUILD_LIBOSXUI): $(BUILD_LIBOSXAPP)
   966   $(BUILD_LIBOSXUI): $(call FindLib, $(MODULE), osxapp)
  1049 
   967 
  1050   $(BUILD_LIBOSXUI): $(BUILD_LIBAWT_LWAWT)
   968   $(BUILD_LIBOSXUI): $(BUILD_LIBAWT_LWAWT)
  1051 
       
  1052   #$(BUILD_LIBOSXUI): $(call FindLib, java.base, java)
       
  1053 
   969 
  1054 endif
   970 endif
  1055 
   971 
  1056 ################################################################################
   972 ################################################################################
  1057 
   973