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