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