1 #
   2 # Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
   3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 #
   5 # This code is free software; you can redistribute it and/or modify it
   6 # under the terms of the GNU General Public License version 2 only, as
   7 # published by the Free Software Foundation.  Oracle designates this
   8 # particular file as subject to the "Classpath" exception as provided
   9 # by Oracle in the LICENSE file that accompanied this code.
  10 #
  11 # This code is distributed in the hope that it will be useful, but WITHOUT
  12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22 # or visit www.oracle.com if you need additional information or have any
  23 # questions.
  24 #
  25 
  26 WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib
  27 
  28 ##########################################################################################
  29 
  30 BUILD_LIBMLIB_SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib
  31 BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
  32     -I$(BUILD_LIBMLIB_SRC) \
  33     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib
  34 
  35 BUILD_LIBMLIB_LDLIBS :=
  36 BUILD_LIBMLIB_IMAGE_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libmlib_image/mapfile-vers
  37 
  38 BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
  39 
  40 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
  41   BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
  42 endif
  43 
  44 ifneq ($(OPENJDK_TARGET_OS), windows)
  45   BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
  46 endif
  47 
  48 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE, \
  49     LIBRARY := mlib_image, \
  50     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
  51     SRC := $(BUILD_LIBMLIB_SRC), \
  52     EXCLUDE_FILES := awt_ImagingLib.c mlib_c_ImageBlendTable.c, \
  53     LANG := C, \
  54     OPTIMIZATION := HIGHEST, \
  55     CFLAGS := $(CFLAGS_JDKLIB) \
  56         $(BUILD_LIBMLIB_CFLAGS), \
  57     MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
  58     LDFLAGS := $(LDFLAGS_JDKLIB) \
  59         $(call SET_SHARED_LIBRARY_ORIGIN), \
  60     LDFLAGS_SUFFIX := $(BUILD_LIBMLIB_LDLIBS) \
  61         $(LDFLAGS_JDKLIB_SUFFIX), \
  62     LDFLAGS_SUFFIX_solaris := -lc, \
  63     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
  64     RC_FLAGS := $(RC_FLAGS) \
  65         -D "JDK_FNAME=mlib_image.dll" \
  66         -D "JDK_INTERNAL_NAME=mlib_image" \
  67         -D "JDK_FTYPE=0x2L", \
  68     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmlib_image, \
  69     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
  70 
  71 $(BUILD_LIBMLIB_IMAGE): $(BUILD_LIBJAVA)
  72 
  73 BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
  74 
  75 ##########################################################################################
  76 
  77 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
  78 
  79   BUILD_LIBMLIB_IMAGE_V_FILES := \
  80       mlib_v_ImageLookUp.c \
  81       mlib_ImageCreate.c \
  82       mlib_ImageAffine.c \
  83       mlib_ImageConvMxN.c \
  84       mlib_ImageConvKernelConvert.c \
  85       mlib_sys.c \
  86       mlib_ImageLookUp_64.c \
  87       mlib_ImageLookUp_Bit.c \
  88       mlib_ImageColorTrue2Index.c \
  89       mlib_c_ImageThresh1_U8.c \
  90       mlib_v_ImageLookUpS16S16Func.c \
  91       mlib_v_ImageLookUpS16S32Func.c \
  92       mlib_v_ImageLookUpS16U16Func.c \
  93       mlib_v_ImageLookUpS16U8Func.c \
  94       mlib_v_ImageLookUpS32S16Func.c \
  95       mlib_v_ImageLookUpS32S32Func.c \
  96       mlib_v_ImageLookUpS32U16Func.c \
  97       mlib_v_ImageLookUpS32U8Func.c \
  98       mlib_v_ImageLookUpSIS16S16Func.c \
  99       mlib_v_ImageLookUpSIS16S32Func.c \
 100       mlib_v_ImageLookUpSIS16U16Func.c \
 101       mlib_v_ImageLookUpSIS16U8Func.c \
 102       mlib_v_ImageLookUpSIS32S16Func.c \
 103       mlib_v_ImageLookUpSIS32S32Func.c \
 104       mlib_v_ImageLookUpSIS32U16Func.c \
 105       mlib_v_ImageLookUpSIS32U8Func.c \
 106       mlib_v_ImageLookUpSIU16S16Func.c \
 107       mlib_v_ImageLookUpSIU16S32Func.c \
 108       mlib_v_ImageLookUpSIU16U16Func.c \
 109       mlib_v_ImageLookUpSIU16U8Func.c \
 110       mlib_v_ImageLookUpSIU8S16Func.c \
 111       mlib_v_ImageLookUpSIU8S32Func.c \
 112       mlib_v_ImageLookUpSIU8U16Func.c \
 113       mlib_v_ImageLookUpSIU8U8Func.c \
 114       mlib_v_ImageLookUpU16S16Func.c \
 115       mlib_v_ImageLookUpU16S32Func.c \
 116       mlib_v_ImageLookUpU16U16Func.c \
 117       mlib_v_ImageLookUpU16U8Func.c \
 118       mlib_v_ImageLookUpU8S16Func.c \
 119       mlib_v_ImageLookUpU8S32Func.c \
 120       mlib_v_ImageLookUpU8U16Func.c \
 121       mlib_v_ImageLookUpU8U8Func.c \
 122       mlib_v_ImageAffineIndex_BC.c \
 123       mlib_v_ImageAffine_BC.c \
 124       mlib_v_ImageAffine_BC_S16.c \
 125       mlib_v_ImageAffine_BC_U16.c \
 126       mlib_v_ImageAffine_BL.c \
 127       mlib_v_ImageAffine_BL_S16.c \
 128       mlib_v_ImageAffine_BL_U16.c \
 129       mlib_v_ImageAffine_NN.c \
 130       mlib_v_ImageFilters.c \
 131       mlib_ImageAffineEdge.c \
 132       mlib_ImageAffine_BC_D64.c \
 133       mlib_ImageAffine_BC_F32.c \
 134       mlib_ImageAffine_BC_S32.c \
 135       mlib_ImageAffine_BL_D64.c \
 136       mlib_ImageAffine_BL_F32.c \
 137       mlib_ImageAffine_BL_S32.c \
 138       mlib_ImageAffine_NN.c \
 139       mlib_ImageAffine_NN_Bit.c \
 140       mlib_ImageFilters.c \
 141       mlib_ImageScanPoly.c \
 142       mlib_ImageConv_8nw.c \
 143       mlib_ImageConv_8ext.c \
 144       mlib_ImageConv_16nw.c \
 145       mlib_ImageConv_16ext.c \
 146       mlib_ImageConv_u16nw.c \
 147       mlib_ImageConv_u16ext.c \
 148       mlib_ImageConv_32nw.c \
 149       mlib_ImageConv_F32nw.c \
 150       mlib_ImageConvMxN_Fp.c \
 151       mlib_ImageConvMxN_ext.c \
 152       mlib_ImageConv_D64nw.c \
 153       mlib_ImageClipping.c \
 154       mlib_ImageConvCopyEdge_Bit.c \
 155       mlib_ImageConvClearEdge_Bit.c \
 156       mlib_ImageConv2x2_f.c \
 157       mlib_ImageConvClearEdge_Fp.c \
 158       mlib_v_ImageConvMxN_8.c \
 159       mlib_v_ImageConvClearEdge.c \
 160       mlib_v_ImageConvCopyEdge.c \
 161       mlib_v_ImageConvMxN_8ext.c \
 162       mlib_v_ImageConvVersion.c \
 163       mlib_v_ImageConv_8nw.c \
 164       mlib_ImageConvCopyEdge_Fp.c \
 165       mlib_v_ImageChannelInsert_1.c \
 166       mlib_v_ImageChannelExtract_43.c \
 167       mlib_v_ImageChannelExtract_1.c \
 168       mlib_ImageCopy_Bit.c \
 169       mlib_v_ImageCopy_f.c \
 170       mlib_ImageUtils.c \
 171       mlib_ImageDivTables.c
 172 
 173   BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
 174 
 175   $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V, \
 176       LIBRARY := mlib_image_v, \
 177       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 178       SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
 179           $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib, \
 180       LANG := C, \
 181       INCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_FILES), \
 182       OPTIMIZATION := HIGHEST, \
 183       CFLAGS := -xarch=sparcvis \
 184           $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il \
 185           $(BUILD_LIBMLIB_V_CFLAGS) \
 186           $(CFLAGS_JDKLIB), \
 187       MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
 188       LDFLAGS := $(LDFLAGS_JDKLIB) \
 189           $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
 190           $(call SET_SHARED_LIBRARY_ORIGIN), \
 191       LDFLAGS_SUFFIX_solaris := -lc, \
 192       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmlib_image_v, \
 193       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 194 
 195   $(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
 196 
 197   BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
 198 
 199 endif
 200 
 201 ##########################################################################################
 202 
 203 LIBAWT_DIRS := \
 204     $(JDK_TOPDIR)/src/share/native/sun/awt \
 205     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
 206     $(JDK_TOPDIR)/src/share/native/sun/awt/image \
 207     $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
 208     $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
 209     $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
 210     $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
 211     $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
 212     $(JDK_TOPDIR)/src/share/native/sun/java2d \
 213     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
 214     $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
 215     $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
 216     $(JDK_TOPDIR)/src/share/native/sun/awt/image \
 217     $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
 218     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
 219     $(JDK_TOPDIR)/src/share/native/sun/font
 220 
 221 ifeq ($(OPENJDK_TARGET_OS), windows)
 222   LIBAWT_DIRS += \
 223       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
 224       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
 225       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d
 226 else ifneq ($(OPENJDK_TARGET_OS), macosx)
 227   LIBAWT_DIRS += \
 228       $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
 229 endif
 230 
 231 ifeq ($(OPENJDK_TARGET_OS), aix)
 232   LIBAWT_DIRS += $(JDK_TOPDIR)/src/aix/porting
 233 endif
 234 
 235 LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
 236     $(X_CFLAGS) \
 237     $(foreach dir, $(LIBAWT_DIRS), -I$(dir))
 238 
 239 LIBAWT_FILES := \
 240     gifdecoder.c \
 241     imageInitIDs.c \
 242     img_globals.c \
 243     SurfaceData.c \
 244     Region.c \
 245     BufImgSurfaceData.c \
 246     Disposer.c \
 247     Trace.c \
 248     GraphicsPrimitiveMgr.c \
 249     Blit.c \
 250     BlitBg.c \
 251     ScaledBlit.c \
 252     FillRect.c \
 253     FillSpans.c \
 254     FillParallelogram.c \
 255     DrawParallelogram.c \
 256     DrawLine.c \
 257     DrawRect.c \
 258     DrawPolygons.c \
 259     DrawPath.c \
 260     FillPath.c \
 261     ProcessPath.c \
 262     MaskBlit.c \
 263     MaskFill.c \
 264     TransformHelper.c \
 265     AlphaMath.c \
 266     AlphaMacros.c \
 267     AnyByte.c \
 268     ByteBinary1Bit.c \
 269     ByteBinary2Bit.c \
 270     ByteBinary4Bit.c \
 271     ByteIndexed.c \
 272     ByteGray.c \
 273     Index8Gray.c \
 274     Index12Gray.c \
 275     AnyShort.c \
 276     Ushort555Rgb.c \
 277     Ushort565Rgb.c \
 278     Ushort4444Argb.c \
 279     Ushort555Rgbx.c \
 280     UshortGray.c \
 281     UshortIndexed.c \
 282     Any3Byte.c \
 283     ThreeByteBgr.c \
 284     AnyInt.c \
 285     IntArgb.c \
 286     IntArgbPre.c \
 287     IntArgbBm.c \
 288     IntRgb.c \
 289     IntBgr.c \
 290     IntRgbx.c \
 291     Any4Byte.c \
 292     FourByteAbgr.c \
 293     FourByteAbgrPre.c \
 294     BufferedMaskBlit.c \
 295     BufferedRenderPipe.c \
 296     ShapeSpanIterator.c \
 297     SpanClipRenderer.c \
 298     awt_ImageRep.c \
 299     awt_ImagingLib.c \
 300     awt_Mlib.c \
 301     awt_parseImage.c \
 302     DataBufferNative.c \
 303     dither.c \
 304     debug_assert.c \
 305     debug_mem.c \
 306     debug_trace.c \
 307     debug_util.c
 308 
 309 ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris linux aix))
 310   LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
 311 endif
 312 
 313 ifeq ($(OPENJDK_TARGET_OS), aix)
 314   LIBAWT_FILES += porting_aix.c
 315 endif
 316 
 317 ifeq ($(OPENJDK_TARGET_OS), macosx)
 318   LIBAWT_FILES += awt_LoadLibrary.c
 319 endif
 320 
 321 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
 322   LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
 323   LIBAWT_CFLAGS += -xarch=sparcvis
 324   LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
 325   LIBAWT_CFLAGS += \
 326       -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
 327       -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
 328       -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
 329 
 330   LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
 331       $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
 332 
 333   LIBAWT_FILES += \
 334       vis_FuncArray.c \
 335       java2d_Mlib.c \
 336       mlib_ImageCreate.c \
 337       mlib_ImageZoom_NN.c \
 338       mlib_ImageCopy_Bit.c \
 339       mlib_sys.c \
 340       mlib_v_ImageClear.c \
 341       mlib_v_ImageClear_f.c \
 342       mlib_v_ImageConstXor.c \
 343       mlib_v_ImageCopy.c \
 344       mlib_v_ImageCopy_f.c \
 345       mlib_v_ImageXor.c \
 346       mlib_v_ImageZoom_NN_f.c \
 347       vis_Interp.c \
 348       vis_AlphaMacros.c \
 349       vis_AlphaMaskBlit.c \
 350       vis_AlphaMaskFill.c \
 351       vis_ByteGray.c \
 352       vis_ByteGray_FromRgb.c \
 353       vis_ByteGray_Mask.c \
 354       vis_ByteIndexed.c \
 355       vis_DrawLine.c \
 356       vis_FourByteAbgr.c \
 357       vis_IntArgb.c \
 358       vis_IntArgbPre.c \
 359       vis_IntArgbPre_Mask.c \
 360       vis_IntBgr.c \
 361       vis_IntRgb.c \
 362       vis_IntRgbx.c \
 363       vis_SrcMaskFill.c \
 364       vis_SrcOverMaskBlit.c \
 365       vis_SrcOverMaskFill.c \
 366       vis_FourByteAbgrPre.c \
 367       vis_GlyphList.c \
 368       vis_GlyphListXor.c \
 369       vis_IntArgbBm.c \
 370       vis_ThreeByteBgr.c \
 371       vis_UshortGray.c \
 372       vis_UshortGray_FromRgb.c \
 373       vis_XorBlit.c \
 374       mlib_v_ImageCopy_blk.s
 375 
 376   ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
 377     LIBAWT_ASFLAGS = -P -xarch=v9a
 378   else
 379     LIBAWT_ASFLAGS = -P -xarch=v8plusa
 380   endif
 381 else
 382   LIBAWT_FILES += MapAccelFunc.c
 383 endif
 384 
 385 ifneq ($(OPENJDK_TARGET_OS), solaris)
 386   LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
 387 endif
 388 
 389 LIBAWT_LANG := C
 390 
 391 ifeq ($(OPENJDK_TARGET_OS), windows)
 392   LIBAWT_FILES += AccelGlyphCache.c \
 393       ShaderList.c \
 394       CmdIDList.cpp \
 395       Hashtable.cpp \
 396       GDIHashtable.cpp \
 397       Devices.cpp \
 398       ObjectList.cpp \
 399       GDIBlitLoops.cpp \
 400       GDIRenderer.cpp \
 401       GDIWindowSurfaceData.cpp \
 402       WindowsFlags.cpp \
 403       WPrinterJob.cpp \
 404       awt_%.cpp \
 405       D3DBlitLoops.cpp \
 406       D3DBufImgOps.cpp \
 407       D3DContext.cpp \
 408       D3DGlyphCache.cpp \
 409       D3DGraphicsDevice.cpp \
 410       D3DMaskBlit.cpp \
 411       D3DMaskCache.cpp \
 412       D3DMaskFill.cpp \
 413       D3DPipelineManager.cpp \
 414       D3DPaints.cpp \
 415       D3DRenderer.cpp \
 416       D3DRenderQueue.cpp \
 417       D3DResourceManager.cpp \
 418       D3DSurfaceData.cpp \
 419       D3DTextRenderer.cpp \
 420       D3DVertexCacher.cpp \
 421       ShellFolder2.cpp \
 422       ThemeReader.cpp \
 423       ComCtl32Util.cpp \
 424       DllUtil.cpp \
 425       initIDs.cpp \
 426       MouseInfo.cpp \
 427       rect.c \
 428       OGLBlitLoops.c \
 429       OGLBufImgOps.c \
 430       OGLContext.c \
 431       OGLFuncs.c \
 432       OGLMaskBlit.c \
 433       OGLMaskFill.c \
 434       OGLPaints.c \
 435       OGLRenderQueue.c \
 436       OGLRenderer.c \
 437       OGLSurfaceData.c \
 438       OGLTextRenderer.c \
 439       OGLVertexCache.c \
 440       WGLGraphicsConfig.c \
 441       WGLSurfaceData.c
 442 
 443   LIBAWT_LANG := C++
 444   LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
 445   ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
 446     LIBAWT_CFLAGS += -DMLIB_OS64BIT
 447   endif
 448 
 449   ifdef OPENJDK
 450     LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/windows/resource/icons"
 451   else
 452     LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
 453   endif
 454   LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
 455 endif
 456 
 457 ifeq ($(MILESTONE), internal)
 458   LIBAWT_CFLAGS += -DINTERNAL_BUILD
 459 endif
 460 
 461 LIBAWT_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt/mapfile-vers
 462 ifeq ($(OPENJDK_TARGET_OS), linux)
 463   LIBAWT_MAPFILE :=
 464 endif
 465 
 466 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
 467     LIBRARY := awt, \
 468     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 469     SRC := $(LIBAWT_DIRS), \
 470     INCLUDE_FILES := $(LIBAWT_FILES), \
 471     LANG := $(LIBAWT_LANG), \
 472     OPTIMIZATION := LOW, \
 473     CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
 474     ASFLAGS := $(LIBAWT_ASFLAGS), \
 475     MAPFILE := $(LIBAWT_MAPFILE), \
 476     LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
 477     LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \
 478     LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \
 479     LDFLAGS_SUFFIX_aix :=-ljvm $(LIBM) $(LIBDL) -ljava -lm,\
 480     LDFLAGS_SUFFIX_macosx := -lmlib_image -ljvm $(LIBM) \
 481         -framework Cocoa \
 482         -framework OpenGL \
 483         -framework JavaNativeFoundation \
 484         -framework JavaRuntimeSupport \
 485         -framework ApplicationServices \
 486         -framework AudioToolbox \
 487         -ljava, \
 488     LDFLAGS_SUFFIX_windows := kernel32.lib user32.lib gdi32.lib winspool.lib \
 489         imm32.lib ole32.lib uuid.lib shell32.lib \
 490         comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
 491         delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
 492         -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
 493         -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
 494         -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
 495         -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
 496         -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll, \
 497     VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE), \
 498     RC_FLAGS := $(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
 499         -D "JDK_FNAME=awt.dll" \
 500         -D "JDK_INTERNAL_NAME=awt" \
 501         -D "JDK_FTYPE=0x2L", \
 502     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt, \
 503     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 504 
 505 $(BUILD_LIBAWT): $(BUILD_LIBJAVA)
 506 
 507 ifeq ($(OPENJDK_TARGET_OS), macosx)
 508   $(BUILD_LIBAWT): $(BUILD_LIBMLIB_IMAGE)
 509 endif
 510 
 511 BUILD_LIBRARIES += $(BUILD_LIBAWT)
 512 
 513 ##########################################################################################
 514 
 515 ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
 516   ifndef BUILD_HEADLESS_ONLY
 517 
 518     LIBAWT_XAWT_DIRS := \
 519         $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
 520         $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
 521         $(JDK_TOPDIR)/src/share/native/sun/font \
 522         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
 523         $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
 524         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
 525         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
 526         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
 527         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
 528 
 529     LIBAWT_XAWT_CFLAGS := -DXAWT -DXAWT_HACK \
 530         -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
 531         $(FONTCONFIG_CFLAGS) \
 532         $(CUPS_CFLAGS) \
 533         $(foreach dir, $(LIBAWT_XAWT_DIRS), -I$(dir)) \
 534         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
 535         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
 536         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
 537         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
 538         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
 539         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
 540         -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
 541         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
 542 
 543     ifeq ($(OPENJDK_TARGET_OS), solaris)
 544       LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
 545     endif
 546 
 547     ifeq ($(OPENJDK_TARGET_OS), linux)
 548       ifndef OPENJDK
 549         include $(JDK_TOPDIR)/make/closed/xawt.gmk
 550       endif
 551 
 552       ifeq ($(DISABLE_XRENDER), true)
 553         LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
 554       endif
 555     endif
 556 
 557     ifeq ($(MILESTONE), internal)
 558       LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
 559     endif
 560 
 561     LIBAWT_XAWT_FILES := \
 562         XlibWrapper.c \
 563         XWindow.c \
 564         XToolkit.c \
 565         X11Color.c \
 566         X11SurfaceData.c \
 567         awt_GraphicsEnv.c \
 568         awt_InputMethod.c \
 569         robot_common.c \
 570         awt_Robot.c \
 571         list.c \
 572         multiVis.c \
 573         initIDs.c \
 574         awt_util.c \
 575         awt_Desktop.c \
 576         awt_UNIXToolkit.c \
 577         X11FontScaler_md.c \
 578         X11TextRenderer_md.c \
 579         fontpath.c \
 580         awt_Insets.c \
 581         awt_Event.c \
 582         X11Renderer.c \
 583         X11PMBlitLoops.c \
 584         OGLBlitLoops.c \
 585         OGLBufImgOps.c \
 586         OGLContext.c \
 587         OGLFuncs.c \
 588         OGLMaskBlit.c \
 589         OGLMaskFill.c \
 590         OGLPaints.c \
 591         OGLRenderQueue.c \
 592         OGLRenderer.c \
 593         OGLSurfaceData.c \
 594         OGLTextRenderer.c \
 595         OGLVertexCache.c \
 596         GLXGraphicsConfig.c \
 597         GLXSurfaceData.c \
 598         AccelGlyphCache.c \
 599         awt_Font.c \
 600         multi_font.c \
 601         awt_AWTEvent.c \
 602         awt_DrawingSurface.c \
 603         jawt.c \
 604         CUPSfuncs.c \
 605         debug_assert.c \
 606         debug_mem.c \
 607         debug_trace.c \
 608         debug_util.c \
 609         gnome_interface.c \
 610         gtk_interface.c \
 611         gtk2_interface.c \
 612         gtk3_interface.c \
 613         swing_GTKEngine.c \
 614         swing_GTKStyle.c \
 615         rect.c \
 616         sun_awt_X11_GtkFileDialogPeer.c \
 617         XRSurfaceData.c \
 618         XRBackendNative.c
 619 
 620     LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
 621 
 622     ifeq ($(OPENJDK_TARGET_OS), linux)
 623       # To match old build, add this to LDFLAGS instead of suffix.
 624       LIBAWT_XAWT_LDFLAGS += -lpthread
 625     endif
 626 
 627     $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
 628         LIBRARY := awt_xawt, \
 629         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 630         SRC := $(LIBAWT_XAWT_DIRS), \
 631         INCLUDE_FILES := $(LIBAWT_XAWT_FILES), \
 632         LANG := C, \
 633         OPTIMIZATION := LOW, \
 634         CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
 635             $(X_CFLAGS), \
 636         MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
 637         LDFLAGS := $(LDFLAGS_JDKLIB) \
 638             $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS) \
 639             $(call SET_SHARED_LIBRARY_ORIGIN) \
 640             $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
 641         LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \
 642         VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 643         RC_FLAGS := $(RC_FLAGS) \
 644             -D "JDK_FNAME=xawt.dll" \
 645             -D "JDK_INTERNAL_NAME=xawt" \
 646             -D "JDK_FTYPE=0x2L", \
 647         OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_xawt, \
 648         DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 649 
 650     $(BUILD_LIBAWT_XAWT): $(BUILD_LIBJAVA)
 651 
 652     $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
 653 
 654     BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
 655 
 656   endif
 657 endif
 658 
 659 ##########################################################################################
 660 
 661 # TODO: Update awt lib path when awt is converted
 662 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
 663     LIBRARY := lcms, \
 664     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 665     SRC := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms, \
 666     LANG := C, \
 667     OPTIMIZATION := HIGHEST, \
 668     CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
 669         -DCMS_DONT_USE_FAST_FLOOR \
 670         $(SHARED_LIBRARY_FLAGS) \
 671         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
 672         -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug, \
 673     CFLAGS_solaris := -xc99=no_lib, \
 674     CFLAGS_windows := -DCMS_IS_WINDOWS_, \
 675     MAPFILE := $(JDK_TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \
 676     LDFLAGS := $(LDFLAGS_JDKLIB) \
 677         $(call SET_SHARED_LIBRARY_ORIGIN), \
 678     LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \
 679     LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
 680     LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \
 681     LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \
 682     LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm, \
 683     LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm,\
 684     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 685     RC_FLAGS := $(RC_FLAGS) \
 686         -D "JDK_FNAME=lcms.dll" \
 687         -D "JDK_INTERNAL_NAME=lcms" \
 688         -D "JDK_FTYPE=0x2L", \
 689     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/liblcms, \
 690     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 691 
 692 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
 693 
 694 $(BUILD_LIBLCMS): $(BUILD_LIBAWT)
 695 
 696 ##########################################################################################
 697 
 698 ifdef OPENJDK
 699   BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
 700 else
 701   BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed
 702   BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
 703   BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC)
 704 endif
 705 
 706 BUILD_LIBJPEG_REORDER :=
 707 ifeq ($(OPENJDK_TARGET_OS), solaris)
 708   ifneq ($(OPENJDK_TARGET_CPU), x86_64)
 709     BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
 710   endif
 711 endif
 712 
 713 # Suppress gcc warnings like "variable might be clobbered by 'longjmp'
 714 # or 'vfork'": this warning indicates that some variable is placed to
 715 # a register by optimized compiler and it's value might be lost on longjmp().
 716 # Recommended way to avoid such warning is to declare the variable as
 717 # volatile to prevent the optimization. However, this approach does not
 718 # work because we have to declare all variables as volatile in result.
 719 #ifndef CROSS_COMPILE_ARCH
 720 #  CC_43_OR_NEWER := \
 721 #      $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
 722 #          \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
 723 #  ifeq ($(CC_43_OR_NEWER), 1)
 724 #    BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
 725 #  endif
 726 #endif
 727 
 728 $(eval $(call SetupNativeCompilation,BUILD_LIBJPEG, \
 729     LIBRARY := jpeg, \
 730     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 731     SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \
 732         $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
 733     LANG := C, \
 734     OPTIMIZATION := HIGHEST, \
 735     CFLAGS := $(CFLAGS_JDKLIB) \
 736         $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
 737         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
 738     MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
 739     LDFLAGS := $(LDFLAGS_JDKLIB) \
 740         $(call SET_SHARED_LIBRARY_ORIGIN), \
 741     LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
 742     LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
 743     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 744     RC_FLAGS := $(RC_FLAGS) \
 745         -D "JDK_FNAME=jpeg.dll" \
 746         -D "JDK_INTERNAL_NAME=jpeg" \
 747         -D "JDK_FTYPE=0x2L", \
 748     REORDER := $(BUILD_LIBJPEG_REORDER), \
 749     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \
 750     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 751 
 752 $(BUILD_LIBJPEG): $(BUILD_LIBJAVA)
 753 
 754 BUILD_LIBRARIES += $(BUILD_LIBJPEG)
 755 
 756 ##########################################################################################
 757 
 758 ifeq ($(BUILD_HEADLESS), true)
 759   # Mac and Windows only use the native AWT lib, do not build libawt_headless
 760   ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
 761 
 762     LIBAWT_HEADLESS_DIRS := $(JDK_TOPDIR)/src/share/native/sun/font \
 763         $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
 764         $(JDK_TOPDIR)/src/solaris/native/sun/font \
 765         $(JDK_TOPDIR)/src/solaris/native/sun/awt \
 766         $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
 767         $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
 768 
 769     ifeq ($(OPENJDK_TARGET_OS), macosx)
 770       LIBAWT_HEADLESS_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/font
 771     endif
 772 
 773     LIBAWT_HEADLESS_CFLAGS := -DHEADLESS=true \
 774         -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
 775         $(CUPS_CFLAGS) \
 776         $(FONTCONFIG_CFLAGS) \
 777         $(X_CFLAGS) \
 778         -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
 779         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
 780         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
 781         -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
 782         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
 783         -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
 784         -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
 785         -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
 786         $(foreach dir, $(LIBAWT_HEADLESS_DIRS), -I$(dir))
 787 
 788     LIBAWT_HEADLESS_FILES := \
 789         awt_Font.c \
 790         HeadlessToolkit.c \
 791         fontpath.c \
 792         VDrawingArea.c \
 793         X11Color.c \
 794         X11Renderer.c \
 795         X11PMBlitLoops.c \
 796         X11SurfaceData.c \
 797         X11FontScaler_md.c \
 798         X11TextRenderer_md.c \
 799         OGLBlitLoops.c \
 800         OGLBufImgOps.c \
 801         OGLContext.c \
 802         OGLFuncs.c \
 803         OGLMaskBlit.c \
 804         OGLMaskFill.c \
 805         OGLPaints.c \
 806         OGLRenderQueue.c \
 807         OGLRenderer.c \
 808         OGLSurfaceData.c \
 809         OGLTextRenderer.c \
 810         OGLVertexCache.c \
 811         GLXGraphicsConfig.c \
 812         GLXSurfaceData.c \
 813         AccelGlyphCache.c \
 814         CUPSfuncs.c
 815 
 816     LIBAWT_HEADLESS_REORDER :=
 817     ifeq ($(OPENJDK_TARGET_OS), solaris)
 818       ifneq ($(OPENJDK_TARGET_CPU), x86_64)
 819         LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
 820       endif
 821     endif
 822 
 823     $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS, \
 824         LIBRARY := awt_headless, \
 825         OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 826         SRC := $(LIBAWT_HEADLESS_DIRS), \
 827         INCLUDE_FILES := $(LIBAWT_HEADLESS_FILES), \
 828         LANG := C, \
 829         OPTIMIZATION := LOW, \
 830         CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS), \
 831         MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/mapfile-vers, \
 832         LDFLAGS := $(LDFLAGS_JDKLIB) \
 833             $(call SET_SHARED_LIBRARY_ORIGIN), \
 834         LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
 835         LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
 836         LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN)., \
 837         REORDER := $(LIBAWT_HEADLESS_REORDER), \
 838         LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \
 839         LDFLAGS_SUFFIX_aix := -ljvm -lawt -ljava,\
 840         LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \
 841         OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_headless, \
 842         DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 843 
 844     $(BUILD_LIBAWT_HEADLESS): $(BUILD_LIBAWT)
 845 
 846     BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
 847 
 848   endif
 849 endif
 850 
 851 ##########################################################################################
 852 
 853 ifndef OPENJDK
 854   FONT_HEADERS := -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
 855   BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers
 856   LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
 857 else
 858   FONT_HEADERS := $(FREETYPE_CFLAGS)
 859   BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers.openjdk
 860   BUILD_LIBFONTMANAGER_FONTLIB := $(FREETYPE_LIBS)
 861 endif
 862 
 863 LIBFONTMANAGER_OPTIMIZATION := HIGH
 864 
 865 ifeq ($(OPENJDK_TARGET_OS), windows)
 866   LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
 867       X11TextRenderer.c
 868   LIBFONTMANAGER_OPTIMIZATION := HIGHEST
 869 else ifeq ($(OPENJDK_TARGET_OS), macosx)
 870   LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
 871       X11TextRenderer.c \
 872       fontpath.c \
 873       lcdglyph.c
 874 else
 875   LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
 876       lcdglyph.c
 877 endif
 878 
 879 BUILD_LIBFONTMANAGER_CFLAGS_COMMON := \
 880     $(X_CFLAGS) \
 881     -DLE_STANDALONE -DHEADLESS \
 882     $(FONT_HEADERS) \
 883     -I$(JDK_TOPDIR)/src/share/native/sun/font \
 884     -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
 885     -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
 886     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
 887     -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
 888     -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
 889     -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
 890     -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
 891     -I$(JDK_TOPDIR)/src/share/native/sun/java2d
 892 
 893 # Turn off aliasing with GCC for ExtensionSubtables.cpp
 894 ifeq ($(OPENJDK_TARGET_OS), linux)
 895   BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
 896 endif
 897 
 898 # LDFLAGS clarification:
 899 #   Filter relevant linker flags disallowing unresolved symbols as we cannot
 900 #   build-time decide to which library to link against (libawt_headless or
 901 #   libawt_xawt). See JDK-8196516 for details.
 902 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
 903     LIBRARY := fontmanager, \
 904     OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 905     SRC := $(JDK_TOPDIR)/src/share/native/sun/font \
 906         $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font, \
 907     EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
 908         AccelGlyphCache.c, \
 909     LANG := C++, \
 910     CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \
 911     CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \
 912     OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
 913     CFLAGS_windows = -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
 914         -DCC_NOEX, \
 915     MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
 916     LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
 917         $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
 918         $(call SET_SHARED_LIBRARY_ORIGIN), \
 919     LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \
 920     LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \
 921     LDFLAGS_SUFFIX_solaris := -lawt -lawt_headless -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \
 922     LDFLAGS_SUFFIX_aix := -lawt -lawt_headless $(LIBM) $(LIBCXX) -ljava -ljvm,\
 923     LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
 924         -ljava -ljvm, \
 925     LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
 926         $(WIN_AWT_LIB), \
 927     VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 928     RC_FLAGS := $(RC_FLAGS) \
 929         -D "JDK_FNAME=fontmanager.dll" \
 930         -D "JDK_INTERNAL_NAME=fontmanager" \
 931         -D "JDK_FTYPE=0x2L", \
 932     OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfontmanager, \
 933     DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 934 
 935 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
 936 
 937 ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix))
 938   $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_HEADLESS)
 939 endif
 940 
 941 BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
 942 
 943 ##########################################################################################
 944 
 945 ifndef OPENJDK
 946 
 947   #ifeq ($(OPENJDK_TARGET_OS), linux)
 948   #  ifeq ("$(CC_VER_MAJOR)", "3")
 949   #    OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
 950   #  endif
 951   #endif
 952   #
 953   # The resulting size of the t2k lib file is (at least on linux) dependant on the order of
 954   # the input .o files. Because of this the new build will differ in size to the old build.
 955   BUILD_LIBT2K_CFLAGS_COMMON := -I$(JDK_TOPDIR)/src/share/native/sun/font \
 956       -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
 957       -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
 958       -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
 959       -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
 960       -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
 961       -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
 962       -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
 963       -I$(JDK_TOPDIR)/src/share/native/sun/java2d
 964 
 965   $(eval $(call SetupNativeCompilation,BUILD_LIBT2K, \
 966       LIBRARY := t2k, \
 967       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
 968       SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/font \
 969           $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
 970           $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints, \
 971       EXCLUDE_FILES := orion.c, \
 972       LANG := C++, \
 973       OPTIMIZATION := HIGH, \
 974       CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON), \
 975       CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON), \
 976       CFLAGS_windows = -DCC_NOEX, \
 977       CXXFLAGS_windows = -DCC_NOEX, \
 978       MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libt2k/mapfile-vers, \
 979       LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
 980           $(call SET_SHARED_LIBRARY_ORIGIN), \
 981       LDFLAGS_windows := user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib, \
 982       LDFLAGS_SUFFIX_posix := $(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc, \
 983       LDFLAGS_SUFFIX_solaris := -lawt -lawt_headless, \
 984       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
 985       RC_FLAGS := $(RC_FLAGS) \
 986           -D "JDK_FNAME=t2k.dll" \
 987           -D "JDK_INTERNAL_NAME=t2k" \
 988           -D "JDK_FTYPE=0x2L", \
 989       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libt2k, \
 990       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
 991 
 992   # t2k is linked against fontmanager
 993   $(BUILD_LIBT2K): $(BUILD_LIBFONTMANAGER)
 994 
 995   BUILD_LIBRARIES += $(BUILD_LIBT2K)
 996 endif
 997 
 998 ##########################################################################################
 999 
1000 ifeq ($(OPENJDK_TARGET_OS), windows)
1001   ifeq ($(OPENJDK_TARGET_CPU), x86)
1002     KERNEL32_LIB := kernel32.lib
1003   endif
1004   $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \
1005       LIBRARY := jawt, \
1006       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1007       SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows, \
1008       INCLUDE_FILES := jawt.cpp, \
1009       LANG := C++, \
1010       OPTIMIZATION := LOW, \
1011       CFLAGS := $(CXXFLAGS_JDKLIB) \
1012           -EHsc -DUNICODE -D_UNICODE \
1013           -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
1014           -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1015           -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1016           -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
1017           -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \
1018       LDFLAGS := $(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
1019           advapi32.lib $(WIN_AWT_LIB), \
1020       LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
1021       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
1022       RC_FLAGS := $(RC_FLAGS) \
1023           -D "JDK_FNAME=jawt.dll" \
1024           -D "JDK_INTERNAL_NAME=jawt" \
1025           -D "JDK_FTYPE=0x2L", \
1026       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \
1027       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1028 
1029   $(BUILD_LIBJAWT): $(BUILD_LIBAWT)
1030 
1031   $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1032         $(ECHO) Copying $(@F)
1033         $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
1034 
1035   BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1036 
1037 else # OPENJDK_TARGET_OS not windows
1038 
1039   ifeq ($(OPENJDK_TARGET_OS), macosx)
1040     JAWT_FILES := jawt.m
1041     JAWT_LIBS := -lawt_lwawt
1042   else
1043     JAWT_FILES := jawt.c
1044     JAWT_LIBS :=
1045     ifneq ($(OPENJDK_TARGET_OS), solaris)
1046       JAWT_LIBS += -lawt
1047     endif
1048     ifndef BUILD_HEADLESS_ONLY
1049       JAWT_LIBS += -lawt_xawt
1050     else
1051       JAWT_LIBS += -lawt_headless
1052       HEADLESS_CFLAG += -DHEADLESS
1053     endif
1054   endif
1055 
1056   $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \
1057       LIBRARY := jawt, \
1058       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1059       SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
1060           $(JDK_TOPDIR)/src/macosx/native/sun/awt, \
1061       INCLUDE_FILES := $(JAWT_FILES), \
1062       LANG := C, \
1063       OPTIMIZATION := LOW, \
1064       CFLAGS := $(CFLAGS_JDKLIB), \
1065       CFLAGS_linux := $(HEADLESS_CFLAG), \
1066       CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt, \
1067       MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjawt/mapfile-vers, \
1068       LDFLAGS := $(LDFLAGS_JDKLIB) \
1069           $(call SET_SHARED_LIBRARY_ORIGIN), \
1070       LDFLAGS_solaris := $(X_LIBS), \
1071       LDFLAGS_SUFFIX_linux := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \
1072       LDFLAGS_SUFFIX_aix := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1073       LDFLAGS_SUFFIX_solaris := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender, \
1074       LDFLAGS_SUFFIX_macosx := -Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1075           -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX), \
1076       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \
1077       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1078 
1079   ifndef BUILD_HEADLESS_ONLY
1080     $(BUILD_LIBJAWT): $(BUILD_LIBAWT_XAWT)
1081   else
1082     $(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1083   endif
1084 
1085   ifeq ($(OPENJDK_TARGET_OS), macosx)
1086     $(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1087   endif
1088 
1089 endif # OPENJDK_TARGET_OS
1090 
1091 BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1092 
1093 ##########################################################################################
1094 
1095 ifndef OPENJDK
1096   ifeq ($(OPENJDK_TARGET_OS), solaris)
1097     ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1098 
1099       ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
1100 
1101         SUNWJDGA_MAPFILE :=
1102         ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
1103           SUNWJDGA_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjdga/mapfile-vers
1104         endif
1105 
1106         $(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
1107             LIBRARY := sunwjdga, \
1108             OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1109             SRC := $(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
1110             LANG := C, \
1111             OPTIMIZATION := LOW, \
1112             CFLAGS := $(CFLAGS_JDKLIB) \
1113                 -I$(JDK_TOPDIR)/src/share/javavm/export \
1114                 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
1115                 $(X_CFLAGS), \
1116             MAPFILE := $(SUNWJDGA_MAPFILE), \
1117             LDFLAGS := $(LDFLAGS_JDKLIB) \
1118                 $(call SET_SHARED_LIBRARY_ORIGIN), \
1119             LDFLAGS_SUFFIX := $(X_LIBS) -ldga -lX11 $(LIBDL) -lc, \
1120             OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunwjdga, \
1121             DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1122 
1123         BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
1124 
1125       endif
1126     endif
1127   endif
1128 endif
1129 
1130 ##########################################################################################
1131 
1132 ifndef BUILD_HEADLESS_ONLY
1133   LIBSPLASHSCREEN_DIRS := \
1134     $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
1135     $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
1136     $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
1137 
1138   ifeq ($(USE_EXTERNAL_LIBGIF), true)
1139     GIFLIB_LDFLAGS := -lgif
1140   else
1141     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib
1142     GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
1143   endif
1144 
1145   ifneq ($(OPENJDK_TARGET_OS), macosx)
1146     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
1147   else
1148     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
1149   endif
1150 
1151   LIBSPLASHSCREEN_CFLAGS := -DSPLASHSCREEN -DPNG_NO_MMX_CODE \
1152       $(foreach dir, $(LIBSPLASHSCREEN_DIRS), -I$(dir))
1153 
1154   ifeq ($(OPENJDK_TARGET_OS), macosx)
1155     LIBSPLASHSCREEN_CFLAGS := -I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
1156         $(LIBSPLASHSCREEN_CFLAGS)
1157     LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
1158     LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
1159 
1160     LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
1161     LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
1162     LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0
1163     LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0
1164     LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS := -x objective-c -O0
1165     LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS := -x objective-c -O0
1166     LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS := -O0
1167 
1168   else ifeq ($(OPENJDK_TARGET_OS), windows)
1169     LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
1170   else
1171     LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS)
1172   endif
1173 
1174   LIBSPLASHSCREEN_LDFLAGS_SUFFIX :=
1175 
1176   ifneq ($(USE_EXTERNAL_LIBZ), true)
1177     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib
1178     LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
1179   endif
1180 
1181   ifeq ($(OPENJDK_TARGET_OS), macosx)
1182     LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
1183         -framework ApplicationServices \
1184         -framework Foundation \
1185         -framework Cocoa \
1186         -framework JavaNativeFoundation
1187   else ifeq ($(OPENJDK_TARGET_OS), windows)
1188     LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
1189   else
1190     LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
1191   endif
1192 
1193   $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN, \
1194       LIBRARY := splashscreen, \
1195       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1196       SRC := $(LIBSPLASHSCREEN_DIRS), \
1197       EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
1198       LANG := C, \
1199       OPTIMIZATION := LOW, \
1200       CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \
1201       MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
1202       LDFLAGS := $(LDFLAGS_JDKLIB) \
1203           $(call SET_SHARED_LIBRARY_ORIGIN), \
1204       LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS), \
1205       LDFLAGS_SUFFIX_solaris := -lc, \
1206       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
1207       RC_FLAGS := $(RC_FLAGS) \
1208           -D "JDK_FNAME=splashscreen.dll" \
1209           -D "JDK_INTERNAL_NAME=splashscreen" \
1210           -D "JDK_FTYPE=0x2L", \
1211       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsplashscreen, \
1212       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1213 
1214   BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
1215 
1216   ifeq ($(OPENJDK_TARGET_OS), macosx)
1217     $(LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
1218   endif
1219 
1220 endif
1221 
1222 ##########################################################################################
1223 
1224 ifndef OPENJDK
1225 
1226   LIBDCPR_SRC_DIRS := \
1227       $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
1228       $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
1229       $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
1230       $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
1231 
1232   LIBDCPR_CFLAGS := $(foreach dir, $(LIBDCPR_SRC_DIRS), -I$(dir)) \
1233       -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
1234 
1235   $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR, \
1236       LIBRARY := dcpr, \
1237       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1238       SRC := $(LIBDCPR_SRC_DIRS), \
1239       LANG := C, \
1240       OPTIMIZATION := LOW, \
1241       CFLAGS := $(CFLAGS_JDKLIB) \
1242           $(LIBDCPR_CFLAGS), \
1243       MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libdcpr/mapfile-vers, \
1244       LDFLAGS := $(LDFLAGS_JDKLIB) \
1245           $(call SET_SHARED_LIBRARY_ORIGIN), \
1246       LDFLAGS_SUFFIX := $(LIBM) $(LDFLAGS_JDKLIB_SUFFIX), \
1247       LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB), \
1248       LDFLAGS_SUFFIX_posix := -lm, \
1249       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
1250       RC_FLAGS := $(RC_FLAGS) \
1251           -D "JDK_FNAME=dcpr.dll" \
1252           -D "JDK_INTERNAL_NAME=dcpr" \
1253           -D "JDK_FTYPE=0x2L", \
1254       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdcpr, \
1255       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1256 
1257   $(BUILD_LIBDCPR): $(BUILD_LIBJAVA)
1258 
1259   BUILD_LIBRARIES += $(BUILD_LIBDCPR)
1260 
1261 endif
1262 
1263 ##########################################################################################
1264 
1265 ifeq ($(OPENJDK_TARGET_OS), macosx)
1266 
1267   LIBAWT_LWAWT_FILES := \
1268       awt.m \
1269       ApplicationDelegate.m \
1270       CFRetainedResource.m \
1271       CGLGraphicsConfig.m \
1272       CGLSurfaceData.m \
1273       CGLLayer.m \
1274       CGraphicsConfig.m \
1275       CGraphicsDevice.m \
1276       CGraphicsEnv.m \
1277       CCharToGlyphMapper.m \
1278       CSystemColors.m \
1279       AWTFont.m \
1280       CGGlyphOutlines.m \
1281       CGGlyphImages.m \
1282       CoreTextSupport.m \
1283       AWTStrike.m \
1284       InitIDs.m \
1285       AWTEvent.m \
1286       AWTView.m \
1287       AWTWindow.m \
1288       AWTSurfaceLayers.m \
1289       CCursorManager.m \
1290       CClipboard.m \
1291       CDataTransferer.m \
1292       CDragSource.m \
1293       CDragSourceContextPeer.m \
1294       CDropTarget.m \
1295       CDropTargetContextPeer.m \
1296       CInputMethod.m \
1297       CDesktopPeer.m \
1298       OSVersion.m \
1299       DnDUtilities.m \
1300       CFileDialog.m \
1301       CImage.m \
1302       CMenu.m \
1303       CMenuBar.m \
1304       CMenuComponent.m \
1305       CMenuItem.m \
1306       CPopupMenu.m \
1307       CRobot.m \
1308       CTrayIcon.m \
1309       CWrapper.m \
1310       JavaAccessibilityAction.m \
1311       JavaAccessibilityUtilities.m \
1312       JavaComponentAccessibility.m \
1313       JavaTextAccessibility.m \
1314       LWCToolkit.m \
1315       GeomUtilities.m \
1316       CPrinterJob.m \
1317       PrintModel.m \
1318       PrinterSurfaceData.m \
1319       PrinterView.m \
1320       QuartzSurfaceData.m \
1321       QuartzRenderer.m \
1322       CTextPipe.m \
1323       ImageSurfaceData.m \
1324       awt_DrawingSurface.m \
1325       \
1326       OGLBlitLoops.c \
1327       OGLBufImgOps.c \
1328       OGLContext.c \
1329       OGLFuncs.c \
1330       OGLMaskBlit.c \
1331       OGLMaskFill.c \
1332       OGLPaints.c \
1333       OGLRenderQueue.c \
1334       OGLRenderer.c \
1335       OGLSurfaceData.c \
1336       OGLTextRenderer.c \
1337       OGLVertexCache.c \
1338       AccelGlyphCache.c \
1339       CUPSfuncs.c
1340 
1341 
1342   LIBAWT_LWAWT_DIRS := \
1343       $(JDK_TOPDIR)/src/macosx/native/sun/awt \
1344       $(JDK_TOPDIR)/src/macosx/native/sun/font \
1345       $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
1346       $(JDK_TOPDIR)/src/solaris/native/sun/awt \
1347       $(JDK_TOPDIR)/src/share/native/sun/font \
1348       $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
1349 
1350   $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT, \
1351       LIBRARY := awt_lwawt, \
1352       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1353       SRC := $(LIBAWT_LWAWT_DIRS), \
1354       LANG := C, \
1355       INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
1356       OPTIMIZATION := LOW, \
1357       CFLAGS := $(CFLAGS_JDKLIB) \
1358           $(X_CFLAGS) \
1359           $(X_LIBS) \
1360           $(foreach dir, $(LIBAWT_LWAWT_DIRS), -I$(dir)) \
1361           -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
1362           -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1363           -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
1364           -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
1365           -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
1366           -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1367           -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
1368           -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug, \
1369       LDFLAGS := $(LDFLAGS_JDKLIB) \
1370           $(call SET_SHARED_LIBRARY_ORIGIN), \
1371       LDFLAGS_SUFFIX_macosx := -lawt -lmlib_image -losxapp -ljvm $(LIBM) \
1372           -framework Accelerate \
1373           -framework ApplicationServices \
1374           -framework AudioToolbox \
1375           -framework Carbon \
1376           -framework Cocoa \
1377           -framework Security \
1378           -framework ExceptionHandling \
1379           -framework JavaNativeFoundation \
1380           -framework JavaRuntimeSupport \
1381           -framework OpenGL \
1382           -framework QuartzCore -ljava, \
1383       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_lwawt, \
1384       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1385 
1386   BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
1387 
1388   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBAWT)
1389 
1390   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBMLIB_IMAGE)
1391 
1392   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBOSXAPP)
1393 
1394   $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBJAVA)
1395 
1396 endif
1397 
1398 ##########################################################################################
1399 
1400 ifeq ($(OPENJDK_TARGET_OS), macosx)
1401 
1402   $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI, \
1403       LIBRARY := osxui, \
1404       OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1405       SRC := $(JDK_TOPDIR)/src/macosx/native/com/apple/laf, \
1406       LANG := C, \
1407       OPTIMIZATION := LOW, \
1408       CFLAGS := $(CFLAGS_JDKLIB) \
1409           -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
1410           -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
1411           -I$(JDK_TOPDIR)/src/macosx/native/sun/awt, \
1412       LDFLAGS := $(LDFLAGS_JDKLIB) \
1413           $(call SET_SHARED_LIBRARY_ORIGIN) \
1414           -Xlinker -rpath -Xlinker @loader_path, \
1415       LDFLAGS_SUFFIX_macosx := -lawt -losxapp -lawt_lwawt \
1416           -framework Cocoa \
1417           -framework Carbon \
1418           -framework ApplicationServices \
1419           -framework JavaNativeFoundation \
1420           -framework JavaRuntimeSupport \
1421           -ljava -ljvm, \
1422       OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosxui, \
1423       DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1424 
1425   BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
1426 
1427   $(BUILD_LIBOSXUI): $(BUILD_LIBAWT)
1428 
1429   $(BUILD_LIBOSXUI): $(BUILD_LIBOSXAPP)
1430 
1431   $(BUILD_LIBOSXUI): $(BUILD_LIBAWT_LWAWT)
1432 
1433   #$(BUILD_LIBOSXUI): $(BUILD_LIBJAVA)
1434 
1435 endif