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