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