make/lib/Awt2dLibraries.gmk
branchihse-jdk-library-branch
changeset 56511 2b67c11c0db6
parent 56488 a6cb200daa5d
child 56512 c030d6f39dfd
equal deleted inserted replaced
56488:a6cb200daa5d 56511:2b67c11c0db6
    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 ################################################################################
    31 
    31 
       
    32 # We must not include java.desktop/unix/native/libmlib_image, which is only
       
    33 # for usage by solaris-sparc in libmlib_image_v.
    32 BUILD_LIBMLIB_SRC := $(TOPDIR)/src/java.desktop/share/native/libmlib_image \
    34 BUILD_LIBMLIB_SRC := $(TOPDIR)/src/java.desktop/share/native/libmlib_image \
    33     $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib
    35     $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib
    34 
    36 
    35 BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES -DMLIB_NO_LIBSUNMATH
    37 BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES -DMLIB_NO_LIBSUNMATH
    36 
    38 
   108 
   110 
   109 endif
   111 endif
   110 
   112 
   111 ################################################################################
   113 ################################################################################
   112 
   114 
   113 LIBAWT_DIRS := $(TOPDIR)/src/java.desktop/share/native/libawt \
   115 LIBAWT_EXTRA_SRC := \
   114     $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \
       
   115     $(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
   116     $(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
   116     $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
   117     $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
   117     #
   118     #
   118 
   119 
   119 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
   120 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
   120   LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib
   121   LIBAWT_EXTRA_SRC += $(TOPDIR)/src/java.desktop/share/native/common/awt/medialib
   121 endif
       
   122 
       
   123 ifeq ($(OPENJDK_TARGET_OS), aix)
       
   124   LIBAWT_DIRS += $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS)/native/libawt
       
   125 endif
   122 endif
   126 
   123 
   127 ifeq ($(OPENJDK_TARGET_OS), windows)
   124 ifeq ($(OPENJDK_TARGET_OS), windows)
   128   LIBAWT_DIRS += \
   125   LIBAWT_EXTRA_SRC += \
   129       $(TOPDIR)/src/java.desktop/share/native/common/awt/utility \
   126       $(TOPDIR)/src/java.desktop/share/native/common/awt/utility \
   130       $(TOPDIR)/src/java.desktop/share/native/common/font \
   127       $(TOPDIR)/src/java.desktop/share/native/common/font \
   131       $(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
   128       $(TOPDIR)/src/java.desktop/share/native/common/java2d/opengl \
   132       $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt/systemscale \
   129       $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt/systemscale \
   133       #
   130       #
   195   LIBAWT_CFLAGS += -fgcse-after-reload
   192   LIBAWT_CFLAGS += -fgcse-after-reload
   196 endif
   193 endif
   197 
   194 
   198 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
   195 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
   199     NAME := awt, \
   196     NAME := awt, \
   200     SRC := $(LIBAWT_DIRS), \
   197     EXTRA_SRC := $(LIBAWT_EXTRA_SRC), \
   201     EXCLUDES := $(LIBAWT_EXCLUDES), \
   198     EXCLUDES := $(LIBAWT_EXCLUDES), \
   202     EXCLUDE_FILES := $(LIBAWT_EXFILES), \
   199     EXCLUDE_FILES := $(LIBAWT_EXFILES), \
   203     OPTIMIZATION := LOW, \
   200     OPTIMIZATION := LOW, \
   204     CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
   201     CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
   205     HEADER_FLAGS := \
   202     EXTRA_HEADER_DIRS := \
   206         -I$(call FindHeaderDirForModule, java.base) \
   203         $(call FindHeaderDirForModule, java.base) \
   207         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d)) \
   204         $(call FindSrcDirsForComponent, java.desktop, libawt/java2d) \
   208         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/d3d)) \
   205         $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/d3d) \
   209         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/loops)) \
   206         $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/loops) \
   210         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/opengl)) \
   207         $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/opengl) \
   211         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/windows)) \
   208         $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/windows) \
   212         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/windows)) \
   209         $(call FindSrcDirsForComponent, java.desktop, libawt/windows) \
   213         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/awt/medialib)) \
   210         $(call FindSrcDirsForComponent, java.desktop, common/awt/medialib) \
   214         $(addprefix -I, $(call FindSrcDirsForLib, java.desktop, mlib_image)) \
   211         $(call FindSrcDirsForLib, java.desktop, mlib_image) \
   215         $(addprefix -I, $(call FindSrcDirsForLib, java.base, java)) \
   212         $(call FindSrcDirsForLib, java.base, java) \
   216         $(addprefix -I, $(call FindSrcDirsForComponent, java.base, include)) \
   213         $(call FindSrcDirsForComponent, java.base, include) \
   217         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, include)) \
   214         $(call FindSrcDirsForComponent, java.desktop, include) \
   218         -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
   215         $(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
   219         -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
   216         $(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
   220         -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/medialib \
   217         $(TOPDIR)/src/java.desktop/share/native/libawt/awt/medialib \
   221         -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe, \
   218         $(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe, \
   222     DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
   219     DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
   223         format-nonliteral parentheses, \
   220         format-nonliteral parentheses, \
   224     DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
   221     DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
   225     DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE, \
   222     DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE, \
   226     DISABLED_WARNINGS_microsoft := 4297 4244 4267 4291 4302 4311 4996, \
   223     DISABLED_WARNINGS_microsoft := 4297 4244 4267 4291 4302 4311 4996, \
   262 
   259 
   263 TARGETS += $(BUILD_LIBAWT)
   260 TARGETS += $(BUILD_LIBAWT)
   264 
   261 
   265 ################################################################################
   262 ################################################################################
   266 
   263 
   267 ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
   264 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx), )
   268   ifeq ($(ENABLE_HEADLESS_ONLY), false)
   265   ifeq ($(ENABLE_HEADLESS_ONLY), false)
   269 
   266 
   270     LIBAWT_XAWT_DIRS := \
   267     LIBAWT_XAWT_EXTRA_SRC := \
   271         $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt_xawt \
   268         $(call FindSrcDirsForComponent, java.desktop, common/awt) \
   272         $(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
   269         $(call FindSrcDirsForComponent, java.desktop, common/java2d) \
   273         $(TOPDIR)/src/java.desktop/share/native/common/awt/utility \
       
   274         $(TOPDIR)/src/java.desktop/share/native/common/font \
   270         $(TOPDIR)/src/java.desktop/share/native/common/font \
   275         $(TOPDIR)/src/java.desktop/share/native/common/java2d \
       
   276         $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d \
       
   277         $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
       
   278         #
   271         #
   279 
       
   280     ifneq ($(filter $(OPENJDK_TARGET_OS),linux solaris aix), )
       
   281       LIBAWT_XAWT_DIRS += $(TOPDIR)/src/java.desktop/unix/native/common/awt/systemscale
       
   282     endif
       
   283 
   272 
   284     LIBAWT_XAWT_EXCLUDES := medialib
   273     LIBAWT_XAWT_EXCLUDES := medialib
   285 
   274 
   286     LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \
   275     LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \
   287         -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
   276         -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
   316     endif
   305     endif
   317 
   306 
   318 
   307 
   319     $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_XAWT, \
   308     $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_XAWT, \
   320         NAME := awt_xawt, \
   309         NAME := awt_xawt, \
   321         SRC := $(LIBAWT_XAWT_DIRS), \
   310         EXTRA_SRC := $(LIBAWT_XAWT_EXTRA_SRC), \
   322         HEADER_FLAGS := \
   311         EXTRA_HEADER_DIRS := \
   323             $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt_xawt/awt)) \
   312             $(call FindSrcDirsForComponent, java.desktop, libawt_xawt/awt) \
   324             $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, include)) \
   313             $(call FindSrcDirsForComponent, java.desktop, include) \
   325             $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/java2d/opengl)) \
   314             $(call FindSrcDirsForComponent, java.desktop, common/awt/systemscale) \
   326             $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/java2d/x11)) \
   315             $(call FindSrcDirsForComponent, java.desktop, common/font) \
   327             $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/font)) \
   316             $(call FindSrcDirsForComponent, java.desktop, common/java2d/opengl) \
   328             $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d)) \
   317             $(call FindSrcDirsForComponent, java.desktop, common/java2d/x11) \
   329             -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
   318             $(call FindSrcDirsForComponent, java.desktop, libawt/java2d) \
   330             -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
   319             $(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
   331             -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
   320             $(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
   332             -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe, \
   321             $(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
       
   322             $(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe \
       
   323             $(TOPDIR)/src/java.desktop/share/native/common/awt/debug, \
   333         EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
   324         EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
   334         OPTIMIZATION := LOW, \
   325         OPTIMIZATION := LOW, \
   335         CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
   326         CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
   336             $(X_CFLAGS), \
   327             $(X_CFLAGS), \
   337         WARNINGS_AS_ERRORS_xlc := false, \
   328         WARNINGS_AS_ERRORS_xlc := false, \
   380     OPTIMIZATION := HIGHEST, \
   371     OPTIMIZATION := HIGHEST, \
   381     CFLAGS := $(LCMS_CFLAGS_JDKLIB) \
   372     CFLAGS := $(LCMS_CFLAGS_JDKLIB) \
   382         $(LCMS_CFLAGS), \
   373         $(LCMS_CFLAGS), \
   383     CFLAGS_solaris := -xc99=no_lib, \
   374     CFLAGS_solaris := -xc99=no_lib, \
   384     CFLAGS_windows := -DCMS_IS_WINDOWS_, \
   375     CFLAGS_windows := -DCMS_IS_WINDOWS_, \
   385     HEADER_FLAGS := \
   376     EXTRA_HEADER_DIRS := \
   386         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/awt/debug)) \
   377         $(call FindSrcDirsForComponent, java.desktop, common/awt/debug) \
   387         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d)), \
   378         $(call FindSrcDirsForComponent, java.desktop, libawt/java2d), \
   388     HEADERS_FROM_SRC := $(LIBLCMS_HEADERS_FROM_SRC), \
   379     HEADERS_FROM_SRC := $(LIBLCMS_HEADERS_FROM_SRC), \
   389     DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation, \
   380     DISABLED_WARNINGS_gcc := format-nonliteral type-limits misleading-indentation, \
   390     DISABLED_WARNINGS_clang := tautological-compare, \
   381     DISABLED_WARNINGS_clang := tautological-compare, \
   391     DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
   382     DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
   392     DISABLED_WARNINGS_microsoft := 4819, \
   383     DISABLED_WARNINGS_microsoft := 4819, \
   444 ################################################################################
   435 ################################################################################
   445 
   436 
   446 # Mac and Windows only use the native AWT lib, do not build libawt_headless
   437 # Mac and Windows only use the native AWT lib, do not build libawt_headless
   447 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
   438 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
   448 
   439 
   449   LIBAWT_HEADLESS_DIRS := $(TOPDIR)/src/java.desktop/unix/native/libawt_headless/awt \
   440   LIBAWT_HEADLESS_EXTRA_SRC := \
       
   441       $(call FindSrcDirsForComponent, java.desktop, common/java2d) \
   450       $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
   442       $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
   451       $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/java2d \
       
   452       $(TOPDIR)/src/java.desktop/share/native/common/java2d \
       
   453       $(TOPDIR)/src/java.desktop/share/native/common/font \
   443       $(TOPDIR)/src/java.desktop/share/native/common/font \
   454       #
   444       #
   455 
   445 
   456   LIBAWT_HEADLESS_EXCLUDES := medialib
   446   LIBAWT_HEADLESS_EXCLUDES := medialib
   457   LIBAWT_HEADLESS_CFLAGS := $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) $(X_CFLAGS) \
   447   LIBAWT_HEADLESS_CFLAGS := $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) $(X_CFLAGS) \
   458       -DHEADLESS=true -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
   448       -DHEADLESS=true -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
   459 
   449 
   460   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
   450   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
   461       NAME := awt_headless, \
   451       NAME := awt_headless, \
   462       SRC := $(LIBAWT_HEADLESS_DIRS), \
   452       EXTRA_SRC := $(LIBAWT_HEADLESS_EXTRA_SRC), \
   463       EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
   453       EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
   464       OPTIMIZATION := LOW, \
   454       OPTIMIZATION := LOW, \
   465       CFLAGS := $(CFLAGS_JDKLIB) \
   455       CFLAGS := $(CFLAGS_JDKLIB) \
   466           $(LIBAWT_HEADLESS_CFLAGS), \
   456           $(LIBAWT_HEADLESS_CFLAGS), \
   467       HEADER_FLAGS := \
   457       EXTRA_HEADER_DIRS := \
   468             $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/awt/debug)) \
   458             $(call FindSrcDirsForComponent, java.desktop, common/awt/debug) \
   469             $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/font)) \
   459             $(call FindSrcDirsForComponent, java.desktop, common/font) \
   470             $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/java2d/opengl)) \
   460             $(call FindSrcDirsForComponent, java.desktop, common/java2d/opengl) \
   471             $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d)) \
   461             $(call FindSrcDirsForComponent, java.desktop, libawt/java2d) \
   472             -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
   462             $(TOPDIR)/src/java.desktop/share/native/libawt/awt/image \
   473             -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
   463             $(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
   474             -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
   464             $(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
   475             -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe, \
   465             $(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe, \
   476       DISABLED_WARNINGS_xlc := 1506-356, \
   466       DISABLED_WARNINGS_xlc := 1506-356, \
   477       DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \
   467       DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \
   478       LDFLAGS := $(LDFLAGS_JDKLIB) \
   468       LDFLAGS := $(LDFLAGS_JDKLIB) \
   479           $(call SET_SHARED_LIBRARY_ORIGIN), \
   469           $(call SET_SHARED_LIBRARY_ORIGIN), \
   480       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   470       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   498 ifeq ($(FREETYPE_TO_USE), system)
   488 ifeq ($(FREETYPE_TO_USE), system)
   499   # For use by libfontmanager:
   489   # For use by libfontmanager:
   500   LIBFREETYPE_CFLAGS := $(FREETYPE_CFLAGS)
   490   LIBFREETYPE_CFLAGS := $(FREETYPE_CFLAGS)
   501   LIBFREETYPE_LIBS := $(FREETYPE_LIBS)
   491   LIBFREETYPE_LIBS := $(FREETYPE_LIBS)
   502 else
   492 else
   503   BUILD_LIBFREETYPE_HEADERS := -I$(TOPDIR)/src/java.desktop/share/native/libfreetype/include
   493   BUILD_LIBFREETYPE_HEADER_DIRS := $(TOPDIR)/src/java.desktop/share/native/libfreetype/include
   504   BUILD_LIBFREETYPE_CFLAGS := -DFT2_BUILD_LIBRARY $(EXPORT_ALL_SYMBOLS)
   494   BUILD_LIBFREETYPE_CFLAGS := -DFT2_BUILD_LIBRARY $(EXPORT_ALL_SYMBOLS)
   505 
   495 
   506   # For use by libfontmanager:
   496   # For use by libfontmanager:
   507   LIBFREETYPE_CFLAGS := $(BUILD_LIBFREETYPE_HEADERS)
   497   LIBFREETYPE_CFLAGS := $(BUILD_LIBFREETYPE_HEADERS)
   508   ifeq ($(OPENJDK_TARGET_OS), windows)
   498   ifeq ($(OPENJDK_TARGET_OS), windows)
   514   $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
   504   $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
   515       NAME := freetype, \
   505       NAME := freetype, \
   516       OPTIMIZATION := HIGHEST, \
   506       OPTIMIZATION := HIGHEST, \
   517       CFLAGS := $(CFLAGS_JDKLIB) \
   507       CFLAGS := $(CFLAGS_JDKLIB) \
   518           $(BUILD_LIBFREETYPE_CFLAGS), \
   508           $(BUILD_LIBFREETYPE_CFLAGS), \
   519       HEADER_FLAGS := $(BUILD_LIBFREETYPE_HEADERS), \
   509       EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
   520       DISABLED_WARNINGS_solstudio := \
   510       DISABLED_WARNINGS_solstudio := \
   521          E_STATEMENT_NOT_REACHED \
   511          E_STATEMENT_NOT_REACHED \
   522          E_END_OF_LOOP_CODE_NOT_REACHED, \
   512          E_END_OF_LOOP_CODE_NOT_REACHED, \
   523       DISABLED_WARNINGS_microsoft := 4267 4244 4312, \
   513       DISABLED_WARNINGS_microsoft := 4267 4244 4312, \
   524       LDFLAGS := $(LDFLAGS_JDKLIB) \
   514       LDFLAGS := $(LDFLAGS_JDKLIB) \
   527 
   517 
   528   TARGETS += $(BUILD_LIBFREETYPE)
   518   TARGETS += $(BUILD_LIBFREETYPE)
   529 endif
   519 endif
   530 
   520 
   531 ###########################################################################
   521 ###########################################################################
   532 
       
   533 LIBFONTMANAGER_HEADER_SRC := $(TOPDIR)/src/java.desktop/share/native/libfontmanager \
       
   534     $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libfontmanager
       
   535 LIBFONTMANAGER_HEADER_FLAGS += \
       
   536     $(addprefix -I, $(shell $(FIND) $(LIBFONTMANAGER_HEADER_SRC) -type d)) \
       
   537     #
       
   538     # FIXME:LIBS: I wish this was not needed
       
   539 
       
   540 
   522 
   541 #### Begin harfbuzz configuration
   523 #### Begin harfbuzz configuration
   542 
   524 
   543 HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN
   525 HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN
   544 
   526 
   605     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
   587     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
   606     CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
   588     CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
   607     CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
   589     CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
   608     OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
   590     OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
   609     CFLAGS_windows = -DCC_NOEX, \
   591     CFLAGS_windows = -DCC_NOEX, \
   610     HEADER_FLAGS := \
   592     EXTRA_HEADER_DIRS := \
   611         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/awt)) \
   593         $(call FindSrcDirsForComponent, java.desktop, common/awt) \
   612         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/font)) \
   594         $(call FindSrcDirsForComponent, java.desktop, common/font) \
   613         $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d)) \
   595         $(call FindSrcDirsForComponent, java.desktop, libawt/java2d) \
   614         -I$(TOPDIR)/src/java.desktop/share/native/libfontmanager/harfbuzz \
   596         $(TOPDIR)/src/java.desktop/share/native/libfontmanager/harfbuzz \
   615         -I$(TOPDIR)/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ucdn \
   597         $(TOPDIR)/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ucdn \
   616         -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
   598         $(TOPDIR)/src/java.desktop/share/native/libawt/java2d/loops \
   617         -I$(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe, \
   599         $(TOPDIR)/src/java.desktop/share/native/libawt/java2d/pipe, \
   618     WARNINGS_AS_ERRORS_xlc := false, \
   600     WARNINGS_AS_ERRORS_xlc := false, \
   619     DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \
   601     DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \
   620         type-limits missing-field-initializers implicit-fallthrough, \
   602         type-limits missing-field-initializers implicit-fallthrough, \
   621     DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
   603     DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
   622         maybe-uninitialized, \
   604         maybe-uninitialized, \
   674       OPTIMIZATION := LOW, \
   656       OPTIMIZATION := LOW, \
   675       CFLAGS := $(CXXFLAGS_JDKLIB) \
   657       CFLAGS := $(CXXFLAGS_JDKLIB) \
   676           $(LIBJAWT_CFLAGS), \
   658           $(LIBJAWT_CFLAGS), \
   677       CXXFLAGS := $(CXXFLAGS_JDKLIB) \
   659       CXXFLAGS := $(CXXFLAGS_JDKLIB) \
   678           $(LIBJAWT_CFLAGS), \
   660           $(LIBJAWT_CFLAGS), \
   679       HEADER_FLAGS := \
   661       EXTRA_HEADER_DIRS := \
   680           $(addprefix -I, $(call FindSrcDirsForComponent, java.base, include)) \
   662           $(call FindSrcDirsForComponent, java.base, include) \
   681           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, include)) \
   663           $(call FindSrcDirsForComponent, java.desktop, include) \
   682           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/awt/debug)) \
   664           $(call FindSrcDirsForComponent, java.desktop, common/awt/debug) \
   683           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/awt/image/cvutils)) \
   665           $(call FindSrcDirsForComponent, java.desktop, libawt/awt/image/cvutils) \
   684           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d)) \
   666           $(call FindSrcDirsForComponent, java.desktop, libawt/java2d) \
   685           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/windows)) \
   667           $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/windows) \
   686           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/windows)) \
   668           $(call FindSrcDirsForComponent, java.desktop, libawt/windows) \
   687           $(addprefix -I, $(call FindSrcDirsForLib, java.base, java)),\
   669           $(call FindSrcDirsForLib, java.base, java),\
   688       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
   670       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
   689       LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \
   671       LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \
   690   ))
   672   ))
   691 
   673 
   692   $(BUILD_LIBJAWT): $(BUILD_LIBAWT)
   674   $(BUILD_LIBJAWT): $(BUILD_LIBAWT)
   700 
   682 
   701   TARGETS += $(COPY_JAWT_LIB)
   683   TARGETS += $(COPY_JAWT_LIB)
   702 
   684 
   703 else # OPENJDK_TARGET_OS not windows
   685 else # OPENJDK_TARGET_OS not windows
   704 
   686 
   705   ## FIXME:LIBS -- solve this situation better?
       
   706   ifeq ($(OPENJDK_TARGET_OS), macosx)
   687   ifeq ($(OPENJDK_TARGET_OS), macosx)
   707     LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/macosx/native/libjawt
   688     LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/macosx/native/libjawt
   708   else
   689   else
   709     LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libjawt
   690     LIBJAWT_SRC := $(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libjawt
   710   endif
   691   endif
   731       SRC := $(LIBJAWT_SRC), \
   712       SRC := $(LIBJAWT_SRC), \
   732       INCLUDE_FILES := $(JAWT_FILES), \
   713       INCLUDE_FILES := $(JAWT_FILES), \
   733       OPTIMIZATION := LOW, \
   714       OPTIMIZATION := LOW, \
   734       CFLAGS := $(CFLAGS_JDKLIB) \
   715       CFLAGS := $(CFLAGS_JDKLIB) \
   735           $(JAWT_CFLAGS), \
   716           $(JAWT_CFLAGS), \
   736       HEADER_FLAGS := \
   717       EXTRA_HEADER_DIRS := \
   737           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, include)) \
   718           $(call FindSrcDirsForComponent, java.desktop, include) \
   738           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/awt)), \
   719           $(call FindSrcDirsForComponent, java.desktop, common/awt), \
   739       LDFLAGS := $(LDFLAGS_JDKLIB) \
   720       LDFLAGS := $(LDFLAGS_JDKLIB) \
   740           $(call SET_SHARED_LIBRARY_ORIGIN), \
   721           $(call SET_SHARED_LIBRARY_ORIGIN), \
   741       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   722       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   742       LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \
   723       LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \
   743       LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \
   724       LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \
   770 
   751 
   771   ifeq ($(USE_EXTERNAL_LIBGIF), true)
   752   ifeq ($(USE_EXTERNAL_LIBGIF), true)
   772     GIFLIB_LIBS := -lgif
   753     GIFLIB_LIBS := -lgif
   773     LIBSPLASHSCREEN_EXCLUDES := giflib
   754     LIBSPLASHSCREEN_EXCLUDES := giflib
   774   else
   755   else
   775     LIBSPLASHSCREEN_HEADER_FLAGS += -I$(TOPDIR)/src/java.desktop/share/native/libsplashscreen/giflib
   756     LIBSPLASHSCREEN_HEADER_DIRS += $(TOPDIR)/src/java.desktop/share/native/libsplashscreen/giflib
   776   endif
   757   endif
   777 
   758 
   778   ifeq ($(USE_EXTERNAL_LIBJPEG), true)
   759   ifeq ($(USE_EXTERNAL_LIBJPEG), true)
   779     LIBJPEG_LIBS := -ljpeg
   760     LIBJPEG_LIBS := -ljpeg
   780   else
   761   else
   781     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg
   762     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg
   782     LIBSPLASHSCREEN_HEADER_FLAGS += -I$(TOPDIR)/src/java.desktop/share/native/libjavajpeg
   763     LIBSPLASHSCREEN_HEADER_DIRS += $(TOPDIR)/src/java.desktop/share/native/libjavajpeg
   783   endif
   764   endif
   784 
   765 
   785   ifeq ($(USE_EXTERNAL_LIBPNG), false)
   766   ifeq ($(USE_EXTERNAL_LIBPNG), false)
   786     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libsplashscreen/libpng
   767     LIBSPLASHSCREEN_DIRS += $(TOPDIR)/src/java.desktop/share/native/libsplashscreen/libpng
   787   else
   768   else
   857       OPTIMIZATION := LOW, \
   838       OPTIMIZATION := LOW, \
   858       CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
   839       CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
   859           $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
   840           $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
   860       CXXFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
   841       CXXFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
   861           $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
   842           $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
   862       HEADER_FLAGS := \
   843       EXTRA_HEADER_DIRS := \
   863           $(addprefix -I, $(call FindSrcDirsForLib, java.base, java)) \
   844           $(call FindSrcDirsForLib, java.base, java) \
   864           $(addprefix -I, $(call FindSrcDirsForLib, java.desktop, osxapp)) \
   845           $(call FindSrcDirsForLib, java.desktop, osxapp) \
   865           $(addprefix -I, $(call FindSrcDirsForComponent, java.base, include)) \
   846           $(call FindSrcDirsForComponent, java.base, include) \
   866           $(LIBSPLASHSCREEN_HEADER_FLAGS), \
   847           $(LIBSPLASHSCREEN_HEADER_DIRS), \
   867       DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \
   848       DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \
   868           maybe-uninitialized shift-negative-value implicit-fallthrough, \
   849           maybe-uninitialized shift-negative-value implicit-fallthrough, \
   869       DISABLED_WARNINGS_clang := incompatible-pointer-types, \
   850       DISABLED_WARNINGS_clang := incompatible-pointer-types, \
   870       DISABLED_WARNINGS_solstudio := E_NEWLINE_NOT_LAST E_DECLARATION_IN_CODE \
   851       DISABLED_WARNINGS_solstudio := E_NEWLINE_NOT_LAST E_DECLARATION_IN_CODE \
   871           E_STATEMENT_NOT_REACHED, \
   852           E_STATEMENT_NOT_REACHED, \
   889 
   870 
   890 ################################################################################
   871 ################################################################################
   891 
   872 
   892 ifeq ($(OPENJDK_TARGET_OS), macosx)
   873 ifeq ($(OPENJDK_TARGET_OS), macosx)
   893 
   874 
   894   LIBAWT_LWAWT_DIRS := \
   875   LIBAWT_LWAWT_EXTRA_SRC := \
   895       $(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt \
       
   896       $(TOPDIR)/src/java.desktop/unix/native/common/awt \
   876       $(TOPDIR)/src/java.desktop/unix/native/common/awt \
   897       $(TOPDIR)/src/java.desktop/share/native/common/font \
   877       $(TOPDIR)/src/java.desktop/share/native/common/font \
   898       $(TOPDIR)/src/java.desktop/share/native/common/java2d \
   878       $(TOPDIR)/src/java.desktop/share/native/common/java2d \
   899       #
   879       #
   900 
   880 
   903   LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
   883   LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
   904   LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib
   884   LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib
   905 
   885 
   906   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_LWAWT, \
   886   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_LWAWT, \
   907       NAME := awt_lwawt, \
   887       NAME := awt_lwawt, \
   908       SRC := $(LIBAWT_LWAWT_DIRS), \
   888       EXTRA_SRC := $(LIBAWT_LWAWT_EXTRA_SRC), \
   909       INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
   889       INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
   910       EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
   890       EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
   911       EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
   891       EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
   912       OPTIMIZATION := LOW, \
   892       OPTIMIZATION := LOW, \
   913       CFLAGS := $(CFLAGS_JDKLIB) \
   893       CFLAGS := $(CFLAGS_JDKLIB) \
   914           $(LIBAWT_LWAWT_CFLAGS), \
   894           $(LIBAWT_LWAWT_CFLAGS), \
   915       HEADER_FLAGS := \
   895       EXTRA_HEADER_DIRS := \
   916           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt_lwawt/java2d/opengl)) \
   896           $(call FindSrcDirsForComponent, java.desktop, libawt_lwawt/java2d/opengl) \
   917           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt_lwawt/awt)) \
   897           $(call FindSrcDirsForComponent, java.desktop, libawt_lwawt/awt) \
   918           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt_lwawt/font)) \
   898           $(call FindSrcDirsForComponent, java.desktop, libawt_lwawt/font) \
   919           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, include)) \
   899           $(call FindSrcDirsForComponent, java.desktop, include) \
   920           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/awt/debug)) \
   900           $(call FindSrcDirsForComponent, java.desktop, common/awt/debug) \
   921           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, common/java2d/opengl)) \
   901           $(call FindSrcDirsForComponent, java.desktop, common/java2d/opengl) \
   922           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/awt/image)) \
   902           $(call FindSrcDirsForComponent, java.desktop, libawt/awt/image) \
   923           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/awt/image/cvutils)) \
   903           $(call FindSrcDirsForComponent, java.desktop, libawt/awt/image/cvutils) \
   924           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d)) \
   904           $(call FindSrcDirsForComponent, java.desktop, libawt/java2d) \
   925           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/loops)) \
   905           $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/loops) \
   926           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/pipe)) \
   906           $(call FindSrcDirsForComponent, java.desktop, libawt/java2d/pipe) \
   927           $(addprefix -I, $(call FindSrcDirsForLib, java.desktop, osxapp)), \
   907           $(call FindSrcDirsForLib, java.desktop, osxapp), \
   928       DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \
   908       DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \
   929           deprecated-declarations objc-method-access bitwise-op-parentheses \
   909           deprecated-declarations objc-method-access bitwise-op-parentheses \
   930           incompatible-pointer-types parentheses-equality extra-tokens, \
   910           incompatible-pointer-types parentheses-equality extra-tokens, \
   931       LDFLAGS := $(LDFLAGS_JDKLIB) \
   911       LDFLAGS := $(LDFLAGS_JDKLIB) \
   932           $(call SET_SHARED_LIBRARY_ORIGIN) \
   912           $(call SET_SHARED_LIBRARY_ORIGIN) \
   963 
   943 
   964   $(eval $(call SetupJdkLibrary, BUILD_LIBOSXUI, \
   944   $(eval $(call SetupJdkLibrary, BUILD_LIBOSXUI, \
   965       NAME := osxui, \
   945       NAME := osxui, \
   966       OPTIMIZATION := LOW, \
   946       OPTIMIZATION := LOW, \
   967       CFLAGS := $(CFLAGS_JDKLIB), \
   947       CFLAGS := $(CFLAGS_JDKLIB), \
   968       HEADER_FLAGS := \
   948       EXTRA_HEADER_DIRS := \
   969           $(addprefix -I, $(call FindSrcDirsForComponent, java.desktop, libawt_lwawt/awt)) \
   949           $(call FindSrcDirsForComponent, java.desktop, libawt_lwawt/awt) \
   970           $(addprefix -I, $(call FindSrcDirsForLib, java.desktop, osxapp)), \
   950           $(call FindSrcDirsForLib, java.desktop, osxapp), \
   971       DISABLED_WARNINGS_clang := deprecated-declarations, \
   951       DISABLED_WARNINGS_clang := deprecated-declarations, \
   972       LDFLAGS := $(LDFLAGS_JDKLIB) \
   952       LDFLAGS := $(LDFLAGS_JDKLIB) \
   973           $(call SET_SHARED_LIBRARY_ORIGIN) \
   953           $(call SET_SHARED_LIBRARY_ORIGIN) \
   974           -Wl$(COMMA)-rpath$(COMMA)@loader_path \
   954           -Wl$(COMMA)-rpath$(COMMA)@loader_path \
   975           -L$(INSTALL_LIBRARIES_HERE), \
   955           -L$(INSTALL_LIBRARIES_HERE), \