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