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 default: 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 jspawnhelper.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 ($(OPENJDK_TARGET_OS),linux) 802 ifndef OPENJDK 803 include $(JDK_TOPDIR)/make/closed/xawt.gmk 804 endif 805 806 ifeq ($(DISABLE_XRENDER),true) 807 LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true 808 endif 809 endif 810 811 ifeq ($(MILESTONE),internal) 812 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD 813 endif 814 815 LIBAWT_XAWT_FILES:=\ 816 XlibWrapper.c \ 817 XWindow.c \ 818 XToolkit.c \ 819 X11Color.c \ 820 X11SurfaceData.c \ 821 awt_GraphicsEnv.c \ 822 awt_InputMethod.c \ 823 robot_common.c \ 824 awt_Robot.c \ 825 list.c \ 826 multiVis.c \ 827 initIDs.c \ 828 awt_util.c \ 829 awt_Desktop.c \ 830 awt_UNIXToolkit.c \ 831 X11FontScaler_md.c \ 832 X11TextRenderer_md.c \ 833 fontpath.c \ 834 awt_Insets.c \ 835 awt_Event.c \ 836 X11Renderer.c \ 837 X11PMBlitLoops.c \ 838 OGLBlitLoops.c \ 839 OGLBufImgOps.c \ 840 OGLContext.c \ 841 OGLFuncs.c \ 842 OGLMaskBlit.c \ 843 OGLMaskFill.c \ 844 OGLPaints.c \ 845 OGLRenderQueue.c \ 846 OGLRenderer.c \ 847 OGLSurfaceData.c \ 848 OGLTextRenderer.c \ 849 OGLVertexCache.c \ 850 GLXGraphicsConfig.c \ 851 GLXSurfaceData.c \ 852 AccelGlyphCache.c \ 853 awt_Font.c \ 854 multi_font.c \ 855 awt_AWTEvent.c \ 856 awt_DrawingSurface.c \ 857 jawt.c \ 858 CUPSfuncs.c \ 859 debug_assert.c \ 860 debug_mem.c \ 861 debug_trace.c \ 862 debug_util.c \ 863 awt_Plugin.c \ 864 gnome_interface.c \ 865 gtk2_interface.c \ 866 swing_GTKEngine.c \ 867 swing_GTKStyle.c \ 868 rect.c \ 869 sun_awt_X11_GtkFileDialogPeer.c \ 870 XRSurfaceData.c \ 871 XRBackendNative.c 872 873 LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc 874 875 ifeq ($(OPENJDK_TARGET_OS), linux) 876 # To match old build, add this to LDFLAGS instead of suffix. 877 LIBAWT_XAWT_LDFLAGS += -lpthread 878 endif 879 880 ifeq ($(OPENJDK_TARGET_OS), macosx) 881 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread 882 endif 883 884 # On macosx, the shared library origin is set twice for this lib. 885 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\ 886 LIBRARY:=awt_xawt,\ 887 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 888 SRC:=$(LIBAWT_XAWT_DIRS),\ 889 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\ 890 LANG:=C,\ 891 OPTIMIZATION:=LOW, \ 892 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \ 893 $(X_CFLAGS),\ 894 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \ 895 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 896 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\ 897 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \ 898 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\ 899 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \ 900 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \ 901 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \ 902 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \ 903 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \ 904 $(call SET_SHARED_LIBRARY_ORIGIN) \ 905 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\ 906 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \ 907 $(call SET_SHARED_LIBRARY_ORIGIN). \ 908 $(call SET_SHARED_LIBRARY_ORIGIN) \ 909 $(call SET_SHARED_LIBRARY_ORIGIN).,\ 910 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\ 911 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 912 RC_FLAGS:=$(RC_FLAGS)\ 913 -D "JDK_FNAME=xawt.dll" \ 914 -D "JDK_INTERNAL_NAME=xawt" \ 915 -D "JDK_FTYPE=0x2L",\ 916 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt,\ 917 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 918 919 $(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA) 920 921 $(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT) 922 923 BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT) 924 925 endif 926 endif 927 928 ########################################################################################## 929 930 BUILD_LIBZIP_EXCLUDES := 931 ifeq ($(USE_EXTERNAL_LIBZ),true) 932 LIBZ := -lz 933 LIBZIP_EXCLUDES += zlib-1.2.5 934 else 935 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5 936 endif 937 938 BUILD_LIBZIP_REORDER := 939 ifeq ($(OPENJDK_TARGET_OS), solaris) 940 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 941 BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU) 942 endif 943 endif 944 945 ifeq ($(LIBZIP_CAN_USE_MMAP), true) 946 BUILD_LIBZIP_MMAP := -DUSE_MMAP 947 endif 948 949 $(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\ 950 LIBRARY:=zip,\ 951 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 952 LANG:=C,\ 953 OPTIMIZATION:=LOW, \ 954 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\ 955 EXCLUDES:=$(LIBZIP_EXCLUDES),\ 956 CFLAGS:=$(CFLAGS_JDKLIB) \ 957 $(ZLIB_CPPFLAGS) \ 958 -I$(JDK_TOPDIR)/src/share/native/java/io \ 959 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\ 960 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\ 961 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \ 962 REORDER:=$(BUILD_LIBZIP_REORDER), \ 963 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 964 $(call SET_SHARED_LIBRARY_ORIGIN) \ 965 $(EXPORT_ZIP_FUNCS), \ 966 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \ 967 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \ 968 $(WIN_JAVA_LIB),\ 969 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\ 970 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\ 971 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\ 972 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 973 RC_FLAGS:=$(RC_FLAGS)\ 974 -D "JDK_FNAME=zip.dll" \ 975 -D "JDK_INTERNAL_NAME=zip" \ 976 -D "JDK_FTYPE=0x2L",\ 977 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\ 978 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 979 980 $(BUILD_LIBZIP) : $(BUILD_LIBJAVA) 981 982 BUILD_LIBRARIES += $(BUILD_LIBZIP) 983 984 ########################################################################################## 985 986 $(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\ 987 LIBRARY:=unpack, \ 988 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 989 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\ 990 EXCLUDE_FILES:=main.cpp,\ 991 LANG:=C++,\ 992 OPTIMIZATION:=LOW, \ 993 CFLAGS:=$(CXXFLAGS_JDKLIB) \ 994 -DNO_ZLIB -DUNPACK_JNI -DFULL,\ 995 CFLAGS_release:=-DPRODUCT,\ 996 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \ 997 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ 998 $(call SET_SHARED_LIBRARY_ORIGIN),\ 999 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \ 1000 jvm.lib $(WIN_JAVA_LIB),\ 1001 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\ 1002 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\ 1003 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1004 RC_FLAGS:=$(RC_FLAGS)\ 1005 -D "JDK_FNAME=unpack.dll" \ 1006 -D "JDK_INTERNAL_NAME=unpack" \ 1007 -D "JDK_FTYPE=0x2L",\ 1008 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1009 1010 $(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA) 1011 1012 BUILD_LIBRARIES += $(BUILD_LIBUNPACK) 1013 1014 ifeq ($(OPENJDK_TARGET_OS),windows) 1015 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK) 1016 $(ECHO) Copying $(@F) 1017 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@ 1018 1019 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK) 1020 $(ECHO) Copying $(@F) 1021 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@ 1022 endif 1023 1024 ########################################################################################## 1025 1026 LIBATTACH_EXCLUDE_FILES:= 1027 ifneq ($(OPENJDK_TARGET_OS),solaris) 1028 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c 1029 endif 1030 ifneq ($(OPENJDK_TARGET_OS),linux) 1031 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c 1032 endif 1033 ifneq ($(OPENJDK_TARGET_OS),macosx) 1034 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c 1035 endif 1036 1037 $(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\ 1038 LIBRARY:=attach, \ 1039 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1040 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\ 1041 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\ 1042 LANG:=C,\ 1043 OPTIMIZATION:=LOW, \ 1044 CFLAGS:=$(CFLAGS_JDKLIB),\ 1045 CFLAGS_windows:=/Gy,\ 1046 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \ 1047 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1048 RC_FLAGS:=$(RC_FLAGS) \ 1049 -D "JDK_FNAME=attach.dll" \ 1050 -D "JDK_INTERNAL_NAME=attach" \ 1051 -D "JDK_FTYPE=0x2L",\ 1052 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1053 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1054 LDFLAGS_solaris:=-ldoor,\ 1055 LDFLAGS_windows:=/ORDER:@$(JDK_TOPDIR)/makefiles/mapfiles/libattach/reorder-windows-$(OPENJDK_TARGET_CPU),\ 1056 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1057 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\ 1058 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\ 1059 DEBUG_SYMBOLS:=true)) 1060 1061 $(BUILD_LIBATTACH) : $(BUILD_LIBJAVA) 1062 1063 BUILD_LIBRARIES += $(BUILD_LIBATTACH) 1064 1065 ########################################################################################## 1066 1067 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\ 1068 LIBRARY:=dt_socket,\ 1069 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1070 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \ 1071 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\ 1072 LANG:=C,\ 1073 OPTIMIZATION:=LOW, \ 1074 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \ 1075 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \ 1076 -I$(JDK_TOPDIR)/src/share/transport/socket \ 1077 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \ 1078 -I$(JDK_TOPDIR)/src/share/back/export \ 1079 -I$(JDK_TOPDIR)/src/share/back,\ 1080 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \ 1081 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1082 $(call SET_SHARED_LIBRARY_ORIGIN), \ 1083 LDFLAGS_SUFFIX_linux:=-lpthread,\ 1084 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\ 1085 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\ 1086 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1087 RC_FLAGS:=$(RC_FLAGS)\ 1088 -D "JDK_FNAME=dt_socket.dll" \ 1089 -D "JDK_INTERNAL_NAME=dt_socket" \ 1090 -D "JDK_FTYPE=0x2L",\ 1091 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\ 1092 DEBUG_SYMBOLS:=true)) 1093 1094 $(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA) 1095 1096 BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET) 1097 1098 ########################################################################################## 1099 1100 ifeq ($(OPENJDK_TARGET_OS),windows) 1101 1102 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\ 1103 LIBRARY:=dt_shmem,\ 1104 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1105 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \ 1106 $(JDK_TOPDIR)/src/share/transport/shmem \ 1107 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\ 1108 LANG:=C,\ 1109 OPTIMIZATION:=LOW, \ 1110 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\ 1111 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \ 1112 -I$(JDK_TOPDIR)/src/share/transport/shmem \ 1113 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \ 1114 -I$(JDK_TOPDIR)/src/share/back/export, \ 1115 LDFLAGS:=$(LDFLAGS_JDKLIB),\ 1116 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\ 1117 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1118 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1119 RC_FLAGS:=$(RC_FLAGS)\ 1120 -D "JDK_FNAME=dt_shmem.dll" \ 1121 -D "JDK_INTERNAL_NAME=dt_shmem" \ 1122 -D "JDK_FTYPE=0x2L",\ 1123 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\ 1124 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1125 1126 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM) 1127 1128 endif # OPENJDK_TARGET_OS 1129 1130 ########################################################################################## 1131 # JDWP_LOGGING causes log messages to be compiled into the library. 1132 $(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\ 1133 LIBRARY:=jdwp, \ 1134 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1135 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\ 1136 LANG:=C,\ 1137 OPTIMIZATION:=LOW, \ 1138 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\ 1139 -I$(JDK_TOPDIR)/src/share/transport/export \ 1140 -I$(JDK_TOPDIR)/src/share/back/export \ 1141 -I$(JDK_TOPDIR)/src/share/npt \ 1142 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \ 1143 -I$(JDK_TOPDIR)/src/share/back \ 1144 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \ 1145 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\ 1146 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \ 1147 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1148 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1149 LDFLAGS_SUFFIX_linux:=$(LIBDL),\ 1150 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\ 1151 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1152 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1153 RC_FLAGS:=$(RC_FLAGS)\ 1154 -D "JDK_FNAME=jdwp.dll" \ 1155 -D "JDK_INTERNAL_NAME=jdwp" \ 1156 -D "JDK_FTYPE=0x2L",\ 1157 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\ 1158 DEBUG_SYMBOLS:=true)) 1159 1160 $(BUILD_LIBJDWP) : $(BUILD_LIBJAVA) 1161 1162 BUILD_LIBRARIES += $(BUILD_LIBJDWP) 1163 1164 ########################################################################################## 1165 1166 LIBJAAS_MAPFILE:= 1167 ifneq ($(OPENJDK_TARGET_OS),solaris) 1168 LIBJAAS_EXCLUDE_FILES:=Solaris.c 1169 else 1170 # only on solaris...wonder why 1171 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers 1172 endif 1173 1174 LIBJAAS_NAME:=jaas_unix 1175 ifeq ($(OPENJDK_TARGET_OS), windows) 1176 LIBJAAS_NAME:=jaas_nt 1177 endif 1178 1179 $(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\ 1180 LIBRARY:=$(LIBJAAS_NAME),\ 1181 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1182 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\ 1183 LANG:=C,\ 1184 OPTIMIZATION:=LOW, \ 1185 CFLAGS:=$(CFLAGS_JDKLIB),\ 1186 MAPFILE:=$(LIBJAAS_MAPFILE),\ 1187 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \ 1188 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1189 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\ 1190 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1191 LDFLAGS_SUFFIX_solaris:=-lc,\ 1192 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\ 1193 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1194 RC_FLAGS:=$(RC_FLAGS) \ 1195 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \ 1196 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \ 1197 -D "JDK_FTYPE=0x2L",\ 1198 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\ 1199 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1200 1201 $(BUILD_LIBJAAS) : $(BUILD_LIBJAVA) 1202 1203 BUILD_LIBRARIES += $(BUILD_LIBJAAS) 1204 1205 ########################################################################################## 1206 1207 $(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\ 1208 LIBRARY:=jsdt,\ 1209 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1210 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\ 1211 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\ 1212 LANG:=C,\ 1213 OPTIMIZATION:=LOW, \ 1214 CFLAGS:=$(CFLAGS_JDKLIB)\ 1215 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\ 1216 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \ 1217 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1218 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1219 LDFLAGS_SUFFIX_linux:=$(LIBDL),\ 1220 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\ 1221 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\ 1222 LDFLAGS_SUFFIX_solaris:=-lc,\ 1223 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1224 RC_FLAGS:=$(RC_FLAGS)\ 1225 -D "JDK_FNAME=jsdt.dll" \ 1226 -D "JDK_INTERNAL_NAME=jsdt" \ 1227 -D "JDK_FTYPE=0x2L",\ 1228 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \ 1229 DEBUG_SYMBOLS:=true)) 1230 1231 $(BUILD_LIBJSDT) : $(BUILD_LIBJAVA) 1232 1233 BUILD_LIBRARIES += $(BUILD_LIBJSDT) 1234 1235 ########################################################################################## 1236 1237 # TODO: Update awt lib path when awt is converted 1238 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\ 1239 LIBRARY:=lcms,\ 1240 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1241 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\ 1242 LANG:=C,\ 1243 OPTIMIZATION:=HIGHEST, \ 1244 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \ 1245 $(SHARED_LIBRARY_FLAGS) \ 1246 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 1247 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\ 1248 CFLAGS_solaris:=-xc99=no_lib,\ 1249 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\ 1250 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \ 1251 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1252 $(call SET_SHARED_LIBRARY_ORIGIN), \ 1253 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\ 1254 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\ 1255 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\ 1256 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\ 1257 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\ 1258 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1259 RC_FLAGS:=$(RC_FLAGS)\ 1260 -D "JDK_FNAME=lcms.dll" \ 1261 -D "JDK_INTERNAL_NAME=lcms" \ 1262 -D "JDK_FTYPE=0x2L",\ 1263 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\ 1264 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1265 1266 BUILD_LIBRARIES += $(BUILD_LIBLCMS) 1267 1268 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT) 1269 1270 ########################################################################################## 1271 1272 ifdef OPENJDK 1273 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers 1274 else 1275 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed 1276 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg 1277 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC) 1278 endif 1279 1280 BUILD_LIBJPEG_REORDER:= 1281 ifeq ($(OPENJDK_TARGET_OS), solaris) 1282 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 1283 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU) 1284 endif 1285 endif 1286 1287 # Suppress gcc warnings like "variable might be clobbered by 'longjmp' 1288 # or 'vfork'": this warning indicates that some variable is placed to 1289 # a register by optimized compiler and it's value might be lost on longjmp(). 1290 # Recommended way to avoid such warning is to declare the variable as 1291 # volatile to prevent the optimization. However, this approach does not 1292 # work because we have to declare all variables as volatile in result. 1293 #ifndef CROSS_COMPILE_ARCH 1294 # CC_43_OR_NEWER:=\ 1295 # $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \ 1296 # \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) ) 1297 # ifeq ($(CC_43_OR_NEWER),1) 1298 # BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered 1299 # endif 1300 #endif 1301 1302 $(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\ 1303 LIBRARY:=jpeg, \ 1304 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1305 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \ 1306 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\ 1307 LANG:=C,\ 1308 OPTIMIZATION:=HIGHEST, \ 1309 CFLAGS:=$(CFLAGS_JDKLIB) \ 1310 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \ 1311 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\ 1312 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \ 1313 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1314 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1315 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\ 1316 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1317 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1318 RC_FLAGS:=$(RC_FLAGS)\ 1319 -D "JDK_FNAME=jpeg.dll" \ 1320 -D "JDK_INTERNAL_NAME=jpeg" \ 1321 -D "JDK_FTYPE=0x2L",\ 1322 REORDER:=$(BUILD_LIBJPEG_REORDER),\ 1323 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\ 1324 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1325 1326 $(BUILD_LIBJPEG) : $(BUILD_LIBJAVA) 1327 1328 BUILD_LIBRARIES += $(BUILD_LIBJPEG) 1329 1330 ########################################################################################## 1331 1332 ifndef OPENJDK 1333 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k 1334 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers 1335 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c 1336 else 1337 FONT_HEADERS:=$(FREETYPE2_CFLAGS) 1338 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk 1339 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS) 1340 endif 1341 1342 LIBFONTMANAGER_OPTIMIZATION:=HIGH 1343 1344 ifeq ($(OPENJDK_TARGET_OS),windows) 1345 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ 1346 X11TextRenderer.c 1347 LIBFONTMANAGER_OPTIMIZATION:=HIGHEST 1348 else 1349 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \ 1350 lcdglyph.c 1351 endif 1352 1353 BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\ 1354 $(X_CFLAGS) \ 1355 -DLE_STANDALONE -DHEADLESS \ 1356 $(FONT_HEADERS) \ 1357 -I$(JDK_TOPDIR)/src/share/native/sun/font \ 1358 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \ 1359 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 1360 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ 1361 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 1362 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 1363 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 1364 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 1365 -I$(JDK_TOPDIR)/src/share/native/sun/java2d 1366 1367 # Turn off aliasing with GCC for ExtensionSubtables.cpp 1368 ifeq ($(OPENJDK_TARGET_OS), linux) 1369 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing 1370 endif 1371 1372 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\ 1373 LIBRARY:=fontmanager, \ 1374 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1375 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\ 1376 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\ 1377 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \ 1378 AccelGlyphCache.c,\ 1379 LANG:=C++,\ 1380 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\ 1381 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\ 1382 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \ 1383 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ 1384 -DCC_NOEX, \ 1385 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \ 1386 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \ 1387 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1388 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\ 1389 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\ 1390 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\ 1391 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \ 1392 -ljava -ljvm,\ 1393 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ 1394 $(WIN_AWT_LIB),\ 1395 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1396 RC_FLAGS:=$(RC_FLAGS)\ 1397 -D "JDK_FNAME=fontmanager.dll" \ 1398 -D "JDK_INTERNAL_NAME=fontmanager" \ 1399 -D "JDK_FTYPE=0x2L",\ 1400 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\ 1401 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1402 1403 $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT) 1404 1405 ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx)) 1406 $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT) 1407 endif 1408 1409 BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER) 1410 1411 ########################################################################################## 1412 1413 ifndef OPENJDK 1414 1415 # ifeq ($(OPENJDK_TARGET_OS), linux) 1416 # ifeq ("$(CC_VER_MAJOR)", "3") 1417 # OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic 1418 # endif 1419 # endif 1420 # 1421 # The resulting size of the t2k lib file is (at least on linux) dependant on the order of 1422 # the input .o files. Because of this the new build will differ in size to the old build. 1423 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \ 1424 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \ 1425 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \ 1426 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \ 1427 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \ 1428 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 1429 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 1430 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 1431 -I$(JDK_TOPDIR)/src/share/native/sun/java2d 1432 1433 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\ 1434 LIBRARY:=t2k, \ 1435 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1436 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \ 1437 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \ 1438 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\ 1439 EXCLUDE_FILES:=orion.c,\ 1440 LANG:=C++,\ 1441 OPTIMIZATION:=HIGH, \ 1442 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\ 1443 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\ 1444 CFLAGS_windows=-DCC_NOEX, \ 1445 CXXFLAGS_windows=-DCC_NOEX, \ 1446 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \ 1447 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ 1448 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1449 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\ 1450 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\ 1451 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\ 1452 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1453 RC_FLAGS:=$(RC_FLAGS)\ 1454 -D "JDK_FNAME=t2k.dll" \ 1455 -D "JDK_INTERNAL_NAME=t2k" \ 1456 -D "JDK_FTYPE=0x2L",\ 1457 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\ 1458 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1459 1460 # t2k is linked against fontmanager 1461 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER) 1462 1463 BUILD_LIBRARIES += $(BUILD_LIBT2K) 1464 endif 1465 1466 ########################################################################################## 1467 1468 ifeq ($(OPENJDK_TARGET_OS), windows) 1469 ifeq ($(OPENJDK_TARGET_CPU), x86) 1470 KERNEL32_LIB:=kernel32.lib 1471 endif 1472 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\ 1473 LIBRARY:=jawt, \ 1474 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1475 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\ 1476 INCLUDE_FILES:=jawt.cpp,\ 1477 LANG:=C++,\ 1478 OPTIMIZATION:=LOW, \ 1479 CFLAGS:=$(CXXFLAGS_JDKLIB) \ 1480 -EHsc -DUNICODE -D_UNICODE \ 1481 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ 1482 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 1483 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 1484 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 1485 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \ 1486 -I$(DXSDK_INCLUDE_PATH), \ 1487 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \ 1488 advapi32.lib $(WIN_AWT_LIB),\ 1489 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1490 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1491 RC_FLAGS:=$(RC_FLAGS)\ 1492 -D "JDK_FNAME=jawt.dll" \ 1493 -D "JDK_INTERNAL_NAME=jawt" \ 1494 -D "JDK_FTYPE=0x2L",\ 1495 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\ 1496 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1497 1498 $(BUILD_LIBJAWT) : $(BUILD_LIBAWT) 1499 1500 $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT) 1501 $(ECHO) Copying $(@F) 1502 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@ 1503 1504 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) 1505 1506 else # OPENJDK_TARGET_OS not windows 1507 1508 JAWT_LIBS:= 1509 ifneq ($(OPENJDK_TARGET_OS), solaris) 1510 JAWT_LIBS += -lawt 1511 endif 1512 1513 ifndef BUILD_HEADLESS_ONLY 1514 JAWT_LIBS += -lawt_xawt 1515 else 1516 JAWT_LIBS += -lawt_headless 1517 HEADLESS_CFLAG += -DHEADLESS 1518 endif 1519 1520 JAWT_FILES:=jawt.c 1521 ifeq ($(OPENJDK_TARGET_OS), macosx) 1522 JAWT_FILES:=jawt.m 1523 JAWT_LIBS:=-lawt_lwawt 1524 endif 1525 1526 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\ 1527 LIBRARY:=jawt, \ 1528 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1529 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ 1530 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\ 1531 INCLUDE_FILES:=$(JAWT_FILES),\ 1532 LANG:=C,\ 1533 OPTIMIZATION:=LOW, \ 1534 CFLAGS:=$(CFLAGS_JDKLIB), \ 1535 CFLAGS_linux:=$(HEADLESS_CFLAG),\ 1536 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\ 1537 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \ 1538 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1539 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1540 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\ 1541 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\ 1542 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\ 1543 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \ 1544 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\ 1545 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\ 1546 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1547 1548 ifndef BUILD_HEADLESS_ONLY 1549 $(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT) 1550 else 1551 $(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX) 1552 endif 1553 1554 ifeq ($(OPENJDK_TARGET_OS),macosx) 1555 $(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) 1556 endif 1557 1558 endif # OPENJDK_TARGET_OS 1559 1560 BUILD_LIBRARIES += $(BUILD_LIBJAWT) 1561 1562 ########################################################################################## 1563 1564 LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \ 1565 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \ 1566 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument 1567 1568 LIBINSTRUMENT_FILES :=\ 1569 EncodingSupport.c \ 1570 EncodingSupport_md.c \ 1571 FileSystemSupport_md.c \ 1572 InstrumentationImplNativeMethods.c \ 1573 InvocationAdapter.c \ 1574 JarFacade.c \ 1575 JPLISAgent.c \ 1576 JPLISAssert.c \ 1577 JavaExceptions.c \ 1578 PathCharsValidator.c \ 1579 Reentrancy.c \ 1580 Utilities.c \ 1581 canonicalize_md.c 1582 1583 LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument 1584 LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \ 1585 -I$(JDK_TOPDIR)/src/share/instrument \ 1586 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \ 1587 -I$(JDK_TOPDIR)/src/share/bin 1588 1589 LIBINSTRUMENT_LDFLAGS:= 1590 LIBINSTRUMENT_LDFLAGS_SUFFIX:= 1591 1592 ifeq ($(OPENJDK_TARGET_OS), windows) 1593 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \ 1594 -export:Agent_OnAttach advapi32.lib 1595 # Statically link the C runtime so that there are not dependencies on modules 1596 # not on the search patch when invoked from the Windows system directory 1597 # (or elsewhere). 1598 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS)) 1599 # equivalent of strcasecmp is stricmp on Windows 1600 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp 1601 endif 1602 1603 $(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\ 1604 LIBRARY:=instrument, \ 1605 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1606 SRC:=$(LIBINSTRUMENT_SRC),\ 1607 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\ 1608 LANG:=C,\ 1609 OPTIMIZATION:=LOW, \ 1610 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\ 1611 CFLAGS_debug:=-DJPLIS_LOGGING,\ 1612 CFLAGS_release:=-DNO_JPLIS_LOGGING,\ 1613 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \ 1614 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1615 $(call SET_SHARED_LIBRARY_ORIGIN) \ 1616 $(LIBINSTRUMENT_LDFLAGS),\ 1617 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\ 1618 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\ 1619 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \ 1620 -framework Cocoa -framework Security -framework ApplicationServices,\ 1621 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\ 1622 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\ 1623 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\ 1624 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\ 1625 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1626 RC_FLAGS:=$(RC_FLAGS)\ 1627 -D "JDK_FNAME=instrument.dll" \ 1628 -D "JDK_INTERNAL_NAME=instrument" \ 1629 -D "JDK_FTYPE=0x2L",\ 1630 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\ 1631 DEBUG_SYMBOLS:=true)) 1632 1633 ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows)) 1634 $(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX) 1635 else 1636 $(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX) 1637 endif 1638 $(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA) 1639 1640 BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT) 1641 1642 ########################################################################################## 1643 1644 BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \ 1645 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \ 1646 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management 1647 1648 BUILD_LIBMANAGEMENT_EXCLUDES:= 1649 1650 BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management 1651 1652 ifneq ($(OPENJDK_TARGET_OS), windows) 1653 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c 1654 else 1655 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c 1656 endif 1657 1658 ifneq ($(OPENJDK_TARGET_OS),solaris) 1659 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c 1660 endif 1661 1662 ifneq ($(OPENJDK_TARGET_OS),linux) 1663 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c 1664 endif 1665 1666 ifneq ($(OPENJDK_TARGET_OS),macosx) 1667 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c 1668 endif 1669 1670 LIBMANAGEMENT_OPTIMIZATION:=HIGH 1671 ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),) 1672 ifeq ($(ENABLE_DEBUG_SYMBOLS), true) 1673 LIBMANAGEMENT_OPTIMIZATION:=LOW 1674 endif 1675 endif 1676 1677 $(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\ 1678 LIBRARY:=management,\ 1679 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1680 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\ 1681 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\ 1682 LANG:=C,\ 1683 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \ 1684 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\ 1685 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \ 1686 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1687 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1688 LDFLAGS_solaris:=-lkstat,\ 1689 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ 1690 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\ 1691 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1692 RC_FLAGS:=$(RC_FLAGS)\ 1693 -D "JDK_FNAME=management.dll" \ 1694 -D "JDK_INTERNAL_NAME=management" \ 1695 -D "JDK_FTYPE=0x2L",\ 1696 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\ 1697 DEBUG_SYMBOLS:=true)) 1698 1699 $(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA) 1700 1701 BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT) 1702 1703 ########################################################################################## 1704 1705 BUILD_LIBHPROF_SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof 1706 BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \ 1707 -I$(JDK_TOPDIR)/src/share/npt \ 1708 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \ 1709 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo 1710 1711 BUILD_LIBHPROF_LDFLAGS:= 1712 1713 LIBHPROF_OPTIMIZATION:=HIGHEST 1714 ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),) 1715 ifeq ($(ENABLE_DEBUG_SYMBOLS), true) 1716 LIBHPROF_OPTIMIZATION:=LOW 1717 endif 1718 endif 1719 1720 $(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\ 1721 LIBRARY:=hprof, \ 1722 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1723 SRC:=$(BUILD_LIBHPROF_SRC),\ 1724 LANG:=C,\ 1725 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \ 1726 CFLAGS:=$(CFLAGS_JDKLIB) \ 1727 $(BUILD_LIBHPROF_CFLAGS),\ 1728 CFLAGS_debug:=-DHPROF_LOGGING,\ 1729 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \ 1730 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1731 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1732 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\ 1733 LDFLAGS_SUFFIX_linux:=$(LIBDL),\ 1734 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\ 1735 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\ 1736 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1737 RC_FLAGS:=$(RC_FLAGS)\ 1738 -D "JDK_FNAME=hprof.dll" \ 1739 -D "JDK_INTERNAL_NAME=hprof" \ 1740 -D "JDK_FTYPE=0x2L",\ 1741 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\ 1742 DEBUG_SYMBOLS:=true)) 1743 1744 BUILD_LIBRARIES += $(BUILD_LIBHPROF) 1745 1746 ########################################################################################## 1747 1748 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\ 1749 LIBRARY:=java_crw_demo, \ 1750 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1751 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\ 1752 LANG:=C,\ 1753 OPTIMIZATION:=LOW, \ 1754 CFLAGS:=$(CFLAGS_JDKLIB) \ 1755 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\ 1756 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \ 1757 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1758 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1759 LDFLAGS_SUFFIX_solaris:=-lc,\ 1760 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1761 RC_FLAGS:=$(RC_FLAGS)\ 1762 -D "JDK_FNAME=java_crw_demo.dll" \ 1763 -D "JDK_INTERNAL_NAME=java_crw_demo" \ 1764 -D "JDK_FTYPE=0x2L",\ 1765 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\ 1766 DEBUG_SYMBOLS:=true)) 1767 1768 BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO) 1769 1770 ########################################################################################## 1771 1772 $(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\ 1773 LIBRARY:=npt, \ 1774 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1775 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\ 1776 LANG:=C,\ 1777 OPTIMIZATION:=LOW, \ 1778 CFLAGS:=$(CFLAGS_JDKLIB) \ 1779 -I$(JDK_TOPDIR)/src/share/npt \ 1780 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\ 1781 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \ 1782 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1783 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1784 LDFLAGS_macosx:=-liconv,\ 1785 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\ 1786 LDFLAGS_SUFFIX_solaris:=-lc, \ 1787 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1788 RC_FLAGS:=$(RC_FLAGS)\ 1789 -D "JDK_FNAME=npt.dll" \ 1790 -D "JDK_INTERNAL_NAME=npt" \ 1791 -D "JDK_FTYPE=0x2L",\ 1792 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\ 1793 DEBUG_SYMBOLS:=true)) 1794 1795 BUILD_LIBRARIES += $(BUILD_LIBNPT) 1796 1797 ########################################################################################## 1798 1799 LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \ 1800 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \ 1801 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \ 1802 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi 1803 1804 ifeq ($(OPENJDK_TARGET_OS),windows) 1805 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm 1806 else 1807 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp 1808 endif 1809 1810 LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir)) 1811 1812 LIBNET_EXCLUDE_FILES:= 1813 ifneq ($(OPENJDK_TARGET_OS),linux) 1814 LIBNET_EXCLUDE_FILES += linux_close.c 1815 endif 1816 1817 ifneq ($(OPENJDK_TARGET_OS),macosx) 1818 LIBNET_EXCLUDE_FILES += bsd_close.c 1819 endif 1820 1821 ifeq ($(OPENJDK_TARGET_OS),windows) 1822 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c 1823 else 1824 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \ 1825 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \ 1826 NTLMAuthSequence.c NetworkInterface_winXP.c 1827 endif 1828 1829 $(eval $(call SetupNativeCompilation,BUILD_LIBNET,\ 1830 LIBRARY:=net,\ 1831 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1832 SRC:=$(LIBNET_SRC_DIRS),\ 1833 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \ 1834 LANG:=C,\ 1835 OPTIMIZATION:=LOW, \ 1836 CFLAGS:=$(CFLAGS_JDKLIB) \ 1837 $(LIBNET_CFLAGS),\ 1838 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \ 1839 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 1840 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1841 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\ 1842 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\ 1843 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\ 1844 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \ 1845 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \ 1846 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \ 1847 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1848 RC_FLAGS:=$(RC_FLAGS)\ 1849 -D "JDK_FNAME=net.dll" \ 1850 -D "JDK_INTERNAL_NAME=net" \ 1851 -D "JDK_FTYPE=0x2L",\ 1852 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\ 1853 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1854 1855 $(BUILD_LIBNET) : $(BUILD_LIBJAVA) 1856 1857 BUILD_LIBRARIES += $(BUILD_LIBNET) 1858 1859 $(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties 1860 $(ECHO) $(LOG_INFO) Copying $(@F) 1861 $(call install-file) 1862 1863 COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties 1864 1865 ifeq ($(OPENJDK_TARGET_OS), solaris) 1866 $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template 1867 $(ECHO) $(LOG_INFO) Copying $(@F) 1868 $(call install-file) 1869 1870 COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template 1871 endif 1872 1873 ########################################################################################## 1874 1875 BUILD_LIBNIO_SRC:=\ 1876 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \ 1877 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \ 1878 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs 1879 1880 BUILD_LIBNIO_CFLAGS:=\ 1881 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \ 1882 -I$(JDK_TOPDIR)/src/share/native/java/io \ 1883 -I$(JDK_TOPDIR)/src/share/native/java/net \ 1884 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net 1885 1886 BUILD_LIBNIO_FILES:=\ 1887 DatagramChannelImpl.c \ 1888 DatagramDispatcher.c \ 1889 FileChannelImpl.c \ 1890 FileDispatcherImpl.c \ 1891 FileKey.c \ 1892 IOUtil.c \ 1893 MappedByteBuffer.c \ 1894 Net.c \ 1895 ServerSocketChannelImpl.c \ 1896 SocketChannelImpl.c \ 1897 SocketDispatcher.c 1898 1899 ifeq ($(OPENJDK_TARGET_OS), windows) 1900 BUILD_LIBNIO_FILES += \ 1901 Iocp.c \ 1902 RegistryFileTypeDetector.c \ 1903 WindowsAsynchronousFileChannelImpl.c \ 1904 WindowsAsynchronousServerSocketChannelImpl.c \ 1905 WindowsAsynchronousSocketChannelImpl.c \ 1906 WindowsNativeDispatcher.c \ 1907 WindowsSelectorImpl.c 1908 endif 1909 1910 ifeq ($(OPENJDK_TARGET_OS), linux) 1911 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) 1912 BUILD_LIBNIO_FILES += \ 1913 EPoll.c \ 1914 EPollArrayWrapper.c \ 1915 EPollPort.c \ 1916 InheritedChannel.c \ 1917 NativeThread.c \ 1918 PollArrayWrapper.c \ 1919 UnixAsynchronousServerSocketChannelImpl.c \ 1920 UnixAsynchronousSocketChannelImpl.c \ 1921 GnomeFileTypeDetector.c \ 1922 MagicFileTypeDetector.c \ 1923 LinuxNativeDispatcher.c \ 1924 LinuxWatchService.c \ 1925 UnixCopyFile.c \ 1926 UnixNativeDispatcher.c 1927 endif 1928 1929 ifeq ($(OPENJDK_TARGET_OS), macosx) 1930 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) 1931 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch 1932 BUILD_LIBNIO_FILES += \ 1933 InheritedChannel.c \ 1934 NativeThread.c \ 1935 PollArrayWrapper.c \ 1936 UnixAsynchronousServerSocketChannelImpl.c \ 1937 UnixAsynchronousSocketChannelImpl.c \ 1938 BsdNativeDispatcher.c \ 1939 MacOSXNativeDispatcher.c \ 1940 UnixCopyFile.c \ 1941 UnixNativeDispatcher.c \ 1942 KQueue.c \ 1943 KQueuePort.c \ 1944 KQueueArrayWrapper.c 1945 endif 1946 1947 ifeq ($(OPENJDK_TARGET_OS), solaris) 1948 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) 1949 BUILD_LIBNIO_FILES += \ 1950 DevPollArrayWrapper.c \ 1951 InheritedChannel.c \ 1952 NativeThread.c \ 1953 PollArrayWrapper.c \ 1954 SolarisEventPort.c \ 1955 UnixAsynchronousServerSocketChannelImpl.c \ 1956 UnixAsynchronousSocketChannelImpl.c \ 1957 GnomeFileTypeDetector.c \ 1958 SolarisNativeDispatcher.c \ 1959 SolarisWatchService.c \ 1960 UnixCopyFile.c \ 1961 UnixNativeDispatcher.c 1962 endif 1963 1964 $(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\ 1965 LIBRARY:=nio,\ 1966 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 1967 SRC:=$(BUILD_LIBNIO_SRC),\ 1968 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \ 1969 LANG:=C,\ 1970 OPTIMIZATION:=HIGH, \ 1971 CFLAGS:=$(CFLAGS_JDKLIB) \ 1972 $(BUILD_LIBNIO_CFLAGS),\ 1973 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \ 1974 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \ 1975 $(call SET_SHARED_LIBRARY_ORIGIN),\ 1976 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\ 1977 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \ 1978 -lsendfile -ljava -lnet -lc,\ 1979 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \ 1980 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \ 1981 advapi32.lib,\ 1982 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\ 1983 LDFLAGS_SUFFIX:=,\ 1984 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 1985 RC_FLAGS:=$(RC_FLAGS)\ 1986 -D "JDK_FNAME=nio.dll" \ 1987 -D "JDK_INTERNAL_NAME=nio" \ 1988 -D "JDK_FTYPE=0x2L",\ 1989 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\ 1990 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 1991 1992 BUILD_LIBRARIES += $(BUILD_LIBNIO) 1993 1994 $(BUILD_LIBNIO) : $(BUILD_LIBNET) 1995 1996 ########################################################################################## 1997 1998 ifeq ($(OPENJDK_TARGET_OS_API),posix) 1999 2000 ifneq ($(OPENJDK_TARGET_OS),macosx) 2001 2002 SCTP_WERROR := -Werror 2003 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc) 2004 SCTP_WERROR := 2005 endif 2006 2007 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\ 2008 LIBRARY:=sctp,\ 2009 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2010 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\ 2011 LANG:=C,\ 2012 OPTIMIZATION:=LOW, \ 2013 CFLAGS:=$(CFLAGS_JDKLIB)\ 2014 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \ 2015 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \ 2016 -I$(JDK_TOPDIR)/src/share/native/java/net \ 2017 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \ 2018 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\ 2019 CFLAGS_linux:=$(SCTP_WERROR),\ 2020 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \ 2021 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2022 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2023 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\ 2024 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\ 2025 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\ 2026 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\ 2027 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp,\ 2028 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2029 2030 BUILD_LIBRARIES += $(BUILD_LIBSCTP) 2031 2032 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO) 2033 endif 2034 endif 2035 2036 ########################################################################################## 2037 2038 BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin 2039 LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir)) 2040 2041 BUILD_LIBJLI_FILES:=\ 2042 java.c \ 2043 splashscreen_stubs.c \ 2044 parse_manifest.c \ 2045 version_comp.c \ 2046 wildcard.c \ 2047 jli_util.c 2048 2049 ifeq ($(JVM_VARIANT_ZERO), true) 2050 ERGO_FAMILY:=zero 2051 else 2052 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86) 2053 ERGO_FAMILY:=i586 2054 else 2055 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH) 2056 endif 2057 endif 2058 2059 ifeq ($(OPENJDK_TARGET_OS), macosx) 2060 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin 2061 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin 2062 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c 2063 2064 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c 2065 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c 2066 endif 2067 2068 ifeq ($(OPENJDK_TARGET_OS), windows) 2069 BUILD_LIBJLI_FILES += java_md.c \ 2070 cmdtoargs.c 2071 # Staticically link with c runtime on windows. 2072 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS)) 2073 else ifneq ($(OPENJDK_TARGET_OS), macosx) 2074 2075 BUILD_LIBJLI_FILES += java_md_common.c 2076 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c 2077 2078 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c 2079 2080 # if the architecture specific ergo file exists then 2081 # use it, else use the generic definitions from ergo.c 2082 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),) 2083 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE) 2084 else # !ERGO_ARCH_FILE 2085 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO 2086 endif # ERGO_ARCH_FILE 2087 endif #WINDOWS 2088 2089 # Append defines depending on target platform 2090 LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS) 2091 2092 ifeq ($(OPENJDK_TARGET_OS), macosx) 2093 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" 2094 endif 2095 2096 ifneq ($(USE_EXTERNAL_LIBZ),true) 2097 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5 2098 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS) 2099 BUILD_LIBJLI_FILES += \ 2100 inflate.c \ 2101 inftrees.c \ 2102 inffast.c \ 2103 zadler32.c \ 2104 zcrc32.c \ 2105 zutil.c 2106 endif 2107 2108 ifeq ($(OPENJDK_TARGET_OS), windows) 2109 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE) 2110 else 2111 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli 2112 endif 2113 2114 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\ 2115 LIBRARY:=jli,\ 2116 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\ 2117 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\ 2118 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\ 2119 LANG:=C,\ 2120 OPTIMIZATION:=HIGH, \ 2121 CFLAGS:=$(LIBJLI_CFLAGS),\ 2122 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \ 2123 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2124 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2125 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\ 2126 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\ 2127 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\ 2128 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\ 2129 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\ 2130 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\ 2131 LDFLAGS_SUFFIX_windows:=\ 2132 -export:JLI_Launch \ 2133 -export:JLI_ManifestIterate \ 2134 -export:JLI_SetTraceLauncher \ 2135 -export:JLI_ReportErrorMessage \ 2136 -export:JLI_ReportErrorMessageSys \ 2137 -export:JLI_ReportMessage \ 2138 -export:JLI_ReportExceptionDescription \ 2139 -export:JLI_MemAlloc \ 2140 -export:JLI_CmdToArgs \ 2141 -export:JLI_GetStdArgc \ 2142 -export:JLI_GetStdArgs \ 2143 advapi32.lib \ 2144 comctl32.lib \ 2145 user32.lib,\ 2146 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2147 RC_FLAGS:=$(RC_FLAGS) \ 2148 -D "JDK_FNAME=jli.dll" \ 2149 -D "JDK_INTERNAL_NAME=jli" \ 2150 -D "JDK_FTYPE=0x2L",\ 2151 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\ 2152 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2153 2154 BUILD_LIBRARIES += $(BUILD_LIBJLI) 2155 2156 # On windows, the static library has the same suffix as the import library created by 2157 # with the shared library, so the static library is given a different name. No harm 2158 # in doing it for all platform to reduce complexity. 2159 ifeq ($(OPENJDK_TARGET_OS), windows) 2160 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\ 2161 STATIC_LIBRARY:=jli_static,\ 2162 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\ 2163 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\ 2164 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\ 2165 LANG:=C,\ 2166 OPTIMIZATION:=HIGH, \ 2167 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\ 2168 ARFLAGS:=$(ARFLAGS),\ 2169 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\ 2170 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2171 2172 BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC) 2173 2174 else ifeq ($(OPENJDK_TARGET_OS),macosx) 2175 # 2176 # On macosx they do partial (incremental) linking of libjli_static.a 2177 # code it here...rather than add support to NativeCompilation 2178 # as this is first time I see it 2179 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\ 2180 LIBRARY:=jli_static, \ 2181 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\ 2182 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\ 2183 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\ 2184 LANG:=C,\ 2185 OPTIMIZATION:=HIGH, \ 2186 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\ 2187 LDFLAGS:=-nostdlib -r,\ 2188 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\ 2189 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2190 2191 $(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC) 2192 $(call install-file) 2193 2194 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a 2195 endif 2196 2197 ########################################################################################## 2198 2199 ifndef OPENJDK 2200 ifeq ($(ENABLE_JFR), true) 2201 2202 $(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\ 2203 LIBRARY:=jfr,\ 2204 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2205 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\ 2206 LANG:=C,\ 2207 OPTIMIZATION:=LOW, \ 2208 CFLAGS:=$(CFLAGS_JDKLIB) \ 2209 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \ 2210 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \ 2211 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2212 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2213 LDFLAGS_SUFFIX_solaris:=-lc,\ 2214 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2215 RC_FLAGS:=$(RC_FLAGS)\ 2216 -D "JDK_FNAME=jfr.dll" \ 2217 -D "JDK_INTERNAL_NAME=jfr" \ 2218 -D "JDK_FTYPE=0x2L",\ 2219 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\ 2220 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2221 2222 BUILD_LIBRARIES += $(BUILD_LIBJFR) 2223 2224 endif 2225 endif 2226 2227 ########################################################################################## 2228 2229 ifndef OPENJDK 2230 2231 BUILD_LIBKCMS_EXCLUDE_FILES:= 2232 ifeq ($(OPENJDK_TARGET_OS),windows) 2233 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c 2234 else 2235 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c 2236 endif 2237 2238 BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB) 2239 2240 ifeq ($(OPENJDK_TARGET_OS),solaris) 2241 # This particular library uses a feature called PIC_CODE_SMALL (on solaris) 2242 # implement it like this...since it's only used here 2243 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS)) 2244 else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc) 2245 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS)) 2246 endif 2247 2248 $(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\ 2249 LIBRARY:=kcms,\ 2250 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2251 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\ 2252 LANG:=C,\ 2253 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\ 2254 OPTIMIZATION:=LOW, \ 2255 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \ 2256 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\ 2257 CFLAGS_linux:=-Wno-missing-field-initializers,\ 2258 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \ 2259 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2260 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2261 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\ 2262 LDFLAGS_SUFFIX_solaris:=-lc,\ 2263 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \ 2264 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\ 2265 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\ 2266 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\ 2267 RC_FLAGS:=$(RC_FLAGS)\ 2268 -D "JDK_FNAME=kcms.dll" \ 2269 -D "JDK_INTERNAL_NAME=kcms" \ 2270 -D "JDK_FTYPE=0x2L",\ 2271 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\ 2272 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2273 2274 $(BUILD_LIBKCMS) : $(BUILD_LIBJAVA) 2275 2276 BUILD_LIBRARIES += $(BUILD_LIBKCMS) 2277 2278 endif 2279 2280 ########################################################################################## 2281 2282 ifndef OPENJDK 2283 ifeq ($(OPENJDK_TARGET_OS), solaris) 2284 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 2285 2286 ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok) 2287 2288 SUNWJDGA_MAPFILE:= 2289 ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc) 2290 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers 2291 endif 2292 2293 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \ 2294 LIBRARY:=sunwjdga,\ 2295 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2296 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \ 2297 LANG:=C, \ 2298 OPTIMIZATION:=LOW, \ 2299 CFLAGS:=$(CFLAGS_JDKLIB) \ 2300 -I$(JDK_TOPDIR)/src/share/javavm/export \ 2301 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \ 2302 -I$(OPENWIN_HOME)/include, \ 2303 MAPFILE:=$(SUNWJDGA_MAPFILE), \ 2304 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2305 $(call SET_SHARED_LIBRARY_ORIGIN), \ 2306 LDFLAGS_SUFFIX:=-L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \ 2307 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga,\ 2308 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2309 2310 BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA) 2311 2312 endif 2313 endif 2314 endif 2315 endif 2316 2317 ########################################################################################## 2318 2319 ifeq ($(BUILD_HEADLESS), true) 2320 ifneq ($(OPENJDK_TARGET_OS), windows) 2321 2322 LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \ 2323 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ 2324 $(JDK_TOPDIR)/src/solaris/native/sun/font \ 2325 $(JDK_TOPDIR)/src/solaris/native/sun/awt \ 2326 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \ 2327 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11 2328 2329 ifeq ($(OPENJDK_TARGET_OS),macosx) 2330 LIBAWT_HEADLESS_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/font 2331 endif 2332 2333 LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \ 2334 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \ 2335 $(CUPS_CFLAGS) \ 2336 $(X_CFLAGS) \ 2337 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 2338 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ 2339 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 2340 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 2341 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ 2342 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 2343 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 2344 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \ 2345 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir)) 2346 2347 ifeq ($(OPENJDK_TARGET_OS),macosx) 2348 LIBAWT_HEADLESS_CFLAGS+=\ 2349 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 2350 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks 2351 endif 2352 2353 LIBAWT_HEADLESS_FILES:=\ 2354 awt_Font.c \ 2355 HeadlessToolkit.c \ 2356 fontpath.c \ 2357 VDrawingArea.c \ 2358 X11Color.c \ 2359 X11Renderer.c \ 2360 X11PMBlitLoops.c \ 2361 X11SurfaceData.c \ 2362 X11FontScaler_md.c \ 2363 X11TextRenderer_md.c \ 2364 OGLBlitLoops.c \ 2365 OGLBufImgOps.c \ 2366 OGLContext.c \ 2367 OGLFuncs.c \ 2368 OGLMaskBlit.c \ 2369 OGLMaskFill.c \ 2370 OGLPaints.c \ 2371 OGLRenderQueue.c \ 2372 OGLRenderer.c \ 2373 OGLSurfaceData.c \ 2374 OGLTextRenderer.c \ 2375 OGLVertexCache.c \ 2376 GLXGraphicsConfig.c \ 2377 GLXSurfaceData.c \ 2378 AccelGlyphCache.c \ 2379 CUPSfuncs.c 2380 2381 ifeq ($(OPENJDK_TARGET_OS),macosx) 2382 LIBAWT_HEADLESS_FILES+=\ 2383 AWTFont.m \ 2384 AWTStrike.m \ 2385 CCharToGlyphMapper.m \ 2386 CGGlyphImages.m \ 2387 CGGlyphOutlines.m \ 2388 CoreTextSupport.m 2389 endif 2390 2391 LIBAWT_HEADLESS_REORDER:= 2392 ifeq ($(OPENJDK_TARGET_OS), solaris) 2393 ifneq ($(OPENJDK_TARGET_CPU), x86_64) 2394 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU) 2395 endif 2396 endif 2397 2398 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\ 2399 LIBRARY:=awt_headless,\ 2400 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2401 SRC:=$(LIBAWT_HEADLESS_DIRS),\ 2402 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\ 2403 LANG:=C,\ 2404 OPTIMIZATION:=LOW, \ 2405 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\ 2406 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\ 2407 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2408 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2409 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\ 2410 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \ 2411 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \ 2412 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\ 2413 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\ 2414 REORDER:=$(LIBAWT_HEADLESS_REORDER), \ 2415 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\ 2416 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\ 2417 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava \ 2418 -framework Accelerate \ 2419 -framework ApplicationServices \ 2420 -framework Cocoa \ 2421 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 2422 -framework JavaNativeFoundation \ 2423 -framework JavaRuntimeSupport,\ 2424 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\ 2425 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2426 2427 $(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT) 2428 2429 BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS) 2430 2431 endif 2432 endif 2433 2434 ########################################################################################## 2435 2436 ifndef BUILD_HEADLESS_ONLY 2437 LIBSPLASHSCREEN_DIRS:=\ 2438 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \ 2439 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \ 2440 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen 2441 2442 ifeq ($(USE_EXTERNAL_LIBGIF),true) 2443 GIFLIB_LDFLAGS := -lgif 2444 else 2445 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib 2446 GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib 2447 endif 2448 2449 ifneq ($(OPENJDK_TARGET_OS), macosx) 2450 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen 2451 else 2452 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen 2453 endif 2454 2455 LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \ 2456 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir)) 2457 2458 ifeq ($(OPENJDK_TARGET_OS), macosx) 2459 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \ 2460 $(LIBSPLASHSCREEN_CFLAGS) \ 2461 -F/System/Library/Frameworks/JavaVM.framework/Frameworks 2462 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX 2463 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp 2464 2465 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0 2466 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0 2467 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0 2468 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0 2469 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0 2470 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0 2471 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0 2472 2473 else ifneq ($(OPENJDK_TARGET_OS), windows) 2474 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions 2475 else 2476 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32 2477 endif 2478 2479 LIBSPLASHSCREEN_LDFLAGS_SUFFIX:= 2480 2481 ifneq ($(USE_EXTERNAL_LIBZ),true) 2482 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5 2483 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS) 2484 endif 2485 2486 ifeq ($(OPENJDK_TARGET_OS), macosx) 2487 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \ 2488 -framework ApplicationServices \ 2489 -framework Foundation \ 2490 -framework Cocoa \ 2491 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 2492 -framework JavaNativeFoundation 2493 else ifeq ($(OPENJDK_TARGET_OS), windows) 2494 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll 2495 else ifeq ($(OPENJDK_TARGET_OS), solaris) 2496 # Solaris still uses OPENWIN_LIB .. 2497 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread 2498 else # .. all other Unixes can use X_LIBS 2499 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread 2500 endif 2501 2502 $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\ 2503 LIBRARY:=splashscreen,\ 2504 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2505 SRC:=$(LIBSPLASHSCREEN_DIRS),\ 2506 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\ 2507 LANG:=C,\ 2508 OPTIMIZATION:=LOW, \ 2509 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS),\ 2510 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \ 2511 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2512 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2513 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS),\ 2514 LDFLAGS_SUFFIX_solaris:=-lc,\ 2515 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2516 RC_FLAGS:=$(RC_FLAGS)\ 2517 -D "JDK_FNAME=splashscreen.dll" \ 2518 -D "JDK_INTERNAL_NAME=splashscreen" \ 2519 -D "JDK_FTYPE=0x2L",\ 2520 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\ 2521 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2522 2523 BUILD_LIBRARIES += $(LIBSPLASHSCREEN) 2524 2525 ifeq ($(OPENJDK_TARGET_OS),macosx) 2526 $(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) 2527 endif 2528 2529 endif 2530 2531 ########################################################################################## 2532 2533 ifndef OPENJDK 2534 2535 LIBDCPR_SRC_DIRS:=\ 2536 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \ 2537 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \ 2538 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \ 2539 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util 2540 2541 LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \ 2542 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe 2543 2544 $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\ 2545 LIBRARY:=dcpr,\ 2546 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2547 SRC:=$(LIBDCPR_SRC_DIRS),\ 2548 LANG:=C,\ 2549 OPTIMIZATION:=LOW, \ 2550 CFLAGS:=$(CFLAGS_JDKLIB) \ 2551 $(LIBDCPR_CFLAGS), \ 2552 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \ 2553 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2554 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2555 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\ 2556 LDFLAGS_SUFFIX_posix:=-lm,\ 2557 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2558 RC_FLAGS:=$(RC_FLAGS)\ 2559 -D "JDK_FNAME=dcpr.dll" \ 2560 -D "JDK_INTERNAL_NAME=dcpr" \ 2561 -D "JDK_FTYPE=0x2L",\ 2562 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\ 2563 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2564 2565 $(BUILD_LIBDCPR) : $(BUILD_LIBJAVA) 2566 2567 BUILD_LIBRARIES += $(BUILD_LIBDCPR) 2568 2569 endif 2570 2571 ########################################################################################## 2572 2573 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\ 2574 LIBRARY:=j2pcsc,\ 2575 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2576 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \ 2577 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\ 2578 LANG:=C,\ 2579 CFLAGS_posix:=-D__sun_jdk,\ 2580 OPTIMIZATION:=LOW, \ 2581 CFLAGS:=$(CFLAGS_JDKLIB) \ 2582 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \ 2583 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\ 2584 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\ 2585 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \ 2586 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2587 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2588 LDFLAGS_SUFFIX_posix:=$(LIBDL), \ 2589 LDFLAGS_SUFFIX_windows:=winscard.lib,\ 2590 LDFLAGS_SUFFIX_solaris:=-lc,\ 2591 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2592 RC_FLAGS:=$(RC_FLAGS)\ 2593 -D "JDK_FNAME=j2pcsc.dll" \ 2594 -D "JDK_INTERNAL_NAME=j2pcsc" \ 2595 -D "JDK_FTYPE=0x2L",\ 2596 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\ 2597 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2598 2599 BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC) 2600 2601 ########################################################################################## 2602 2603 ifneq ($(OPENJDK_TARGET_OS), windows) 2604 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\ 2605 LIBRARY:=j2gss,\ 2606 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2607 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \ 2608 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\ 2609 LANG:=C,\ 2610 OPTIMIZATION:=LOW, \ 2611 CFLAGS:=$(CFLAGS_JDKLIB) \ 2612 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \ 2613 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\ 2614 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \ 2615 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2616 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2617 LDFLAGS_SUFFIX:=$(LIBDL),\ 2618 LDFLAGS_SUFFIX_solaris:=-lc,\ 2619 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss,\ 2620 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2621 2622 BUILD_LIBRARIES += $(BUILD_LIBJ2GSS) 2623 endif 2624 2625 ########################################################################################## 2626 2627 ifneq ($(BUILD_CRYPTO),no) 2628 BUILD_LIBKRB5_NAME:= 2629 ifeq ($(OPENJDK_TARGET_OS), windows) 2630 BUILD_LIBKRB5_NAME:=w2k_lsa_auth 2631 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 2632 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \ 2633 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \ 2634 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib 2635 else ifeq ($(OPENJDK_TARGET_OS), macosx) 2636 BUILD_LIBKRB5_NAME:=osxkrb5 2637 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5 2638 BUILD_LIBKRB5_LIBS:=-framework Kerberos 2639 endif 2640 2641 ifneq ($(BUILD_LIBKRB5_NAME),) 2642 $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\ 2643 LIBRARY:=$(BUILD_LIBKRB5_NAME),\ 2644 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2645 SRC:=$(BUILD_LIBKRB5_SRC),\ 2646 LANG:=C,\ 2647 OPTIMIZATION:=LOW, \ 2648 CFLAGS:=$(CFLAGS_JDKLIB) \ 2649 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \ 2650 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\ 2651 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2652 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2653 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\ 2654 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2655 RC_FLAGS:=$(RC_FLAGS)\ 2656 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \ 2657 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \ 2658 -D "JDK_FTYPE=0x2L",\ 2659 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\ 2660 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2661 2662 BUILD_LIBRARIES += $(BUILD_LIBKRB5) 2663 endif 2664 endif 2665 2666 ########################################################################################## 2667 2668 ifeq ($(OPENJDK_TARGET_OS), windows) 2669 2670 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\ 2671 LIBRARY:=sunmscapi,\ 2672 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2673 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\ 2674 LANG:=C++,\ 2675 OPTIMIZATION:=LOW, \ 2676 CFLAGS:=$(CFLAGS_JDKLIB) \ 2677 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\ 2678 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ 2679 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2680 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\ 2681 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2682 RC_FLAGS:=$(RC_FLAGS)\ 2683 -D "JDK_FNAME=sunmscapi.dll" \ 2684 -D "JDK_INTERNAL_NAME=sunmscapi" \ 2685 -D "JDK_FTYPE=0x2L",\ 2686 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\ 2687 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2688 2689 BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI) 2690 endif 2691 2692 ########################################################################################## 2693 2694 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\ 2695 LIBRARY:=j2pkcs11,\ 2696 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2697 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \ 2698 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \ 2699 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \ 2700 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\ 2701 LANG:=C,\ 2702 OPTIMIZATION:=LOW, \ 2703 CFLAGS:=$(CFLAGS_JDKLIB) \ 2704 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \ 2705 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \ 2706 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \ 2707 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\ 2708 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \ 2709 LDFLAGS:=$(LDFLAGS_JDKLIB) \ 2710 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2711 LDFLAGS_SUFFIX_posix:=$(LIBDL),\ 2712 LDFLAGS_SUFFIX_solaris:=-lc,\ 2713 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2714 RC_FLAGS:=$(RC_FLAGS)\ 2715 -D "JDK_FNAME=j2pkcs11.dll" \ 2716 -D "JDK_INTERNAL_NAME=j2pkcs11" \ 2717 -D "JDK_FTYPE=0x2L",\ 2718 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\ 2719 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2720 2721 BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11) 2722 2723 ########################################################################################## 2724 2725 ifeq ($(ENABLE_INTREE_EC),yes) 2726 2727 BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \ 2728 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl 2729 2730 # 2731 # On sol-sparc...all libraries are compiled with -xregs=no%appl 2732 # (set in CFLAGS_REQUIRED_sparc) 2733 # 2734 # except!!! libsunec.so 2735 # 2736 ECC_JNI_SOLSPARC_FILTER:= 2737 ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc) 2738 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl 2739 endif 2740 2741 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\ 2742 LIBRARY:=sunec,\ 2743 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2744 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \ 2745 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \ 2746 LANG:=C++, \ 2747 OPTIMIZATION:=LOW, \ 2748 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\ 2749 $(BUILD_LIBSUNEC_FLAGS) \ 2750 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\ 2751 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \ 2752 $(BUILD_LIBSUNEC_FLAGS),\ 2753 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \ 2754 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\ 2755 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\ 2756 LDFLAGS_SUFFIX:=$(LIBCXX),\ 2757 LDFLAGS_SUFFIX_linux:=-lc ,\ 2758 LDFLAGS_SUFFIX_solaris:=-lc ,\ 2759 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2760 RC_FLAGS:=$(RC_FLAGS)\ 2761 -D "JDK_FNAME=sunec.dll" \ 2762 -D "JDK_INTERNAL_NAME=sunec" \ 2763 -D "JDK_FTYPE=0x2L",\ 2764 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\ 2765 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2766 2767 BUILD_LIBRARIES += $(BUILD_LIBSUNEC) 2768 endif 2769 2770 ########################################################################################## 2771 2772 LIBJSOUND_SRC_DIRS:=\ 2773 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \ 2774 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound 2775 2776 LIBJSOUND_SRC_FILES:=Utilities.c Platform.c 2777 2778 LIBJSOUND_LANG:=C 2779 LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir)) 2780 2781 EXTRA_SOUND_JNI_LIBS:= 2782 2783 LIBJSOUND_MIDIFILES:=\ 2784 MidiInDevice.c \ 2785 MidiInDeviceProvider.c \ 2786 MidiOutDevice.c \ 2787 MidiOutDeviceProvider.c \ 2788 PlatformMidi.c 2789 2790 # files needed for ports 2791 LIBJSOUND_PORTFILES:=\ 2792 PortMixerProvider.c \ 2793 PortMixer.c 2794 2795 # files needed for direct audio 2796 LIBJSOUND_DAUDIOFILES:=\ 2797 DirectAudioDeviceProvider.c \ 2798 DirectAudioDevice.c 2799 2800 ifeq ($(OPENJDK_TARGET_OS), windows) 2801 EXTRA_SOUND_JNI_LIBS += jsoundds 2802 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \ 2803 -DUSE_PLATFORM_MIDI_OUT=TRUE \ 2804 -DUSE_PLATFORM_MIDI_IN=TRUE \ 2805 -DUSE_PORTS=TRUE 2806 LIBJSOUND_SRC_FILES += \ 2807 PLATFORM_API_WinOS_MidiIn.cpp \ 2808 PLATFORM_API_WinOS_MidiOut.c \ 2809 PLATFORM_API_WinOS_Util.c \ 2810 PLATFORM_API_WinOS_Ports.c 2811 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) 2812 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) 2813 endif # OPENJDK_TARGET_OS windows 2814 2815 ifeq ($(OPENJDK_TARGET_OS), linux) 2816 EXTRA_SOUND_JNI_LIBS += jsoundalsa 2817 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX 2818 endif # OPENJDK_TARGET_OS linux 2819 2820 ifeq ($(OPENJDK_TARGET_OS), macosx) 2821 LIBJSOUND_LANG:=C++ 2822 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \ 2823 -DUSE_PORTS=TRUE \ 2824 -DUSE_DAUDIO=TRUE \ 2825 -DUSE_PLATFORM_MIDI_OUT=TRUE \ 2826 -DUSE_PLATFORM_MIDI_IN=TRUE 2827 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound 2828 LIBJSOUND_SRC_FILES += \ 2829 PLATFORM_API_MacOSX_Utils.cpp \ 2830 PLATFORM_API_MacOSX_PCM.cpp \ 2831 PLATFORM_API_MacOSX_Ports.cpp \ 2832 PLATFORM_API_MacOSX_MidiIn.c \ 2833 PLATFORM_API_MacOSX_MidiOut.c \ 2834 PLATFORM_API_MacOSX_MidiUtils.c 2835 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) 2836 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) 2837 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES) 2838 endif # OPENJDK_TARGET_OS macosx 2839 2840 ifeq ($(OPENJDK_TARGET_OS), solaris) 2841 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \ 2842 -DUSE_PORTS=TRUE \ 2843 -DUSE_DAUDIO=TRUE 2844 LIBJSOUND_SRC_FILES += \ 2845 PLATFORM_API_SolarisOS_Utils.c \ 2846 PLATFORM_API_SolarisOS_Ports.c \ 2847 PLATFORM_API_SolarisOS_PCM.c 2848 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) 2849 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) 2850 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES) 2851 endif # OPENJDK_TARGET_OS solaris 2852 2853 2854 ifeq ($(JVM_VARIANT_ZERO), true) 2855 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO 2856 else 2857 ifeq ($(OPENJDK_TARGET_CPU), x86) 2858 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586 2859 endif 2860 2861 ifeq ($(OPENJDK_TARGET_CPU), sparc) 2862 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC 2863 endif 2864 2865 ifeq ($(OPENJDK_TARGET_CPU), sparcv9) 2866 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9 2867 endif 2868 2869 ifeq ($(OPENJDK_TARGET_CPU), x86_64) 2870 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64 2871 endif 2872 2873 ifeq ($(OPENJDK_TARGET_CPU), arm) 2874 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM 2875 endif 2876 2877 ifeq ($(OPENJDK_TARGET_CPU), ppc) 2878 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC 2879 endif 2880 2881 ifeq ($(OPENJDK_TARGET_CPU), ppc64) 2882 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC64 2883 endif 2884 endif 2885 2886 LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"' 2887 2888 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\ 2889 LIBRARY:=jsound,\ 2890 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2891 SRC:=$(LIBJSOUND_SRC_DIRS),\ 2892 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\ 2893 LANG:=$(LIBJSOUND_LANG),\ 2894 OPTIMIZATION:=LOW, \ 2895 CFLAGS:=$(CFLAGS_JDKLIB) \ 2896 $(LIBJSOUND_CFLAGS), \ 2897 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \ 2898 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \ 2899 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 2900 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2901 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \ 2902 -framework CoreServices -framework AudioUnit $(LIBCXX) \ 2903 -framework CoreMIDI -framework AudioToolbox,\ 2904 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\ 2905 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\ 2906 LDFLAGS_SUFFIX_solaris:=-lc ,\ 2907 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2908 RC_FLAGS:=$(RC_FLAGS)\ 2909 -D "JDK_FNAME=jsound.dll" \ 2910 -D "JDK_INTERNAL_NAME=jsound" \ 2911 -D "JDK_FTYPE=0x2L",\ 2912 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\ 2913 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2914 2915 $(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA) 2916 2917 BUILD_LIBRARIES += $(BUILD_LIBJSOUND) 2918 2919 ########################################################################################## 2920 2921 ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),) 2922 2923 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\ 2924 LIBRARY:=jsoundalsa,\ 2925 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2926 SRC:=$(LIBJSOUND_SRC_DIRS),\ 2927 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \ 2928 $(LIBJSOUND_DAUDIOFILES) \ 2929 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \ 2930 PLATFORM_API_LinuxOS_ALSA_PCM.c \ 2931 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \ 2932 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \ 2933 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \ 2934 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \ 2935 PLATFORM_API_LinuxOS_ALSA_Ports.c,\ 2936 LANG:=C,\ 2937 OPTIMIZATION:=LOW, \ 2938 CFLAGS:=$(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \ 2939 $(LIBJSOUND_CFLAGS) \ 2940 -DUSE_DAUDIO=TRUE \ 2941 -DUSE_PORTS=TRUE \ 2942 -DUSE_PLATFORM_MIDI_OUT=TRUE \ 2943 -DUSE_PLATFORM_MIDI_IN=TRUE, \ 2944 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \ 2945 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 2946 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2947 LDFLAGS_SUFFIX:=$(ALSA_LIBS) -ljava -ljvm,\ 2948 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa,\ 2949 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2950 2951 $(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA) 2952 2953 BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA) 2954 2955 endif 2956 2957 ########################################################################################## 2958 2959 ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),) 2960 2961 $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\ 2962 LIBRARY:=jsoundds,\ 2963 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2964 SRC:=$(LIBJSOUND_SRC_DIRS),\ 2965 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \ 2966 PLATFORM_API_WinOS_DirectSound.cpp, \ 2967 LANG:=C++,\ 2968 OPTIMIZATION:=LOW, \ 2969 CFLAGS:=$(CFLAGS_JDKLIB) \ 2970 $(LIBJSOUND_CFLAGS) \ 2971 -DUSE_DAUDIO=TRUE \ 2972 -I$(DXSDK_INCLUDE_PATH), \ 2973 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ 2974 $(call SET_SHARED_LIBRARY_ORIGIN),\ 2975 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\ 2976 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ 2977 RC_FLAGS:=$(RC_FLAGS)\ 2978 -D "JDK_FNAME=jsoundds.dll" \ 2979 -D "JDK_INTERNAL_NAME=jsoundds" \ 2980 -D "JDK_FTYPE=0x2L",\ 2981 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\ 2982 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 2983 2984 $(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA) 2985 2986 BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS) 2987 2988 endif 2989 2990 ########################################################################################## 2991 2992 ifeq ($(OPENJDK_TARGET_OS), solaris) 2993 ifndef OPENJDK 2994 2995 $(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\ 2996 LIBRARY:=j2ucrypto,\ 2997 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 2998 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\ 2999 LANG:=C,\ 3000 OPTIMIZATION:=LOW, \ 3001 CFLAGS:=$(CFLAGS_JDKLIB) \ 3002 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\ 3003 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \ 3004 LDFLAGS:=$(LDFLAGS_JDKLIB),\ 3005 LDFLAGS_SUFFIX:=$(LIBDL),\ 3006 LDFLAGS_SUFFIX_solaris:=-lc,\ 3007 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto,\ 3008 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 3009 3010 $(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA) 3011 3012 BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO) 3013 3014 endif 3015 endif 3016 3017 ########################################################################################## 3018 3019 ifeq ($(OPENJDK_TARGET_OS), macosx) 3020 3021 $(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\ 3022 LIBRARY:=AppleScriptEngine,\ 3023 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3024 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\ 3025 LANG:=C,\ 3026 OPTIMIZATION:=LOW, \ 3027 CFLAGS:=$(CFLAGS_JDKLIB) \ 3028 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \ 3029 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3030 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \ 3031 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 3032 $(call SET_SHARED_LIBRARY_ORIGIN), \ 3033 LDFLAGS_SUFFIX:=-framework Cocoa \ 3034 -framework Carbon \ 3035 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3036 -framework JavaNativeFoundation \ 3037 $(LDFLAGS_JDKLIB_SUFFIX),\ 3038 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine,\ 3039 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 3040 3041 $(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA) 3042 3043 BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE) 3044 3045 endif 3046 3047 ########################################################################################## 3048 3049 ifeq ($(OPENJDK_TARGET_OS), macosx) 3050 3051 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\ 3052 LIBRARY:=osxapp,\ 3053 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3054 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\ 3055 LANG:=C,\ 3056 OPTIMIZATION:=LOW, \ 3057 CFLAGS:=$(CFLAGS_JDKLIB) \ 3058 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 3059 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \ 3060 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3061 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\ 3062 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 3063 $(call SET_SHARED_LIBRARY_ORIGIN), \ 3064 LDFLAGS_SUFFIX_macosx:=\ 3065 -framework Accelerate \ 3066 -framework ApplicationServices \ 3067 -framework AudioToolbox \ 3068 -framework Carbon \ 3069 -framework Cocoa \ 3070 -framework Security \ 3071 -framework ExceptionHandling \ 3072 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3073 -framework JavaNativeFoundation \ 3074 -framework JavaRuntimeSupport \ 3075 -framework OpenGL \ 3076 -framework IOSurface \ 3077 -framework QuartzCore, \ 3078 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp,\ 3079 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 3080 3081 BUILD_LIBRARIES += $(BUILD_LIBOSXAPP) 3082 3083 endif 3084 3085 ########################################################################################## 3086 3087 ifeq ($(OPENJDK_TARGET_OS), macosx) 3088 3089 LIBOSX_DIRS:=\ 3090 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \ 3091 $(JDK_TOPDIR)/src/macosx/native/java/util \ 3092 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \ 3093 $(JDK_TOPDIR)/src/macosx/native/apple/security \ 3094 $(JDK_TOPDIR)/src/macosx/native/apple/launcher 3095 3096 $(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\ 3097 LIBRARY:=osx,\ 3098 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3099 SRC:=$(LIBOSX_DIRS),\ 3100 LANG:=C,\ 3101 OPTIMIZATION:=LOW, \ 3102 CFLAGS:=$(CFLAGS_JDKLIB) \ 3103 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \ 3104 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 3105 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3106 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\ 3107 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 3108 $(call SET_SHARED_LIBRARY_ORIGIN), \ 3109 LDFLAGS_SUFFIX_macosx:=\ 3110 -losxapp \ 3111 -framework Cocoa \ 3112 -framework ApplicationServices \ 3113 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3114 -framework JavaNativeFoundation \ 3115 -framework JavaRuntimeSupport \ 3116 -framework Security \ 3117 -framework SystemConfiguration \ 3118 $(LDFLAGS_JDKLIB_SUFFIX), \ 3119 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx,\ 3120 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 3121 3122 BUILD_LIBRARIES += $(BUILD_LIBOSX) 3123 3124 $(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP) 3125 3126 $(BUILD_LIBOSX) : $(BUILD_LIBJAVA) 3127 3128 endif 3129 3130 ########################################################################################## 3131 3132 ifeq ($(OPENJDK_TARGET_OS), macosx) 3133 3134 LIBAWT_LWAWT_FILES:=\ 3135 awt.m \ 3136 ApplicationDelegate.m \ 3137 CFRetainedResource.m \ 3138 CGLGraphicsConfig.m \ 3139 CGLSurfaceData.m \ 3140 CGLLayer.m \ 3141 CGraphicsConfig.m \ 3142 CGraphicsDevice.m \ 3143 CGraphicsEnv.m \ 3144 CCharToGlyphMapper.m \ 3145 CSystemColors.m \ 3146 AWTFont.m \ 3147 CGGlyphOutlines.m \ 3148 CGGlyphImages.m \ 3149 CoreTextSupport.m \ 3150 AWTStrike.m \ 3151 InitIDs.m \ 3152 AWTEvent.m \ 3153 AWTView.m \ 3154 AWTWindow.m \ 3155 AWTSurfaceLayers.m \ 3156 CCursorManager.m \ 3157 CClipboard.m \ 3158 CDataTransferer.m \ 3159 CDragSource.m \ 3160 CDragSourceContextPeer.m \ 3161 CDropTarget.m \ 3162 CDropTargetContextPeer.m \ 3163 CInputMethod.m \ 3164 CDesktopPeer.m \ 3165 OSVersion.m \ 3166 DnDUtilities.m \ 3167 CFileDialog.m \ 3168 CImage.m \ 3169 CMenu.m \ 3170 CMenuBar.m \ 3171 CMenuComponent.m \ 3172 CMenuItem.m \ 3173 CPopupMenu.m \ 3174 CRobot.m \ 3175 CTrayIcon.m \ 3176 CWrapper.m \ 3177 JavaAccessibilityAction.m \ 3178 JavaAccessibilityUtilities.m \ 3179 JavaComponentAccessibility.m \ 3180 JavaTextAccessibility.m \ 3181 LWCToolkit.m \ 3182 GeomUtilities.m \ 3183 CPrinterJob.m \ 3184 PrintModel.m \ 3185 PrinterSurfaceData.m \ 3186 PrinterView.m \ 3187 QuartzSurfaceData.m \ 3188 QuartzRenderer.m \ 3189 CTextPipe.m \ 3190 ImageSurfaceData.m \ 3191 awt_DrawingSurface.m \ 3192 \ 3193 OGLBlitLoops.c \ 3194 OGLBufImgOps.c \ 3195 OGLContext.c \ 3196 OGLFuncs.c \ 3197 OGLMaskBlit.c \ 3198 OGLMaskFill.c \ 3199 OGLPaints.c \ 3200 OGLRenderQueue.c \ 3201 OGLRenderer.c \ 3202 OGLSurfaceData.c \ 3203 OGLTextRenderer.c \ 3204 OGLVertexCache.c \ 3205 AccelGlyphCache.c \ 3206 CUPSfuncs.c 3207 3208 3209 LIBAWT_LWAWT_DIRS:=\ 3210 $(JDK_TOPDIR)/src/macosx/native/sun/awt \ 3211 $(JDK_TOPDIR)/src/macosx/native/sun/font \ 3212 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \ 3213 $(JDK_TOPDIR)/src/solaris/native/sun/awt \ 3214 $(JDK_TOPDIR)/src/share/native/sun/font \ 3215 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ 3216 3217 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\ 3218 LIBRARY:=awt_lwawt,\ 3219 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3220 SRC:=$(LIBAWT_LWAWT_DIRS),\ 3221 LANG:=C,\ 3222 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\ 3223 OPTIMIZATION:=LOW, \ 3224 CFLAGS:=$(CFLAGS_JDKLIB) \ 3225 $(X_CFLAGS) \ 3226 $(X_LIBS) \ 3227 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \ 3228 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 3229 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ 3230 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \ 3231 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ 3232 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ 3233 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ 3234 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ 3235 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ 3236 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3237 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\ 3238 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 3239 $(call SET_SHARED_LIBRARY_ORIGIN), \ 3240 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \ 3241 -framework Accelerate \ 3242 -framework ApplicationServices \ 3243 -framework AudioToolbox \ 3244 -framework Carbon \ 3245 -framework Cocoa \ 3246 -framework Security \ 3247 -framework ExceptionHandling \ 3248 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3249 -framework JavaNativeFoundation \ 3250 -framework JavaRuntimeSupport \ 3251 -framework OpenGL \ 3252 -framework QuartzCore -ljava,\ 3253 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt,\ 3254 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 3255 3256 BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT) 3257 3258 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT) 3259 3260 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE) 3261 3262 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP) 3263 3264 $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA) 3265 3266 endif 3267 3268 ########################################################################################## 3269 3270 ifeq ($(OPENJDK_TARGET_OS), macosx) 3271 3272 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\ 3273 LIBRARY:=osxui,\ 3274 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3275 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\ 3276 LANG:=C,\ 3277 OPTIMIZATION:=LOW, \ 3278 CFLAGS:=$(CFLAGS_JDKLIB) \ 3279 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \ 3280 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ 3281 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \ 3282 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \ 3283 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 3284 $(call SET_SHARED_LIBRARY_ORIGIN) \ 3285 -Xlinker -rpath -Xlinker @loader_path,\ 3286 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \ 3287 -framework Cocoa \ 3288 -framework Carbon \ 3289 -framework ApplicationServices \ 3290 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3291 -framework JavaNativeFoundation \ 3292 -framework JavaRuntimeSupport \ 3293 -ljava -ljvm,\ 3294 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui,\ 3295 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 3296 3297 BUILD_LIBRARIES += $(BUILD_LIBOSXUI) 3298 3299 $(BUILD_LIBOSXUI) : $(BUILD_LIBAWT) 3300 3301 $(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP) 3302 3303 $(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT) 3304 3305 #$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA) 3306 3307 endif 3308 3309 ########################################################################################## 3310 3311 ifeq ($(OPENJDK_TARGET_OS), macosx) 3312 3313 # Ugly hack to mimic behaviour in old build where this is built as an xcode project. 3314 SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib 3315 3316 $(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\ 3317 LIBRARY:=JObjC,\ 3318 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\ 3319 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \ 3320 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\ 3321 LANG:=C,\ 3322 OPTIMIZATION:=LOW, \ 3323 CFLAGS:=-fpascal-strings \ 3324 -fobjc-gc \ 3325 -gdwarf-2 \ 3326 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \ 3327 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3328 -m32,\ 3329 LDFLAGS:=$(LDFLAGS_JDKLIB)\ 3330 -m32, \ 3331 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \ 3332 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3333 -framework JavaNativeFoundation \ 3334 -lffi, \ 3335 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\ 3336 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 3337 3338 $(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\ 3339 LIBRARY:=JObjC,\ 3340 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\ 3341 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \ 3342 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\ 3343 LANG:=C,\ 3344 OPTIMIZATION:=LOW, \ 3345 CFLAGS:=-fpascal-strings \ 3346 -fobjc-gc \ 3347 -gdwarf-2 \ 3348 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \ 3349 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3350 , \ 3351 LDFLAGS:=-fpascal-strings \ 3352 -fobjc-gc \ 3353 -gdwarf-2 \ 3354 $(LDFLAGS_JDKLIB)\ 3355 $(call SET_SHARED_LIBRARY_ORIGIN), \ 3356 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \ 3357 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ 3358 -framework JavaNativeFoundation \ 3359 -lffi, \ 3360 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\ 3361 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES))) 3362 3363 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64) 3364 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64) 3365 3366 BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX) 3367 3368 endif 3369 3370 ########################################################################################## 3371 3372 ifndef OPENJDK 3373 ifeq ($(OPENJDK_TARGET_OS), windows) 3374 3375 ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge 3376 3377 define SetupAccessBridge 3378 # Parameter 1 Suffix 3379 # Parameter 2 Machine 3380 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix 3381 3382 $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\ 3383 LIBRARY=JAWTAccessBridge$1,\ 3384 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3385 SRC:=$(ACCESSBRIDGE_SRCDIR),\ 3386 INCLUDE_FILES:=JAWTAccessBridge.cpp,\ 3387 LANG:=C++,\ 3388 OPTIMIZATION:=LOW,\ 3389 CFLAGS:=$(CFLAGS_JDKLIB) \ 3390 -DACCESSBRIDGE_ARCH_$3,\ 3391 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ 3392 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \ 3393 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ 3394 -subsystem:windows -machine:$2 \ 3395 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\ 3396 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\ 3397 RC_FLAGS:=$(RC_FLAGS),\ 3398 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\ 3399 DEBUG_SYMBOLS:=true) 3400 3401 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) 3402 3403 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\ 3404 LIBRARY=JavaAccessBridge$1,\ 3405 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3406 SRC:=$(ACCESSBRIDGE_SRCDIR),\ 3407 INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \ 3408 AccessBridgeJavaEntryPoints.cpp \ 3409 AccessBridgeMessages.cpp JavaAccessBridge.cpp,\ 3410 LANG:=C++,\ 3411 OPTIMIZATION:=LOW,\ 3412 CFLAGS:=$(CFLAGS_JDKLIB) \ 3413 -DACCESSBRIDGE_ARCH_$3,\ 3414 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ 3415 winspool.lib comdlg32.lib advapi32.lib shell32.lib \ 3416 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ 3417 -subsystem:windows -machine:$2 \ 3418 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\ 3419 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\ 3420 RC_FLAGS:=$(RC_FLAGS),\ 3421 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\ 3422 DEBUG_SYMBOLS:=true) 3423 3424 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\ 3425 LIBRARY=WindowsAccessBridge$1,\ 3426 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ 3427 SRC:=$(ACCESSBRIDGE_SRCDIR),\ 3428 INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \ 3429 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \ 3430 WinAccessBridge.cpp AccessBridgeDebug.cpp \ 3431 AccessBridgeEventHandler.cpp,\ 3432 LANG:=C++,\ 3433 OPTIMIZATION:=LOW,\ 3434 CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \ 3435 -DACCESSBRIDGE_ARCH_$3,\ 3436 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ 3437 winspool.lib comdlg32.lib advapi32.lib shell32.lib \ 3438 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ 3439 -subsystem:windows -machine:$2 \ 3440 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\ 3441 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\ 3442 RC_FLAGS:=$(RC_FLAGS),\ 3443 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\ 3444 DEBUG_SYMBOLS:=true) 3445 3446 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \ 3447 $$(BUILD_WINDOWSACCESSBRIDGE$1) 3448 3449 endef 3450 3451 ifeq ($(OPENJDK_TARGET_CPU_BITS),32) 3452 $(eval $(call SetupAccessBridge,-32,I386,32)) 3453 $(eval $(call SetupAccessBridge,,I386,LEGACY)) 3454 else 3455 $(eval $(call SetupAccessBridge,-64,X64,64)) 3456 endif 3457 endif 3458 endif 3459 3460 3461 ########################################################################################## 3462 3463 all: $(COPY_FILES) $(BUILD_LIBRARIES) 3464 3465 .PHONY: all