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