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