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