1 # 2 # Copyright (c) 2011, 2012, 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 defalt: all 27 28 include $(SPEC) 29 include MakeBase.gmk 30 include NativeCompilation.gmk 31 32 # Setup the java compilers for the JDK build. 33 include Setup.gmk 34 35 # Copy files (can now depend on $(COPY_FILES)) 36 include CopyFiles.gmk 37 38 # Build tools 39 include Tools.gmk 40 41 # Include the javah generated headers. 42 CFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers 43 CXXFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers 44 45 # Put the libraries here. Different locations for different target apis. 46 ifeq ($(OPENJDK_TARGET_OS_API),posix) 47 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR) 48 else 49 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin 50 endif 51 52 BUILD_LIBRARIES= 53 54 # Absolute paths to lib files on windows for use in LDFLAGS. Should figure out a more 55 # elegant solution to this. 56 WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib 57 WIN_JAVA_LIB := $(JDK_OUTPUTDIR)/objs/libjava/java.lib 58 WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib 59 60 # Use this variable to set DEBUG_SYMBOLS true on windows for all libraries, but 61 # not on other platforms. 62 ifeq ($(OPENJDK_TARGET_OS), windows) 63 WINDOWS_ONLY := true 64 endif 65 66 # 67 # TODO replace with X_FLAGS / X_LIBS 68 # and add them to configure 69 # 70 OPENWIN_LIB:=$(OPENWIN_HOME)/lib 71 72 ########################################################################################## 73 74 BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH 75 76 ifneq ($(OPENJDK_TARGET_OS), solaris) 77 BUILD_LIBFDLIBM_OPTIMIZATION:=NONE 78 endif 79 80 ifneq ($(OPENJDK_TARGET_OS),macosx) 81 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\ 82 STATIC_LIBRARY:=fdlibm,\ 83 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\ 84 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\ 85 LANG:=C,\ 86 OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \ 87 CFLAGS:=$(CFLAGS_JDKLIB) \ 88 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\ 89 CFLAGS_windows_debug:=-DLOGGING,\ 90 ARFLAGS:=$(ARFLAGS),\ 91 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm)) 92 93 BUILD_LIBRARIES += $(BUILD_LIBFDLIBM) 94 95 else 96 # 97 # On macosx they do partial (incremental) linking of fdlibm 98 # code it here...rather than add support to NativeCompilation 99 # as this is firt time I see it 100 $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\ 101 LIBRARY:=fdlibm,\ 102 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\ 103 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\ 104 LANG:=C,\ 105 CFLAGS:=$(CFLAGS_JDKLIB) \ 106 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\ 107 LDFLAGS:=-nostdlib -r -arch x86_64,\ 108 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm)) 109 110 $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) : $(BUILD_LIBFDLIBM) 111 $(CP) -a $< $@ 112 113 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) 114 endif 115 116 ########################################################################################## 117 118 BUILD_LIBVERIFY_SRC:=check_code.c check_format.c 119 120 ifeq ($(OPENJDK_TARGET_OS), solaris) 121 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 122 BUILD_LIBVERIFY_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(OPENJDK_TARGET_CPU) 123 endif 124 endif 125 126 LIBVERIFY_OPTIMIZATION:=HIGH 127 ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),) 128 ifeq ($(ENABLE_DEBUG_SYMBOLS), true) 129 LIBVERIFY_OPTIMIZATION:=LOW 130 endif 131 endif 132 133 134 $(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\ 135 LIBRARY:=verify, \ 136 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 137 SRC:=$(JDK_TOPDIR)/src/share/native/common,\ 138 INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\ 139 LANG:=C,\ 140 OPTIMIZATION:=$(LIBVERIFY_OPTIMIZATION), \ 141 CFLAGS:=$(CFLAGS_JDKLIB),\ 142 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \ 143 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 144 $(call SET_SHARED_LIBRARY_ORIGIN), \ 145 LDFLAGS_SUFFIX_posix:=-ljvm -lc,\ 146 LDFLAGS_SUFFIX_windows:=jvm.lib,\ 147 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 148 RC_FLAGS:=$(RC_FLAGS) \ 149 -D "JDK_FNAME=verify.dll" \ 150 -D "JDK_INTERNAL_NAME=verify" \ 151 -D "JDK_FTYPE=0x2L",\ 152 REORDER:=$(BUILD_LIBVERIFY_REORDER),\ 153 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libverify,\ 154 DEBUG_SYMBOLS:=true)) 155 156 BUILD_LIBRARIES += $(BUILD_LIBVERIFY) 157 158 ########################################################################################## 159 160 LIBJAVA_SRC_DIRS:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/lang \ 161 $(JDK_TOPDIR)/src/share/native/java/lang \ 162 $(JDK_TOPDIR)/src/share/native/java/lang/ref \ 163 $(JDK_TOPDIR)/src/share/native/java/lang/reflect \ 164 $(JDK_TOPDIR)/src/share/native/java/io \ 165 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \ 166 $(JDK_TOPDIR)/src/share/native/java/nio \ 167 $(JDK_TOPDIR)/src/share/native/java/security \ 168 $(JDK_TOPDIR)/src/share/native/common \ 169 $(JDK_TOPDIR)/src/share/native/sun/misc \ 170 $(JDK_TOPDIR)/src/share/native/sun/reflect \ 171 $(JDK_TOPDIR)/src/share/native/java/util \ 172 $(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \ 173 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \ 174 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util 175 176 ifneq ($(OPENJDK_TARGET_OS),macosx) 177 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/util/locale/provider 178 else 179 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/util/locale/provider 180 endif 181 182 ifeq ($(OPENJDK_TARGET_OS),windows) 183 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/provider \ 184 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/io 185 endif 186 187 LIBJAVA_CFLAGS:=$(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \ 188 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \ 189 -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"' 190 191 LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \ 192 -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \ 193 -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \ 194 -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"' 195 196 ifneq (,$(JDK_UPDATE_VERSION)) 197 LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"' 198 endif 199 200 LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.c 201 202 ifneq ($(OPENJDK_TARGET_OS),macosx) 203 LIBJAVA_EXCLUDE_FILES += java_props_macosx.c 204 else 205 BUILD_LIBJAVA_java_props_md.c_CFLAGS:=-x objective-c 206 endif 207 208 ifeq ($(OPENJDK_TARGET_OS),windows) 209 LIBJAVA_EXCLUDE_FILES += \ 210 UNIXProcess_md.c \ 211 UnixFileSystem_md.c \ 212 FileSystemPreferences.c 213 else 214 LIBJAVA_EXCLUDE_FILES += \ 215 ProcessImpl_md.c \ 216 WinNTFileSystem_md.c \ 217 dirent_md.c \ 218 WindowsPreferences.c \ 219 sun/security/provider/WinCAPISeedGenerator.c \ 220 sun/io/Win32ErrorMode.c 221 endif 222 223 ifeq ($(OPENJDK_TARGET_OS), solaris) 224 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 225 LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU) 226 endif 227 endif 228 229 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\ 230 LIBRARY:=java,\ 231 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 232 SRC:=$(LIBJAVA_SRC_DIRS),\ 233 EXCLUDES:=fdlibm/src zip, \ 234 EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \ 235 LANG:=C,\ 236 OPTIMIZATION:=HIGH, \ 237 CFLAGS:=$(CFLAGS_JDKLIB) \ 238 $(LIBJAVA_CFLAGS),\ 239 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \ 240 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 241 $(call SET_SHARED_LIBRARY_ORIGIN), \ 242 LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \ 243 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\ 244 LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\ 245 LDFLAGS_SUFFIX_macosx:=-L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \ 246 -framework CoreFoundation \ 247 -framework Security -framework SystemConfiguration, \ 248 LDFLAGS_SUFFIX_windows:=-export:winFileHandleOpen -export:handleLseek \ 249 jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \ 250 shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \ 251 advapi32.lib,\ 252 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 253 RC_FLAGS:=$(RC_FLAGS)\ 254 -D "JDK_FNAME=java.dll" \ 255 -D "JDK_INTERNAL_NAME=java" \ 256 -D "JDK_FTYPE=0x2L",\ 257 REORDER:=$(LIBJAVA_REORDER), \ 258 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava,\ 259 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 260 261 BUILD_LIBRARIES += $(BUILD_LIBJAVA) 262 263 $(BUILD_LIBJAVA) : $(LIBJLI_BINARY) 264 265 $(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY) 266 267 $(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM) 268 269 ########################################################################################## 270 271 BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib 272 BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \ 273 -I$(BUILD_LIBMLIB_SRC) \ 274 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib 275 276 BUILD_LIBMLIB_LDLIBS:= 277 BUILD_LIBMLIB_IMAGE_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers 278 279 BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH 280 281 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) 282 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT 283 endif 284 285 ifneq ($(OPENJDK_TARGET_OS), windows) 286 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL) 287 endif 288 289 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\ 290 LIBRARY:=mlib_image,\ 291 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 292 SRC:=$(BUILD_LIBMLIB_SRC),\ 293 EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\ 294 LANG:=C,\ 295 OPTIMIZATION:=HIGHEST, \ 296 CFLAGS:=$(CFLAGS_JDKLIB) \ 297 $(BUILD_LIBMLIB_CFLAGS),\ 298 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \ 299 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 300 $(call SET_SHARED_LIBRARY_ORIGIN),\ 301 LDFLAGS_SUFFIX:=$(BUILD_LIBMLIB_LDLIBS) \ 302 $(LDFLAGS_JDKLIB_SUFFIX),\ 303 LDFLAGS_SUFFIX_solaris:=-lc, \ 304 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 305 RC_FLAGS:=$(RC_FLAGS)\ 306 -D "JDK_FNAME=mlib_image.dll" \ 307 -D "JDK_INTERNAL_NAME=mlib_image" \ 308 -D "JDK_FTYPE=0x2L",\ 309 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\ 310 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 311 312 $(BUILD_LIBMLIB_IMAGE) : $(BUILD_LIBJAVA) 313 314 BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE) 315 316 ########################################################################################## 317 318 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH),solaris-sparc) 319 320 BUILD_LIBMLIB_IMAGE_V_FILES:=\ 321 mlib_v_ImageLookUp.c \ 322 mlib_ImageCreate.c \ 323 mlib_ImageAffine.c \ 324 mlib_ImageConvMxN.c \ 325 mlib_ImageConvKernelConvert.c \ 326 mlib_sys.c \ 327 mlib_ImageLookUp_64.c \ 328 mlib_ImageLookUp_Bit.c \ 329 mlib_ImageColorTrue2Index.c \ 330 mlib_c_ImageThresh1_U8.c \ 331 mlib_v_ImageLookUpS16S16Func.c \ 332 mlib_v_ImageLookUpS16S32Func.c \ 333 mlib_v_ImageLookUpS16U16Func.c \ 334 mlib_v_ImageLookUpS16U8Func.c \ 335 mlib_v_ImageLookUpS32S16Func.c \ 336 mlib_v_ImageLookUpS32S32Func.c \ 337 mlib_v_ImageLookUpS32U16Func.c \ 338 mlib_v_ImageLookUpS32U8Func.c \ 339 mlib_v_ImageLookUpSIS16S16Func.c \ 340 mlib_v_ImageLookUpSIS16S32Func.c \ 341 mlib_v_ImageLookUpSIS16U16Func.c \ 342 mlib_v_ImageLookUpSIS16U8Func.c \ 343 mlib_v_ImageLookUpSIS32S16Func.c \ 344 mlib_v_ImageLookUpSIS32S32Func.c \ 345 mlib_v_ImageLookUpSIS32U16Func.c \ 346 mlib_v_ImageLookUpSIS32U8Func.c \ 347 mlib_v_ImageLookUpSIU16S16Func.c \ 348 mlib_v_ImageLookUpSIU16S32Func.c \ 349 mlib_v_ImageLookUpSIU16U16Func.c \ 350 mlib_v_ImageLookUpSIU16U8Func.c \ 351 mlib_v_ImageLookUpSIU8S16Func.c \ 352 mlib_v_ImageLookUpSIU8S32Func.c \ 353 mlib_v_ImageLookUpSIU8U16Func.c \ 354 mlib_v_ImageLookUpSIU8U8Func.c \ 355 mlib_v_ImageLookUpU16S16Func.c \ 356 mlib_v_ImageLookUpU16S32Func.c \ 357 mlib_v_ImageLookUpU16U16Func.c \ 358 mlib_v_ImageLookUpU16U8Func.c \ 359 mlib_v_ImageLookUpU8S16Func.c \ 360 mlib_v_ImageLookUpU8S32Func.c \ 361 mlib_v_ImageLookUpU8U16Func.c \ 362 mlib_v_ImageLookUpU8U8Func.c \ 363 mlib_v_ImageAffineIndex_BC.c \ 364 mlib_v_ImageAffine_BC.c \ 365 mlib_v_ImageAffine_BC_S16.c \ 366 mlib_v_ImageAffine_BC_U16.c \ 367 mlib_v_ImageAffine_BL.c \ 368 mlib_v_ImageAffine_BL_S16.c \ 369 mlib_v_ImageAffine_BL_U16.c \ 370 mlib_v_ImageAffine_NN.c \ 371 mlib_v_ImageFilters.c \ 372 mlib_ImageAffineEdge.c \ 373 mlib_ImageAffine_BC_D64.c \ 374 mlib_ImageAffine_BC_F32.c \ 375 mlib_ImageAffine_BC_S32.c \ 376 mlib_ImageAffine_BL_D64.c \ 377 mlib_ImageAffine_BL_F32.c \ 378 mlib_ImageAffine_BL_S32.c \ 379 mlib_ImageAffine_NN.c \ 380 mlib_ImageAffine_NN_Bit.c \ 381 mlib_ImageFilters.c \ 382 mlib_ImageScanPoly.c \ 383 mlib_ImageConv_8nw.c \ 384 mlib_ImageConv_8ext.c \ 385 mlib_ImageConv_16nw.c \ 386 mlib_ImageConv_16ext.c \ 387 mlib_ImageConv_u16nw.c \ 388 mlib_ImageConv_u16ext.c \ 389 mlib_ImageConv_32nw.c \ 390 mlib_ImageConv_F32nw.c \ 391 mlib_ImageConvMxN_Fp.c \ 392 mlib_ImageConvMxN_ext.c \ 393 mlib_ImageConv_D64nw.c \ 394 mlib_ImageClipping.c \ 395 mlib_ImageConvCopyEdge_Bit.c \ 396 mlib_ImageConvClearEdge_Bit.c \ 397 mlib_ImageConv2x2_f.c \ 398 mlib_ImageConvClearEdge_Fp.c \ 399 mlib_v_ImageConvMxN_8.c \ 400 mlib_v_ImageConvClearEdge.c \ 401 mlib_v_ImageConvCopyEdge.c \ 402 mlib_v_ImageConvMxN_8ext.c \ 403 mlib_v_ImageConvVersion.c \ 404 mlib_v_ImageConv_8nw.c \ 405 mlib_ImageConvCopyEdge_Fp.c \ 406 mlib_v_ImageChannelInsert_1.c \ 407 mlib_v_ImageChannelExtract_43.c \ 408 mlib_v_ImageChannelExtract_1.c \ 409 mlib_ImageCopy_Bit.c \ 410 mlib_v_ImageCopy_f.c \ 411 mlib_ImageUtils.c \ 412 mlib_ImageDivTables.c 413 414 BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS)) 415 416 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\ 417 LIBRARY:=mlib_image_v, \ 418 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 419 SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \ 420 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\ 421 LANG:=C,\ 422 INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\ 423 OPTIMIZATION:=HIGHEST, \ 424 CFLAGS:=-xarch=sparcvis \ 425 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il\ 426 $(BUILD_LIBMLIB_V_CFLAGS) \ 427 $(CFLAGS_JDKLIB), \ 428 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \ 429 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 430 $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \ 431 $(call SET_SHARED_LIBRARY_ORIGIN),\ 432 LDFLAGS_SUFFIX_solaris:=-lc,\ 433 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v)) 434 435 $(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA) 436 437 BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V) 438 439 endif 440 441 ########################################################################################## 442 443 LIBAWT_DIRS:=\ 444 $(JDK_TOPDIR)/src/share/native/sun/awt \ 445 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ 446 $(JDK_TOPDIR)/src/share/native/sun/awt/image \ 447 $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \ 448 $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 449 $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \ 450 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 451 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \ 452 $(JDK_TOPDIR)/src/share/native/sun/java2d \ 453 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 454 $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 455 $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 456 $(JDK_TOPDIR)/src/share/native/sun/awt/image \ 457 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ 458 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \ 459 $(JDK_TOPDIR)/src/share/native/sun/font 460 461 ifeq ($(OPENJDK_TARGET_OS),windows) 462 LIBAWT_DIRS+=\ 463 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ 464 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \ 465 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d 466 else 467 LIBAWT_DIRS+=\ 468 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 469 endif 470 471 LIBAWT_CFLAGS:=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \ 472 $(X_CFLAGS) \ 473 $(foreach dir,$(LIBAWT_DIRS),-I$(dir)) 474 475 LIBAWT_FILES:=\ 476 gifdecoder.c \ 477 imageInitIDs.c \ 478 img_globals.c \ 479 SurfaceData.c \ 480 Region.c \ 481 BufImgSurfaceData.c \ 482 Disposer.c \ 483 Trace.c \ 484 GraphicsPrimitiveMgr.c \ 485 Blit.c \ 486 BlitBg.c \ 487 ScaledBlit.c \ 488 FillRect.c \ 489 FillSpans.c \ 490 FillParallelogram.c \ 491 DrawParallelogram.c \ 492 DrawLine.c \ 493 DrawRect.c \ 494 DrawPolygons.c \ 495 DrawPath.c \ 496 FillPath.c \ 497 ProcessPath.c \ 498 MaskBlit.c \ 499 MaskFill.c \ 500 TransformHelper.c \ 501 AlphaMath.c \ 502 AlphaMacros.c \ 503 AnyByte.c \ 504 ByteBinary1Bit.c \ 505 ByteBinary2Bit.c \ 506 ByteBinary4Bit.c \ 507 ByteIndexed.c \ 508 ByteGray.c \ 509 Index8Gray.c \ 510 Index12Gray.c \ 511 AnyShort.c \ 512 Ushort555Rgb.c \ 513 Ushort565Rgb.c \ 514 Ushort4444Argb.c \ 515 Ushort555Rgbx.c \ 516 UshortGray.c \ 517 UshortIndexed.c \ 518 Any3Byte.c \ 519 ThreeByteBgr.c \ 520 AnyInt.c \ 521 IntArgb.c \ 522 IntArgbPre.c \ 523 IntArgbBm.c \ 524 IntRgb.c \ 525 IntBgr.c \ 526 IntRgbx.c \ 527 Any4Byte.c \ 528 FourByteAbgr.c \ 529 FourByteAbgrPre.c \ 530 BufferedMaskBlit.c \ 531 BufferedRenderPipe.c \ 532 ShapeSpanIterator.c \ 533 SpanClipRenderer.c \ 534 awt_ImageRep.c \ 535 awt_ImagingLib.c \ 536 awt_Mlib.c \ 537 awt_parseImage.c \ 538 DataBufferNative.c \ 539 dither.c \ 540 debug_assert.c \ 541 debug_mem.c \ 542 debug_trace.c \ 543 debug_util.c 544 545 ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux)) 546 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c 547 endif 548 549 ifeq ($(OPENJDK_TARGET_OS),macosx) 550 LIBAWT_FILES += awt_LoadLibrary.c img_colors.c 551 LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources 552 LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m 553 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks 554 555 LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0 556 endif 557 558 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc) 559 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF 560 LIBAWT_CFLAGS += -xarch=sparcvis 561 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il 562 LIBAWT_CFLAGS += \ 563 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \ 564 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \ 565 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops 566 567 LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \ 568 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops 569 570 LIBAWT_FILES += \ 571 vis_FuncArray.c \ 572 java2d_Mlib.c \ 573 mlib_ImageCreate.c \ 574 mlib_ImageZoom_NN.c \ 575 mlib_ImageCopy_Bit.c \ 576 mlib_sys.c \ 577 mlib_v_ImageClear.c \ 578 mlib_v_ImageClear_f.c \ 579 mlib_v_ImageConstXor.c \ 580 mlib_v_ImageCopy.c \ 581 mlib_v_ImageCopy_f.c \ 582 mlib_v_ImageXor.c \ 583 mlib_v_ImageZoom_NN_f.c \ 584 vis_Interp.c \ 585 vis_AlphaMacros.c \ 586 vis_AlphaMaskBlit.c \ 587 vis_AlphaMaskFill.c \ 588 vis_ByteGray.c \ 589 vis_ByteGray_FromRgb.c \ 590 vis_ByteGray_Mask.c \ 591 vis_ByteIndexed.c \ 592 vis_DrawLine.c \ 593 vis_FourByteAbgr.c \ 594 vis_IntArgb.c \ 595 vis_IntArgbPre.c \ 596 vis_IntArgbPre_Mask.c \ 597 vis_IntBgr.c \ 598 vis_IntRgb.c \ 599 vis_IntRgbx.c \ 600 vis_SrcMaskFill.c \ 601 vis_SrcOverMaskBlit.c \ 602 vis_SrcOverMaskFill.c \ 603 vis_FourByteAbgrPre.c \ 604 vis_GlyphList.c \ 605 vis_GlyphListXor.c \ 606 vis_IntArgbBm.c \ 607 vis_ThreeByteBgr.c \ 608 vis_UshortGray.c \ 609 vis_UshortGray_FromRgb.c \ 610 vis_XorBlit.c \ 611 mlib_v_ImageCopy_blk.s 612 613 ifeq ($(OPENJDK_TARGET_CPU),sparcv9) 614 LIBAWT_ASFLAGS=-P -xarch=v9a 615 else 616 LIBAWT_ASFLAGS=-P -xarch=v8plusa 617 endif 618 else 619 LIBAWT_FILES += MapAccelFunc.c 620 endif 621 622 ifneq ($(OPENJDK_TARGET_OS),solaris) 623 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH 624 endif 625 626 LIBAWT_LANG:=C 627 628 ifeq ($(OPENJDK_TARGET_OS),windows) 629 LIBAWT_FILES += AccelGlyphCache.c \ 630 ShaderList.c \ 631 CmdIDList.cpp \ 632 Hashtable.cpp \ 633 GDIHashtable.cpp \ 634 Devices.cpp \ 635 ObjectList.cpp \ 636 GDIBlitLoops.cpp \ 637 GDIRenderer.cpp \ 638 GDIWindowSurfaceData.cpp \ 639 WindowsFlags.cpp \ 640 WPrinterJob.cpp \ 641 awt_%.cpp \ 642 D3DBlitLoops.cpp \ 643 D3DBufImgOps.cpp \ 644 D3DContext.cpp \ 645 D3DGlyphCache.cpp \ 646 D3DGraphicsDevice.cpp \ 647 D3DMaskBlit.cpp \ 648 D3DMaskCache.cpp \ 649 D3DMaskFill.cpp \ 650 D3DPipelineManager.cpp \ 651 D3DPaints.cpp \ 652 D3DRenderer.cpp \ 653 D3DRenderQueue.cpp \ 654 D3DResourceManager.cpp \ 655 D3DSurfaceData.cpp \ 656 D3DTextRenderer.cpp \ 657 D3DVertexCacher.cpp \ 658 ShellFolder2.cpp \ 659 ThemeReader.cpp \ 660 ComCtl32Util.cpp \ 661 DllUtil.cpp \ 662 initIDs.cpp \ 663 MouseInfo.cpp \ 664 rect.c \ 665 OGLBlitLoops.c \ 666 OGLBufImgOps.c \ 667 OGLContext.c \ 668 OGLFuncs.c \ 669 OGLMaskBlit.c \ 670 OGLMaskFill.c \ 671 OGLPaints.c \ 672 OGLRenderQueue.c \ 673 OGLRenderer.c \ 674 OGLSurfaceData.c \ 675 OGLTextRenderer.c \ 676 OGLVertexCache.c \ 677 WGLGraphicsConfig.c \ 678 WGLSurfaceData.c 679 LIBAWT_LANG:=C++ 680 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE 681 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) 682 LIBAWT_CFLAGS += -DMLIB_OS64BIT 683 endif 684 685 ifdef OPENJDK 686 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons" 687 else 688 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows" 689 endif 690 LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc 691 endif 692 693 ifeq ($(MILESTONE), internal) 694 LIBAWT_CFLAGS += -DINTERNAL_BUILD 695 endif 696 697 LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers 698 ifeq ($(OPENJDK_TARGET_OS),linux) 699 LIBAWT_MAPFILE:= 700 endif 701 702 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\ 703 LIBRARY:=awt,\ 704 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 705 SRC:=$(LIBAWT_DIRS),\ 706 INCLUDE_FILES:=$(LIBAWT_FILES),\ 707 LANG:=$(LIBAWT_LANG),\ 708 OPTIMIZATION:=LOW, \ 709 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\ 710 ASFLAGS:=$(LIBAWT_ASFLAGS),\ 711 MAPFILE:=$(LIBAWT_MAPFILE), \ 712 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\ 713 LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\ 714 LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\ 715 LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\ 716 LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \ 717 -framework Cocoa \ 718 -framework OpenGL \ 719 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 720 -framework JavaNativeFoundation \ 721 -framework JavaRuntimeSupport \ 722 -framework ApplicationServices \ 723 -framework AudioToolbox \ 724 -ljava,\ 725 LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \ 726 imm32.lib ole32.lib uuid.lib shell32.lib \ 727 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \ 728 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \ 729 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \ 730 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \ 731 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \ 732 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \ 733 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\ 734 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\ 735 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \ 736 -D "JDK_FNAME=awt.dll" \ 737 -D "JDK_INTERNAL_NAME=awt" \ 738 -D "JDK_FTYPE=0x2L",\ 739 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt,\ 740 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 741 742 $(BUILD_LIBAWT) : $(BUILD_LIBJAVA) 743 744 ifeq ($(OPENJDK_TARGET_OS), macosx) 745 $(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE) 746 endif 747 748 BUILD_LIBRARIES += $(BUILD_LIBAWT) 749 750 ########################################################################################## 751 752 # TODO!! 753 # Even though this variable as a general name, it is 754 # only used on macos, in fontpath.c, as prefix for where to find fonts. 755 # 756 # It's used for libawt_headless _and_ libawt_xawt 757 # 758 X11_PATH:=/usr/X11R6 759 760 ifneq ($(OPENJDK_TARGET_OS), windows) 761 ifndef BUILD_HEADLESS_ONLY 762 763 LIBAWT_XAWT_DIRS:=\ 764 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 765 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \ 766 $(JDK_TOPDIR)/src/share/native/sun/font \ 767 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \ 768 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ 769 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ 770 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \ 771 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \ 772 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \ 773 774 LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \ 775 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \ 776 $(CUPS_CFLAGS) \ 777 $(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \ 778 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 779 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 780 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 781 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 782 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ 783 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 784 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 785 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga 786 787 ifeq ($(OPENJDK_TARGET_OS),solaris) 788 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15 789 endif 790 791 ifeq ($(MILESTONE),internal) 792 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD 793 endif 794 795 LIBAWT_XAWT_FILES:=\ 796 XlibWrapper.c \ 797 XWindow.c \ 798 XToolkit.c \ 799 X11Color.c \ 800 X11SurfaceData.c \ 801 awt_GraphicsEnv.c \ 802 awt_InputMethod.c \ 803 robot_common.c \ 804 awt_Robot.c \ 805 list.c \ 806 multiVis.c \ 807 initIDs.c \ 808 awt_util.c \ 809 awt_Desktop.c \ 810 awt_UNIXToolkit.c \ 811 X11FontScaler_md.c \ 812 X11TextRenderer_md.c \ 813 fontpath.c \ 814 awt_Insets.c \ 815 awt_Event.c \ 816 X11Renderer.c \ 817 X11PMBlitLoops.c \ 818 OGLBlitLoops.c \ 819 OGLBufImgOps.c \ 820 OGLContext.c \ 821 OGLFuncs.c \ 822 OGLMaskBlit.c \ 823 OGLMaskFill.c \ 824 OGLPaints.c \ 825 OGLRenderQueue.c \ 826 OGLRenderer.c \ 827 OGLSurfaceData.c \ 828 OGLTextRenderer.c \ 829 OGLVertexCache.c \ 830 GLXGraphicsConfig.c \ 831 GLXSurfaceData.c \ 832 AccelGlyphCache.c \ 833 awt_Font.c \ 834 multi_font.c \ 835 awt_AWTEvent.c \ 836 awt_DrawingSurface.c \ 837 jawt.c \ 838 CUPSfuncs.c \ 839 debug_assert.c \ 840 debug_mem.c \ 841 debug_trace.c \ 842 debug_util.c \ 843 awt_Plugin.c \ 844 gtk2_interface.c \ 845 swing_GTKEngine.c \ 846 swing_GTKStyle.c \ 847 rect.c \ 848 sun_awt_X11_GtkFileDialogPeer.c \ 849 XRSurfaceData.c \ 850 XRBackendNative.c 851 852 LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc 853 854 ifeq ($(OPENJDK_TARGET_OS), linux) 855 # To match old build, add this to LDFLAGS instead of suffix. 856 LIBAWT_XAWT_LDFLAGS += -lpthread 857 endif 858 859 ifeq ($(OPENJDK_TARGET_OS), macosx) 860 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread 861 endif 862 863 # On macosx, the shared library origin is set twice for this lib. 864 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\ 865 LIBRARY:=awt_xawt,\ 866 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 867 SRC:=$(LIBAWT_XAWT_DIRS),\ 868 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\ 869 LANG:=C,\ 870 OPTIMIZATION:=LOW, \ 871 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \ 872 $(X_CFLAGS),\ 873 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \ 874 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 875 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\ 876 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \ 877 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\ 878 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \ 879 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \ 880 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \ 881 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \ 882 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \ 883 $(call SET_SHARED_LIBRARY_ORIGIN) \ 884 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\ 885 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \ 886 $(call SET_SHARED_LIBRARY_ORIGIN). \ 887 $(call SET_SHARED_LIBRARY_ORIGIN) \ 888 $(call SET_SHARED_LIBRARY_ORIGIN).,\ 889 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\ 890 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 891 RC_FLAGS:=$(RC_FLAGS)\ 892 -D "JDK_FNAME=xawt.dll" \ 893 -D "JDK_INTERNAL_NAME=xawt" \ 894 -D "JDK_FTYPE=0x2L",\ 895 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt)) 896 897 $(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA) 898 899 $(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT) 900 901 BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT) 902 903 endif 904 endif 905 906 ########################################################################################## 907 908 BUILD_LIBZIP_EXCLUDES := 909 ifeq ($(USE_EXTERNAL_LIBZ),true) 910 LIBZ := -lz 911 LIBZIP_EXCLUDES += zlib-1.2.5 912 else 913 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5 914 endif 915 916 BUILD_LIBZIP_REORDER := 917 ifeq ($(OPENJDK_TARGET_OS), solaris) 918 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 919 BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU) 920 endif 921 endif 922 923 ifeq ($(LIBZIP_CAN_USE_MMAP), true) 924 BUILD_LIBZIP_MMAP := -DUSE_MMAP 925 endif 926 927 $(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\ 928 LIBRARY:=zip,\ 929 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 930 LANG:=C,\ 931 OPTIMIZATION:=LOW, \ 932 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\ 933 EXCLUDES:=$(LIBZIP_EXCLUDES),\ 934 CFLAGS:=$(CFLAGS_JDKLIB) \ 935 $(ZLIB_CPPFLAGS) \ 936 -I$(JDK_TOPDIR)/src/share/native/java/io \ 937 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\ 938 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\ 939 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \ 940 REORDER:=$(BUILD_LIBZIP_REORDER), \ 941 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 942 $(call SET_SHARED_LIBRARY_ORIGIN) \ 943 $(EXPORT_ZIP_FUNCS), \ 944 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \ 945 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \ 946 $(WIN_JAVA_LIB),\ 947 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\ 948 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\ 949 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\ 950 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 951 RC_FLAGS:=$(RC_FLAGS)\ 952 -D "JDK_FNAME=zip.dll" \ 953 -D "JDK_INTERNAL_NAME=zip" \ 954 -D "JDK_FTYPE=0x2L",\ 955 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\ 956 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 957 958 $(BUILD_LIBZIP) : $(BUILD_LIBJAVA) 959 960 BUILD_LIBRARIES += $(BUILD_LIBZIP) 961 962 ########################################################################################## 963 964 $(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\ 965 LIBRARY:=unpack, \ 966 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 967 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\ 968 EXCLUDE_FILES:=main.cpp,\ 969 LANG:=C++,\ 970 OPTIMIZATION:=LOW, \ 971 CFLAGS:=$(CXXFLAGS_JDKLIB) \ 972 -DNO_ZLIB -DUNPACK_JNI -DFULL,\ 973 CFLAGS_release:=-DPRODUCT,\ 974 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \ 975 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ 976 $(call SET_SHARED_LIBRARY_ORIGIN),\ 977 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \ 978 jvm.lib $(WIN_JAVA_LIB),\ 979 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\ 980 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\ 981 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 982 RC_FLAGS:=$(RC_FLAGS)\ 983 -D "JDK_FNAME=unpack.dll" \ 984 -D "JDK_INTERNAL_NAME=unpack" \ 985 -D "JDK_FTYPE=0x2L",\ 986 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 987 988 $(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA) 989 990 BUILD_LIBRARIES += $(BUILD_LIBUNPACK) 991 992 ifeq ($(OPENJDK_TARGET_OS),windows) 993 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK) 994 $(ECHO) Copying $(@F) 995 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@ 996 997 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK) 998 $(ECHO) Copying $(@F) 999 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@ 1000 endif 1001 1002 ########################################################################################## 1003 1004 LIBATTACH_EXCLUDE_FILES:= 1005 ifneq ($(OPENJDK_TARGET_OS),solaris) 1006 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c 1007 endif 1008 ifneq ($(OPENJDK_TARGET_OS),linux) 1009 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c 1010 endif 1011 ifneq ($(OPENJDK_TARGET_OS),macosx) 1012 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c 1013 endif 1014 1015 $(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\ 1016 LIBRARY:=attach, \ 1017 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1018 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\ 1019 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\ 1020 LANG:=C,\ 1021 OPTIMIZATION:=LOW, \ 1022 CFLAGS:=$(CFLAGS_JDKLIB),\ 1023 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \ 1024 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1025 RC_FLAGS:=$(RC_FLAGS) \ 1026 -D "JDK_FNAME=attach.dll" \ 1027 -D "JDK_INTERNAL_NAME=attach" \ 1028 -D "JDK_FTYPE=0x2L",\ 1029 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1030 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1031 LDFLAGS_solaris:=-ldoor,\ 1032 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1033 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\ 1034 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\ 1035 DEBUG_SYMBOLS:=true)) 1036 1037 $(BUILD_LIBATTACH) : $(BUILD_LIBJAVA) 1038 1039 BUILD_LIBRARIES += $(BUILD_LIBATTACH) 1040 1041 ########################################################################################## 1042 1043 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\ 1044 LIBRARY:=dt_socket,\ 1045 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1046 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \ 1047 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\ 1048 LANG:=C,\ 1049 OPTIMIZATION:=LOW, \ 1050 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \ 1051 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \ 1052 -I$(JDK_TOPDIR)/src/share/transport/socket \ 1053 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \ 1054 -I$(JDK_TOPDIR)/src/share/back/export \ 1055 -I$(JDK_TOPDIR)/src/share/back,\ 1056 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \ 1057 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1058 $(call SET_SHARED_LIBRARY_ORIGIN), \ 1059 LDFLAGS_SUFFIX_linux:=-lpthread,\ 1060 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\ 1061 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\ 1062 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1063 RC_FLAGS:=$(RC_FLAGS)\ 1064 -D "JDK_FNAME=dt_socket.dll" \ 1065 -D "JDK_INTERNAL_NAME=dt_socket" \ 1066 -D "JDK_FTYPE=0x2L",\ 1067 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\ 1068 DEBUG_SYMBOLS:=true)) 1069 1070 $(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA) 1071 1072 BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET) 1073 1074 ########################################################################################## 1075 1076 ifeq ($(OPENJDK_TARGET_OS),windows) 1077 1078 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\ 1079 LIBRARY:=dt_shmem,\ 1080 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1081 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \ 1082 $(JDK_TOPDIR)/src/share/transport/shmem \ 1083 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\ 1084 LANG:=C,\ 1085 OPTIMIZATION:=LOW, \ 1086 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\ 1087 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \ 1088 -I$(JDK_TOPDIR)/src/share/transport/shmem \ 1089 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \ 1090 -I$(JDK_TOPDIR)/src/share/back/export, \ 1091 LDFLAGS:=$(LDFLAGS_JDKLIB),\ 1092 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\ 1093 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1094 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1095 RC_FLAGS:=$(RC_FLAGS)\ 1096 -D "JDK_FNAME=dt_shmem.dll" \ 1097 -D "JDK_INTERNAL_NAME=dt_shmem" \ 1098 -D "JDK_FTYPE=0x2L",\ 1099 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\ 1100 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 1101 1102 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM) 1103 1104 endif # OPENJDK_TARGET_OS 1105 1106 ########################################################################################## 1107 # JDWP_LOGGING causes log messages to be compiled into the library. 1108 $(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\ 1109 LIBRARY:=jdwp, \ 1110 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1111 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\ 1112 LANG:=C,\ 1113 OPTIMIZATION:=LOW, \ 1114 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\ 1115 -I$(JDK_TOPDIR)/src/share/transport/export \ 1116 -I$(JDK_TOPDIR)/src/share/back/export \ 1117 -I$(JDK_TOPDIR)/src/share/npt \ 1118 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \ 1119 -I$(JDK_TOPDIR)/src/share/back \ 1120 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \ 1121 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\ 1122 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \ 1123 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1124 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1125 LDFLAGS_SUFFIX_linux:=$(LIBDL),\ 1126 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\ 1127 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1128 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1129 RC_FLAGS:=$(RC_FLAGS)\ 1130 -D "JDK_FNAME=jdwp.dll" \ 1131 -D "JDK_INTERNAL_NAME=jdwp" \ 1132 -D "JDK_FTYPE=0x2L",\ 1133 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\ 1134 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 1135 1136 $(BUILD_LIBJDWP) : $(BUILD_LIBJAVA) 1137 1138 BUILD_LIBRARIES += $(BUILD_LIBJDWP) 1139 1140 ########################################################################################## 1141 1142 LIBJAAS_MAPFILE:= 1143 ifneq ($(OPENJDK_TARGET_OS),solaris) 1144 LIBJAAS_EXCLUDE_FILES:=Solaris.c 1145 else 1146 # only on solaris...wonder why 1147 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers 1148 endif 1149 1150 LIBJAAS_NAME:=jaas_unix 1151 ifeq ($(OPENJDK_TARGET_OS), windows) 1152 LIBJAAS_NAME:=jaas_nt 1153 endif 1154 1155 $(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\ 1156 LIBRARY:=$(LIBJAAS_NAME),\ 1157 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1158 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\ 1159 LANG:=C,\ 1160 OPTIMIZATION:=LOW, \ 1161 CFLAGS:=$(CFLAGS_JDKLIB),\ 1162 MAPFILE:=$(LIBJAAS_MAPFILE),\ 1163 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \ 1164 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1165 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\ 1166 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1167 LDFLAGS_SUFFIX_solaris:=-lc,\ 1168 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\ 1169 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1170 RC_FLAGS:=$(RC_FLAGS) \ 1171 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \ 1172 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \ 1173 -D "JDK_FTYPE=0x2L",\ 1174 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\ 1175 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 1176 1177 $(BUILD_LIBJAAS) : $(BUILD_LIBJAVA) 1178 1179 BUILD_LIBRARIES += $(BUILD_LIBJAAS) 1180 1181 ########################################################################################## 1182 1183 $(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\ 1184 LIBRARY:=jsdt,\ 1185 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1186 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\ 1187 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\ 1188 LANG:=C,\ 1189 OPTIMIZATION:=LOW, \ 1190 CFLAGS:=$(CFLAGS_JDKLIB)\ 1191 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\ 1192 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \ 1193 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1194 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1195 LDFLAGS_SUFFIX_linux:=$(LIBDL),\ 1196 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\ 1197 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\ 1198 LDFLAGS_SUFFIX_solaris:=-lc,\ 1199 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1200 RC_FLAGS:=$(RC_FLAGS)\ 1201 -D "JDK_FNAME=jsdt.dll" \ 1202 -D "JDK_INTERNAL_NAME=jsdt" \ 1203 -D "JDK_FTYPE=0x2L",\ 1204 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \ 1205 DEBUG_SYMBOLS:=true)) 1206 1207 $(BUILD_LIBJSDT) : $(BUILD_LIBJAVA) 1208 1209 BUILD_LIBRARIES += $(BUILD_LIBJSDT) 1210 1211 ########################################################################################## 1212 1213 ifdef OPENJDK 1214 # TODO: Update awt lib path when awt is converted 1215 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\ 1216 LIBRARY:=lcms,\ 1217 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1218 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\ 1219 LANG:=C,\ 1220 OPTIMIZATION:=LOW, \ 1221 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \ 1222 $(SHARED_LIBRARY_FLAGS) \ 1223 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 1224 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\ 1225 CFLAGS_solaris:=-xc99=no_lib,\ 1226 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\ 1227 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \ 1228 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1229 $(call SET_SHARED_LIBRARY_ORIGIN), \ 1230 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\ 1231 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\ 1232 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\ 1233 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\ 1234 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\ 1235 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1236 RC_FLAGS:=$(RC_FLAGS)\ 1237 -D "JDK_FNAME=lcms.dll" \ 1238 -D "JDK_INTERNAL_NAME=lcms" \ 1239 -D "JDK_FTYPE=0x2L",\ 1240 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\ 1241 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 1242 1243 BUILD_LIBRARIES += $(BUILD_LIBLCMS) 1244 1245 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT) 1246 endif 1247 1248 ########################################################################################## 1249 1250 ifdef OPENJDK 1251 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers 1252 else 1253 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed 1254 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg 1255 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC) 1256 endif 1257 1258 BUILD_LIBJPEG_REORDER:= 1259 ifeq ($(OPENJDK_TARGET_OS), solaris) 1260 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 1261 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU) 1262 endif 1263 endif 1264 1265 # Suppress gcc warnings like "variable might be clobbered by 'longjmp' 1266 # or 'vfork'": this warning indicates that some variable is placed to 1267 # a register by optimized compiler and it's value might be lost on longjmp(). 1268 # Recommended way to avoid such warning is to declare the variable as 1269 # volatile to prevent the optimization. However, this approach does not 1270 # work because we have to declare all variables as volatile in result. 1271 #ifndef CROSS_COMPILE_ARCH 1272 # CC_43_OR_NEWER:=\ 1273 # $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \ 1274 # \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) ) 1275 # ifeq ($(CC_43_OR_NEWER),1) 1276 # BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered 1277 # endif 1278 #endif 1279 1280 $(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\ 1281 LIBRARY:=jpeg, \ 1282 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1283 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \ 1284 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\ 1285 LANG:=C,\ 1286 OPTIMIZATION:=HIGHEST, \ 1287 CFLAGS:=$(CFLAGS_JDKLIB) \ 1288 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \ 1289 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\ 1290 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \ 1291 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1292 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1293 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\ 1294 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1295 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1296 RC_FLAGS:=$(RC_FLAGS)\ 1297 -D "JDK_FNAME=jpeg.dll" \ 1298 -D "JDK_INTERNAL_NAME=jpeg" \ 1299 -D "JDK_FTYPE=0x2L",\ 1300 REORDER:=$(BUILD_LIBJPEG_REORDER),\ 1301 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\ 1302 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 1303 1304 $(BUILD_LIBJPEG) : $(BUILD_LIBJAVA) 1305 1306 BUILD_LIBRARIES += $(BUILD_LIBJPEG) 1307 1308 ########################################################################################## 1309 1310 ifndef OPENJDK 1311 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k 1312 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers 1313 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c 1314 else 1315 FONT_HEADERS:=$(FREETYPE2_CFLAGS) 1316 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk 1317 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS) 1318 endif 1319 1320 LIBFONTMANAGER_OPTIMIZATION:=HIGH 1321 1322 ifeq ($(OPENJDK_TARGET_OS),windows) 1323 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ 1324 X11TextRenderer.c 1325 LIBFONTMANAGER_OPTIMIZATION:=LOW 1326 else 1327 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \ 1328 lcdglyph.c 1329 endif 1330 1331 BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\ 1332 $(X_CFLAGS) \ 1333 -DLE_STANDALONE -DHEADLESS \ 1334 $(FONT_HEADERS) \ 1335 -I$(JDK_TOPDIR)/src/share/native/sun/font \ 1336 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \ 1337 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 1338 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ 1339 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 1340 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 1341 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 1342 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 1343 -I$(JDK_TOPDIR)/src/share/native/sun/java2d 1344 1345 # Turn off aliasing with GCC for ExtensionSubtables.cpp 1346 ifeq ($(OPENJDK_TARGET_OS), linux) 1347 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing 1348 endif 1349 1350 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\ 1351 LIBRARY:=fontmanager, \ 1352 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1353 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\ 1354 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\ 1355 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \ 1356 AccelGlyphCache.c,\ 1357 LANG:=C++,\ 1358 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\ 1359 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\ 1360 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \ 1361 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ 1362 -DCC_NOEX, \ 1363 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \ 1364 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \ 1365 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1366 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\ 1367 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\ 1368 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\ 1369 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \ 1370 -ljava -ljvm,\ 1371 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ 1372 $(WIN_AWT_LIB),\ 1373 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1374 RC_FLAGS:=$(RC_FLAGS)\ 1375 -D "JDK_FNAME=fontmanager.dll" \ 1376 -D "JDK_INTERNAL_NAME=fontmanager" \ 1377 -D "JDK_FTYPE=0x2L",\ 1378 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\ 1379 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 1380 1381 $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT) 1382 1383 ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx)) 1384 $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT) 1385 endif 1386 1387 BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER) 1388 1389 ########################################################################################## 1390 1391 ifndef OPENJDK 1392 1393 # ifeq ($(OPENJDK_TARGET_OS), linux) 1394 # ifeq ("$(CC_VER_MAJOR)", "3") 1395 # OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic 1396 # endif 1397 # endif 1398 # 1399 # The resulting size of the t2k lib file is (at least on linux) dependant on the order of 1400 # the input .o files. Because of this the new build will differ in size to the old build. 1401 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \ 1402 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \ 1403 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \ 1404 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \ 1405 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \ 1406 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 1407 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 1408 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 1409 -I$(JDK_TOPDIR)/src/share/native/sun/java2d 1410 1411 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\ 1412 LIBRARY:=t2k, \ 1413 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1414 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \ 1415 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \ 1416 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\ 1417 EXCLUDE_FILES:=orion.c,\ 1418 LANG:=C++,\ 1419 OPTIMIZATION:=HIGH, \ 1420 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\ 1421 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\ 1422 CFLAGS_windows=-DCC_NOEX, \ 1423 CXXFLAGS_windows=-DCC_NOEX, \ 1424 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \ 1425 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ 1426 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1427 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\ 1428 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\ 1429 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\ 1430 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1431 RC_FLAGS:=$(RC_FLAGS)\ 1432 -D "JDK_FNAME=t2k.dll" \ 1433 -D "JDK_INTERNAL_NAME=t2k" \ 1434 -D "JDK_FTYPE=0x2L",\ 1435 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\ 1436 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 1437 1438 # t2k is linked against fontmanager 1439 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER) 1440 1441 BUILD_LIBRARIES += $(BUILD_LIBT2K) 1442 endif 1443 1444 ########################################################################################## 1445 1446 ifeq ($(OPENJDK_TARGET_OS), windows) 1447 ifeq ($(OPENJDK_TARGET_CPU), x86) 1448 KERNEL32_LIB:=kernel32.lib 1449 endif 1450 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\ 1451 LIBRARY:=jawt, \ 1452 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1453 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\ 1454 INCLUDE_FILES:=jawt.cpp,\ 1455 LANG:=C++,\ 1456 OPTIMIZATION:=LOW, \ 1457 CFLAGS:=$(CXXFLAGS_JDKLIB) \ 1458 -EHsc -DUNICODE -D_UNICODE \ 1459 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ 1460 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 1461 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 1462 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 1463 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \ 1464 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \ 1465 advapi32.lib $(WIN_AWT_LIB),\ 1466 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1467 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1468 RC_FLAGS:=$(RC_FLAGS)\ 1469 -D "JDK_FNAME=jawt.dll" \ 1470 -D "JDK_INTERNAL_NAME=jawt" \ 1471 -D "JDK_FTYPE=0x2L",\ 1472 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\ 1473 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 1474 1475 $(BUILD_LIBJAWT) : $(BUILD_LIBAWT) 1476 1477 $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT) 1478 $(ECHO) Copying $(@F) 1479 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@ 1480 1481 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) 1482 1483 else # OPENJDK_TARGET_OS not windows 1484 1485 JAWT_LIBS:= 1486 ifneq ($(OPENJDK_TARGET_OS), solaris) 1487 JAWT_LIBS += -lawt 1488 endif 1489 1490 ifndef BUILD_HEADLESS_ONLY 1491 JAWT_LIBS += -lawt_xawt 1492 else 1493 JAWT_LIBS += -lawt_headless 1494 HEADLESS_CFLAG += -DHEADLESS 1495 endif 1496 1497 JAWT_FILES:=jawt.c 1498 ifeq ($(OPENJDK_TARGET_OS), macosx) 1499 JAWT_FILES:=jawt.m 1500 JAWT_LIBS:=-lawt_lwawt 1501 endif 1502 1503 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\ 1504 LIBRARY:=jawt, \ 1505 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1506 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ 1507 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\ 1508 INCLUDE_FILES:=$(JAWT_FILES),\ 1509 LANG:=C,\ 1510 OPTIMIZATION:=LOW, \ 1511 CFLAGS:=$(CFLAGS_JDKLIB), \ 1512 CFLAGS_linux:=$(HEADLESS_CFLAG),\ 1513 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\ 1514 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \ 1515 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1516 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1517 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\ 1518 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\ 1519 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\ 1520 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \ 1521 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\ 1522 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt)) 1523 1524 ifndef BUILD_HEADLESS_ONLY 1525 $(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT) 1526 else 1527 $(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX) 1528 endif 1529 1530 ifeq ($(OPENJDK_TARGET_OS),macosx) 1531 $(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) 1532 endif 1533 1534 endif # OPENJDK_TARGET_OS 1535 1536 BUILD_LIBRARIES += $(BUILD_LIBJAWT) 1537 1538 ########################################################################################## 1539 1540 LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \ 1541 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \ 1542 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument 1543 1544 LIBINSTRUMENT_FILES :=\ 1545 EncodingSupport.c \ 1546 EncodingSupport_md.c \ 1547 FileSystemSupport_md.c \ 1548 InstrumentationImplNativeMethods.c \ 1549 InvocationAdapter.c \ 1550 JarFacade.c \ 1551 JPLISAgent.c \ 1552 JPLISAssert.c \ 1553 JavaExceptions.c \ 1554 PathCharsValidator.c \ 1555 Reentrancy.c \ 1556 Utilities.c \ 1557 canonicalize_md.c 1558 1559 LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument 1560 LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \ 1561 -I$(JDK_TOPDIR)/src/share/instrument \ 1562 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \ 1563 -I$(JDK_TOPDIR)/src/share/bin 1564 1565 LIBINSTRUMENT_LDFLAGS:= 1566 LIBINSTRUMENT_LDFLAGS_SUFFIX:= 1567 1568 ifeq ($(OPENJDK_TARGET_OS), windows) 1569 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \ 1570 -export:Agent_OnAttach advapi32.lib 1571 # Statically link the C runtime so that there are not dependencies on modules 1572 # not on the search patch when invoked from the Windows system directory 1573 # (or elsewhere). 1574 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS)) 1575 # equivalent of strcasecmp is stricmp on Windows 1576 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp 1577 endif 1578 1579 $(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\ 1580 LIBRARY:=instrument, \ 1581 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1582 SRC:=$(LIBINSTRUMENT_SRC),\ 1583 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\ 1584 LANG:=C,\ 1585 OPTIMIZATION:=LOW, \ 1586 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\ 1587 CFLAGS_debug:=-DJPLIS_LOGGING,\ 1588 CFLAGS_release:=-DNO_JPLIS_LOGGING,\ 1589 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \ 1590 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1591 $(call SET_SHARED_LIBRARY_ORIGIN) \ 1592 $(LIBINSTRUMENT_LDFLAGS),\ 1593 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\ 1594 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\ 1595 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \ 1596 -framework Cocoa -framework Security -framework ApplicationServices,\ 1597 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\ 1598 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\ 1599 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\ 1600 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\ 1601 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1602 RC_FLAGS:=$(RC_FLAGS)\ 1603 -D "JDK_FNAME=instrument.dll" \ 1604 -D "JDK_INTERNAL_NAME=instrument" \ 1605 -D "JDK_FTYPE=0x2L",\ 1606 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\ 1607 DEBUG_SYMBOLS:=true)) 1608 1609 ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows)) 1610 $(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX) 1611 else 1612 $(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX) 1613 endif 1614 $(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA) 1615 1616 BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT) 1617 1618 ########################################################################################## 1619 1620 BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \ 1621 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \ 1622 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management 1623 1624 BUILD_LIBMANAGEMENT_EXCLUDES:= 1625 1626 BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management 1627 1628 ifneq ($(OPENJDK_TARGET_OS), windows) 1629 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c 1630 else 1631 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c 1632 endif 1633 1634 ifneq ($(OPENJDK_TARGET_OS),solaris) 1635 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c 1636 endif 1637 1638 ifneq ($(OPENJDK_TARGET_OS),linux) 1639 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c 1640 endif 1641 1642 ifneq ($(OPENJDK_TARGET_OS),macosx) 1643 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c 1644 endif 1645 1646 LIBMANAGEMENT_OPTIMIZATION:=HIGH 1647 ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),) 1648 ifeq ($(ENABLE_DEBUG_SYMBOLS), true) 1649 LIBMANAGEMENT_OPTIMIZATION:=LOW 1650 endif 1651 endif 1652 1653 $(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\ 1654 LIBRARY:=management,\ 1655 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1656 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\ 1657 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\ 1658 LANG:=C,\ 1659 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \ 1660 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\ 1661 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \ 1662 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1663 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1664 LDFLAGS_solaris:=-lkstat,\ 1665 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1666 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\ 1667 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1668 RC_FLAGS:=$(RC_FLAGS)\ 1669 -D "JDK_FNAME=management.dll" \ 1670 -D "JDK_INTERNAL_NAME=management" \ 1671 -D "JDK_FTYPE=0x2L",\ 1672 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\ 1673 DEBUG_SYMBOLS:=true)) 1674 1675 $(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA) 1676 1677 BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT) 1678 1679 ########################################################################################## 1680 1681 BUILD_LIBHPROF_SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof 1682 BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \ 1683 -I$(JDK_TOPDIR)/src/share/npt \ 1684 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \ 1685 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo 1686 1687 BUILD_LIBHPROF_LDFLAGS:= 1688 1689 LIBHPROF_OPTIMIZATION:=HIGHEST 1690 ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),) 1691 ifeq ($(ENABLE_DEBUG_SYMBOLS), true) 1692 LIBHPROF_OPTIMIZATION:=LOW 1693 endif 1694 endif 1695 1696 $(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\ 1697 LIBRARY:=hprof, \ 1698 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1699 SRC:=$(BUILD_LIBHPROF_SRC),\ 1700 LANG:=C,\ 1701 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \ 1702 CFLAGS:=$(CFLAGS_JDKLIB) \ 1703 $(BUILD_LIBHPROF_CFLAGS),\ 1704 CFLAGS_debug:=-DHPROF_LOGGING,\ 1705 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \ 1706 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1707 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1708 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\ 1709 LDFLAGS_SUFFIX_linux:=$(LIBDL),\ 1710 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\ 1711 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\ 1712 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1713 RC_FLAGS:=$(RC_FLAGS)\ 1714 -D "JDK_FNAME=hprof.dll" \ 1715 -D "JDK_INTERNAL_NAME=hprof" \ 1716 -D "JDK_FTYPE=0x2L",\ 1717 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\ 1718 DEBUG_SYMBOLS:=true)) 1719 1720 BUILD_LIBRARIES += $(BUILD_LIBHPROF) 1721 1722 ########################################################################################## 1723 1724 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\ 1725 LIBRARY:=java_crw_demo, \ 1726 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1727 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\ 1728 LANG:=C,\ 1729 OPTIMIZATION:=LOW, \ 1730 CFLAGS:=$(CFLAGS_JDKLIB) \ 1731 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\ 1732 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \ 1733 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1734 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1735 LDFLAGS_SUFFIX_solaris:=-lc,\ 1736 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1737 RC_FLAGS:=$(RC_FLAGS)\ 1738 -D "JDK_FNAME=java_crw_demo.dll" \ 1739 -D "JDK_INTERNAL_NAME=java_crw_demo" \ 1740 -D "JDK_FTYPE=0x2L",\ 1741 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\ 1742 DEBUG_SYMBOLS:=true)) 1743 1744 BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO) 1745 1746 ########################################################################################## 1747 1748 $(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\ 1749 LIBRARY:=npt, \ 1750 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1751 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\ 1752 LANG:=C,\ 1753 OPTIMIZATION:=LOW, \ 1754 CFLAGS:=$(CFLAGS_JDKLIB) \ 1755 -I$(JDK_TOPDIR)/src/share/npt \ 1756 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\ 1757 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \ 1758 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1759 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1760 LDFLAGS_macosx:=-liconv,\ 1761 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\ 1762 LDFLAGS_SUFFIX_solaris:=-lc, \ 1763 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1764 RC_FLAGS:=$(RC_FLAGS)\ 1765 -D "JDK_FNAME=npt.dll" \ 1766 -D "JDK_INTERNAL_NAME=npt" \ 1767 -D "JDK_FTYPE=0x2L",\ 1768 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\ 1769 DEBUG_SYMBOLS:=true)) 1770 1771 BUILD_LIBRARIES += $(BUILD_LIBNPT) 1772 1773 ########################################################################################## 1774 1775 LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \ 1776 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \ 1777 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \ 1778 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi 1779 1780 ifeq ($(OPENJDK_TARGET_OS),windows) 1781 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm 1782 else 1783 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp 1784 endif 1785 1786 LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir)) 1787 1788 LIBNET_EXCLUDE_FILES:= 1789 ifneq ($(OPENJDK_TARGET_OS),linux) 1790 LIBNET_EXCLUDE_FILES += linux_close.c 1791 endif 1792 1793 ifneq ($(OPENJDK_TARGET_OS),macosx) 1794 LIBNET_EXCLUDE_FILES += bsd_close.c 1795 endif 1796 1797 ifeq ($(OPENJDK_TARGET_OS),windows) 1798 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c 1799 else 1800 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \ 1801 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \ 1802 NTLMAuthSequence.c NetworkInterface_winXP.c 1803 endif 1804 1805 $(eval $(call SetupNativeCompilation,BUILD_LIBNET,\ 1806 LIBRARY:=net,\ 1807 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1808 SRC:=$(LIBNET_SRC_DIRS),\ 1809 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \ 1810 LANG:=C,\ 1811 OPTIMIZATION:=LOW, \ 1812 CFLAGS:=$(CFLAGS_JDKLIB) \ 1813 $(LIBNET_CFLAGS),\ 1814 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \ 1815 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1816 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1817 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\ 1818 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\ 1819 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\ 1820 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \ 1821 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \ 1822 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \ 1823 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1824 RC_FLAGS:=$(RC_FLAGS)\ 1825 -D "JDK_FNAME=net.dll" \ 1826 -D "JDK_INTERNAL_NAME=net" \ 1827 -D "JDK_FTYPE=0x2L",\ 1828 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\ 1829 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 1830 1831 $(BUILD_LIBNET) : $(BUILD_LIBJAVA) 1832 1833 BUILD_LIBRARIES += $(BUILD_LIBNET) 1834 1835 $(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties 1836 $(ECHO) $(LOG_INFO) Copying $(@F) 1837 $(MKDIR) -p $(@D) 1838 $(CP) $< $@ 1839 1840 COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties 1841 1842 ifeq ($(OPENJDK_TARGET_OS), solaris) 1843 $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template 1844 $(ECHO) $(LOG_INFO) Copying $(@F) 1845 $(MKDIR) -p $(@D) 1846 $(CP) $< $@ 1847 1848 COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template 1849 endif 1850 1851 ########################################################################################## 1852 1853 BUILD_LIBNIO_SRC:=\ 1854 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \ 1855 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \ 1856 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs 1857 1858 BUILD_LIBNIO_CFLAGS:=\ 1859 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \ 1860 -I$(JDK_TOPDIR)/src/share/native/java/io \ 1861 -I$(JDK_TOPDIR)/src/share/native/java/net \ 1862 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net 1863 1864 BUILD_LIBNIO_FILES:=\ 1865 DatagramChannelImpl.c \ 1866 DatagramDispatcher.c \ 1867 FileChannelImpl.c \ 1868 FileDispatcherImpl.c \ 1869 FileKey.c \ 1870 IOUtil.c \ 1871 MappedByteBuffer.c \ 1872 Net.c \ 1873 ServerSocketChannelImpl.c \ 1874 SocketChannelImpl.c \ 1875 SocketDispatcher.c 1876 1877 ifeq ($(OPENJDK_TARGET_OS), windows) 1878 BUILD_LIBNIO_FILES += \ 1879 Iocp.c \ 1880 RegistryFileTypeDetector.c \ 1881 WindowsAsynchronousFileChannelImpl.c \ 1882 WindowsAsynchronousServerSocketChannelImpl.c \ 1883 WindowsAsynchronousSocketChannelImpl.c \ 1884 WindowsNativeDispatcher.c \ 1885 WindowsSelectorImpl.c 1886 endif 1887 1888 ifeq ($(OPENJDK_TARGET_OS), linux) 1889 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) 1890 BUILD_LIBNIO_FILES += \ 1891 EPoll.c \ 1892 EPollArrayWrapper.c \ 1893 EPollPort.c \ 1894 InheritedChannel.c \ 1895 NativeThread.c \ 1896 PollArrayWrapper.c \ 1897 UnixAsynchronousServerSocketChannelImpl.c \ 1898 UnixAsynchronousSocketChannelImpl.c \ 1899 GnomeFileTypeDetector.c \ 1900 MagicFileTypeDetector.c \ 1901 LinuxNativeDispatcher.c \ 1902 LinuxWatchService.c \ 1903 UnixCopyFile.c \ 1904 UnixNativeDispatcher.c 1905 endif 1906 1907 ifeq ($(OPENJDK_TARGET_OS), macosx) 1908 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) 1909 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch 1910 BUILD_LIBNIO_FILES += \ 1911 InheritedChannel.c \ 1912 NativeThread.c \ 1913 PollArrayWrapper.c \ 1914 UnixAsynchronousServerSocketChannelImpl.c \ 1915 UnixAsynchronousSocketChannelImpl.c \ 1916 BsdNativeDispatcher.c \ 1917 MacOSXNativeDispatcher.c \ 1918 UnixCopyFile.c \ 1919 UnixNativeDispatcher.c \ 1920 KQueue.c \ 1921 KQueuePort.c \ 1922 KQueueArrayWrapper.c 1923 endif 1924 1925 ifeq ($(OPENJDK_TARGET_OS), solaris) 1926 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) 1927 BUILD_LIBNIO_FILES += \ 1928 DevPollArrayWrapper.c \ 1929 InheritedChannel.c \ 1930 NativeThread.c \ 1931 PollArrayWrapper.c \ 1932 SolarisEventPort.c \ 1933 UnixAsynchronousServerSocketChannelImpl.c \ 1934 UnixAsynchronousSocketChannelImpl.c \ 1935 GnomeFileTypeDetector.c \ 1936 SolarisNativeDispatcher.c \ 1937 SolarisWatchService.c \ 1938 UnixCopyFile.c \ 1939 UnixNativeDispatcher.c 1940 endif 1941 1942 $(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\ 1943 LIBRARY:=nio,\ 1944 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1945 SRC:=$(BUILD_LIBNIO_SRC),\ 1946 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \ 1947 LANG:=C,\ 1948 OPTIMIZATION:=HIGH, \ 1949 CFLAGS:=$(CFLAGS_JDKLIB) \ 1950 $(BUILD_LIBNIO_CFLAGS),\ 1951 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \ 1952 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \ 1953 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1954 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\ 1955 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \ 1956 -lsendfile -ljava -lnet -lc,\ 1957 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \ 1958 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \ 1959 $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \ 1960 $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj \ 1961 advapi32.lib,\ 1962 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\ 1963 LDFLAGS_SUFFIX:=,\ 1964 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1965 RC_FLAGS:=$(RC_FLAGS)\ 1966 -D "JDK_FNAME=nio.dll" \ 1967 -D "JDK_INTERNAL_NAME=nio" \ 1968 -D "JDK_FTYPE=0x2L",\ 1969 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\ 1970 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 1971 1972 BUILD_LIBRARIES += $(BUILD_LIBNIO) 1973 1974 $(BUILD_LIBNIO) : $(BUILD_LIBNET) 1975 1976 ########################################################################################## 1977 1978 ifeq ($(OPENJDK_TARGET_OS_API),posix) 1979 1980 ifneq ($(OPENJDK_TARGET_OS),macosx) 1981 1982 SCTP_WERROR := -Werror 1983 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc) 1984 SCTP_WERROR := 1985 endif 1986 1987 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\ 1988 LIBRARY:=sctp,\ 1989 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1990 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\ 1991 LANG:=C,\ 1992 OPTIMIZATION:=LOW, \ 1993 CFLAGS:=$(CFLAGS_JDKLIB)\ 1994 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \ 1995 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \ 1996 -I$(JDK_TOPDIR)/src/share/native/java/net \ 1997 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \ 1998 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\ 1999 CFLAGS_linux:=$(SCTP_WERROR),\ 2000 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \ 2001 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2002 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2003 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\ 2004 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\ 2005 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\ 2006 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\ 2007 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp)) 2008 2009 BUILD_LIBRARIES += $(BUILD_LIBSCTP) 2010 2011 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO) 2012 endif 2013 endif 2014 2015 ########################################################################################## 2016 2017 BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin 2018 LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir)) 2019 2020 BUILD_LIBJLI_FILES:=\ 2021 java.c \ 2022 splashscreen_stubs.c \ 2023 parse_manifest.c \ 2024 version_comp.c \ 2025 wildcard.c \ 2026 jli_util.c 2027 2028 ifeq ($(JVM_VARIANT_ZERO), true) 2029 ERGO_FAMILY:=zero 2030 else 2031 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86) 2032 ERGO_FAMILY:=i586 2033 else 2034 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH) 2035 endif 2036 endif 2037 2038 ifeq ($(OPENJDK_TARGET_OS), macosx) 2039 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin 2040 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin 2041 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c 2042 2043 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c 2044 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c 2045 endif 2046 2047 ifeq ($(OPENJDK_TARGET_OS), windows) 2048 BUILD_LIBJLI_FILES += java_md.c \ 2049 cmdtoargs.c 2050 # Staticically link with c runtime on windows. 2051 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS)) 2052 else ifneq ($(OPENJDK_TARGET_OS), macosx) 2053 2054 BUILD_LIBJLI_FILES += java_md_common.c 2055 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c 2056 2057 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c 2058 2059 # if the architecture specific ergo file exists then 2060 # use it, else use the generic definitions from ergo.c 2061 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),) 2062 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE) 2063 else # !ERGO_ARCH_FILE 2064 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO 2065 endif # ERGO_ARCH_FILE 2066 endif #WINDOWS 2067 2068 # Append defines depending on target platform 2069 LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS) 2070 2071 ifeq ($(OPENJDK_TARGET_OS), macosx) 2072 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" 2073 endif 2074 2075 ifneq ($(USE_EXTERNAL_LIBZ),true) 2076 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5 2077 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS) 2078 BUILD_LIBJLI_FILES += \ 2079 inflate.c \ 2080 inftrees.c \ 2081 inffast.c \ 2082 zadler32.c \ 2083 zcrc32.c \ 2084 zutil.c 2085 endif 2086 2087 ifeq ($(OPENJDK_TARGET_OS), windows) 2088 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE) 2089 else 2090 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli 2091 endif 2092 2093 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\ 2094 LIBRARY:=jli,\ 2095 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\ 2096 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\ 2097 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\ 2098 LANG:=C,\ 2099 OPTIMIZATION:=HIGH, \ 2100 CFLAGS:=$(LIBJLI_CFLAGS),\ 2101 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \ 2102 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2103 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2104 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\ 2105 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\ 2106 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\ 2107 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\ 2108 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\ 2109 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\ 2110 LDFLAGS_SUFFIX_windows:=\ 2111 -export:JLI_Launch \ 2112 -export:JLI_ManifestIterate \ 2113 -export:JLI_SetTraceLauncher \ 2114 -export:JLI_ReportErrorMessage \ 2115 -export:JLI_ReportErrorMessageSys \ 2116 -export:JLI_ReportMessage \ 2117 -export:JLI_ReportExceptionDescription \ 2118 -export:JLI_MemAlloc \ 2119 -export:JLI_CmdToArgs \ 2120 -export:JLI_GetStdArgc \ 2121 -export:JLI_GetStdArgs \ 2122 advapi32.lib \ 2123 comctl32.lib \ 2124 user32.lib,\ 2125 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2126 RC_FLAGS:=$(RC_FLAGS) \ 2127 -D "JDK_FNAME=jli.dll" \ 2128 -D "JDK_INTERNAL_NAME=jli" \ 2129 -D "JDK_FTYPE=0x2L",\ 2130 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\ 2131 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2132 2133 BUILD_LIBRARIES += $(BUILD_LIBJLI) 2134 2135 # On windows, the static library has the same suffix as the import library created by 2136 # with the shared library, so the static library is given a different name. No harm 2137 # in doing it for all platform to reduce complexity. 2138 ifeq ($(OPENJDK_TARGET_OS), windows) 2139 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\ 2140 STATIC_LIBRARY:=jli_static,\ 2141 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\ 2142 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\ 2143 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\ 2144 LANG:=C,\ 2145 OPTIMIZATION:=HIGH, \ 2146 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\ 2147 ARFLAGS:=$(ARFLAGS),\ 2148 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static)) 2149 2150 BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC) 2151 2152 else ifeq ($(OPENJDK_TARGET_OS),macosx) 2153 # 2154 # On macosx they do partial (incremental) linking of libjli_static.a 2155 # code it here...rather than add support to NativeCompilation 2156 # as this is first time I see it 2157 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\ 2158 LIBRARY:=jli_static, \ 2159 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\ 2160 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\ 2161 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\ 2162 LANG:=C,\ 2163 OPTIMIZATION:=HIGH, \ 2164 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\ 2165 LDFLAGS:=-nostdlib -r,\ 2166 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static)) 2167 2168 $(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC) 2169 $(CP) -a $< $@ 2170 2171 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a 2172 endif 2173 2174 ########################################################################################## 2175 2176 ifndef OPENJDK 2177 ifeq ($(ENABLE_JFR), true) 2178 2179 $(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\ 2180 LIBRARY:=jfr,\ 2181 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2182 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\ 2183 LANG:=C,\ 2184 OPTIMIZATION:=LOW, \ 2185 CFLAGS:=$(CFLAGS_JDKLIB) \ 2186 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \ 2187 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \ 2188 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2189 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2190 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2191 RC_FLAGS:=$(RC_FLAGS)\ 2192 -D "JDK_FNAME=jfr.dll" \ 2193 -D "JDK_INTERNAL_NAME=jfr" \ 2194 -D "JDK_FTYPE=0x2L",\ 2195 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\ 2196 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2197 2198 BUILD_LIBRARIES += $(BUILD_LIBJFR) 2199 2200 endif 2201 endif 2202 2203 ########################################################################################## 2204 2205 ifndef OPENJDK 2206 2207 BUILD_LIBKCMS_EXCLUDE_FILES:= 2208 ifeq ($(OPENJDK_TARGET_OS),windows) 2209 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c 2210 else 2211 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c 2212 endif 2213 2214 BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB) 2215 2216 ifeq ($(OPENJDK_TARGET_OS),solaris) 2217 # This particular library uses a feature called PIC_CODE_SMALL (on solaris) 2218 # implement it like this...since it's only used here 2219 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS)) 2220 else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc) 2221 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS)) 2222 endif 2223 2224 $(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\ 2225 LIBRARY:=kcms,\ 2226 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2227 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\ 2228 LANG:=C,\ 2229 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\ 2230 OPTIMIZATION:=LOW, \ 2231 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \ 2232 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\ 2233 CFLAGS_linux:=-Wno-missing-field-initializers,\ 2234 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \ 2235 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2236 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2237 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\ 2238 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \ 2239 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\ 2240 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\ 2241 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\ 2242 RC_FLAGS:=$(RC_FLAGS)\ 2243 -D "JDK_FNAME=kcms.dll" \ 2244 -D "JDK_INTERNAL_NAME=kcms" \ 2245 -D "JDK_FTYPE=0x2L",\ 2246 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\ 2247 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2248 2249 $(BUILD_LIBKCMS) : $(BUILD_LIBJAVA) 2250 2251 BUILD_LIBRARIES += $(BUILD_LIBKCMS) 2252 2253 endif 2254 2255 ########################################################################################## 2256 2257 ifndef OPENJDK 2258 ifeq ($(OPENJDK_TARGET_OS), solaris) 2259 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 2260 2261 ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok) 2262 2263 SUNWJDGA_MAPFILE:= 2264 ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc) 2265 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers 2266 endif 2267 2268 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \ 2269 LIBRARY:=sunwjdga,\ 2270 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2271 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \ 2272 LANG:=C, \ 2273 OPTIMIZATION:=LOW, \ 2274 CFLAGS:=$(CFLAGS_JDKLIB) \ 2275 -I$(JDK_TOPDIR)/src/share/javavm/export \ 2276 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \ 2277 -I$(OPENWIN_HOME)/include, \ 2278 MAPFILE:=$(SUNWJDGA_MAPFILE), \ 2279 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2280 $(call SET_SHARED_LIBRARY_ORIGIN), \ 2281 LDFLAGS_SUFFIX:=-L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \ 2282 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga)) 2283 2284 BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA) 2285 2286 endif 2287 endif 2288 endif 2289 endif 2290 2291 ########################################################################################## 2292 2293 ifeq ($(BUILD_HEADLESS), true) 2294 ifneq ($(OPENJDK_TARGET_OS), windows) 2295 2296 LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \ 2297 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ 2298 $(JDK_TOPDIR)/src/solaris/native/sun/font \ 2299 $(JDK_TOPDIR)/src/solaris/native/sun/awt \ 2300 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \ 2301 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11 2302 2303 LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \ 2304 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \ 2305 $(CUPS_CFLAGS) \ 2306 $(X_CFLAGS) \ 2307 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 2308 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 2309 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 2310 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 2311 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ 2312 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 2313 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 2314 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \ 2315 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir)) 2316 2317 LIBAWT_HEADLESS_FILES:=\ 2318 awt_Font.c \ 2319 HeadlessToolkit.c \ 2320 fontpath.c \ 2321 VDrawingArea.c \ 2322 X11Color.c \ 2323 X11Renderer.c \ 2324 X11PMBlitLoops.c \ 2325 X11SurfaceData.c \ 2326 X11FontScaler_md.c \ 2327 X11TextRenderer_md.c \ 2328 OGLBlitLoops.c \ 2329 OGLBufImgOps.c \ 2330 OGLContext.c \ 2331 OGLFuncs.c \ 2332 OGLMaskBlit.c \ 2333 OGLMaskFill.c \ 2334 OGLPaints.c \ 2335 OGLRenderQueue.c \ 2336 OGLRenderer.c \ 2337 OGLSurfaceData.c \ 2338 OGLTextRenderer.c \ 2339 OGLVertexCache.c \ 2340 GLXGraphicsConfig.c \ 2341 GLXSurfaceData.c \ 2342 AccelGlyphCache.c \ 2343 CUPSfuncs.c 2344 2345 LIBAWT_HEADLESS_REORDER:= 2346 ifeq ($(OPENJDK_TARGET_OS), solaris) 2347 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 2348 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU) 2349 endif 2350 endif 2351 2352 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\ 2353 LIBRARY:=awt_headless,\ 2354 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2355 SRC:=$(LIBAWT_HEADLESS_DIRS),\ 2356 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\ 2357 LANG:=C,\ 2358 OPTIMIZATION:=LOW, \ 2359 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\ 2360 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\ 2361 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2362 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2363 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\ 2364 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \ 2365 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \ 2366 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\ 2367 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\ 2368 REORDER:=$(LIBAWT_HEADLESS_REORDER), \ 2369 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\ 2370 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\ 2371 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava,\ 2372 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless)) 2373 2374 $(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT) 2375 2376 BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS) 2377 2378 endif 2379 endif 2380 2381 ########################################################################################## 2382 2383 ifndef BUILD_HEADLESS_ONLY 2384 LIBSPLASHSCREEN_DIRS:=\ 2385 $(JDK_TOPDIR)/src/share/native/sun/awt/giflib \ 2386 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \ 2387 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \ 2388 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen 2389 2390 ifneq ($(OPENJDK_TARGET_OS), macosx) 2391 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen 2392 else 2393 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen 2394 endif 2395 2396 2397 LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \ 2398 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir)) 2399 2400 ifeq ($(OPENJDK_TARGET_OS), macosx) 2401 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \ 2402 $(LIBSPLASHSCREEN_CFLAGS) \ 2403 -F/System/Library/Frameworks/JavaVM.framework/Frameworks 2404 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX 2405 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp 2406 2407 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0 2408 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0 2409 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0 2410 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0 2411 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0 2412 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0 2413 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0 2414 2415 else ifneq ($(OPENJDK_TARGET_OS), windows) 2416 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions 2417 else 2418 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32 2419 endif 2420 2421 LIBSPLASHSCREEN_LDFLAGS_SUFFIX:= 2422 2423 ifneq ($(USE_EXTERNAL_LIBZ),true) 2424 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5 2425 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS) 2426 endif 2427 2428 ifeq ($(OPENJDK_TARGET_OS), macosx) 2429 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \ 2430 -framework ApplicationServices \ 2431 -framework Foundation \ 2432 -framework Cocoa \ 2433 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 2434 -framework JavaNativeFoundation 2435 else ifneq ($(OPENJDK_TARGET_OS), windows) 2436 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread 2437 else # OPENJDK_TARGET_OS 2438 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll 2439 endif # OPENJDK_TARGET_OS 2440 2441 $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\ 2442 LIBRARY:=splashscreen,\ 2443 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2444 SRC:=$(LIBSPLASHSCREEN_DIRS),\ 2445 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\ 2446 LANG:=C,\ 2447 OPTIMIZATION:=LOW, \ 2448 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\ 2449 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \ 2450 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2451 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2452 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\ 2453 LDFLAGS_SUFFIX_solaris:=-lc,\ 2454 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2455 RC_FLAGS:=$(RC_FLAGS)\ 2456 -D "JDK_FNAME=splashscreen.dll" \ 2457 -D "JDK_INTERNAL_NAME=splashscreen" \ 2458 -D "JDK_FTYPE=0x2L",\ 2459 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\ 2460 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2461 2462 BUILD_LIBRARIES += $(LIBSPLASHSCREEN) 2463 2464 ifeq ($(OPENJDK_TARGET_OS),macosx) 2465 $(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 2466 endif 2467 2468 endif 2469 2470 ########################################################################################## 2471 2472 ifndef OPENJDK 2473 2474 LIBDCPR_SRC_DIRS:=\ 2475 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \ 2476 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \ 2477 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \ 2478 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util 2479 2480 LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \ 2481 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe 2482 2483 $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\ 2484 LIBRARY:=dcpr,\ 2485 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2486 SRC:=$(LIBDCPR_SRC_DIRS),\ 2487 LANG:=C,\ 2488 OPTIMIZATION:=LOW, \ 2489 CFLAGS:=$(CFLAGS_JDKLIB) \ 2490 $(LIBDCPR_CFLAGS), \ 2491 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \ 2492 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2493 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2494 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\ 2495 LDFLAGS_SUFFIX_posix:=-lm,\ 2496 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2497 RC_FLAGS:=$(RC_FLAGS)\ 2498 -D "JDK_FNAME=dcpr.dll" \ 2499 -D "JDK_INTERNAL_NAME=dcpr" \ 2500 -D "JDK_FTYPE=0x2L",\ 2501 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\ 2502 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2503 2504 $(BUILD_LIBDCPR) : $(BUILD_LIBJAVA) 2505 2506 BUILD_LIBRARIES += $(BUILD_LIBDCPR) 2507 2508 endif 2509 2510 ########################################################################################## 2511 2512 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\ 2513 LIBRARY:=j2pcsc,\ 2514 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2515 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \ 2516 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\ 2517 LANG:=C,\ 2518 CFLAGS_posix:=-D__sun_jdk,\ 2519 OPTIMIZATION:=LOW, \ 2520 CFLAGS:=$(CFLAGS_JDKLIB) \ 2521 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \ 2522 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\ 2523 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\ 2524 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \ 2525 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2526 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2527 LDFLAGS_SUFFIX_posix:=$(LIBDL), \ 2528 LDFLAGS_SUFFIX_windows:=winscard.lib,\ 2529 LDFLAGS_SUFFIX_solaris:=-lc,\ 2530 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2531 RC_FLAGS:=$(RC_FLAGS)\ 2532 -D "JDK_FNAME=j2pcsc.dll" \ 2533 -D "JDK_INTERNAL_NAME=j2pcsc" \ 2534 -D "JDK_FTYPE=0x2L",\ 2535 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\ 2536 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2537 2538 BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC) 2539 2540 ########################################################################################## 2541 2542 ifneq ($(OPENJDK_TARGET_OS), windows) 2543 ifneq ($(OPENJDK_TARGET_OS), macosx) 2544 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\ 2545 LIBRARY:=j2gss,\ 2546 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2547 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \ 2548 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\ 2549 LANG:=C,\ 2550 OPTIMIZATION:=LOW, \ 2551 CFLAGS:=$(CFLAGS_JDKLIB) \ 2552 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \ 2553 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\ 2554 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \ 2555 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2556 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2557 LDFLAGS_SUFFIX:=$(LIBDL),\ 2558 LDFLAGS_SUFFIX_solaris:=-lc,\ 2559 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss)) 2560 2561 BUILD_LIBRARIES += $(BUILD_LIBJ2GSS) 2562 endif 2563 endif 2564 2565 ########################################################################################## 2566 2567 BUILD_LIBKRB5_NAME:= 2568 ifeq ($(OPENJDK_TARGET_OS), windows) 2569 BUILD_LIBKRB5_NAME:=w2k_lsa_auth 2570 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 2571 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \ 2572 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \ 2573 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib 2574 else ifeq ($(OPENJDK_TARGET_OS), macosx) 2575 BUILD_LIBKRB5_NAME:=osxkrb5 2576 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5 2577 BUILD_LIBKRB5_LIBS:=-framework Kerberos 2578 endif 2579 2580 ifneq ($(BUILD_LIBKRB5_NAME),) 2581 $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\ 2582 LIBRARY:=$(BUILD_LIBKRB5_NAME),\ 2583 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2584 SRC:=$(BUILD_LIBKRB5_SRC),\ 2585 LANG:=C,\ 2586 OPTIMIZATION:=LOW, \ 2587 CFLAGS:=$(CFLAGS_JDKLIB) \ 2588 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \ 2589 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\ 2590 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2591 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2592 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\ 2593 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2594 RC_FLAGS:=$(RC_FLAGS)\ 2595 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \ 2596 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \ 2597 -D "JDK_FTYPE=0x2L",\ 2598 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\ 2599 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2600 2601 BUILD_LIBRARIES += $(BUILD_LIBKRB5) 2602 endif 2603 2604 ########################################################################################## 2605 2606 ifeq ($(OPENJDK_TARGET_OS), windows) 2607 2608 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\ 2609 LIBRARY:=sunmscapi,\ 2610 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2611 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\ 2612 INCLUDE_FILES:=security.cpp, \ 2613 LANG:=C++,\ 2614 OPTIMIZATION:=LOW, \ 2615 CFLAGS:=$(CFLAGS_JDKLIB) \ 2616 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\ 2617 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ 2618 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2619 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\ 2620 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2621 RC_FLAGS:=$(RC_FLAGS)\ 2622 -D "JDK_FNAME=sunmscapi.dll" \ 2623 -D "JDK_INTERNAL_NAME=sunmscapi" \ 2624 -D "JDK_FTYPE=0x2L",\ 2625 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\ 2626 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2627 2628 BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI) 2629 endif 2630 2631 ########################################################################################## 2632 2633 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\ 2634 LIBRARY:=j2pkcs11,\ 2635 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2636 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \ 2637 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \ 2638 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \ 2639 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\ 2640 LANG:=C,\ 2641 OPTIMIZATION:=LOW, \ 2642 CFLAGS:=$(CFLAGS_JDKLIB) \ 2643 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \ 2644 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \ 2645 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \ 2646 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\ 2647 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \ 2648 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2649 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2650 LDFLAGS_SUFFIX_posix:=$(LIBDL),\ 2651 LDFLAGS_SUFFIX_solaris:=-lc,\ 2652 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2653 RC_FLAGS:=$(RC_FLAGS)\ 2654 -D "JDK_FNAME=j2pkcs11.dll" \ 2655 -D "JDK_INTERNAL_NAME=j2pkcs11" \ 2656 -D "JDK_FTYPE=0x2L",\ 2657 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\ 2658 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2659 2660 BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11) 2661 2662 ########################################################################################## 2663 2664 ifndef DISABLE_INTREE_EC 2665 # 2666 # TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl 2667 # is not present 2668 # 2669 BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \ 2670 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl 2671 2672 # 2673 # On sol-sparc...all libraries are compiled with -xregs=no%appl 2674 # (set in CFLAGS_REQUIRED_sparc) 2675 # 2676 # except!!! libsunec.so 2677 # 2678 ECC_JNI_SOLSPARC_FILTER:= 2679 ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc) 2680 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl 2681 endif 2682 2683 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\ 2684 LIBRARY:=sunec,\ 2685 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2686 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \ 2687 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \ 2688 LANG:=C++, \ 2689 OPTIMIZATION:=LOW, \ 2690 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\ 2691 $(BUILD_LIBSUNEC_FLAGS) \ 2692 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\ 2693 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \ 2694 $(BUILD_LIBSUNEC_FLAGS),\ 2695 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \ 2696 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\ 2697 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\ 2698 LDFLAGS_SUFFIX:=$(LIBCXX),\ 2699 LDFLAGS_SUFFIX_linux:=-lc ,\ 2700 LDFLAGS_SUFFIX_solaris:=-lc ,\ 2701 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2702 RC_FLAGS:=$(RC_FLAGS)\ 2703 -D "JDK_FNAME=sunec.dll" \ 2704 -D "JDK_INTERNAL_NAME=sunec" \ 2705 -D "JDK_FTYPE=0x2L",\ 2706 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\ 2707 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2708 2709 BUILD_LIBRARIES += $(BUILD_LIBSUNEC) 2710 endif 2711 2712 ########################################################################################## 2713 2714 LIBJSOUND_SRC_DIRS:=\ 2715 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \ 2716 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound 2717 2718 LIBJSOUND_SRC_FILES:=Utilities.c Platform.c 2719 2720 LIBJSOUND_LANG:=C 2721 LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir)) 2722 2723 EXTRA_SOUND_JNI_LIBS:= 2724 2725 LIBJSOUND_MIDIFILES:=\ 2726 MidiInDevice.c \ 2727 MidiInDeviceProvider.c \ 2728 MidiOutDevice.c \ 2729 MidiOutDeviceProvider.c \ 2730 PlatformMidi.c 2731 2732 # files needed for ports 2733 LIBJSOUND_PORTFILES:=\ 2734 PortMixerProvider.c \ 2735 PortMixer.c 2736 2737 # files needed for direct audio 2738 LIBJSOUND_DAUDIOFILES:=\ 2739 DirectAudioDeviceProvider.c \ 2740 DirectAudioDevice.c 2741 2742 ifeq ($(OPENJDK_TARGET_OS), windows) 2743 EXTRA_SOUND_JNI_LIBS += jsoundds 2744 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \ 2745 -DUSE_PLATFORM_MIDI_OUT=TRUE \ 2746 -DUSE_PLATFORM_MIDI_IN=TRUE \ 2747 -DUSE_PORTS=TRUE 2748 LIBJSOUND_SRC_FILES += \ 2749 PLATFORM_API_WinOS_MidiIn.cpp \ 2750 PLATFORM_API_WinOS_MidiOut.c \ 2751 PLATFORM_API_WinOS_Util.c \ 2752 PLATFORM_API_WinOS_Ports.c 2753 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) 2754 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) 2755 endif # OPENJDK_TARGET_OS windows 2756 2757 ifeq ($(OPENJDK_TARGET_OS), linux) 2758 EXTRA_SOUND_JNI_LIBS += jsoundalsa 2759 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX 2760 endif # OPENJDK_TARGET_OS linux 2761 2762 ifeq ($(OPENJDK_TARGET_OS), macosx) 2763 LIBJSOUND_LANG:=C++ 2764 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \ 2765 -DUSE_PORTS=TRUE \ 2766 -DUSE_DAUDIO=TRUE \ 2767 -DUSE_PLATFORM_MIDI_OUT=TRUE \ 2768 -DUSE_PLATFORM_MIDI_IN=TRUE 2769 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound 2770 LIBJSOUND_SRC_FILES += \ 2771 PLATFORM_API_MacOSX_Utils.cpp \ 2772 PLATFORM_API_MacOSX_PCM.cpp \ 2773 PLATFORM_API_MacOSX_Ports.cpp \ 2774 PLATFORM_API_MacOSX_MidiIn.c \ 2775 PLATFORM_API_MacOSX_MidiOut.c \ 2776 PLATFORM_API_MacOSX_MidiUtils.c 2777 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) 2778 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) 2779 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES) 2780 endif # OPENJDK_TARGET_OS macosx 2781 2782 ifeq ($(OPENJDK_TARGET_OS), solaris) 2783 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \ 2784 -DUSE_PORTS=TRUE \ 2785 -DUSE_DAUDIO=TRUE 2786 LIBJSOUND_SRC_FILES += \ 2787 PLATFORM_API_SolarisOS_Utils.c \ 2788 PLATFORM_API_SolarisOS_Ports.c \ 2789 PLATFORM_API_SolarisOS_PCM.c 2790 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) 2791 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) 2792 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES) 2793 endif # OPENJDK_TARGET_OS solaris 2794 2795 2796 ifeq ($(JVM_VARIANT_ZERO), true) 2797 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO 2798 else 2799 ifeq ($(OPENJDK_TARGET_CPU), x86) 2800 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586 2801 endif 2802 2803 ifeq ($(OPENJDK_TARGET_CPU), sparc) 2804 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC 2805 endif 2806 2807 ifeq ($(OPENJDK_TARGET_CPU), sparcv9) 2808 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9 2809 endif 2810 2811 ifeq ($(OPENJDK_TARGET_CPU), x86_64) 2812 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64 2813 endif 2814 2815 ifeq ($(OPENJDK_TARGET_CPU), arm) 2816 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM 2817 endif 2818 2819 ifeq ($(OPENJDK_TARGET_CPU), ppc) 2820 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC 2821 endif 2822 endif 2823 2824 LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"' 2825 2826 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\ 2827 LIBRARY:=jsound,\ 2828 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2829 SRC:=$(LIBJSOUND_SRC_DIRS),\ 2830 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\ 2831 LANG:=$(LIBJSOUND_LANG),\ 2832 OPTIMIZATION:=LOW, \ 2833 CFLAGS:=$(CFLAGS_JDKLIB) \ 2834 $(LIBJSOUND_CFLAGS), \ 2835 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \ 2836 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \ 2837 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 2838 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2839 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \ 2840 -framework CoreServices -framework AudioUnit $(LIBCXX) \ 2841 -framework CoreMIDI -framework AudioToolbox,\ 2842 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\ 2843 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\ 2844 LDFLAGS_SUFFIX_solaris:=-lc ,\ 2845 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2846 RC_FLAGS:=$(RC_FLAGS)\ 2847 -D "JDK_FNAME=jsound.dll" \ 2848 -D "JDK_INTERNAL_NAME=jsound" \ 2849 -D "JDK_FTYPE=0x2L",\ 2850 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\ 2851 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2852 2853 $(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA) 2854 2855 BUILD_LIBRARIES += $(BUILD_LIBJSOUND) 2856 2857 ########################################################################################## 2858 2859 ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),) 2860 2861 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\ 2862 LIBRARY:=jsoundalsa,\ 2863 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2864 SRC:=$(LIBJSOUND_SRC_DIRS),\ 2865 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \ 2866 $(LIBJSOUND_DAUDIOFILES) \ 2867 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \ 2868 PLATFORM_API_LinuxOS_ALSA_PCM.c \ 2869 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \ 2870 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \ 2871 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \ 2872 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \ 2873 PLATFORM_API_LinuxOS_ALSA_Ports.c,\ 2874 LANG:=C,\ 2875 OPTIMIZATION:=LOW, \ 2876 CFLAGS:=$(CFLAGS_JDKLIB) \ 2877 $(LIBJSOUND_CFLAGS) \ 2878 -DUSE_DAUDIO=TRUE \ 2879 -DUSE_PORTS=TRUE \ 2880 -DUSE_PLATFORM_MIDI_OUT=TRUE \ 2881 -DUSE_PLATFORM_MIDI_IN=TRUE, \ 2882 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \ 2883 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 2884 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2885 LDFLAGS_SUFFIX:=-lasound -ljava -ljvm,\ 2886 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa)) 2887 2888 $(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA) 2889 2890 BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA) 2891 2892 endif 2893 2894 ########################################################################################## 2895 2896 ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),) 2897 2898 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\ 2899 LIBRARY:=jsoundds,\ 2900 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2901 SRC:=$(LIBJSOUND_SRC_DIRS),\ 2902 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \ 2903 PLATFORM_API_WinOS_DirectSound.cpp, \ 2904 LANG:=C++,\ 2905 OPTIMIZATION:=LOW, \ 2906 CFLAGS:=$(CFLAGS_JDKLIB) \ 2907 $(LIBJSOUND_CFLAGS) \ 2908 -DUSE_DAUDIO=TRUE, \ 2909 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ 2910 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2911 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\ 2912 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2913 RC_FLAGS:=$(RC_FLAGS)\ 2914 -D "JDK_FNAME=jsoundds.dll" \ 2915 -D "JDK_INTERNAL_NAME=jsoundds" \ 2916 -D "JDK_FTYPE=0x2L",\ 2917 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\ 2918 DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) 2919 2920 $(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA) 2921 2922 BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS) 2923 2924 endif 2925 2926 ########################################################################################## 2927 2928 ifeq ($(OPENJDK_TARGET_OS), solaris) 2929 ifndef OPENJDK 2930 2931 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\ 2932 LIBRARY:=j2ucrypto,\ 2933 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2934 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\ 2935 LANG:=C,\ 2936 OPTIMIZATION:=LOW, \ 2937 CFLAGS:=$(CFLAGS_JDKLIB) \ 2938 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\ 2939 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \ 2940 LDFLAGS:=$(LDFLAGS_JDKLIB),\ 2941 LDFLAGS_SUFFIX:=$(LIBDL),\ 2942 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto)) 2943 2944 $(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA) 2945 2946 BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO) 2947 2948 endif 2949 endif 2950 2951 ########################################################################################## 2952 2953 ifeq ($(OPENJDK_TARGET_OS), macosx) 2954 2955 $(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\ 2956 LIBRARY:=AppleScriptEngine,\ 2957 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2958 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\ 2959 LANG:=C,\ 2960 OPTIMIZATION:=LOW, \ 2961 CFLAGS:=$(CFLAGS_JDKLIB) \ 2962 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \ 2963 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 2964 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \ 2965 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 2966 $(call SET_SHARED_LIBRARY_ORIGIN), \ 2967 LDFLAGS_SUFFIX:=-framework Cocoa \ 2968 -framework Carbon \ 2969 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 2970 -framework JavaNativeFoundation \ 2971 $(LDFLAGS_JDKLIB_SUFFIX),\ 2972 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine)) 2973 2974 $(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA) 2975 2976 BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE) 2977 2978 endif 2979 2980 ########################################################################################## 2981 2982 ifeq ($(OPENJDK_TARGET_OS), macosx) 2983 2984 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\ 2985 LIBRARY:=osxapp,\ 2986 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2987 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\ 2988 LANG:=C,\ 2989 OPTIMIZATION:=LOW, \ 2990 CFLAGS:=$(CFLAGS_JDKLIB) \ 2991 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 2992 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \ 2993 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 2994 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\ 2995 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 2996 $(call SET_SHARED_LIBRARY_ORIGIN), \ 2997 LDFLAGS_SUFFIX_macosx:=\ 2998 -framework Accelerate \ 2999 -framework ApplicationServices \ 3000 -framework AudioToolbox \ 3001 -framework Carbon \ 3002 -framework Cocoa \ 3003 -framework Security \ 3004 -framework ExceptionHandling \ 3005 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3006 -framework JavaNativeFoundation \ 3007 -framework JavaRuntimeSupport \ 3008 -framework OpenGL \ 3009 -framework IOSurface \ 3010 -framework QuartzCore, \ 3011 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp)) 3012 3013 BUILD_LIBRARIES += $(BUILD_LIBOSXAPP) 3014 3015 endif 3016 3017 ########################################################################################## 3018 3019 ifeq ($(OPENJDK_TARGET_OS), macosx) 3020 3021 LIBOSX_DIRS:=\ 3022 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \ 3023 $(JDK_TOPDIR)/src/macosx/native/java/util \ 3024 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \ 3025 $(JDK_TOPDIR)/src/macosx/native/apple/security \ 3026 $(JDK_TOPDIR)/src/macosx/native/apple/launcher 3027 3028 $(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\ 3029 LIBRARY:=osx,\ 3030 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3031 SRC:=$(LIBOSX_DIRS),\ 3032 LANG:=C,\ 3033 OPTIMIZATION:=LOW, \ 3034 CFLAGS:=$(CFLAGS_JDKLIB) \ 3035 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \ 3036 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 3037 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3038 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\ 3039 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 3040 $(call SET_SHARED_LIBRARY_ORIGIN), \ 3041 LDFLAGS_SUFFIX_macosx:=\ 3042 -losxapp \ 3043 -framework Cocoa \ 3044 -framework ApplicationServices \ 3045 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3046 -framework JavaNativeFoundation \ 3047 -framework JavaRuntimeSupport \ 3048 -framework Security \ 3049 -framework SystemConfiguration \ 3050 $(LDFLAGS_JDKLIB_SUFFIX), \ 3051 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx)) 3052 3053 BUILD_LIBRARIES += $(BUILD_LIBOSX) 3054 3055 $(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP) 3056 3057 $(BUILD_LIBOSX) : $(BUILD_LIBJAVA) 3058 3059 endif 3060 3061 ########################################################################################## 3062 3063 ifeq ($(OPENJDK_TARGET_OS), macosx) 3064 3065 LIBAWT_LWAWT_FILES:=\ 3066 awt.m \ 3067 ApplicationDelegate.m \ 3068 CFRetainedResource.m \ 3069 CGLGraphicsConfig.m \ 3070 CGLSurfaceData.m \ 3071 CGLLayer.m \ 3072 CGraphicsConfig.m \ 3073 CGraphicsDevice.m \ 3074 CGraphicsEnv.m \ 3075 CCharToGlyphMapper.m \ 3076 CSystemColors.m \ 3077 AWTFont.m \ 3078 CGGlyphOutlines.m \ 3079 CGGlyphImages.m \ 3080 CoreTextSupport.m \ 3081 AWTStrike.m \ 3082 InitIDs.m \ 3083 AWTEvent.m \ 3084 AWTView.m \ 3085 AWTWindow.m \ 3086 AWTSurfaceLayers.m \ 3087 CCursorManager.m \ 3088 CClipboard.m \ 3089 CDataTransferer.m \ 3090 CDragSource.m \ 3091 CDragSourceContextPeer.m \ 3092 CDropTarget.m \ 3093 CDropTargetContextPeer.m \ 3094 CInputMethod.m \ 3095 CDesktopPeer.m \ 3096 OSVersion.m \ 3097 DnDUtilities.m \ 3098 CFileDialog.m \ 3099 CImage.m \ 3100 CMenu.m \ 3101 CMenuBar.m \ 3102 CMenuComponent.m \ 3103 CMenuItem.m \ 3104 CPopupMenu.m \ 3105 CRobot.m \ 3106 CTrayIcon.m \ 3107 CWrapper.m \ 3108 JavaAccessibilityAction.m \ 3109 JavaAccessibilityUtilities.m \ 3110 JavaComponentAccessibility.m \ 3111 JavaTextAccessibility.m \ 3112 LWCToolkit.m \ 3113 GeomUtilities.m \ 3114 CPrinterJob.m \ 3115 PrintModel.m \ 3116 PrinterSurfaceData.m \ 3117 PrinterView.m \ 3118 QuartzSurfaceData.m \ 3119 QuartzRenderer.m \ 3120 CTextPipe.m \ 3121 ImageSurfaceData.m \ 3122 awt_DrawingSurface.m \ 3123 \ 3124 OGLBlitLoops.c \ 3125 OGLBufImgOps.c \ 3126 OGLContext.c \ 3127 OGLFuncs.c \ 3128 OGLMaskBlit.c \ 3129 OGLMaskFill.c \ 3130 OGLPaints.c \ 3131 OGLRenderQueue.c \ 3132 OGLRenderer.c \ 3133 OGLSurfaceData.c \ 3134 OGLTextRenderer.c \ 3135 OGLVertexCache.c \ 3136 AccelGlyphCache.c \ 3137 CUPSfuncs.c 3138 3139 3140 LIBAWT_LWAWT_DIRS:=\ 3141 $(JDK_TOPDIR)/src/macosx/native/sun/awt \ 3142 $(JDK_TOPDIR)/src/macosx/native/sun/font \ 3143 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \ 3144 $(JDK_TOPDIR)/src/solaris/native/sun/awt \ 3145 $(JDK_TOPDIR)/src/share/native/sun/font \ 3146 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ 3147 3148 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\ 3149 LIBRARY:=awt_lwawt,\ 3150 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3151 SRC:=$(LIBAWT_LWAWT_DIRS),\ 3152 LANG:=C,\ 3153 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\ 3154 OPTIMIZATION:=LOW, \ 3155 CFLAGS:=$(CFLAGS_JDKLIB) \ 3156 $(X_CFLAGS) \ 3157 $(X_LIBS) \ 3158 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \ 3159 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 3160 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 3161 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \ 3162 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ 3163 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 3164 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 3165 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 3166 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 3167 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3168 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\ 3169 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 3170 $(call SET_SHARED_LIBRARY_ORIGIN), \ 3171 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \ 3172 -framework Accelerate \ 3173 -framework ApplicationServices \ 3174 -framework AudioToolbox \ 3175 -framework Carbon \ 3176 -framework Cocoa \ 3177 -framework Security \ 3178 -framework ExceptionHandling \ 3179 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3180 -framework JavaNativeFoundation \ 3181 -framework JavaRuntimeSupport \ 3182 -framework OpenGL \ 3183 -framework QuartzCore -ljava,\ 3184 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt)) 3185 3186 BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT) 3187 3188 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT) 3189 3190 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE) 3191 3192 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP) 3193 3194 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA) 3195 3196 endif 3197 3198 ########################################################################################## 3199 3200 ifeq ($(OPENJDK_TARGET_OS), macosx) 3201 3202 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\ 3203 LIBRARY:=osxui,\ 3204 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3205 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\ 3206 LANG:=C,\ 3207 OPTIMIZATION:=LOW, \ 3208 CFLAGS:=$(CFLAGS_JDKLIB) \ 3209 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \ 3210 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 3211 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \ 3212 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \ 3213 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 3214 $(call SET_SHARED_LIBRARY_ORIGIN) \ 3215 -Xlinker -rpath -Xlinker @loader_path,\ 3216 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \ 3217 -framework Cocoa \ 3218 -framework Carbon \ 3219 -framework ApplicationServices \ 3220 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3221 -framework JavaNativeFoundation \ 3222 -framework JavaRuntimeSupport \ 3223 -ljava -ljvm,\ 3224 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui)) 3225 3226 BUILD_LIBRARIES += $(BUILD_LIBOSXUI) 3227 3228 $(BUILD_LIBOSXUI) : $(BUILD_LIBAWT) 3229 3230 $(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP) 3231 3232 $(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT) 3233 3234 #$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA) 3235 3236 endif 3237 3238 ########################################################################################## 3239 3240 ifeq ($(OPENJDK_TARGET_OS), macosx) 3241 3242 # Ugly hack to mimic behaviour in old build where this is built as an xcode project. 3243 SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib 3244 3245 $(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\ 3246 LIBRARY:=JObjC,\ 3247 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\ 3248 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \ 3249 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\ 3250 LANG:=C,\ 3251 OPTIMIZATION:=LOW, \ 3252 CFLAGS:=-fpascal-strings \ 3253 -fobjc-gc \ 3254 -gdwarf-2 \ 3255 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \ 3256 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3257 -m32,\ 3258 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 3259 -m32, \ 3260 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \ 3261 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3262 -framework JavaNativeFoundation \ 3263 -lffi, \ 3264 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32)) 3265 3266 $(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\ 3267 LIBRARY:=JObjC,\ 3268 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\ 3269 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \ 3270 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\ 3271 LANG:=C,\ 3272 OPTIMIZATION:=LOW, \ 3273 CFLAGS:=-fpascal-strings \ 3274 -fobjc-gc \ 3275 -gdwarf-2 \ 3276 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \ 3277 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3278 , \ 3279 LDFLAGS:=-fpascal-strings \ 3280 -fobjc-gc \ 3281 -gdwarf-2 \ 3282 $(LDFLAGS_JDKLIB)\ 3283 $(call SET_SHARED_LIBRARY_ORIGIN), \ 3284 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \ 3285 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3286 -framework JavaNativeFoundation \ 3287 -lffi, \ 3288 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64)) 3289 3290 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64) 3291 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64) 3292 3293 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX) 3294 3295 endif 3296 3297 ########################################################################################## 3298 3299 all: $(COPY_FILES) $(BUILD_LIBRARIES) 3300 3301 .PHONY: all