make/lib/Awt2dLibraries.gmk
changeset 49244 995a5556edfa
parent 49241 de4b3a04feae
child 49261 d5c43e9f08fb
child 56311 e05b4241302b
child 56312 a52bcf4118eb
equal deleted inserted replaced
49243:176b3da8ce61 49244:995a5556edfa
    46 
    46 
    47 ifneq ($(OPENJDK_TARGET_OS), windows)
    47 ifneq ($(OPENJDK_TARGET_OS), windows)
    48   BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
    48   BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
    49 endif
    49 endif
    50 
    50 
    51 $(eval $(call SetupNativeCompilation, BUILD_LIBMLIB_IMAGE, \
    51 $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE, \
    52     NAME := mlib_image, \
    52     NAME := mlib_image, \
    53     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
    54     SRC := $(BUILD_LIBMLIB_SRC), \
    53     SRC := $(BUILD_LIBMLIB_SRC), \
    55     EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
    54     EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
    56     OPTIMIZATION := HIGHEST, \
    55     OPTIMIZATION := HIGHEST, \
    57     CFLAGS := $(CFLAGS_JDKLIB) \
    56     CFLAGS := $(CFLAGS_JDKLIB) \
    58         $(BUILD_LIBMLIB_CFLAGS), \
    57         $(BUILD_LIBMLIB_CFLAGS), \
    59     MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
    58     MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
    60     LDFLAGS := $(LDFLAGS_JDKLIB) \
    59     LDFLAGS := $(LDFLAGS_JDKLIB) \
    61         $(call SET_SHARED_LIBRARY_ORIGIN), \
    60         $(call SET_SHARED_LIBRARY_ORIGIN), \
    62     LIBS := $(BUILD_LIBMLIB_LDLIBS) \
    61     LIBS := $(BUILD_LIBMLIB_LDLIBS) \
    63         $(JDKLIB_LIBS), \
    62         $(JDKLIB_LIBS), \
    64     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
    65     RC_FLAGS := $(RC_FLAGS) \
       
    66         -D "JDK_FNAME=mlib_image.dll" \
       
    67         -D "JDK_INTERNAL_NAME=mlib_image" \
       
    68         -D "JDK_FTYPE=0x2L", \
       
    69     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libmlib_image, \
       
    70 ))
    63 ))
    71 
    64 
    72 $(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java)
    65 $(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java)
    73 
    66 
    74 TARGETS += $(BUILD_LIBMLIB_IMAGE)
    67 TARGETS += $(BUILD_LIBMLIB_IMAGE)
   104       mlib_c_ImageLookUp_f.c \
    97       mlib_c_ImageLookUp_f.c \
   105       #
    98       #
   106 
    99 
   107   LIBMLIB_IMAGE_V_CFLAGS += $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
   100   LIBMLIB_IMAGE_V_CFLAGS += $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
   108 
   101 
   109   $(eval $(call SetupNativeCompilation, BUILD_LIBMLIB_IMAGE_V, \
   102   $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE_V, \
   110       NAME := mlib_image_v, \
   103       NAME := mlib_image_v, \
   111       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   112       SRC := $(LIBMLIB_IMAGE_V_SRC), \
   104       SRC := $(LIBMLIB_IMAGE_V_SRC), \
   113       EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \
   105       EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \
   114       OPTIMIZATION := HIGHEST, \
   106       OPTIMIZATION := HIGHEST, \
   115       CFLAGS := -xarch=sparcvis \
   107       CFLAGS := -xarch=sparcvis \
   116           $(LIBMLIB_IMAGE_V_CFLAGS) \
   108           $(LIBMLIB_IMAGE_V_CFLAGS) \
   117           $(CFLAGS_JDKLIB), \
   109           $(CFLAGS_JDKLIB), \
   118       MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
   110       MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
   119       LDFLAGS := $(LDFLAGS_JDKLIB) \
   111       LDFLAGS := $(LDFLAGS_JDKLIB) \
   120           $(call SET_SHARED_LIBRARY_ORIGIN), \
   112           $(call SET_SHARED_LIBRARY_ORIGIN), \
   121       LIBS := -ljava -ljvm $(BUILD_LIBMLIB_LDLIBS), \
   113       LIBS := -ljava -ljvm $(BUILD_LIBMLIB_LDLIBS), \
   122       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libmlib_image_v, \
       
   123   ))
   114   ))
   124 
   115 
   125   $(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java)
   116   $(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java)
   126 
   117 
   127   TARGETS += $(BUILD_LIBMLIB_IMAGE_V)
   118   TARGETS += $(BUILD_LIBMLIB_IMAGE_V)
   223   BUILD_LIBAWT_debug_mem.c_CFLAGS := -w
   214   BUILD_LIBAWT_debug_mem.c_CFLAGS := -w
   224   # This option improves performance of MaskFill in Java2D by 20% for some gcc
   215   # This option improves performance of MaskFill in Java2D by 20% for some gcc
   225   LIBAWT_CFLAGS += -fgcse-after-reload
   216   LIBAWT_CFLAGS += -fgcse-after-reload
   226 endif
   217 endif
   227 
   218 
   228 $(eval $(call SetupNativeCompilation, BUILD_LIBAWT, \
   219 $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
   229     NAME := awt, \
   220     NAME := awt, \
   230     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   231     SRC := $(LIBAWT_DIRS), \
   221     SRC := $(LIBAWT_DIRS), \
   232     EXCLUDES := $(LIBAWT_EXCLUDES), \
   222     EXCLUDES := $(LIBAWT_EXCLUDES), \
   233     EXCLUDE_FILES := $(LIBAWT_EXFILES), \
   223     EXCLUDE_FILES := $(LIBAWT_EXFILES), \
   234     OPTIMIZATION := LOW, \
   224     OPTIMIZATION := LOW, \
   235     CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
   225     CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
   265     VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE), \
   255     VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE), \
   266     RC_FLAGS := $(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
   256     RC_FLAGS := $(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
   267         -D "JDK_FNAME=awt.dll" \
   257         -D "JDK_FNAME=awt.dll" \
   268         -D "JDK_INTERNAL_NAME=awt" \
   258         -D "JDK_INTERNAL_NAME=awt" \
   269         -D "JDK_FTYPE=0x2L", \
   259         -D "JDK_FTYPE=0x2L", \
   270     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt, \
       
   271 ))
   260 ))
   272 
   261 
   273 $(BUILD_LIBAWT): $(call FindLib, java.base, java)
   262 $(BUILD_LIBAWT): $(call FindLib, java.base, java)
   274 
   263 
   275 ifeq ($(OPENJDK_TARGET_OS), macosx)
   264 ifeq ($(OPENJDK_TARGET_OS), macosx)
   344       BUILD_LIBAWT_XAWT_awt_Font.c_CFLAGS := -w
   333       BUILD_LIBAWT_XAWT_awt_Font.c_CFLAGS := -w
   345       # initializing a declared 'extern'
   334       # initializing a declared 'extern'
   346       BUILD_LIBAWT_XAWT_debug_mem.c_CFLAGS := -w
   335       BUILD_LIBAWT_XAWT_debug_mem.c_CFLAGS := -w
   347    endif
   336    endif
   348 
   337 
   349     $(eval $(call SetupNativeCompilation, BUILD_LIBAWT_XAWT, \
   338     $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_XAWT, \
   350         NAME := awt_xawt, \
   339         NAME := awt_xawt, \
   351         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   352         SRC := $(LIBAWT_XAWT_DIRS), \
   340         SRC := $(LIBAWT_XAWT_DIRS), \
   353         EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
   341         EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
   354         OPTIMIZATION := LOW, \
   342         OPTIMIZATION := LOW, \
   355         CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
   343         CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
   356             $(X_CFLAGS), \
   344             $(X_CFLAGS), \
   364         MAPFILE := $(TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
   352         MAPFILE := $(TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
   365         LDFLAGS := $(LDFLAGS_JDKLIB) \
   353         LDFLAGS := $(LDFLAGS_JDKLIB) \
   366             $(call SET_SHARED_LIBRARY_ORIGIN) \
   354             $(call SET_SHARED_LIBRARY_ORIGIN) \
   367             -L$(INSTALL_LIBRARIES_HERE), \
   355             -L$(INSTALL_LIBRARIES_HERE), \
   368         LIBS :=  $(X_LIBS) $(LIBAWT_XAWT_LIBS), \
   356         LIBS :=  $(X_LIBS) $(LIBAWT_XAWT_LIBS), \
   369         VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   370         RC_FLAGS := $(RC_FLAGS) \
   357         RC_FLAGS := $(RC_FLAGS) \
   371             -D "JDK_FNAME=xawt.dll" \
   358             -D "JDK_FNAME=xawt.dll" \
   372             -D "JDK_INTERNAL_NAME=xawt" \
   359             -D "JDK_INTERNAL_NAME=xawt" \
   373             -D "JDK_FTYPE=0x2L", \
   360             -D "JDK_FTYPE=0x2L", \
   374         OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_xawt, \
       
   375     ))
   361     ))
   376 
   362 
   377     $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
   363     $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
   378 
   364 
   379     $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
   365     $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
   403   # If we're using the bundled library, we'll need to include it in the
   389   # If we're using the bundled library, we'll need to include it in the
   404   # include path explicitly. Otherwise the system headers will be used.
   390   # include path explicitly. Otherwise the system headers will be used.
   405   LIBLCMS_CPPFLAGS += $(addprefix -I, $(LIBLCMS_SRC))
   391   LIBLCMS_CPPFLAGS += $(addprefix -I, $(LIBLCMS_SRC))
   406 endif
   392 endif
   407 
   393 
   408 $(eval $(call SetupNativeCompilation, BUILD_LIBLCMS, \
   394 $(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
   409     NAME := lcms, \
   395     NAME := lcms, \
   410     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   411     SRC := $(LIBLCMS_SRC), \
   396     SRC := $(LIBLCMS_SRC), \
   412     INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
   397     INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
   413     OPTIMIZATION := HIGHEST, \
   398     OPTIMIZATION := HIGHEST, \
   414     CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
   399     CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
   415         $(LIBLCMS_CPPFLAGS) \
   400         $(LIBLCMS_CPPFLAGS) \
   428     LIBS_unix := -lawt -ljvm -ljava $(LCMS_LIBS), \
   413     LIBS_unix := -lawt -ljvm -ljava $(LCMS_LIBS), \
   429     LIBS_linux := $(LIBM), \
   414     LIBS_linux := $(LIBM), \
   430     LIBS_macosx := $(LIBM), \
   415     LIBS_macosx := $(LIBM), \
   431     LIBS_aix := $(LIBM),\
   416     LIBS_aix := $(LIBM),\
   432     LIBS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
   417     LIBS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
   433     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   434     RC_FLAGS := $(RC_FLAGS) \
       
   435         -D "JDK_FNAME=lcms.dll" \
       
   436         -D "JDK_INTERNAL_NAME=lcms" \
       
   437         -D "JDK_FTYPE=0x2L", \
       
   438     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/liblcms, \
       
   439 ))
   418 ))
   440 
   419 
   441 TARGETS += $(BUILD_LIBLCMS)
   420 TARGETS += $(BUILD_LIBLCMS)
   442 
   421 
   443 $(BUILD_LIBLCMS): $(BUILD_LIBAWT)
   422 $(BUILD_LIBLCMS): $(BUILD_LIBAWT)
   479   LIBJPEG_LIBS :=
   458   LIBJPEG_LIBS :=
   480   BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
   459   BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
   481   BUILD_LIBJAVAJPEG_HEADERS := $(addprefix -I, $(LIBJAVAJPEG_SRC))
   460   BUILD_LIBJAVAJPEG_HEADERS := $(addprefix -I, $(LIBJAVAJPEG_SRC))
   482 endif
   461 endif
   483 
   462 
   484 $(eval $(call SetupNativeCompilation, BUILD_LIBJAVAJPEG, \
   463 $(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \
   485     NAME := javajpeg, \
   464     NAME := javajpeg, \
   486     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   487     SRC := $(LIBJAVAJPEG_SRC), \
   465     SRC := $(LIBJAVAJPEG_SRC), \
   488     INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
   466     INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
   489     OPTIMIZATION := HIGHEST, \
   467     OPTIMIZATION := HIGHEST, \
   490     CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBJAVAJPEG_HEADERS) \
   468     CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBJAVAJPEG_HEADERS) \
   491         $(LIBJAVA_HEADER_FLAGS) \
   469         $(LIBJAVA_HEADER_FLAGS) \
   494     MAPFILE := $(TOPDIR)/make/mapfiles/libjpeg/mapfile-vers, \
   472     MAPFILE := $(TOPDIR)/make/mapfiles/libjpeg/mapfile-vers, \
   495     LDFLAGS := $(LDFLAGS_JDKLIB) \
   473     LDFLAGS := $(LDFLAGS_JDKLIB) \
   496         $(call SET_SHARED_LIBRARY_ORIGIN), \
   474         $(call SET_SHARED_LIBRARY_ORIGIN), \
   497     LIBS := $(LIBJPEG_LIBS) $(JDKLIB_LIBS), \
   475     LIBS := $(LIBJPEG_LIBS) $(JDKLIB_LIBS), \
   498     LIBS_windows := $(WIN_JAVA_LIB) jvm.lib, \
   476     LIBS_windows := $(WIN_JAVA_LIB) jvm.lib, \
   499     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   500     RC_FLAGS := $(RC_FLAGS) \
       
   501         -D "JDK_FNAME=javajpeg.dll" \
       
   502         -D "JDK_INTERNAL_NAME=javajpeg" \
       
   503         -D "JDK_FTYPE=0x2L", \
       
   504     REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
   477     REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
   505     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjavajpeg, \
       
   506 ))
   478 ))
   507 
   479 
   508 $(BUILD_LIBJAVAJPEG): $(call FindLib, java.base, java)
   480 $(BUILD_LIBJAVAJPEG): $(call FindLib, java.base, java)
   509 
   481 
   510 TARGETS += $(BUILD_LIBJAVAJPEG)
   482 TARGETS += $(BUILD_LIBJAVAJPEG)
   543     ifneq ($(OPENJDK_TARGET_CPU), x86_64)
   515     ifneq ($(OPENJDK_TARGET_CPU), x86_64)
   544       LIBAWT_HEADLESS_REORDER := $(TOPDIR)/make/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
   516       LIBAWT_HEADLESS_REORDER := $(TOPDIR)/make/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
   545     endif
   517     endif
   546   endif
   518   endif
   547 
   519 
   548   $(eval $(call SetupNativeCompilation, BUILD_LIBAWT_HEADLESS, \
   520   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
   549       NAME := awt_headless, \
   521       NAME := awt_headless, \
   550       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   551       SRC := $(LIBAWT_HEADLESS_DIRS), \
   522       SRC := $(LIBAWT_HEADLESS_DIRS), \
   552       EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
   523       EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
   553       OPTIMIZATION := LOW, \
   524       OPTIMIZATION := LOW, \
   554       CFLAGS := $(CFLAGS_JDKLIB) \
   525       CFLAGS := $(CFLAGS_JDKLIB) \
   555           -DHEADLESS=true \
   526           -DHEADLESS=true \
   566       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   537       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   567       REORDER := $(LIBAWT_HEADLESS_REORDER), \
   538       REORDER := $(LIBAWT_HEADLESS_REORDER), \
   568       LIBS_unix := -lawt -ljvm -ljava, \
   539       LIBS_unix := -lawt -ljvm -ljava, \
   569       LIBS_linux := $(LIBM) $(LIBDL), \
   540       LIBS_linux := $(LIBM) $(LIBDL), \
   570       LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX), \
   541       LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX), \
   571       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_headless, \
       
   572   ))
   542   ))
   573 
   543 
   574   # AIX warning explanation:
   544   # AIX warning explanation:
   575   # 1506-356 : (W) Compilation unit is empty.
   545   # 1506-356 : (W) Compilation unit is empty.
   576   #            This happens during the headless build
   546   #            This happens during the headless build
   594     LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
   564     LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
   595   else
   565   else
   596     LIBFREETYPE_LIBS := -lfreetype
   566     LIBFREETYPE_LIBS := -lfreetype
   597   endif
   567   endif
   598 
   568 
   599   $(eval $(call SetupNativeCompilation, BUILD_LIBFREETYPE, \
   569   $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
   600       NAME := freetype, \
   570       NAME := freetype, \
   601       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   602       SRC := $(LIBFREETYPE_SRC)/src, \
   571       SRC := $(LIBFREETYPE_SRC)/src, \
   603       OPTIMIZATION := HIGHEST, \
   572       OPTIMIZATION := HIGHEST, \
   604       CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFREETYPE_HEADERS) \
   573       CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFREETYPE_HEADERS) \
   605           -DFT2_BUILD_LIBRARY, \
   574           -DFT2_BUILD_LIBRARY, \
   606       DISABLED_WARNINGS_solstudio := \
   575       DISABLED_WARNINGS_solstudio := \
   607          E_STATEMENT_NOT_REACHED \
   576          E_STATEMENT_NOT_REACHED \
   608          E_END_OF_LOOP_CODE_NOT_REACHED, \
   577          E_END_OF_LOOP_CODE_NOT_REACHED, \
   609       DISABLED_WARNINGS_microsoft := 4267 2220 4244, \
   578       DISABLED_WARNINGS_microsoft := 4267 2220 4244, \
   610       LDFLAGS := $(LDFLAGS_JDKLIB) \
   579       LDFLAGS := $(LDFLAGS_JDKLIB) \
   611           $(call SET_SHARED_LIBRARY_ORIGIN), \
   580           $(call SET_SHARED_LIBRARY_ORIGIN), \
   612       VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   613       RC_FLAGS := $(RC_FLAGS) \
       
   614           -D "JDK_FNAME=freetype.dll" \
       
   615           -D "JDK_INTERNAL_NAME=freetype" \
       
   616           -D "JDK_FTYPE=0x2L", \
       
   617       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype, \
       
   618   ))
   581   ))
   619 
   582 
   620   TARGETS += $(BUILD_LIBFREETYPE)
   583   TARGETS += $(BUILD_LIBFREETYPE)
   621 endif
   584 endif
   622 
   585 
   692   BUILD_LIBFONTMANAGER_sunFont.c_CFLAGS := -w
   655   BUILD_LIBFONTMANAGER_sunFont.c_CFLAGS := -w
   693   # Turn off aliasing with GCC for ExtensionSubtables.cpp
   656   # Turn off aliasing with GCC for ExtensionSubtables.cpp
   694   BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
   657   BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
   695 endif
   658 endif
   696 
   659 
   697 $(eval $(call SetupNativeCompilation, BUILD_LIBFONTMANAGER, \
   660 $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
   698     NAME := fontmanager, \
   661     NAME := fontmanager, \
   699     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   700     SRC := $(LIBFONTMANAGER_SRC), \
   662     SRC := $(LIBFONTMANAGER_SRC), \
   701     EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
   663     EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
   702         AccelGlyphCache.c, \
   664         AccelGlyphCache.c, \
   703     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
   665     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
   704     CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
   666     CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
   728     LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
   690     LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
   729     LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
   691     LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
   730     LIBS_aix := -lawt_headless,\
   692     LIBS_aix := -lawt_headless,\
   731     LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
   693     LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
   732         $(WIN_AWT_LIB), \
   694         $(WIN_AWT_LIB), \
   733     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   734     RC_FLAGS := $(RC_FLAGS) \
       
   735         -D "JDK_FNAME=fontmanager.dll" \
       
   736         -D "JDK_INTERNAL_NAME=fontmanager" \
       
   737         -D "JDK_FTYPE=0x2L", \
       
   738     OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \
       
   739 ))
   695 ))
   740 
   696 
   741 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
   697 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
   742 
   698 
   743 ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix))
   699 ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix))
   766       #
   722       #
   767 
   723 
   768   ifeq ($(OPENJDK_TARGET_CPU), x86)
   724   ifeq ($(OPENJDK_TARGET_CPU), x86)
   769     KERNEL32_LIB := kernel32.lib
   725     KERNEL32_LIB := kernel32.lib
   770   endif
   726   endif
   771   $(eval $(call SetupNativeCompilation, BUILD_LIBJAWT, \
   727   $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
   772       NAME := jawt, \
   728       NAME := jawt, \
   773       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   774       SRC := $(LIBJAWT_SRC), \
   729       SRC := $(LIBJAWT_SRC), \
   775       INCLUDE_FILES := $(LIBJAWT_INCLUDE_FILES), \
   730       INCLUDE_FILES := $(LIBJAWT_INCLUDE_FILES), \
   776       OPTIMIZATION := LOW, \
   731       OPTIMIZATION := LOW, \
   777       CFLAGS := $(CXXFLAGS_JDKLIB) \
   732       CFLAGS := $(CXXFLAGS_JDKLIB) \
   778           -EHsc -DUNICODE -D_UNICODE \
   733           -EHsc -DUNICODE -D_UNICODE \
   779           $(LIBJAWT_CFLAGS), \
   734           $(LIBJAWT_CFLAGS), \
   780       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
   735       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
   781       LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \
   736       LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \
   782       VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   783       RC_FLAGS := $(RC_FLAGS) \
       
   784           -D "JDK_FNAME=jawt.dll" \
       
   785           -D "JDK_INTERNAL_NAME=jawt" \
       
   786           -D "JDK_FTYPE=0x2L", \
       
   787       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjawt, \
       
   788   ))
   737   ))
   789 
   738 
   790   $(BUILD_LIBJAWT): $(BUILD_LIBAWT)
   739   $(BUILD_LIBJAWT): $(BUILD_LIBAWT)
   791 
   740 
   792   $(eval $(call SetupCopyFiles, COPY_JAWT_LIB, \
   741   $(eval $(call SetupCopyFiles, COPY_JAWT_LIB, \
   826       JAWT_LIBS += -lawt_headless
   775       JAWT_LIBS += -lawt_headless
   827       HEADLESS_CFLAG += -DHEADLESS
   776       HEADLESS_CFLAG += -DHEADLESS
   828     endif
   777     endif
   829   endif
   778   endif
   830 
   779 
   831   $(eval $(call SetupNativeCompilation, BUILD_LIBJAWT, \
   780   $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
   832       NAME := jawt, \
   781       NAME := jawt, \
   833       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   834       SRC := $(LIBJAWT_SRC), \
   782       SRC := $(LIBJAWT_SRC), \
   835       INCLUDE_FILES := $(JAWT_FILES), \
   783       INCLUDE_FILES := $(JAWT_FILES), \
   836       OPTIMIZATION := LOW, \
   784       OPTIMIZATION := LOW, \
   837       CFLAGS := $(CFLAGS_JDKLIB) \
   785       CFLAGS := $(CFLAGS_JDKLIB) \
   838           $(LIBJAWT_CFLAGS), \
   786           $(LIBJAWT_CFLAGS), \
   844       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   792       LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
   845       LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \
   793       LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \
   846       LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \
   794       LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \
   847       LIBS_solaris := $(X_LIBS) -lXrender, \
   795       LIBS_solaris := $(X_LIBS) -lXrender, \
   848       LIBS_macosx := -framework Cocoa, \
   796       LIBS_macosx := -framework Cocoa, \
   849       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjawt, \
       
   850   ))
   797   ))
   851 
   798 
   852   ifeq ($(ENABLE_HEADLESS_ONLY), false)
   799   ifeq ($(ENABLE_HEADLESS_ONLY), false)
   853     $(BUILD_LIBJAWT): $(BUILD_LIBAWT_XAWT)
   800     $(BUILD_LIBJAWT): $(BUILD_LIBAWT_XAWT)
   854   else
   801   else
   955     LIBSPLASHSCREEN_LIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib
   902     LIBSPLASHSCREEN_LIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib
   956   else
   903   else
   957     LIBSPLASHSCREEN_LIBS += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread -ldl
   904     LIBSPLASHSCREEN_LIBS += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread -ldl
   958   endif
   905   endif
   959 
   906 
   960   $(eval $(call SetupNativeCompilation, BUILD_LIBSPLASHSCREEN, \
   907   $(eval $(call SetupJdkLibrary, BUILD_LIBSPLASHSCREEN, \
   961       NAME := splashscreen, \
   908       NAME := splashscreen, \
   962       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
   963       SRC := $(LIBSPLASHSCREEN_DIRS), \
   909       SRC := $(LIBSPLASHSCREEN_DIRS), \
   964       EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
   910       EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
   965       EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
   911       EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
   966       OPTIMIZATION := LOW, \
   912       OPTIMIZATION := LOW, \
   967       CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
   913       CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
   978       LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
   924       LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
   979       LDFLAGS_windows := -delayload:user32.dll, \
   925       LDFLAGS_windows := -delayload:user32.dll, \
   980       LIBS := $(JDKLIB_LIBS) $(LIBSPLASHSCREEN_LIBS) $(LIBZ_LIBS) \
   926       LIBS := $(JDKLIB_LIBS) $(LIBSPLASHSCREEN_LIBS) $(LIBZ_LIBS) \
   981           $(GIFLIB_LIBS) $(LIBJPEG_LIBS) $(PNG_LIBS), \
   927           $(GIFLIB_LIBS) $(LIBJPEG_LIBS) $(PNG_LIBS), \
   982       LIBS_aix := -liconv, \
   928       LIBS_aix := -liconv, \
   983       VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
       
   984       RC_FLAGS := $(RC_FLAGS) \
       
   985           -D "JDK_FNAME=splashscreen.dll" \
       
   986           -D "JDK_INTERNAL_NAME=splashscreen" \
       
   987           -D "JDK_FTYPE=0x2L", \
       
   988       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libsplashscreen, \
       
   989   ))
   929   ))
   990 
   930 
   991   TARGETS += $(BUILD_LIBSPLASHSCREEN)
   931   TARGETS += $(BUILD_LIBSPLASHSCREEN)
   992 
   932 
   993   ifeq ($(OPENJDK_TARGET_OS), macosx)
   933   ifeq ($(OPENJDK_TARGET_OS), macosx)
  1030       #
   970       #
  1031 
   971 
  1032   LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
   972   LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
  1033   LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib
   973   LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib
  1034 
   974 
  1035   $(eval $(call SetupNativeCompilation, BUILD_LIBAWT_LWAWT, \
   975   $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_LWAWT, \
  1036       NAME := awt_lwawt, \
   976       NAME := awt_lwawt, \
  1037       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1038       SRC := $(LIBAWT_LWAWT_DIRS), \
   977       SRC := $(LIBAWT_LWAWT_DIRS), \
  1039       INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
   978       INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
  1040       EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
   979       EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
  1041       EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
   980       EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
  1042       OPTIMIZATION := LOW, \
   981       OPTIMIZATION := LOW, \
  1060           -framework ExceptionHandling \
   999           -framework ExceptionHandling \
  1061           -framework JavaNativeFoundation \
  1000           -framework JavaNativeFoundation \
  1062           -framework JavaRuntimeSupport \
  1001           -framework JavaRuntimeSupport \
  1063           -framework OpenGL \
  1002           -framework OpenGL \
  1064           -framework QuartzCore -ljava, \
  1003           -framework QuartzCore -ljava, \
  1065       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_lwawt, \
       
  1066   ))
  1004   ))
  1067 
  1005 
  1068   TARGETS += $(BUILD_LIBAWT_LWAWT)
  1006   TARGETS += $(BUILD_LIBAWT_LWAWT)
  1069 
  1007 
  1070   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBAWT)
  1008   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBAWT)
  1079 
  1017 
  1080 ################################################################################
  1018 ################################################################################
  1081 
  1019 
  1082 ifeq ($(OPENJDK_TARGET_OS), macosx)
  1020 ifeq ($(OPENJDK_TARGET_OS), macosx)
  1083 
  1021 
  1084   $(eval $(call SetupNativeCompilation, BUILD_LIBOSXUI, \
  1022   $(eval $(call SetupJdkLibrary, BUILD_LIBOSXUI, \
  1085       NAME := osxui, \
  1023       NAME := osxui, \
  1086       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
       
  1087       SRC := $(TOPDIR)/src/java.desktop/macosx/native/libosxui, \
  1024       SRC := $(TOPDIR)/src/java.desktop/macosx/native/libosxui, \
  1088       OPTIMIZATION := LOW, \
  1025       OPTIMIZATION := LOW, \
  1089       CFLAGS := $(CFLAGS_JDKLIB) \
  1026       CFLAGS := $(CFLAGS_JDKLIB) \
  1090           -I$(TOPDIR)/src/java.desktop/macosx/native/libosxui \
  1027           -I$(TOPDIR)/src/java.desktop/macosx/native/libosxui \
  1091           -I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/awt \
  1028           -I$(TOPDIR)/src/java.desktop/macosx/native/libawt_lwawt/awt \
  1102           -framework Carbon \
  1039           -framework Carbon \
  1103           -framework ApplicationServices \
  1040           -framework ApplicationServices \
  1104           -framework JavaNativeFoundation \
  1041           -framework JavaNativeFoundation \
  1105           -framework JavaRuntimeSupport \
  1042           -framework JavaRuntimeSupport \
  1106           -ljava -ljvm, \
  1043           -ljava -ljvm, \
  1107       OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libosxui, \
       
  1108   ))
  1044   ))
  1109 
  1045 
  1110   TARGETS += $(BUILD_LIBOSXUI)
  1046   TARGETS += $(BUILD_LIBOSXUI)
  1111 
  1047 
  1112   $(BUILD_LIBOSXUI): $(BUILD_LIBAWT)
  1048   $(BUILD_LIBOSXUI): $(BUILD_LIBAWT)