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