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 26WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib 27 28########################################################################################## 29 30BUILD_LIBMLIB_SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib 31BUILD_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 35BUILD_LIBMLIB_LDLIBS := 36BUILD_LIBMLIB_IMAGE_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libmlib_image/mapfile-vers 37 38BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH 39 40ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) 41 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT 42endif 43 44ifneq ($(OPENJDK_TARGET_OS), windows) 45 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL) 46endif 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 73BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE) 74 75########################################################################################## 76 77ifeq ($(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 199endif 200 201########################################################################################## 202 203LIBAWT_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 221ifeq ($(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 226else ifneq ($(OPENJDK_TARGET_OS), macosx) 227 LIBAWT_DIRS += \ 228 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 229endif 230 231ifeq ($(OPENJDK_TARGET_OS), aix) 232 LIBAWT_DIRS += $(JDK_TOPDIR)/src/aix/porting 233endif 234 235LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \ 236 $(X_CFLAGS) \ 237 $(foreach dir, $(LIBAWT_DIRS), -I$(dir)) 238 239LIBAWT_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 309ifneq (, $(filter $(OPENJDK_TARGET_OS), bsd solaris linux aix)) 310 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c 311endif 312 313ifeq ($(OPENJDK_TARGET_OS), aix) 314 LIBAWT_FILES += porting_aix.c 315endif 316 317ifeq ($(OPENJDK_TARGET_OS), macosx) 318 LIBAWT_FILES += awt_LoadLibrary.c 319endif 320 321ifeq ($(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 381else 382 LIBAWT_FILES += MapAccelFunc.c 383endif 384 385ifneq ($(OPENJDK_TARGET_OS), solaris) 386 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH 387endif 388 389LIBAWT_LANG := C 390 391ifeq ($(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 455endif 456 457ifeq ($(MILESTONE), internal) 458 LIBAWT_CFLAGS += -DINTERNAL_BUILD 459endif 460 461LIBAWT_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt/mapfile-vers 462ifeq ($(OPENJDK_TARGET_OS), linux) 463 LIBAWT_MAPFILE := 464endif 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_bsd := -ljvm $(LIBM) -ljava, \ 481 LDFLAGS_SUFFIX_macosx := -lmlib_image -ljvm $(LIBM) \ 482 -framework Cocoa \ 483 -framework OpenGL \ 484 -framework JavaNativeFoundation \ 485 -framework JavaRuntimeSupport \ 486 -framework ApplicationServices \ 487 -framework AudioToolbox \ 488 -ljava, \ 489 LDFLAGS_SUFFIX_windows := kernel32.lib user32.lib gdi32.lib winspool.lib \ 490 imm32.lib ole32.lib uuid.lib shell32.lib \ 491 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \ 492 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \ 493 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \ 494 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \ 495 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \ 496 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \ 497 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll, \ 498 VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE), \ 499 RC_FLAGS := $(RC_FLAGS) $(LIBAWT_RC_FLAGS) \ 500 -D "JDK_FNAME=awt.dll" \ 501 -D "JDK_INTERNAL_NAME=awt" \ 502 -D "JDK_FTYPE=0x2L", \ 503 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt, \ 504 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 505 506$(BUILD_LIBAWT): $(BUILD_LIBJAVA) 507 508ifeq ($(OPENJDK_TARGET_OS), macosx) 509 $(BUILD_LIBAWT): $(BUILD_LIBMLIB_IMAGE) 510endif 511 512BUILD_LIBRARIES += $(BUILD_LIBAWT) 513 514########################################################################################## 515 516ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),) 517 ifndef BUILD_HEADLESS_ONLY 518 519 LIBAWT_XAWT_DIRS := \ 520 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 521 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \ 522 $(JDK_TOPDIR)/src/share/native/sun/font \ 523 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \ 524 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ 525 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ 526 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \ 527 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \ 528 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \ 529 530 LIBAWT_XAWT_CFLAGS := -DXAWT -DXAWT_HACK \ 531 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \ 532 $(FONTCONFIG_CFLAGS) \ 533 $(CUPS_CFLAGS) \ 534 $(foreach dir, $(LIBAWT_XAWT_DIRS), -I$(dir)) \ 535 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 536 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 537 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 538 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 539 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ 540 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 541 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 542 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga 543 544 ifeq ($(OPENJDK_TARGET_OS), solaris) 545 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15 546 endif 547 548 ifeq ($(OPENJDK_TARGET_OS), linux) 549 ifndef OPENJDK 550 include $(JDK_TOPDIR)/make/closed/xawt.gmk 551 endif 552 553 ifeq ($(DISABLE_XRENDER), true) 554 LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true 555 endif 556 endif 557 558 ifeq ($(OPENJDK_TARGET_OS), bsd) 559 ifndef OPENJDK 560 include $(JDK_TOPDIR)/make/closed/xawt.gmk 561 endif 562 563 ifeq ($(DISABLE_XRENDER), true) 564 LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true 565 endif 566 endif 567 568 ifeq ($(MILESTONE), internal) 569 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD 570 endif 571 572 LIBAWT_XAWT_FILES := \ 573 XlibWrapper.c \ 574 XWindow.c \ 575 XToolkit.c \ 576 X11Color.c \ 577 X11SurfaceData.c \ 578 awt_GraphicsEnv.c \ 579 awt_InputMethod.c \ 580 robot_common.c \ 581 awt_Robot.c \ 582 list.c \ 583 multiVis.c \ 584 initIDs.c \ 585 awt_util.c \ 586 awt_Desktop.c \ 587 awt_UNIXToolkit.c \ 588 X11FontScaler_md.c \ 589 X11TextRenderer_md.c \ 590 fontpath.c \ 591 awt_Insets.c \ 592 awt_Event.c \ 593 X11Renderer.c \ 594 X11PMBlitLoops.c \ 595 OGLBlitLoops.c \ 596 OGLBufImgOps.c \ 597 OGLContext.c \ 598 OGLFuncs.c \ 599 OGLMaskBlit.c \ 600 OGLMaskFill.c \ 601 OGLPaints.c \ 602 OGLRenderQueue.c \ 603 OGLRenderer.c \ 604 OGLSurfaceData.c \ 605 OGLTextRenderer.c \ 606 OGLVertexCache.c \ 607 GLXGraphicsConfig.c \ 608 GLXSurfaceData.c \ 609 AccelGlyphCache.c \ 610 awt_Font.c \ 611 multi_font.c \ 612 awt_AWTEvent.c \ 613 awt_DrawingSurface.c \ 614 jawt.c \ 615 CUPSfuncs.c \ 616 debug_assert.c \ 617 debug_mem.c \ 618 debug_trace.c \ 619 debug_util.c \ 620 gnome_interface.c \ 621 gtk_interface.c \ 622 gtk2_interface.c \ 623 gtk3_interface.c \ 624 swing_GTKEngine.c \ 625 swing_GTKStyle.c \ 626 rect.c \ 627 sun_awt_X11_GtkFileDialogPeer.c \ 628 XRSurfaceData.c \ 629 XRBackendNative.c 630 631 LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc 632 633 ifeq ($(OPENJDK_TARGET_OS), linux) 634 # To match old build, add this to LDFLAGS instead of suffix. 635 LIBAWT_XAWT_LDFLAGS += -lpthread 636 endif 637 638 ifeq ($(OPENJDK_TARGET_OS), bsd) 639 # To match old build, add this to LDFLAGS instead of suffix. 640 LIBAWT_XAWT_LDFLAGS += -pthread 641 endif 642 643 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \ 644 LIBRARY := awt_xawt, \ 645 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 646 SRC := $(LIBAWT_XAWT_DIRS), \ 647 INCLUDE_FILES := $(LIBAWT_XAWT_FILES), \ 648 LANG := C, \ 649 OPTIMIZATION := LOW, \ 650 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \ 651 $(X_CFLAGS), \ 652 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \ 653 LDFLAGS := $(LDFLAGS_JDKLIB) \ 654 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS) \ 655 $(call SET_SHARED_LIBRARY_ORIGIN) \ 656 $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ 657 LDFLAGS_bsd := $(call SET_SHARED_LIBRARY_ORIGIN), \ 658 LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \ 659 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ 660 RC_FLAGS := $(RC_FLAGS) \ 661 -D "JDK_FNAME=xawt.dll" \ 662 -D "JDK_INTERNAL_NAME=xawt" \ 663 -D "JDK_FTYPE=0x2L", \ 664 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_xawt, \ 665 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 666 667 $(BUILD_LIBAWT_XAWT): $(BUILD_LIBJAVA) 668 669 $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT) 670 671 BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT) 672 673 endif 674endif 675 676########################################################################################## 677 678ifeq ($(TOOLCHAIN_TYPE), clang) 679 ifeq ($(TOOLCHAIN_VERSION), 10.1) 680 # Work around an optimizer bug seen with Xcode 10.1, but fixed by 10.3 681 BUILD_LIBLCMS_cmsopt.c_CFLAGS := -O0 682 endif 683endif 684 685# TODO: Update awt lib path when awt is converted 686$(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \ 687 LIBRARY := lcms, \ 688 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 689 SRC := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms, \ 690 LANG := C, \ 691 OPTIMIZATION := HIGHEST, \ 692 CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \ 693 -DCMS_DONT_USE_FAST_FLOOR \ 694 $(SHARED_LIBRARY_FLAGS) \ 695 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 696 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug, \ 697 CFLAGS_solaris := -xc99=no_lib, \ 698 CFLAGS_windows := -DCMS_IS_WINDOWS_, \ 699 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \ 700 LDFLAGS := $(LDFLAGS_JDKLIB) \ 701 $(call SET_SHARED_LIBRARY_ORIGIN), \ 702 LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \ 703 LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \ 704 LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \ 705 LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \ 706 LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm, \ 707 LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm,\ 708 LDFLAGS_SUFFIX_bsd := -lm -lawt -ljava -ljvm, \ 709 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ 710 RC_FLAGS := $(RC_FLAGS) \ 711 -D "JDK_FNAME=lcms.dll" \ 712 -D "JDK_INTERNAL_NAME=lcms" \ 713 -D "JDK_FTYPE=0x2L", \ 714 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/liblcms, \ 715 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 716 717BUILD_LIBRARIES += $(BUILD_LIBLCMS) 718 719$(BUILD_LIBLCMS): $(BUILD_LIBAWT) 720 721########################################################################################## 722 723ifdef OPENJDK 724 BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers 725else 726 BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed 727 BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg 728 BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC) 729endif 730 731BUILD_LIBJPEG_REORDER := 732ifeq ($(OPENJDK_TARGET_OS), solaris) 733 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 734 BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU) 735 endif 736endif 737 738# Suppress gcc warnings like "variable might be clobbered by 'longjmp' 739# or 'vfork'": this warning indicates that some variable is placed to 740# a register by optimized compiler and it's value might be lost on longjmp(). 741# Recommended way to avoid such warning is to declare the variable as 742# volatile to prevent the optimization. However, this approach does not 743# work because we have to declare all variables as volatile in result. 744#ifndef CROSS_COMPILE_ARCH 745# CC_43_OR_NEWER := \ 746# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \ 747# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) ) 748# ifeq ($(CC_43_OR_NEWER), 1) 749# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered 750# endif 751#endif 752 753$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG, \ 754 LIBRARY := jpeg, \ 755 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 756 SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \ 757 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \ 758 LANG := C, \ 759 OPTIMIZATION := HIGHEST, \ 760 CFLAGS := $(CFLAGS_JDKLIB) \ 761 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \ 762 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \ 763 MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \ 764 LDFLAGS := $(LDFLAGS_JDKLIB) \ 765 $(call SET_SHARED_LIBRARY_ORIGIN), \ 766 LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \ 767 LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \ 768 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ 769 RC_FLAGS := $(RC_FLAGS) \ 770 -D "JDK_FNAME=jpeg.dll" \ 771 -D "JDK_INTERNAL_NAME=jpeg" \ 772 -D "JDK_FTYPE=0x2L", \ 773 REORDER := $(BUILD_LIBJPEG_REORDER), \ 774 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \ 775 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 776 777$(BUILD_LIBJPEG): $(BUILD_LIBJAVA) 778 779BUILD_LIBRARIES += $(BUILD_LIBJPEG) 780 781########################################################################################## 782 783ifeq ($(BUILD_HEADLESS), true) 784 # Mac and Windows only use the native AWT lib, do not build libawt_headless 785 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),) 786 787 LIBAWT_HEADLESS_DIRS := $(JDK_TOPDIR)/src/share/native/sun/font \ 788 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ 789 $(JDK_TOPDIR)/src/solaris/native/sun/font \ 790 $(JDK_TOPDIR)/src/solaris/native/sun/awt \ 791 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \ 792 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11 793 794 ifeq ($(OPENJDK_TARGET_OS), macosx) 795 LIBAWT_HEADLESS_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/font 796 endif 797 798 LIBAWT_HEADLESS_CFLAGS := -DHEADLESS=true \ 799 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \ 800 $(CUPS_CFLAGS) \ 801 $(FONTCONFIG_CFLAGS) \ 802 $(X_CFLAGS) \ 803 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 804 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 805 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 806 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 807 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ 808 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 809 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 810 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \ 811 $(foreach dir, $(LIBAWT_HEADLESS_DIRS), -I$(dir)) 812 813 LIBAWT_HEADLESS_FILES := \ 814 awt_Font.c \ 815 HeadlessToolkit.c \ 816 fontpath.c \ 817 VDrawingArea.c \ 818 X11Color.c \ 819 X11Renderer.c \ 820 X11PMBlitLoops.c \ 821 X11SurfaceData.c \ 822 X11FontScaler_md.c \ 823 X11TextRenderer_md.c \ 824 OGLBlitLoops.c \ 825 OGLBufImgOps.c \ 826 OGLContext.c \ 827 OGLFuncs.c \ 828 OGLMaskBlit.c \ 829 OGLMaskFill.c \ 830 OGLPaints.c \ 831 OGLRenderQueue.c \ 832 OGLRenderer.c \ 833 OGLSurfaceData.c \ 834 OGLTextRenderer.c \ 835 OGLVertexCache.c \ 836 GLXGraphicsConfig.c \ 837 GLXSurfaceData.c \ 838 AccelGlyphCache.c \ 839 CUPSfuncs.c 840 841 LIBAWT_HEADLESS_REORDER := 842 ifeq ($(OPENJDK_TARGET_OS), solaris) 843 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 844 LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU) 845 endif 846 endif 847 848 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS, \ 849 LIBRARY := awt_headless, \ 850 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 851 SRC := $(LIBAWT_HEADLESS_DIRS), \ 852 INCLUDE_FILES := $(LIBAWT_HEADLESS_FILES), \ 853 LANG := C, \ 854 OPTIMIZATION := LOW, \ 855 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS), \ 856 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/mapfile-vers, \ 857 LDFLAGS := $(LDFLAGS_JDKLIB) \ 858 $(call SET_SHARED_LIBRARY_ORIGIN), \ 859 LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ 860 LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ 861 LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN)., \ 862 REORDER := $(LIBAWT_HEADLESS_REORDER), \ 863 LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \ 864 LDFLAGS_SUFFIX_aix := -ljvm -lawt -ljava,\ 865 LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \ 866 LDFLAGS_SUFFIX_bsd := -ljvm -lawt -lm -ljava, \ 867 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_headless, \ 868 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 869 870 $(BUILD_LIBAWT_HEADLESS): $(BUILD_LIBAWT) 871 872 BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS) 873 874 endif 875endif 876 877########################################################################################## 878 879ifndef OPENJDK 880 FONT_HEADERS := -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k 881 BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers 882 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c 883else 884 FONT_HEADERS := $(FREETYPE_CFLAGS) 885 BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers.openjdk 886 BUILD_LIBFONTMANAGER_FONTLIB := $(FREETYPE_LIBS) 887endif 888 889LIBFONTMANAGER_OPTIMIZATION := HIGH 890 891ifeq ($(OPENJDK_TARGET_OS), windows) 892 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ 893 X11TextRenderer.c 894 LIBFONTMANAGER_OPTIMIZATION := HIGHEST 895else ifeq ($(OPENJDK_TARGET_OS), macosx) 896 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ 897 X11TextRenderer.c \ 898 fontpath.c \ 899 lcdglyph.c 900else 901 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \ 902 lcdglyph.c 903endif 904 905BUILD_LIBFONTMANAGER_CFLAGS_COMMON := \ 906 $(X_CFLAGS) \ 907 -DLE_STANDALONE -DHEADLESS \ 908 $(FONT_HEADERS) \ 909 -I$(JDK_TOPDIR)/src/share/native/sun/font \ 910 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \ 911 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 912 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ 913 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 914 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 915 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 916 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 917 -I$(JDK_TOPDIR)/src/share/native/sun/java2d 918 919# Turn off aliasing with GCC for ExtensionSubtables.cpp 920ifeq ($(OPENJDK_TARGET_OS), linux) 921 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing 922endif 923 924# LDFLAGS clarification: 925# Filter relevant linker flags disallowing unresolved symbols as we cannot 926# build-time decide to which library to link against (libawt_headless or 927# libawt_xawt). See JDK-8196516 for details. 928$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \ 929 LIBRARY := fontmanager, \ 930 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 931 SRC := $(JDK_TOPDIR)/src/share/native/sun/font \ 932 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font, \ 933 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \ 934 AccelGlyphCache.c, \ 935 LANG := C++, \ 936 CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \ 937 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \ 938 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \ 939 CFLAGS_windows = -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ 940 -DCC_NOEX, \ 941 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \ 942 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \ 943 $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \ 944 $(call SET_SHARED_LIBRARY_ORIGIN), \ 945 LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \ 946 LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \ 947 LDFLAGS_SUFFIX_solaris := -lawt -lawt_headless -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \ 948 LDFLAGS_SUFFIX_aix := -lawt -lawt_headless $(LIBM) $(LIBCXX) -ljava -ljvm,\ 949 LDFLAGS_SUFFIX_bsd := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \ 950 LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \ 951 -ljava -ljvm, \ 952 LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ 953 $(WIN_AWT_LIB), \ 954 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ 955 RC_FLAGS := $(RC_FLAGS) \ 956 -D "JDK_FNAME=fontmanager.dll" \ 957 -D "JDK_INTERNAL_NAME=fontmanager" \ 958 -D "JDK_FTYPE=0x2L", \ 959 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfontmanager, \ 960 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 961 962$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT) 963 964ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix)) 965 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_HEADLESS) 966endif 967 968BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER) 969 970########################################################################################## 971 972ifndef OPENJDK 973 974 #ifeq ($(OPENJDK_TARGET_OS), linux) 975 # ifeq ("$(CC_VER_MAJOR)", "3") 976 # OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic 977 # endif 978 #endif 979 # 980 # The resulting size of the t2k lib file is (at least on linux) dependant on the order of 981 # the input .o files. Because of this the new build will differ in size to the old build. 982 BUILD_LIBT2K_CFLAGS_COMMON := -I$(JDK_TOPDIR)/src/share/native/sun/font \ 983 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \ 984 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \ 985 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \ 986 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \ 987 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 988 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 989 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 990 -I$(JDK_TOPDIR)/src/share/native/sun/java2d 991 992 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K, \ 993 LIBRARY := t2k, \ 994 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 995 SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/font \ 996 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \ 997 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints, \ 998 EXCLUDE_FILES := orion.c, \ 999 LANG := C++, \ 1000 OPTIMIZATION := HIGH, \ 1001 CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON), \ 1002 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON), \ 1003 CFLAGS_windows = -DCC_NOEX, \ 1004 CXXFLAGS_windows = -DCC_NOEX, \ 1005 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libt2k/mapfile-vers, \ 1006 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ 1007 $(call SET_SHARED_LIBRARY_ORIGIN), \ 1008 LDFLAGS_windows := user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib, \ 1009 LDFLAGS_SUFFIX_posix := $(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc, \ 1010 LDFLAGS_SUFFIX_solaris := -lawt -lawt_headless, \ 1011 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ 1012 RC_FLAGS := $(RC_FLAGS) \ 1013 -D "JDK_FNAME=t2k.dll" \ 1014 -D "JDK_INTERNAL_NAME=t2k" \ 1015 -D "JDK_FTYPE=0x2L", \ 1016 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libt2k, \ 1017 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 1018 1019 # t2k is linked against fontmanager 1020 $(BUILD_LIBT2K): $(BUILD_LIBFONTMANAGER) 1021 1022 BUILD_LIBRARIES += $(BUILD_LIBT2K) 1023endif 1024 1025########################################################################################## 1026 1027ifeq ($(OPENJDK_TARGET_OS), windows) 1028 ifeq ($(OPENJDK_TARGET_CPU), x86) 1029 KERNEL32_LIB := kernel32.lib 1030 endif 1031 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \ 1032 LIBRARY := jawt, \ 1033 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 1034 SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows, \ 1035 INCLUDE_FILES := jawt.cpp, \ 1036 LANG := C++, \ 1037 OPTIMIZATION := LOW, \ 1038 CFLAGS := $(CXXFLAGS_JDKLIB) \ 1039 -EHsc -DUNICODE -D_UNICODE \ 1040 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ 1041 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 1042 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 1043 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 1044 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \ 1045 LDFLAGS := $(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \ 1046 advapi32.lib $(WIN_AWT_LIB), \ 1047 LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \ 1048 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ 1049 RC_FLAGS := $(RC_FLAGS) \ 1050 -D "JDK_FNAME=jawt.dll" \ 1051 -D "JDK_INTERNAL_NAME=jawt" \ 1052 -D "JDK_FTYPE=0x2L", \ 1053 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \ 1054 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 1055 1056 $(BUILD_LIBJAWT): $(BUILD_LIBAWT) 1057 1058 $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT) 1059 $(ECHO) Copying $(@F) 1060 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@ 1061 1062 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) 1063 1064else # OPENJDK_TARGET_OS not windows 1065 1066 ifeq ($(OPENJDK_TARGET_OS), macosx) 1067 JAWT_FILES := jawt.m 1068 JAWT_LIBS := -lawt_lwawt 1069 else 1070 JAWT_FILES := jawt.c 1071 JAWT_LIBS := 1072 ifneq ($(OPENJDK_TARGET_OS), solaris) 1073 JAWT_LIBS += -lawt 1074 endif 1075 ifndef BUILD_HEADLESS_ONLY 1076 JAWT_LIBS += -lawt_xawt 1077 else 1078 JAWT_LIBS += -lawt_headless 1079 HEADLESS_CFLAG += -DHEADLESS 1080 endif 1081 endif 1082 1083 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \ 1084 LIBRARY := jawt, \ 1085 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 1086 SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ 1087 $(JDK_TOPDIR)/src/macosx/native/sun/awt, \ 1088 INCLUDE_FILES := $(JAWT_FILES), \ 1089 LANG := C, \ 1090 OPTIMIZATION := LOW, \ 1091 CFLAGS := $(CFLAGS_JDKLIB), \ 1092 CFLAGS_linux := $(HEADLESS_CFLAG), \ 1093 CFLAGS_bsd := $(HEADLESS_CFLAG), \ 1094 CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt, \ 1095 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjawt/mapfile-vers, \ 1096 LDFLAGS := $(LDFLAGS_JDKLIB) \ 1097 $(call SET_SHARED_LIBRARY_ORIGIN), \ 1098 LDFLAGS_solaris := $(X_LIBS), \ 1099 LDFLAGS_SUFFIX_linux := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \ 1100 LDFLAGS_SUFFIX_aix := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\ 1101 LDFLAGS_SUFFIX_solaris := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender, \ 1102 LDFLAGS_SUFFIX_bsd := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \ 1103 LDFLAGS_SUFFIX_macosx := -Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \ 1104 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX), \ 1105 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \ 1106 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 1107 1108 ifndef BUILD_HEADLESS_ONLY 1109 $(BUILD_LIBJAWT): $(BUILD_LIBAWT_XAWT) 1110 else 1111 $(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX) 1112 endif 1113 1114 ifeq ($(OPENJDK_TARGET_OS), macosx) 1115 $(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) 1116 endif 1117 1118endif # OPENJDK_TARGET_OS 1119 1120BUILD_LIBRARIES += $(BUILD_LIBJAWT) 1121 1122########################################################################################## 1123 1124ifndef OPENJDK 1125 ifeq ($(OPENJDK_TARGET_OS), solaris) 1126 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 1127 1128 ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok) 1129 1130 SUNWJDGA_MAPFILE := 1131 ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc) 1132 SUNWJDGA_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjdga/mapfile-vers 1133 endif 1134 1135 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \ 1136 LIBRARY := sunwjdga, \ 1137 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 1138 SRC := $(JDK_TOPDIR)/src/solaris/native/sun/jdga, \ 1139 LANG := C, \ 1140 OPTIMIZATION := LOW, \ 1141 CFLAGS := $(CFLAGS_JDKLIB) \ 1142 -I$(JDK_TOPDIR)/src/share/javavm/export \ 1143 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \ 1144 $(X_CFLAGS), \ 1145 MAPFILE := $(SUNWJDGA_MAPFILE), \ 1146 LDFLAGS := $(LDFLAGS_JDKLIB) \ 1147 $(call SET_SHARED_LIBRARY_ORIGIN), \ 1148 LDFLAGS_SUFFIX := $(X_LIBS) -ldga -lX11 $(LIBDL) -lc, \ 1149 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunwjdga, \ 1150 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 1151 1152 BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA) 1153 1154 endif 1155 endif 1156 endif 1157endif 1158 1159########################################################################################## 1160 1161ifndef BUILD_HEADLESS_ONLY 1162 LIBSPLASHSCREEN_DIRS := \ 1163 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \ 1164 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \ 1165 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen 1166 1167 ifeq ($(USE_EXTERNAL_LIBGIF), true) 1168 GIFLIB_LDFLAGS += -lgif 1169 else 1170 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib 1171 GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib 1172 endif 1173 1174 ifneq ($(OPENJDK_TARGET_OS), macosx) 1175 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen 1176 else 1177 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen 1178 endif 1179 1180 LIBSPLASHSCREEN_CFLAGS := -DSPLASHSCREEN -DPNG_NO_MMX_CODE \ 1181 -DPNG_ARM_NEON_OPT=0 -DPNG_ARM_NEON_IMPLEMENTATION=0 \ 1182 $(foreach dir, $(LIBSPLASHSCREEN_DIRS), -I$(dir)) 1183 1184 ifeq ($(OPENJDK_TARGET_OS), macosx) 1185 LIBSPLASHSCREEN_CFLAGS := -I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \ 1186 $(LIBSPLASHSCREEN_CFLAGS) 1187 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX 1188 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp 1189 1190 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0 1191 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0 1192 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0 1193 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0 1194 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS := -x objective-c -O0 1195 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS := -x objective-c -O0 1196 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS := -O0 1197 1198 else ifeq ($(OPENJDK_TARGET_OS), bsd) 1199 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS) -I$(PACKAGE_PATH)/include 1200 ifneq ($(OPENJDK_TARGET_OS_VENDOR), openbsd) 1201 LIBSPLASHSCREEN_CFLAGS += -DLIBICONV_PLUG 1202 endif 1203 else ifeq ($(OPENJDK_TARGET_OS), windows) 1204 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32 1205 else 1206 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS) 1207 endif 1208 1209 LIBSPLASHSCREEN_LDFLAGS_SUFFIX := 1210 1211 ifneq ($(USE_EXTERNAL_LIBZ), true) 1212 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib 1213 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS) 1214 endif 1215 1216 ifeq ($(OPENJDK_TARGET_OS), macosx) 1217 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \ 1218 -framework ApplicationServices \ 1219 -framework Foundation \ 1220 -framework Cocoa \ 1221 -framework JavaNativeFoundation 1222 else ifeq ($(OPENJDK_TARGET_OS), bsd) 1223 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -pthread 1224 else ifeq ($(OPENJDK_TARGET_OS), windows) 1225 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll 1226 else # .. all other Unixes can use X_LIBS 1227 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread 1228 endif 1229 1230 $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN, \ 1231 LIBRARY := splashscreen, \ 1232 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 1233 SRC := $(LIBSPLASHSCREEN_DIRS), \ 1234 EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \ 1235 LANG := C, \ 1236 OPTIMIZATION := LOW, \ 1237 CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \ 1238 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \ 1239 LDFLAGS := $(LDFLAGS_JDKLIB) \ 1240 $(call SET_SHARED_LIBRARY_ORIGIN), \ 1241 LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS), \ 1242 LDFLAGS_SUFFIX_solaris := -lc, \ 1243 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ 1244 RC_FLAGS := $(RC_FLAGS) \ 1245 -D "JDK_FNAME=splashscreen.dll" \ 1246 -D "JDK_INTERNAL_NAME=splashscreen" \ 1247 -D "JDK_FTYPE=0x2L", \ 1248 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsplashscreen, \ 1249 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 1250 1251 BUILD_LIBRARIES += $(LIBSPLASHSCREEN) 1252 1253 ifeq ($(OPENJDK_TARGET_OS), macosx) 1254 $(LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 1255 endif 1256 1257endif 1258 1259########################################################################################## 1260 1261ifndef OPENJDK 1262 1263 LIBDCPR_SRC_DIRS := \ 1264 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \ 1265 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \ 1266 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \ 1267 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util 1268 1269 LIBDCPR_CFLAGS := $(foreach dir, $(LIBDCPR_SRC_DIRS), -I$(dir)) \ 1270 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe 1271 1272 $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR, \ 1273 LIBRARY := dcpr, \ 1274 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 1275 SRC := $(LIBDCPR_SRC_DIRS), \ 1276 LANG := C, \ 1277 OPTIMIZATION := LOW, \ 1278 CFLAGS := $(CFLAGS_JDKLIB) \ 1279 $(LIBDCPR_CFLAGS), \ 1280 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libdcpr/mapfile-vers, \ 1281 LDFLAGS := $(LDFLAGS_JDKLIB) \ 1282 $(call SET_SHARED_LIBRARY_ORIGIN), \ 1283 LDFLAGS_SUFFIX := $(LIBM) $(LDFLAGS_JDKLIB_SUFFIX), \ 1284 LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB), \ 1285 LDFLAGS_SUFFIX_posix := -lm, \ 1286 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ 1287 RC_FLAGS := $(RC_FLAGS) \ 1288 -D "JDK_FNAME=dcpr.dll" \ 1289 -D "JDK_INTERNAL_NAME=dcpr" \ 1290 -D "JDK_FTYPE=0x2L", \ 1291 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdcpr, \ 1292 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 1293 1294 $(BUILD_LIBDCPR): $(BUILD_LIBJAVA) 1295 1296 BUILD_LIBRARIES += $(BUILD_LIBDCPR) 1297 1298endif 1299 1300########################################################################################## 1301 1302ifeq ($(OPENJDK_TARGET_OS), macosx) 1303 1304 LIBAWT_LWAWT_FILES := \ 1305 awt.m \ 1306 ApplicationDelegate.m \ 1307 CFRetainedResource.m \ 1308 CGLGraphicsConfig.m \ 1309 CGLSurfaceData.m \ 1310 CGLLayer.m \ 1311 CGraphicsConfig.m \ 1312 CGraphicsDevice.m \ 1313 CGraphicsEnv.m \ 1314 CCharToGlyphMapper.m \ 1315 CSystemColors.m \ 1316 AWTFont.m \ 1317 CGGlyphOutlines.m \ 1318 CGGlyphImages.m \ 1319 CoreTextSupport.m \ 1320 AWTStrike.m \ 1321 InitIDs.m \ 1322 AWTEvent.m \ 1323 AWTView.m \ 1324 AWTWindow.m \ 1325 AWTSurfaceLayers.m \ 1326 CCursorManager.m \ 1327 CClipboard.m \ 1328 CDataTransferer.m \ 1329 CDragSource.m \ 1330 CDragSourceContextPeer.m \ 1331 CDropTarget.m \ 1332 CDropTargetContextPeer.m \ 1333 CInputMethod.m \ 1334 CDesktopPeer.m \ 1335 OSVersion.m \ 1336 DnDUtilities.m \ 1337 CFileDialog.m \ 1338 CImage.m \ 1339 CMenu.m \ 1340 CMenuBar.m \ 1341 CMenuComponent.m \ 1342 CMenuItem.m \ 1343 CPopupMenu.m \ 1344 CRobot.m \ 1345 CTrayIcon.m \ 1346 CWrapper.m \ 1347 JavaAccessibilityAction.m \ 1348 JavaAccessibilityUtilities.m \ 1349 JavaComponentAccessibility.m \ 1350 JavaTextAccessibility.m \ 1351 LWCToolkit.m \ 1352 GeomUtilities.m \ 1353 CPrinterJob.m \ 1354 PrintModel.m \ 1355 PrinterSurfaceData.m \ 1356 PrinterView.m \ 1357 QuartzSurfaceData.m \ 1358 QuartzRenderer.m \ 1359 CTextPipe.m \ 1360 ImageSurfaceData.m \ 1361 awt_DrawingSurface.m \ 1362 \ 1363 OGLBlitLoops.c \ 1364 OGLBufImgOps.c \ 1365 OGLContext.c \ 1366 OGLFuncs.c \ 1367 OGLMaskBlit.c \ 1368 OGLMaskFill.c \ 1369 OGLPaints.c \ 1370 OGLRenderQueue.c \ 1371 OGLRenderer.c \ 1372 OGLSurfaceData.c \ 1373 OGLTextRenderer.c \ 1374 OGLVertexCache.c \ 1375 AccelGlyphCache.c \ 1376 CUPSfuncs.c 1377 1378 1379 LIBAWT_LWAWT_DIRS := \ 1380 $(JDK_TOPDIR)/src/macosx/native/sun/awt \ 1381 $(JDK_TOPDIR)/src/macosx/native/sun/font \ 1382 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \ 1383 $(JDK_TOPDIR)/src/solaris/native/sun/awt \ 1384 $(JDK_TOPDIR)/src/share/native/sun/font \ 1385 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ 1386 1387 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT, \ 1388 LIBRARY := awt_lwawt, \ 1389 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 1390 SRC := $(LIBAWT_LWAWT_DIRS), \ 1391 LANG := C, \ 1392 INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \ 1393 OPTIMIZATION := LOW, \ 1394 CFLAGS := $(CFLAGS_JDKLIB) \ 1395 $(X_CFLAGS) \ 1396 $(X_LIBS) \ 1397 $(foreach dir, $(LIBAWT_LWAWT_DIRS), -I$(dir)) \ 1398 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 1399 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 1400 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \ 1401 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ 1402 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 1403 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 1404 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 1405 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug, \ 1406 LDFLAGS := $(LDFLAGS_JDKLIB) \ 1407 $(call SET_SHARED_LIBRARY_ORIGIN), \ 1408 LDFLAGS_SUFFIX_macosx := -lawt -lmlib_image -losxapp -ljvm $(LIBM) \ 1409 -framework Accelerate \ 1410 -framework ApplicationServices \ 1411 -framework AudioToolbox \ 1412 -framework Carbon \ 1413 -framework Cocoa \ 1414 -framework Security \ 1415 -framework ExceptionHandling \ 1416 -framework JavaNativeFoundation \ 1417 -framework JavaRuntimeSupport \ 1418 -framework OpenGL \ 1419 -framework QuartzCore -ljava, \ 1420 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_lwawt, \ 1421 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 1422 1423 BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT) 1424 1425 $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBAWT) 1426 1427 $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBMLIB_IMAGE) 1428 1429 $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBOSXAPP) 1430 1431 $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBJAVA) 1432 1433endif 1434 1435########################################################################################## 1436 1437ifeq ($(OPENJDK_TARGET_OS), macosx) 1438 1439 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI, \ 1440 LIBRARY := osxui, \ 1441 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 1442 SRC := $(JDK_TOPDIR)/src/macosx/native/com/apple/laf, \ 1443 LANG := C, \ 1444 OPTIMIZATION := LOW, \ 1445 CFLAGS := $(CFLAGS_JDKLIB) \ 1446 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \ 1447 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 1448 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt, \ 1449 LDFLAGS := $(LDFLAGS_JDKLIB) \ 1450 $(call SET_SHARED_LIBRARY_ORIGIN) \ 1451 -Xlinker -rpath -Xlinker @loader_path, \ 1452 LDFLAGS_SUFFIX_macosx := -lawt -losxapp -lawt_lwawt \ 1453 -framework Cocoa \ 1454 -framework Carbon \ 1455 -framework ApplicationServices \ 1456 -framework JavaNativeFoundation \ 1457 -framework JavaRuntimeSupport \ 1458 -ljava -ljvm, \ 1459 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosxui, \ 1460 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) 1461 1462 BUILD_LIBRARIES += $(BUILD_LIBOSXUI) 1463 1464 $(BUILD_LIBOSXUI): $(BUILD_LIBAWT) 1465 1466 $(BUILD_LIBOSXUI): $(BUILD_LIBOSXAPP) 1467 1468 $(BUILD_LIBOSXUI): $(BUILD_LIBAWT_LWAWT) 1469 1470 #$(BUILD_LIBOSXUI): $(BUILD_LIBJAVA) 1471 1472endif 1473