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