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