# # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation. Oracle designates this # particular file as subject to the "Classpath" exception as provided # by Oracle in the LICENSE file that accompanied this code. # # This code is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # version 2 for more details (a copy is included in the LICENSE file that # accompanied this code). # # You should have received a copy of the GNU General Public License version # 2 along with this work; if not, write to the Free Software Foundation, # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. # # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # or visit www.oracle.com if you need additional information or have any # questions. # defalt: all include $(SPEC) include MakeBase.gmk include NativeCompilation.gmk # Setup the java compilers for the JDK build. include Setup.gmk # Copy files (can now depend on $(COPY_FILES)) include CopyFiles.gmk # Prepare the find cache. Only used if running on windows. $(eval $(call FillCacheFind,$(JDK_TOPDIR)/src)) # Build tools include Tools.gmk # Include the javah generated headers. CFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers CXXFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers # Put the libraries here. Different locations for different target apis. ifeq ($(OPENJDK_TARGET_OS_API),posix) INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR) else INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin endif BUILD_LIBRARIES= # Absolute paths to lib files on windows for use in LDFLAGS. Should figure out a more # elegant solution to this. WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib WIN_JAVA_LIB := $(JDK_OUTPUTDIR)/objs/libjava/java.lib WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib # Use this variable to set DEBUG_SYMBOLS true on windows for all libraries, but # not on other platforms. ifeq ($(OPENJDK_TARGET_OS), windows) WINDOWS_ONLY := true endif # # TODO replace with X_FLAGS / X_LIBS # and add them to configure # OPENWIN_LIB:=$(OPENWIN_HOME)/lib ########################################################################################## BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH ifneq ($(OPENJDK_TARGET_OS), solaris) BUILD_LIBFDLIBM_OPTIMIZATION:=NONE endif ifneq ($(OPENJDK_TARGET_OS),macosx) $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\ STATIC_LIBRARY:=fdlibm,\ OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\ SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\ LANG:=C,\ OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\ CFLAGS_windows_debug:=-DLOGGING,\ ARFLAGS:=$(ARFLAGS),\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm)) else # On macosx the old build does partial (incremental) linking of fdlibm instead of # a plain static library. $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC,\ LIBRARY:=fdlibm,\ OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\ SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\ LANG:=C,\ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\ LDFLAGS:=-nostdlib -r -arch x86_64,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm)) BUILD_LIBFDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) $(BUILD_LIBFDLIBM) : $(BUILD_LIBFDLIBM_MAC) $(CP) -a $< $@ endif BUILD_LIBRARIES += $(BUILD_LIBFDLIBM) ########################################################################################## BUILD_LIBVERIFY_SRC:=check_code.c check_format.c ifeq ($(OPENJDK_TARGET_OS), solaris) ifneq ($(OPENJDK_TARGET_CPU), x86_64) BUILD_LIBVERIFY_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(OPENJDK_TARGET_CPU) endif endif LIBVERIFY_OPTIMIZATION:=HIGH ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),) ifeq ($(ENABLE_DEBUG_SYMBOLS), true) LIBVERIFY_OPTIMIZATION:=LOW endif endif $(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\ LIBRARY:=verify, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/common,\ INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\ LANG:=C,\ OPTIMIZATION:=$(LIBVERIFY_OPTIMIZATION), \ CFLAGS:=$(CFLAGS_JDKLIB),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_posix:=-ljvm -lc,\ LDFLAGS_SUFFIX_windows:=jvm.lib,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS) \ -D "JDK_FNAME=verify.dll" \ -D "JDK_INTERNAL_NAME=verify" \ -D "JDK_FTYPE=0x2L",\ REORDER:=$(BUILD_LIBVERIFY_REORDER),\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libverify,\ DEBUG_SYMBOLS:=true)) BUILD_LIBRARIES += $(BUILD_LIBVERIFY) ########################################################################################## LIBJAVA_SRC_DIRS:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/lang \ $(JDK_TOPDIR)/src/share/native/java/lang \ $(JDK_TOPDIR)/src/share/native/java/lang/ref \ $(JDK_TOPDIR)/src/share/native/java/lang/reflect \ $(JDK_TOPDIR)/src/share/native/java/io \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \ $(JDK_TOPDIR)/src/share/native/java/nio \ $(JDK_TOPDIR)/src/share/native/java/security \ $(JDK_TOPDIR)/src/share/native/common \ $(JDK_TOPDIR)/src/share/native/sun/misc \ $(JDK_TOPDIR)/src/share/native/sun/reflect \ $(JDK_TOPDIR)/src/share/native/java/util \ $(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util ifneq ($(OPENJDK_TARGET_OS),macosx) LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/util/locale/provider else LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/util/locale/provider endif ifeq ($(OPENJDK_TARGET_OS),windows) LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/provider \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/io endif LIBJAVA_CFLAGS:=$(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \ -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \ -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"' LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \ -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \ -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \ -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"' ifneq (,$(JDK_UPDATE_VERSION)) LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"' endif LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.c ifneq ($(OPENJDK_TARGET_OS),macosx) LIBJAVA_EXCLUDE_FILES += java_props_macosx.c else BUILD_LIBJAVA_java_props_md.c_CFLAGS:=-x objective-c endif ifeq ($(OPENJDK_TARGET_OS),windows) LIBJAVA_EXCLUDE_FILES += \ UNIXProcess_md.c \ UnixFileSystem_md.c \ FileSystemPreferences.c else LIBJAVA_EXCLUDE_FILES += \ ProcessImpl_md.c \ WinNTFileSystem_md.c \ dirent_md.c \ WindowsPreferences.c \ sun/security/provider/WinCAPISeedGenerator.c \ sun/io/Win32ErrorMode.c endif ifeq ($(OPENJDK_TARGET_OS), solaris) ifneq ($(OPENJDK_TARGET_CPU), x86_64) LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU) endif endif $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\ LIBRARY:=java,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBJAVA_SRC_DIRS),\ EXCLUDES:=fdlibm/src zip, \ EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \ LANG:=C,\ OPTIMIZATION:=HIGH, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(LIBJAVA_CFLAGS),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \ LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\ LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\ LDFLAGS_SUFFIX_macosx:=-L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \ -framework CoreFoundation \ -framework Security -framework SystemConfiguration, \ LDFLAGS_SUFFIX_windows:=-export:winFileHandleOpen -export:handleLseek \ jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \ shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \ advapi32.lib,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=java.dll" \ -D "JDK_INTERNAL_NAME=java" \ -D "JDK_FTYPE=0x2L",\ REORDER:=$(LIBJAVA_REORDER), \ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBJAVA) $(BUILD_LIBJAVA) : $(LIBJLI_BINARY) $(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY) $(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM) ########################################################################################## BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \ -I$(BUILD_LIBMLIB_SRC) \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib BUILD_LIBMLIB_LDLIBS:= BUILD_LIBMLIB_IMAGE_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT endif ifneq ($(OPENJDK_TARGET_OS), windows) BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL) endif $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\ LIBRARY:=mlib_image,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(BUILD_LIBMLIB_SRC),\ EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\ LANG:=C,\ OPTIMIZATION:=HIGHEST, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(BUILD_LIBMLIB_CFLAGS),\ MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX:=$(BUILD_LIBMLIB_LDLIBS) \ $(LDFLAGS_JDKLIB_SUFFIX),\ LDFLAGS_SUFFIX_solaris:=-lc, \ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=mlib_image.dll" \ -D "JDK_INTERNAL_NAME=mlib_image" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBMLIB_IMAGE) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE) ########################################################################################## ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH),solaris-sparc) BUILD_LIBMLIB_IMAGE_V_FILES:=\ mlib_v_ImageLookUp.c \ mlib_ImageCreate.c \ mlib_ImageAffine.c \ mlib_ImageConvMxN.c \ mlib_ImageConvKernelConvert.c \ mlib_sys.c \ mlib_ImageLookUp_64.c \ mlib_ImageLookUp_Bit.c \ mlib_ImageColorTrue2Index.c \ mlib_c_ImageThresh1_U8.c \ mlib_v_ImageLookUpS16S16Func.c \ mlib_v_ImageLookUpS16S32Func.c \ mlib_v_ImageLookUpS16U16Func.c \ mlib_v_ImageLookUpS16U8Func.c \ mlib_v_ImageLookUpS32S16Func.c \ mlib_v_ImageLookUpS32S32Func.c \ mlib_v_ImageLookUpS32U16Func.c \ mlib_v_ImageLookUpS32U8Func.c \ mlib_v_ImageLookUpSIS16S16Func.c \ mlib_v_ImageLookUpSIS16S32Func.c \ mlib_v_ImageLookUpSIS16U16Func.c \ mlib_v_ImageLookUpSIS16U8Func.c \ mlib_v_ImageLookUpSIS32S16Func.c \ mlib_v_ImageLookUpSIS32S32Func.c \ mlib_v_ImageLookUpSIS32U16Func.c \ mlib_v_ImageLookUpSIS32U8Func.c \ mlib_v_ImageLookUpSIU16S16Func.c \ mlib_v_ImageLookUpSIU16S32Func.c \ mlib_v_ImageLookUpSIU16U16Func.c \ mlib_v_ImageLookUpSIU16U8Func.c \ mlib_v_ImageLookUpSIU8S16Func.c \ mlib_v_ImageLookUpSIU8S32Func.c \ mlib_v_ImageLookUpSIU8U16Func.c \ mlib_v_ImageLookUpSIU8U8Func.c \ mlib_v_ImageLookUpU16S16Func.c \ mlib_v_ImageLookUpU16S32Func.c \ mlib_v_ImageLookUpU16U16Func.c \ mlib_v_ImageLookUpU16U8Func.c \ mlib_v_ImageLookUpU8S16Func.c \ mlib_v_ImageLookUpU8S32Func.c \ mlib_v_ImageLookUpU8U16Func.c \ mlib_v_ImageLookUpU8U8Func.c \ mlib_v_ImageAffineIndex_BC.c \ mlib_v_ImageAffine_BC.c \ mlib_v_ImageAffine_BC_S16.c \ mlib_v_ImageAffine_BC_U16.c \ mlib_v_ImageAffine_BL.c \ mlib_v_ImageAffine_BL_S16.c \ mlib_v_ImageAffine_BL_U16.c \ mlib_v_ImageAffine_NN.c \ mlib_v_ImageFilters.c \ mlib_ImageAffineEdge.c \ mlib_ImageAffine_BC_D64.c \ mlib_ImageAffine_BC_F32.c \ mlib_ImageAffine_BC_S32.c \ mlib_ImageAffine_BL_D64.c \ mlib_ImageAffine_BL_F32.c \ mlib_ImageAffine_BL_S32.c \ mlib_ImageAffine_NN.c \ mlib_ImageAffine_NN_Bit.c \ mlib_ImageFilters.c \ mlib_ImageScanPoly.c \ mlib_ImageConv_8nw.c \ mlib_ImageConv_8ext.c \ mlib_ImageConv_16nw.c \ mlib_ImageConv_16ext.c \ mlib_ImageConv_u16nw.c \ mlib_ImageConv_u16ext.c \ mlib_ImageConv_32nw.c \ mlib_ImageConv_F32nw.c \ mlib_ImageConvMxN_Fp.c \ mlib_ImageConvMxN_ext.c \ mlib_ImageConv_D64nw.c \ mlib_ImageClipping.c \ mlib_ImageConvCopyEdge_Bit.c \ mlib_ImageConvClearEdge_Bit.c \ mlib_ImageConv2x2_f.c \ mlib_ImageConvClearEdge_Fp.c \ mlib_v_ImageConvMxN_8.c \ mlib_v_ImageConvClearEdge.c \ mlib_v_ImageConvCopyEdge.c \ mlib_v_ImageConvMxN_8ext.c \ mlib_v_ImageConvVersion.c \ mlib_v_ImageConv_8nw.c \ mlib_ImageConvCopyEdge_Fp.c \ mlib_v_ImageChannelInsert_1.c \ mlib_v_ImageChannelExtract_43.c \ mlib_v_ImageChannelExtract_1.c \ mlib_ImageCopy_Bit.c \ mlib_v_ImageCopy_f.c \ mlib_ImageUtils.c \ mlib_ImageDivTables.c BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS)) $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\ LIBRARY:=mlib_image_v, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \ $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\ LANG:=C,\ INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\ OPTIMIZATION:=HIGHEST, \ CFLAGS:=-xarch=sparcvis \ $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il\ $(BUILD_LIBMLIB_V_CFLAGS) \ $(CFLAGS_JDKLIB), \ MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_solaris:=-lc,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v)) $(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V) endif ########################################################################################## LIBAWT_DIRS:=\ $(JDK_TOPDIR)/src/share/native/sun/awt \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ $(JDK_TOPDIR)/src/share/native/sun/awt/image \ $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \ $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \ $(JDK_TOPDIR)/src/share/native/sun/awt/debug \ $(JDK_TOPDIR)/src/share/native/sun/awt/utility \ $(JDK_TOPDIR)/src/share/native/sun/java2d \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ $(JDK_TOPDIR)/src/share/native/sun/awt/image \ $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \ $(JDK_TOPDIR)/src/share/native/sun/font ifeq ($(OPENJDK_TARGET_OS),windows) LIBAWT_DIRS+=\ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d LIBAWT_CFLAGS+=-I$(DXSDK_INCLUDE_PATH) else LIBAWT_DIRS+=\ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 endif LIBAWT_CFLAGS+=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \ $(X_CFLAGS) \ $(foreach dir,$(LIBAWT_DIRS),-I$(dir)) LIBAWT_FILES:=\ gifdecoder.c \ imageInitIDs.c \ img_globals.c \ SurfaceData.c \ Region.c \ BufImgSurfaceData.c \ Disposer.c \ Trace.c \ GraphicsPrimitiveMgr.c \ Blit.c \ BlitBg.c \ ScaledBlit.c \ FillRect.c \ FillSpans.c \ FillParallelogram.c \ DrawParallelogram.c \ DrawLine.c \ DrawRect.c \ DrawPolygons.c \ DrawPath.c \ FillPath.c \ ProcessPath.c \ MaskBlit.c \ MaskFill.c \ TransformHelper.c \ AlphaMath.c \ AlphaMacros.c \ AnyByte.c \ ByteBinary1Bit.c \ ByteBinary2Bit.c \ ByteBinary4Bit.c \ ByteIndexed.c \ ByteGray.c \ Index8Gray.c \ Index12Gray.c \ AnyShort.c \ Ushort555Rgb.c \ Ushort565Rgb.c \ Ushort4444Argb.c \ Ushort555Rgbx.c \ UshortGray.c \ UshortIndexed.c \ Any3Byte.c \ ThreeByteBgr.c \ AnyInt.c \ IntArgb.c \ IntArgbPre.c \ IntArgbBm.c \ IntRgb.c \ IntBgr.c \ IntRgbx.c \ Any4Byte.c \ FourByteAbgr.c \ FourByteAbgrPre.c \ BufferedMaskBlit.c \ BufferedRenderPipe.c \ ShapeSpanIterator.c \ SpanClipRenderer.c \ awt_ImageRep.c \ awt_ImagingLib.c \ awt_Mlib.c \ awt_parseImage.c \ DataBufferNative.c \ dither.c \ debug_assert.c \ debug_mem.c \ debug_trace.c \ debug_util.c ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux)) LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c endif ifeq ($(OPENJDK_TARGET_OS),macosx) LIBAWT_FILES += awt_LoadLibrary.c img_colors.c LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0 endif ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc) LIBAWT_CFLAGS += -DMLIB_ADD_SUFF LIBAWT_CFLAGS += -xarch=sparcvis LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il LIBAWT_CFLAGS += \ -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \ -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \ -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \ $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops LIBAWT_FILES += \ vis_FuncArray.c \ java2d_Mlib.c \ mlib_ImageCreate.c \ mlib_ImageZoom_NN.c \ mlib_ImageCopy_Bit.c \ mlib_sys.c \ mlib_v_ImageClear.c \ mlib_v_ImageClear_f.c \ mlib_v_ImageConstXor.c \ mlib_v_ImageCopy.c \ mlib_v_ImageCopy_f.c \ mlib_v_ImageXor.c \ mlib_v_ImageZoom_NN_f.c \ vis_Interp.c \ vis_AlphaMacros.c \ vis_AlphaMaskBlit.c \ vis_AlphaMaskFill.c \ vis_ByteGray.c \ vis_ByteGray_FromRgb.c \ vis_ByteGray_Mask.c \ vis_ByteIndexed.c \ vis_DrawLine.c \ vis_FourByteAbgr.c \ vis_IntArgb.c \ vis_IntArgbPre.c \ vis_IntArgbPre_Mask.c \ vis_IntBgr.c \ vis_IntRgb.c \ vis_IntRgbx.c \ vis_SrcMaskFill.c \ vis_SrcOverMaskBlit.c \ vis_SrcOverMaskFill.c \ vis_FourByteAbgrPre.c \ vis_GlyphList.c \ vis_GlyphListXor.c \ vis_IntArgbBm.c \ vis_ThreeByteBgr.c \ vis_UshortGray.c \ vis_UshortGray_FromRgb.c \ vis_XorBlit.c \ mlib_v_ImageCopy_blk.s ifeq ($(OPENJDK_TARGET_CPU),sparcv9) LIBAWT_ASFLAGS=-P -xarch=v9a else LIBAWT_ASFLAGS=-P -xarch=v8plusa endif else LIBAWT_FILES += MapAccelFunc.c endif ifneq ($(OPENJDK_TARGET_OS),solaris) LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH endif LIBAWT_LANG:=C ifeq ($(OPENJDK_TARGET_OS),windows) LIBAWT_FILES += AccelGlyphCache.c \ ShaderList.c \ CmdIDList.cpp \ Hashtable.cpp \ GDIHashtable.cpp \ Devices.cpp \ ObjectList.cpp \ GDIBlitLoops.cpp \ GDIRenderer.cpp \ GDIWindowSurfaceData.cpp \ WindowsFlags.cpp \ WPrinterJob.cpp \ awt_%.cpp \ D3DBlitLoops.cpp \ D3DBufImgOps.cpp \ D3DContext.cpp \ D3DGlyphCache.cpp \ D3DGraphicsDevice.cpp \ D3DMaskBlit.cpp \ D3DMaskCache.cpp \ D3DMaskFill.cpp \ D3DPipelineManager.cpp \ D3DPaints.cpp \ D3DRenderer.cpp \ D3DRenderQueue.cpp \ D3DResourceManager.cpp \ D3DSurfaceData.cpp \ D3DTextRenderer.cpp \ D3DVertexCacher.cpp \ ShellFolder2.cpp \ ThemeReader.cpp \ ComCtl32Util.cpp \ DllUtil.cpp \ initIDs.cpp \ MouseInfo.cpp \ rect.c \ OGLBlitLoops.c \ OGLBufImgOps.c \ OGLContext.c \ OGLFuncs.c \ OGLMaskBlit.c \ OGLMaskFill.c \ OGLPaints.c \ OGLRenderQueue.c \ OGLRenderer.c \ OGLSurfaceData.c \ OGLTextRenderer.c \ OGLVertexCache.c \ WGLGraphicsConfig.c \ WGLSurfaceData.c LIBAWT_LANG:=C++ LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE ifeq ($(OPENJDK_TARGET_CPU_BITS), 64) LIBAWT_CFLAGS += -DMLIB_OS64BIT endif ifdef OPENJDK LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons" else LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows" endif LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc endif ifeq ($(MILESTONE), internal) LIBAWT_CFLAGS += -DINTERNAL_BUILD endif LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers ifeq ($(OPENJDK_TARGET_OS),linux) LIBAWT_MAPFILE:= endif $(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\ LIBRARY:=awt,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBAWT_DIRS),\ INCLUDE_FILES:=$(LIBAWT_FILES),\ LANG:=$(LIBAWT_LANG),\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\ ASFLAGS:=$(LIBAWT_ASFLAGS),\ MAPFILE:=$(LIBAWT_MAPFILE), \ LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\ LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\ LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\ LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \ -framework Cocoa \ -framework OpenGL \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -framework JavaNativeFoundation \ -framework JavaRuntimeSupport \ -framework ApplicationServices \ -framework AudioToolbox \ -ljava,\ LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \ imm32.lib ole32.lib uuid.lib shell32.lib \ comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \ delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \ -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \ -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \ -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \ -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \ -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\ VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\ RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \ -D "JDK_FNAME=awt.dll" \ -D "JDK_INTERNAL_NAME=awt" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBAWT) : $(BUILD_LIBJAVA) ifeq ($(OPENJDK_TARGET_OS), macosx) $(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE) endif BUILD_LIBRARIES += $(BUILD_LIBAWT) ########################################################################################## # TODO!! # Even though this variable as a general name, it is # only used on macos, in fontpath.c, as prefix for where to find fonts. # # It's used for libawt_headless _and_ libawt_xawt # X11_PATH:=/usr/X11R6 ifneq ($(OPENJDK_TARGET_OS), windows) ifndef BUILD_HEADLESS_ONLY LIBAWT_XAWT_DIRS:=\ $(JDK_TOPDIR)/src/share/native/sun/awt/debug \ $(JDK_TOPDIR)/src/share/native/sun/awt/utility \ $(JDK_TOPDIR)/src/share/native/sun/font \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \ $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \ LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \ -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \ $(CUPS_CFLAGS) \ $(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga ifeq ($(OPENJDK_TARGET_OS),solaris) LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15 endif ifeq ($(MILESTONE),internal) LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD endif LIBAWT_XAWT_FILES:=\ XlibWrapper.c \ XWindow.c \ XToolkit.c \ X11Color.c \ X11SurfaceData.c \ awt_GraphicsEnv.c \ awt_InputMethod.c \ robot_common.c \ awt_Robot.c \ list.c \ multiVis.c \ initIDs.c \ awt_util.c \ awt_Desktop.c \ awt_UNIXToolkit.c \ X11FontScaler_md.c \ X11TextRenderer_md.c \ fontpath.c \ awt_Insets.c \ awt_Event.c \ X11Renderer.c \ X11PMBlitLoops.c \ OGLBlitLoops.c \ OGLBufImgOps.c \ OGLContext.c \ OGLFuncs.c \ OGLMaskBlit.c \ OGLMaskFill.c \ OGLPaints.c \ OGLRenderQueue.c \ OGLRenderer.c \ OGLSurfaceData.c \ OGLTextRenderer.c \ OGLVertexCache.c \ GLXGraphicsConfig.c \ GLXSurfaceData.c \ AccelGlyphCache.c \ awt_Font.c \ multi_font.c \ awt_AWTEvent.c \ awt_DrawingSurface.c \ jawt.c \ CUPSfuncs.c \ debug_assert.c \ debug_mem.c \ debug_trace.c \ debug_util.c \ awt_Plugin.c \ gtk2_interface.c \ swing_GTKEngine.c \ swing_GTKStyle.c \ rect.c \ sun_awt_X11_GtkFileDialogPeer.c \ XRSurfaceData.c \ XRBackendNative.c LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc ifeq ($(OPENJDK_TARGET_OS), linux) # To match old build, add this to LDFLAGS instead of suffix. LIBAWT_XAWT_LDFLAGS += -lpthread endif ifeq ($(OPENJDK_TARGET_OS), macosx) LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread endif # On macosx, the shared library origin is set twice for this lib. $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\ LIBRARY:=awt_xawt,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBAWT_XAWT_DIRS),\ INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \ $(X_CFLAGS),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\ LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \ $(call SET_SHARED_LIBRARY_ORIGIN,/..),\ LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \ -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \ -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \ -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \ -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \ $(call SET_SHARED_LIBRARY_ORIGIN) \ $(call SET_SHARED_LIBRARY_ORIGIN,/..),\ LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \ $(call SET_SHARED_LIBRARY_ORIGIN). \ $(call SET_SHARED_LIBRARY_ORIGIN) \ $(call SET_SHARED_LIBRARY_ORIGIN).,\ LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=xawt.dll" \ -D "JDK_INTERNAL_NAME=xawt" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt)) $(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA) $(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT) BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT) endif endif ########################################################################################## BUILD_LIBZIP_EXCLUDES := ifeq ($(USE_EXTERNAL_LIBZ),true) LIBZ := -lz LIBZIP_EXCLUDES += zlib-1.2.5 else ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5 endif BUILD_LIBZIP_REORDER := ifeq ($(OPENJDK_TARGET_OS), solaris) ifneq ($(OPENJDK_TARGET_CPU), x86_64) BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU) endif endif ifeq ($(LIBZIP_CAN_USE_MMAP), true) BUILD_LIBZIP_MMAP := -DUSE_MMAP endif $(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\ LIBRARY:=zip,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ LANG:=C,\ OPTIMIZATION:=LOW, \ SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\ EXCLUDES:=$(LIBZIP_EXCLUDES),\ CFLAGS:=$(CFLAGS_JDKLIB) \ $(ZLIB_CPPFLAGS) \ -I$(JDK_TOPDIR)/src/share/native/java/io \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\ CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \ REORDER:=$(BUILD_LIBZIP_REORDER), \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN) \ $(EXPORT_ZIP_FUNCS), \ LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \ -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \ $(WIN_JAVA_LIB),\ LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\ LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\ LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=zip.dll" \ -D "JDK_INTERNAL_NAME=zip" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBZIP) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBZIP) ########################################################################################## $(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\ LIBRARY:=unpack, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\ EXCLUDE_FILES:=main.cpp,\ LANG:=C++,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CXXFLAGS_JDKLIB) \ -DNO_ZLIB -DUNPACK_JNI -DFULL,\ CFLAGS_release:=-DPRODUCT,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \ jvm.lib $(WIN_JAVA_LIB),\ LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=unpack.dll" \ -D "JDK_INTERNAL_NAME=unpack" \ -D "JDK_FTYPE=0x2L",\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBUNPACK) ifeq ($(OPENJDK_TARGET_OS),windows) $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK) $(ECHO) Copying $(@F) $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@ $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK) $(ECHO) Copying $(@F) $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@ endif ########################################################################################## LIBATTACH_EXCLUDE_FILES:= ifneq ($(OPENJDK_TARGET_OS),solaris) LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c endif ifneq ($(OPENJDK_TARGET_OS),linux) LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c endif ifneq ($(OPENJDK_TARGET_OS),macosx) LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c endif $(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\ LIBRARY:=attach, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\ EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS) \ -D "JDK_FNAME=attach.dll" \ -D "JDK_INTERNAL_NAME=attach" \ -D "JDK_FTYPE=0x2L",\ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_solaris:=-ldoor,\ LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\ DEBUG_SYMBOLS:=true)) $(BUILD_LIBATTACH) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBATTACH) ########################################################################################## $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\ LIBRARY:=dt_socket,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/transport/socket \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \ -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \ -I$(JDK_TOPDIR)/src/share/transport/socket \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \ -I$(JDK_TOPDIR)/src/share/back/export \ -I$(JDK_TOPDIR)/src/share/back,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_linux:=-lpthread,\ LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\ LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=dt_socket.dll" \ -D "JDK_INTERNAL_NAME=dt_socket" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\ DEBUG_SYMBOLS:=true)) $(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET) ########################################################################################## ifeq ($(OPENJDK_TARGET_OS),windows) $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\ LIBRARY:=dt_shmem,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \ $(JDK_TOPDIR)/src/share/transport/shmem \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\ -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \ -I$(JDK_TOPDIR)/src/share/transport/shmem \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \ -I$(JDK_TOPDIR)/src/share/back/export, \ LDFLAGS:=$(LDFLAGS_JDKLIB),\ LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\ LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=dt_shmem.dll" \ -D "JDK_INTERNAL_NAME=dt_shmem" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM) endif # OPENJDK_TARGET_OS ########################################################################################## # JDWP_LOGGING causes log messages to be compiled into the library. $(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\ LIBRARY:=jdwp, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\ -I$(JDK_TOPDIR)/src/share/transport/export \ -I$(JDK_TOPDIR)/src/share/back/export \ -I$(JDK_TOPDIR)/src/share/npt \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \ -I$(JDK_TOPDIR)/src/share/back \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \ -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_linux:=$(LIBDL),\ LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\ LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=jdwp.dll" \ -D "JDK_INTERNAL_NAME=jdwp" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBJDWP) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBJDWP) ########################################################################################## LIBJAAS_MAPFILE:= ifneq ($(OPENJDK_TARGET_OS),solaris) LIBJAAS_EXCLUDE_FILES:=Solaris.c else # only on solaris...wonder why LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers endif LIBJAAS_NAME:=jaas_unix ifeq ($(OPENJDK_TARGET_OS), windows) LIBJAAS_NAME:=jaas_nt endif $(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\ LIBRARY:=$(LIBJAAS_NAME),\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB),\ MAPFILE:=$(LIBJAAS_MAPFILE),\ LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\ LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\ LDFLAGS_SUFFIX_solaris:=-lc,\ EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS) \ -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \ -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBJAAS) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBJAAS) ########################################################################################## $(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\ LIBRARY:=jsdt,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB)\ -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_linux:=$(LIBDL),\ LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\ LDFLAGS_SUFFIX_macosx:= $(LIBDL),\ LDFLAGS_SUFFIX_solaris:=-lc,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=jsdt.dll" \ -D "JDK_INTERNAL_NAME=jsdt" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \ DEBUG_SYMBOLS:=true)) $(BUILD_LIBJSDT) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBJSDT) ########################################################################################## ifdef OPENJDK # TODO: Update awt lib path when awt is converted $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\ LIBRARY:=lcms,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\ LANG:=C,\ OPTIMIZATION:=HIGHEST, \ CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \ $(SHARED_LIBRARY_FLAGS) \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\ CFLAGS_solaris:=-xc99=no_lib,\ CFLAGS_windows:=-DCMS_IS_WINDOWS_,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\ LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\ LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\ LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\ LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=lcms.dll" \ -D "JDK_INTERNAL_NAME=lcms" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBLCMS) $(BUILD_LIBLCMS) : $(BUILD_LIBAWT) endif ########################################################################################## ifdef OPENJDK BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers else BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC) endif BUILD_LIBJPEG_REORDER:= ifeq ($(OPENJDK_TARGET_OS), solaris) ifneq ($(OPENJDK_TARGET_CPU), x86_64) BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU) endif endif # Suppress gcc warnings like "variable might be clobbered by 'longjmp' # or 'vfork'": this warning indicates that some variable is placed to # a register by optimized compiler and it's value might be lost on longjmp(). # Recommended way to avoid such warning is to declare the variable as # volatile to prevent the optimization. However, this approach does not # work because we have to declare all variables as volatile in result. #ifndef CROSS_COMPILE_ARCH # CC_43_OR_NEWER:=\ # $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \ # \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) ) # ifeq ($(CC_43_OR_NEWER),1) # BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered # endif #endif $(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\ LIBRARY:=jpeg, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \ $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\ LANG:=C,\ OPTIMIZATION:=HIGHEST, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(BUILD_LIBJPEG_CLOSED_INCLUDES) \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\ MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\ LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=jpeg.dll" \ -D "JDK_INTERNAL_NAME=jpeg" \ -D "JDK_FTYPE=0x2L",\ REORDER:=$(BUILD_LIBJPEG_REORDER),\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBJPEG) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBJPEG) ########################################################################################## ifndef OPENJDK FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c else FONT_HEADERS:=$(FREETYPE2_CFLAGS) BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS) endif LIBFONTMANAGER_OPTIMIZATION:=HIGH ifeq ($(OPENJDK_TARGET_OS),windows) LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ X11TextRenderer.c LIBFONTMANAGER_OPTIMIZATION:=LOW else LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \ lcdglyph.c endif BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\ $(X_CFLAGS) \ -DLE_STANDALONE -DHEADLESS \ $(FONT_HEADERS) \ -I$(JDK_TOPDIR)/src/share/native/sun/font \ -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d # Turn off aliasing with GCC for ExtensionSubtables.cpp ifeq ($(OPENJDK_TARGET_OS), linux) BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing endif $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\ LIBRARY:=fontmanager, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\ EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \ AccelGlyphCache.c,\ LANG:=C++,\ CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\ CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\ OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \ CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ -DCC_NOEX, \ MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \ LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\ LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\ LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\ LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \ -ljava -ljvm,\ LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ $(WIN_AWT_LIB),\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=fontmanager.dll" \ -D "JDK_INTERNAL_NAME=fontmanager" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT) ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx)) $(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT) endif BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER) ########################################################################################## ifndef OPENJDK # ifeq ($(OPENJDK_TARGET_OS), linux) # ifeq ("$(CC_VER_MAJOR)", "3") # OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic # endif # endif # # The resulting size of the t2k lib file is (at least on linux) dependant on the order of # the input .o files. Because of this the new build will differ in size to the old build. BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \ -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \ -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \ -I$(JDK_TOPDIR)/src/share/share/native/sun/font \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\ LIBRARY:=t2k, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \ $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \ $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\ EXCLUDE_FILES:=orion.c,\ LANG:=C++,\ OPTIMIZATION:=HIGH, \ CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\ CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\ CFLAGS_windows=-DCC_NOEX, \ CXXFLAGS_windows=-DCC_NOEX, \ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\ LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\ LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=t2k.dll" \ -D "JDK_INTERNAL_NAME=t2k" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) # t2k is linked against fontmanager $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER) BUILD_LIBRARIES += $(BUILD_LIBT2K) endif ########################################################################################## ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(OPENJDK_TARGET_CPU), x86) KERNEL32_LIB:=kernel32.lib endif $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\ LIBRARY:=jawt, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\ INCLUDE_FILES:=jawt.cpp,\ LANG:=C++,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CXXFLAGS_JDKLIB) \ -EHsc -DUNICODE -D_UNICODE \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \ -I$(DXSDK_INCLUDE_PATH), \ LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \ advapi32.lib $(WIN_AWT_LIB),\ LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=jawt.dll" \ -D "JDK_INTERNAL_NAME=jawt" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBJAWT) : $(BUILD_LIBAWT) $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT) $(ECHO) Copying $(@F) $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@ BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) else # OPENJDK_TARGET_OS not windows JAWT_LIBS:= ifneq ($(OPENJDK_TARGET_OS), solaris) JAWT_LIBS += -lawt endif ifndef BUILD_HEADLESS_ONLY JAWT_LIBS += -lawt_xawt else JAWT_LIBS += -lawt_headless HEADLESS_CFLAG += -DHEADLESS endif JAWT_FILES:=jawt.c ifeq ($(OPENJDK_TARGET_OS), macosx) JAWT_FILES:=jawt.m JAWT_LIBS:=-lawt_lwawt endif $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\ LIBRARY:=jawt, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \ $(JDK_TOPDIR)/src/macosx/native/sun/awt,\ INCLUDE_FILES:=$(JAWT_FILES),\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB), \ CFLAGS_linux:=$(HEADLESS_CFLAG),\ CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\ LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\ LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\ LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \ -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt)) ifndef BUILD_HEADLESS_ONLY $(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT) else $(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX) endif ifeq ($(OPENJDK_TARGET_OS),macosx) $(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX) endif endif # OPENJDK_TARGET_OS BUILD_LIBRARIES += $(BUILD_LIBJAWT) ########################################################################################## LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument LIBINSTRUMENT_FILES :=\ EncodingSupport.c \ EncodingSupport_md.c \ FileSystemSupport_md.c \ InstrumentationImplNativeMethods.c \ InvocationAdapter.c \ JarFacade.c \ JPLISAgent.c \ JPLISAssert.c \ JavaExceptions.c \ PathCharsValidator.c \ Reentrancy.c \ Utilities.c \ canonicalize_md.c LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/instrument \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \ -I$(JDK_TOPDIR)/src/share/bin LIBINSTRUMENT_LDFLAGS:= LIBINSTRUMENT_LDFLAGS_SUFFIX:= ifeq ($(OPENJDK_TARGET_OS), windows) LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \ -export:Agent_OnAttach advapi32.lib # Statically link the C runtime so that there are not dependencies on modules # not on the search patch when invoked from the Windows system directory # (or elsewhere). LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS)) # equivalent of strcasecmp is stricmp on Windows LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp endif $(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\ LIBRARY:=instrument, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBINSTRUMENT_SRC),\ INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\ CFLAGS_debug:=-DJPLIS_LOGGING,\ CFLAGS_release:=-DNO_JPLIS_LOGGING,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN) \ $(LIBINSTRUMENT_LDFLAGS),\ LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\ LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\ LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \ -framework Cocoa -framework Security -framework ApplicationServices,\ LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\ LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\ LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\ LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=instrument.dll" \ -D "JDK_INTERNAL_NAME=instrument" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\ DEBUG_SYMBOLS:=true)) ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows)) $(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX) else $(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX) endif $(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT) ########################################################################################## BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management BUILD_LIBMANAGEMENT_EXCLUDES:= BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management ifneq ($(OPENJDK_TARGET_OS), windows) BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c else BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c endif ifneq ($(OPENJDK_TARGET_OS),solaris) BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c endif ifneq ($(OPENJDK_TARGET_OS),linux) BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c endif ifneq ($(OPENJDK_TARGET_OS),macosx) BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c endif LIBMANAGEMENT_OPTIMIZATION:=HIGH ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),) ifeq ($(ENABLE_DEBUG_SYMBOLS), true) LIBMANAGEMENT_OPTIMIZATION:=LOW endif endif $(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\ LIBRARY:=management,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(BUILD_LIBMANAGEMENT_SRC),\ EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\ LANG:=C,\ OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \ CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_solaris:=-lkstat,\ LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\ LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=management.dll" \ -D "JDK_INTERNAL_NAME=management" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\ DEBUG_SYMBOLS:=true)) $(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT) ########################################################################################## BUILD_LIBHPROF_SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \ -I$(JDK_TOPDIR)/src/share/npt \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \ -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo BUILD_LIBHPROF_LDFLAGS:= LIBHPROF_OPTIMIZATION:=HIGHEST ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),) ifeq ($(ENABLE_DEBUG_SYMBOLS), true) LIBHPROF_OPTIMIZATION:=LOW endif endif $(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\ LIBRARY:=hprof, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(BUILD_LIBHPROF_SRC),\ LANG:=C,\ OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(BUILD_LIBHPROF_CFLAGS),\ CFLAGS_debug:=-DHPROF_LOGGING,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\ LDFLAGS_SUFFIX_linux:=$(LIBDL),\ LDFLAGS_SUFFIX_macosx:=$(LIBDL),\ LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=hprof.dll" \ -D "JDK_INTERNAL_NAME=hprof" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\ DEBUG_SYMBOLS:=true)) BUILD_LIBRARIES += $(BUILD_LIBHPROF) ########################################################################################## $(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\ LIBRARY:=java_crw_demo, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_solaris:=-lc,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=java_crw_demo.dll" \ -D "JDK_INTERNAL_NAME=java_crw_demo" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\ DEBUG_SYMBOLS:=true)) BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO) ########################################################################################## $(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\ LIBRARY:=npt, \ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/npt \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_macosx:=-liconv,\ LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\ LDFLAGS_SUFFIX_solaris:=-lc, \ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=npt.dll" \ -D "JDK_INTERNAL_NAME=npt" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\ DEBUG_SYMBOLS:=true)) BUILD_LIBRARIES += $(BUILD_LIBNPT) ########################################################################################## LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi ifeq ($(OPENJDK_TARGET_OS),windows) LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm else LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp endif LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir)) LIBNET_EXCLUDE_FILES:= ifneq ($(OPENJDK_TARGET_OS),linux) LIBNET_EXCLUDE_FILES += linux_close.c endif ifneq ($(OPENJDK_TARGET_OS),macosx) LIBNET_EXCLUDE_FILES += bsd_close.c endif ifeq ($(OPENJDK_TARGET_OS),windows) LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c else LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \ TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \ NTLMAuthSequence.c NetworkInterface_winXP.c endif $(eval $(call SetupNativeCompilation,BUILD_LIBNET,\ LIBRARY:=net,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBNET_SRC_DIRS),\ EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(LIBNET_CFLAGS),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\ LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\ LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\ LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \ delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \ -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=net.dll" \ -D "JDK_INTERNAL_NAME=net" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBNET) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBNET) $(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties $(ECHO) $(LOG_INFO) Copying $(@F) $(MKDIR) -p $(@D) $(CP) $< $@ COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties ifeq ($(OPENJDK_TARGET_OS), solaris) $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template $(ECHO) $(LOG_INFO) Copying $(@F) $(MKDIR) -p $(@D) $(CP) $< $@ COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template endif ########################################################################################## BUILD_LIBNIO_SRC:=\ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs BUILD_LIBNIO_CFLAGS:=\ -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \ -I$(JDK_TOPDIR)/src/share/native/java/io \ -I$(JDK_TOPDIR)/src/share/native/java/net \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net BUILD_LIBNIO_FILES:=\ DatagramChannelImpl.c \ DatagramDispatcher.c \ FileChannelImpl.c \ FileDispatcherImpl.c \ FileKey.c \ IOUtil.c \ MappedByteBuffer.c \ Net.c \ ServerSocketChannelImpl.c \ SocketChannelImpl.c \ SocketDispatcher.c ifeq ($(OPENJDK_TARGET_OS), windows) BUILD_LIBNIO_FILES += \ Iocp.c \ RegistryFileTypeDetector.c \ WindowsAsynchronousFileChannelImpl.c \ WindowsAsynchronousServerSocketChannelImpl.c \ WindowsAsynchronousSocketChannelImpl.c \ WindowsNativeDispatcher.c \ WindowsSelectorImpl.c endif ifeq ($(OPENJDK_TARGET_OS), linux) BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) BUILD_LIBNIO_FILES += \ EPoll.c \ EPollArrayWrapper.c \ EPollPort.c \ InheritedChannel.c \ NativeThread.c \ PollArrayWrapper.c \ UnixAsynchronousServerSocketChannelImpl.c \ UnixAsynchronousSocketChannelImpl.c \ GnomeFileTypeDetector.c \ MagicFileTypeDetector.c \ LinuxNativeDispatcher.c \ LinuxWatchService.c \ UnixCopyFile.c \ UnixNativeDispatcher.c endif ifeq ($(OPENJDK_TARGET_OS), macosx) BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch BUILD_LIBNIO_FILES += \ InheritedChannel.c \ NativeThread.c \ PollArrayWrapper.c \ UnixAsynchronousServerSocketChannelImpl.c \ UnixAsynchronousSocketChannelImpl.c \ BsdNativeDispatcher.c \ MacOSXNativeDispatcher.c \ UnixCopyFile.c \ UnixNativeDispatcher.c \ KQueue.c \ KQueuePort.c \ KQueueArrayWrapper.c endif ifeq ($(OPENJDK_TARGET_OS), solaris) BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) BUILD_LIBNIO_FILES += \ DevPollArrayWrapper.c \ InheritedChannel.c \ NativeThread.c \ PollArrayWrapper.c \ SolarisEventPort.c \ UnixAsynchronousServerSocketChannelImpl.c \ UnixAsynchronousSocketChannelImpl.c \ GnomeFileTypeDetector.c \ SolarisNativeDispatcher.c \ SolarisWatchService.c \ UnixCopyFile.c \ UnixNativeDispatcher.c endif $(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\ LIBRARY:=nio,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(BUILD_LIBNIO_SRC),\ INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \ LANG:=C,\ OPTIMIZATION:=HIGH, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(BUILD_LIBNIO_CFLAGS),\ MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \ LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\ LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \ -lsendfile -ljava -lnet -lc,\ LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \ $(JDK_OUTPUTDIR)/objs/libnet/net.lib \ $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \ $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj \ advapi32.lib,\ LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\ LDFLAGS_SUFFIX:=,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=nio.dll" \ -D "JDK_INTERNAL_NAME=nio" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBNIO) $(BUILD_LIBNIO) : $(BUILD_LIBNET) ########################################################################################## ifeq ($(OPENJDK_TARGET_OS_API),posix) ifneq ($(OPENJDK_TARGET_OS),macosx) SCTP_WERROR := -Werror ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc) SCTP_WERROR := endif $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\ LIBRARY:=sctp,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB)\ -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \ -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \ -I$(JDK_TOPDIR)/src/share/native/java/net \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\ CFLAGS_linux:=$(SCTP_WERROR),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\ LDFLAGS_SUFFIX_posix:=-lnio -lnet,\ LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\ LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp)) BUILD_LIBRARIES += $(BUILD_LIBSCTP) $(BUILD_LIBSCTP) : $(BUILD_LIBNIO) endif endif ########################################################################################## BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir)) BUILD_LIBJLI_FILES:=\ java.c \ splashscreen_stubs.c \ parse_manifest.c \ version_comp.c \ wildcard.c \ jli_util.c ifeq ($(JVM_VARIANT_ZERO), true) ERGO_FAMILY:=zero else ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86) ERGO_FAMILY:=i586 else ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH) endif endif ifeq ($(OPENJDK_TARGET_OS), macosx) LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c endif ifeq ($(OPENJDK_TARGET_OS), windows) BUILD_LIBJLI_FILES += java_md.c \ cmdtoargs.c # Staticically link with c runtime on windows. LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS)) else ifneq ($(OPENJDK_TARGET_OS), macosx) BUILD_LIBJLI_FILES += java_md_common.c BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c # if the architecture specific ergo file exists then # use it, else use the generic definitions from ergo.c ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),) BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE) else # !ERGO_ARCH_FILE LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO endif # ERGO_ARCH_FILE endif #WINDOWS # Append defines depending on target platform LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS) ifeq ($(OPENJDK_TARGET_OS), macosx) LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" endif ifneq ($(USE_EXTERNAL_LIBZ),true) BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS) BUILD_LIBJLI_FILES += \ inflate.c \ inftrees.c \ inffast.c \ zadler32.c \ zcrc32.c \ zutil.c endif ifeq ($(OPENJDK_TARGET_OS), windows) LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE) else LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli endif $(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\ LIBRARY:=jli,\ OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\ SRC:=$(BUILD_LIBJLI_SRC_DIRS),\ INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\ LANG:=C,\ OPTIMIZATION:=HIGH, \ CFLAGS:=$(LIBJLI_CFLAGS),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\ LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\ LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\ LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\ LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\ LDFLAGS_SUFFIX_macosx:=$(LIBZ),\ LDFLAGS_SUFFIX_windows:=\ -export:JLI_Launch \ -export:JLI_ManifestIterate \ -export:JLI_SetTraceLauncher \ -export:JLI_ReportErrorMessage \ -export:JLI_ReportErrorMessageSys \ -export:JLI_ReportMessage \ -export:JLI_ReportExceptionDescription \ -export:JLI_MemAlloc \ -export:JLI_CmdToArgs \ -export:JLI_GetStdArgc \ -export:JLI_GetStdArgs \ advapi32.lib \ comctl32.lib \ user32.lib,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS) \ -D "JDK_FNAME=jli.dll" \ -D "JDK_INTERNAL_NAME=jli" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBJLI) # On windows, the static library has the same suffix as the import library created by # with the shared library, so the static library is given a different name. No harm # in doing it for all platform to reduce complexity. ifeq ($(OPENJDK_TARGET_OS), windows) $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\ STATIC_LIBRARY:=jli_static,\ OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\ SRC:=$(BUILD_LIBJLI_SRC_DIRS),\ INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\ LANG:=C,\ OPTIMIZATION:=HIGH, \ CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\ ARFLAGS:=$(ARFLAGS),\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static)) BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC) else ifeq ($(OPENJDK_TARGET_OS),macosx) # # On macosx they do partial (incremental) linking of libjli_static.a # code it here...rather than add support to NativeCompilation # as this is first time I see it $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\ LIBRARY:=jli_static, \ OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\ SRC:=$(BUILD_LIBJLI_SRC_DIRS),\ INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\ LANG:=C,\ OPTIMIZATION:=HIGH, \ CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\ LDFLAGS:=-nostdlib -r,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static)) $(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC) $(CP) -a $< $@ BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a endif ########################################################################################## ifndef OPENJDK ifeq ($(ENABLE_JFR), true) $(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\ LIBRARY:=jfr,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_solaris:=-lc,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=jfr.dll" \ -D "JDK_INTERNAL_NAME=jfr" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBJFR) endif endif ########################################################################################## ifndef OPENJDK BUILD_LIBKCMS_EXCLUDE_FILES:= ifeq ($(OPENJDK_TARGET_OS),windows) BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c else BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c endif BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB) ifeq ($(OPENJDK_TARGET_OS),solaris) # This particular library uses a feature called PIC_CODE_SMALL (on solaris) # implement it like this...since it's only used here BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS)) else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc) BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS)) endif $(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\ LIBRARY:=kcms,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\ LANG:=C,\ EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\ OPTIMIZATION:=LOW, \ CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \ -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\ CFLAGS_linux:=-Wno-missing-field-initializers,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_linux:=-lc -lpthread,\ LDFLAGS_SUFFIX_solaris:=-lc,\ LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \ LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=kcms.dll" \ -D "JDK_INTERNAL_NAME=kcms" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBKCMS) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBKCMS) endif ########################################################################################## ifndef OPENJDK ifeq ($(OPENJDK_TARGET_OS), solaris) ifneq ($(OPENJDK_TARGET_CPU), x86_64) ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok) SUNWJDGA_MAPFILE:= ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc) SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers endif $(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \ LIBRARY:=sunwjdga,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \ LANG:=C, \ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/javavm/export \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \ -I$(OPENWIN_HOME)/include, \ MAPFILE:=$(SUNWJDGA_MAPFILE), \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX:=-L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga)) BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA) endif endif endif endif ########################################################################################## ifeq ($(BUILD_HEADLESS), true) ifneq ($(OPENJDK_TARGET_OS), windows) LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \ $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ $(JDK_TOPDIR)/src/solaris/native/sun/font \ $(JDK_TOPDIR)/src/solaris/native/sun/awt \ $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \ $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11 LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \ -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \ $(CUPS_CFLAGS) \ $(X_CFLAGS) \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \ $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir)) LIBAWT_HEADLESS_FILES:=\ awt_Font.c \ HeadlessToolkit.c \ fontpath.c \ VDrawingArea.c \ X11Color.c \ X11Renderer.c \ X11PMBlitLoops.c \ X11SurfaceData.c \ X11FontScaler_md.c \ X11TextRenderer_md.c \ OGLBlitLoops.c \ OGLBufImgOps.c \ OGLContext.c \ OGLFuncs.c \ OGLMaskBlit.c \ OGLMaskFill.c \ OGLPaints.c \ OGLRenderQueue.c \ OGLRenderer.c \ OGLSurfaceData.c \ OGLTextRenderer.c \ OGLVertexCache.c \ GLXGraphicsConfig.c \ GLXSurfaceData.c \ AccelGlyphCache.c \ CUPSfuncs.c LIBAWT_HEADLESS_REORDER:= ifeq ($(OPENJDK_TARGET_OS), solaris) ifneq ($(OPENJDK_TARGET_CPU), x86_64) LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU) endif endif $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\ LIBRARY:=awt_headless,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBAWT_HEADLESS_DIRS),\ INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\ LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \ -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \ -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\ LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\ REORDER:=$(LIBAWT_HEADLESS_REORDER), \ LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\ LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\ LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless)) $(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT) BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS) endif endif ########################################################################################## ifndef BUILD_HEADLESS_ONLY LIBSPLASHSCREEN_DIRS:=\ $(JDK_TOPDIR)/src/share/native/sun/awt/giflib \ $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \ $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \ $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen ifneq ($(OPENJDK_TARGET_OS), macosx) LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen else LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen endif LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \ $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir)) ifeq ($(OPENJDK_TARGET_OS), macosx) LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \ $(LIBSPLASHSCREEN_CFLAGS) \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0 else ifneq ($(OPENJDK_TARGET_OS), windows) LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions else LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32 endif LIBSPLASHSCREEN_LDFLAGS_SUFFIX:= ifneq ($(USE_EXTERNAL_LIBZ),true) LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS) endif ifeq ($(OPENJDK_TARGET_OS), macosx) LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \ -framework ApplicationServices \ -framework Foundation \ -framework Cocoa \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -framework JavaNativeFoundation else ifneq ($(OPENJDK_TARGET_OS), windows) LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread else # OPENJDK_TARGET_OS LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll endif # OPENJDK_TARGET_OS $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\ LIBRARY:=splashscreen,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBSPLASHSCREEN_DIRS),\ EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\ LDFLAGS_SUFFIX_solaris:=-lc,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=splashscreen.dll" \ -D "JDK_INTERNAL_NAME=splashscreen" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(LIBSPLASHSCREEN) ifeq ($(OPENJDK_TARGET_OS),macosx) $(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX) endif endif ########################################################################################## ifndef OPENJDK LIBDCPR_SRC_DIRS:=\ $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \ $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \ $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \ $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\ LIBRARY:=dcpr,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBDCPR_SRC_DIRS),\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(LIBDCPR_CFLAGS), \ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\ LDFLAGS_SUFFIX_posix:=-lm,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=dcpr.dll" \ -D "JDK_INTERNAL_NAME=dcpr" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBDCPR) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBDCPR) endif ########################################################################################## $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\ LIBRARY:=j2pcsc,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\ LANG:=C,\ CFLAGS_posix:=-D__sun_jdk,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_posix:=$(LIBDL), \ LDFLAGS_SUFFIX_windows:=winscard.lib,\ LDFLAGS_SUFFIX_solaris:=-lc,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=j2pcsc.dll" \ -D "JDK_INTERNAL_NAME=j2pcsc" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC) ########################################################################################## ifneq ($(OPENJDK_TARGET_OS), windows) ifneq ($(OPENJDK_TARGET_OS), macosx) $(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\ LIBRARY:=j2gss,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX:=$(LIBDL),\ LDFLAGS_SUFFIX_solaris:=-lc,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss)) BUILD_LIBRARIES += $(BUILD_LIBJ2GSS) endif endif ########################################################################################## BUILD_LIBKRB5_NAME:= ifeq ($(OPENJDK_TARGET_OS), windows) BUILD_LIBKRB5_NAME:=w2k_lsa_auth BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \ gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \ ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib else ifeq ($(OPENJDK_TARGET_OS), macosx) BUILD_LIBKRB5_NAME:=osxkrb5 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5 BUILD_LIBKRB5_LIBS:=-framework Kerberos endif ifneq ($(BUILD_LIBKRB5_NAME),) $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\ LIBRARY:=$(BUILD_LIBKRB5_NAME),\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(BUILD_LIBKRB5_SRC),\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \ -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBKRB5) endif ########################################################################################## ifeq ($(OPENJDK_TARGET_OS), windows) $(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\ LIBRARY:=sunmscapi,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\ LANG:=C++,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\ LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=sunmscapi.dll" \ -D "JDK_INTERNAL_NAME=sunmscapi" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI) endif ########################################################################################## $(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\ LIBRARY:=j2pkcs11,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \ $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \ -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX_posix:=$(LIBDL),\ LDFLAGS_SUFFIX_solaris:=-lc,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=j2pkcs11.dll" \ -D "JDK_INTERNAL_NAME=j2pkcs11" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11) ########################################################################################## ifeq ($(ENABLE_INTREE_EC),yes) BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \ -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl # # On sol-sparc...all libraries are compiled with -xregs=no%appl # (set in CFLAGS_REQUIRED_sparc) # # except!!! libsunec.so # ECC_JNI_SOLSPARC_FILTER:= ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc) ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl endif $(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\ LIBRARY:=sunec,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \ $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \ LANG:=C++, \ OPTIMIZATION:=LOW, \ CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\ $(BUILD_LIBSUNEC_FLAGS) \ -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\ CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \ $(BUILD_LIBSUNEC_FLAGS),\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\ LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX:=$(LIBCXX),\ LDFLAGS_SUFFIX_linux:=-lc ,\ LDFLAGS_SUFFIX_solaris:=-lc ,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=sunec.dll" \ -D "JDK_INTERNAL_NAME=sunec" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) BUILD_LIBRARIES += $(BUILD_LIBSUNEC) endif ########################################################################################## LIBJSOUND_SRC_DIRS:=\ $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound LIBJSOUND_SRC_FILES:=Utilities.c Platform.c LIBJSOUND_LANG:=C LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir)) EXTRA_SOUND_JNI_LIBS:= LIBJSOUND_MIDIFILES:=\ MidiInDevice.c \ MidiInDeviceProvider.c \ MidiOutDevice.c \ MidiOutDeviceProvider.c \ PlatformMidi.c # files needed for ports LIBJSOUND_PORTFILES:=\ PortMixerProvider.c \ PortMixer.c # files needed for direct audio LIBJSOUND_DAUDIOFILES:=\ DirectAudioDeviceProvider.c \ DirectAudioDevice.c ifeq ($(OPENJDK_TARGET_OS), windows) EXTRA_SOUND_JNI_LIBS += jsoundds LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \ -DUSE_PLATFORM_MIDI_OUT=TRUE \ -DUSE_PLATFORM_MIDI_IN=TRUE \ -DUSE_PORTS=TRUE LIBJSOUND_SRC_FILES += \ PLATFORM_API_WinOS_MidiIn.cpp \ PLATFORM_API_WinOS_MidiOut.c \ PLATFORM_API_WinOS_Util.c \ PLATFORM_API_WinOS_Ports.c LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) endif # OPENJDK_TARGET_OS windows ifeq ($(OPENJDK_TARGET_OS), linux) EXTRA_SOUND_JNI_LIBS += jsoundalsa LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX endif # OPENJDK_TARGET_OS linux ifeq ($(OPENJDK_TARGET_OS), macosx) LIBJSOUND_LANG:=C++ LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \ -DUSE_PORTS=TRUE \ -DUSE_DAUDIO=TRUE \ -DUSE_PLATFORM_MIDI_OUT=TRUE \ -DUSE_PLATFORM_MIDI_IN=TRUE LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound LIBJSOUND_SRC_FILES += \ PLATFORM_API_MacOSX_Utils.cpp \ PLATFORM_API_MacOSX_PCM.cpp \ PLATFORM_API_MacOSX_Ports.cpp \ PLATFORM_API_MacOSX_MidiIn.c \ PLATFORM_API_MacOSX_MidiOut.c \ PLATFORM_API_MacOSX_MidiUtils.c LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES) endif # OPENJDK_TARGET_OS macosx ifeq ($(OPENJDK_TARGET_OS), solaris) LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \ -DUSE_PORTS=TRUE \ -DUSE_DAUDIO=TRUE LIBJSOUND_SRC_FILES += \ PLATFORM_API_SolarisOS_Utils.c \ PLATFORM_API_SolarisOS_Ports.c \ PLATFORM_API_SolarisOS_PCM.c LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES) LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES) LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES) endif # OPENJDK_TARGET_OS solaris ifeq ($(JVM_VARIANT_ZERO), true) LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO else ifeq ($(OPENJDK_TARGET_CPU), x86) LIBJSOUND_CFLAGS += -DX_ARCH=X_I586 endif ifeq ($(OPENJDK_TARGET_CPU), sparc) LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC endif ifeq ($(OPENJDK_TARGET_CPU), sparcv9) LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9 endif ifeq ($(OPENJDK_TARGET_CPU), x86_64) LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64 endif ifeq ($(OPENJDK_TARGET_CPU), arm) LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM endif ifeq ($(OPENJDK_TARGET_CPU), ppc) LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC endif endif LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"' $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\ LIBRARY:=jsound,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBJSOUND_SRC_DIRS),\ INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\ LANG:=$(LIBJSOUND_LANG),\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(LIBJSOUND_CFLAGS), \ CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB)\ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \ -framework CoreServices -framework AudioUnit $(LIBCXX) \ -framework CoreMIDI -framework AudioToolbox,\ LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\ LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\ LDFLAGS_SUFFIX_solaris:=-lc ,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=jsound.dll" \ -D "JDK_INTERNAL_NAME=jsound" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBJSOUND) ########################################################################################## ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),) $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\ LIBRARY:=jsoundalsa,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBJSOUND_SRC_DIRS),\ INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \ $(LIBJSOUND_DAUDIOFILES) \ PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \ PLATFORM_API_LinuxOS_ALSA_PCM.c \ PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \ PLATFORM_API_LinuxOS_ALSA_MidiIn.c \ PLATFORM_API_LinuxOS_ALSA_MidiOut.c \ PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \ PLATFORM_API_LinuxOS_ALSA_Ports.c,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(LIBJSOUND_CFLAGS) \ -DUSE_DAUDIO=TRUE \ -DUSE_PORTS=TRUE \ -DUSE_PLATFORM_MIDI_OUT=TRUE \ -DUSE_PLATFORM_MIDI_IN=TRUE, \ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB)\ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX:=-lasound -ljava -ljvm,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa)) $(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA) endif ########################################################################################## ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),) $(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\ LIBRARY:=jsoundds,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBJSOUND_SRC_DIRS),\ INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \ PLATFORM_API_WinOS_DirectSound.cpp, \ LANG:=C++,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(LIBJSOUND_CFLAGS) \ -DUSE_DAUDIO=TRUE \ -I$(DXSDK_INCLUDE_PATH), \ LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \ $(call SET_SHARED_LIBRARY_ORIGIN),\ LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\ VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\ RC_FLAGS:=$(RC_FLAGS)\ -D "JDK_FNAME=jsoundds.dll" \ -D "JDK_INTERNAL_NAME=jsoundds" \ -D "JDK_FTYPE=0x2L",\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\ DEBUG_SYMBOLS:=$(WINDOWS_ONLY))) $(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS) endif ########################################################################################## ifeq ($(OPENJDK_TARGET_OS), solaris) ifndef OPENJDK $(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\ LIBRARY:=j2ucrypto,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\ MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \ LDFLAGS:=$(LDFLAGS_JDKLIB),\ LDFLAGS_SUFFIX:=$(LIBDL),\ LDFLAGS_SUFFIX_solaris:=-lc,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto)) $(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO) endif endif ########################################################################################## ifeq ($(OPENJDK_TARGET_OS), macosx) $(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\ LIBRARY:=AppleScriptEngine,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \ LDFLAGS:=$(LDFLAGS_JDKLIB)\ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX:=-framework Cocoa \ -framework Carbon \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -framework JavaNativeFoundation \ $(LDFLAGS_JDKLIB_SUFFIX),\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine)) $(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA) BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE) endif ########################################################################################## ifeq ($(OPENJDK_TARGET_OS), macosx) $(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\ LIBRARY:=osxapp,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\ LDFLAGS:=$(LDFLAGS_JDKLIB)\ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_macosx:=\ -framework Accelerate \ -framework ApplicationServices \ -framework AudioToolbox \ -framework Carbon \ -framework Cocoa \ -framework Security \ -framework ExceptionHandling \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -framework JavaNativeFoundation \ -framework JavaRuntimeSupport \ -framework OpenGL \ -framework IOSurface \ -framework QuartzCore, \ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp)) BUILD_LIBRARIES += $(BUILD_LIBOSXAPP) endif ########################################################################################## ifeq ($(OPENJDK_TARGET_OS), macosx) LIBOSX_DIRS:=\ $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \ $(JDK_TOPDIR)/src/macosx/native/java/util \ $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \ $(JDK_TOPDIR)/src/macosx/native/apple/security \ $(JDK_TOPDIR)/src/macosx/native/apple/launcher $(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\ LIBRARY:=osx,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBOSX_DIRS),\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \ -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\ LDFLAGS:=$(LDFLAGS_JDKLIB)\ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_macosx:=\ -losxapp \ -framework Cocoa \ -framework ApplicationServices \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -framework JavaNativeFoundation \ -framework JavaRuntimeSupport \ -framework Security \ -framework SystemConfiguration \ $(LDFLAGS_JDKLIB_SUFFIX), \ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx)) BUILD_LIBRARIES += $(BUILD_LIBOSX) $(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP) $(BUILD_LIBOSX) : $(BUILD_LIBJAVA) endif ########################################################################################## ifeq ($(OPENJDK_TARGET_OS), macosx) LIBAWT_LWAWT_FILES:=\ awt.m \ ApplicationDelegate.m \ CFRetainedResource.m \ CGLGraphicsConfig.m \ CGLSurfaceData.m \ CGLLayer.m \ CGraphicsConfig.m \ CGraphicsDevice.m \ CGraphicsEnv.m \ CCharToGlyphMapper.m \ CSystemColors.m \ AWTFont.m \ CGGlyphOutlines.m \ CGGlyphImages.m \ CoreTextSupport.m \ AWTStrike.m \ InitIDs.m \ AWTEvent.m \ AWTView.m \ AWTWindow.m \ AWTSurfaceLayers.m \ CCursorManager.m \ CClipboard.m \ CDataTransferer.m \ CDragSource.m \ CDragSourceContextPeer.m \ CDropTarget.m \ CDropTargetContextPeer.m \ CInputMethod.m \ CDesktopPeer.m \ OSVersion.m \ DnDUtilities.m \ CFileDialog.m \ CImage.m \ CMenu.m \ CMenuBar.m \ CMenuComponent.m \ CMenuItem.m \ CPopupMenu.m \ CRobot.m \ CTrayIcon.m \ CWrapper.m \ JavaAccessibilityAction.m \ JavaAccessibilityUtilities.m \ JavaComponentAccessibility.m \ JavaTextAccessibility.m \ LWCToolkit.m \ GeomUtilities.m \ CPrinterJob.m \ PrintModel.m \ PrinterSurfaceData.m \ PrinterView.m \ QuartzSurfaceData.m \ QuartzRenderer.m \ CTextPipe.m \ ImageSurfaceData.m \ awt_DrawingSurface.m \ \ OGLBlitLoops.c \ OGLBufImgOps.c \ OGLContext.c \ OGLFuncs.c \ OGLMaskBlit.c \ OGLMaskFill.c \ OGLPaints.c \ OGLRenderQueue.c \ OGLRenderer.c \ OGLSurfaceData.c \ OGLTextRenderer.c \ OGLVertexCache.c \ AccelGlyphCache.c \ CUPSfuncs.c LIBAWT_LWAWT_DIRS:=\ $(JDK_TOPDIR)/src/macosx/native/sun/awt \ $(JDK_TOPDIR)/src/macosx/native/sun/font \ $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \ $(JDK_TOPDIR)/src/solaris/native/sun/awt \ $(JDK_TOPDIR)/src/share/native/sun/font \ $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \ $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\ LIBRARY:=awt_lwawt,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(LIBAWT_LWAWT_DIRS),\ LANG:=C,\ INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ $(X_CFLAGS) \ $(X_LIBS) \ $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \ -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d \ -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \ -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \ -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\ LDFLAGS:=$(LDFLAGS_JDKLIB)\ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \ -framework Accelerate \ -framework ApplicationServices \ -framework AudioToolbox \ -framework Carbon \ -framework Cocoa \ -framework Security \ -framework ExceptionHandling \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -framework JavaNativeFoundation \ -framework JavaRuntimeSupport \ -framework OpenGL \ -framework QuartzCore -ljava,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt)) BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT) $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT) $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE) $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP) $(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA) endif ########################################################################################## ifeq ($(OPENJDK_TARGET_OS), macosx) $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\ LIBRARY:=osxui,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=$(CFLAGS_JDKLIB) \ -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \ -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \ -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \ LDFLAGS:=$(LDFLAGS_JDKLIB)\ $(call SET_SHARED_LIBRARY_ORIGIN) \ -Xlinker -rpath -Xlinker @loader_path,\ LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \ -framework Cocoa \ -framework Carbon \ -framework ApplicationServices \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -framework JavaNativeFoundation \ -framework JavaRuntimeSupport \ -ljava -ljvm,\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui)) BUILD_LIBRARIES += $(BUILD_LIBOSXUI) $(BUILD_LIBOSXUI) : $(BUILD_LIBAWT) $(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP) $(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT) #$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA) endif ########################################################################################## ifeq ($(OPENJDK_TARGET_OS), macosx) # Ugly hack to mimic behaviour in old build where this is built as an xcode project. SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib $(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\ LIBRARY:=JObjC,\ OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\ SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \ $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=-fpascal-strings \ -fobjc-gc \ -gdwarf-2 \ $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -m32,\ LDFLAGS:=$(LDFLAGS_JDKLIB)\ -m32, \ LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -framework JavaNativeFoundation \ -lffi, \ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32)) $(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\ LIBRARY:=JObjC,\ OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\ SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \ $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\ LANG:=C,\ OPTIMIZATION:=LOW, \ CFLAGS:=-fpascal-strings \ -fobjc-gc \ -gdwarf-2 \ $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ , \ LDFLAGS:=-fpascal-strings \ -fobjc-gc \ -gdwarf-2 \ $(LDFLAGS_JDKLIB)\ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \ -F/System/Library/Frameworks/JavaVM.framework/Frameworks \ -framework JavaNativeFoundation \ -lffi, \ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64)) $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64) $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64) BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX) endif ########################################################################################## ifndef OPENJDK ifeq ($(OPENJDK_TARGET_OS), windows) ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge define SetupAccessBridge # Parameter 1 Suffix # Parameter 2 Machine # Parameter 3 ACCESSBRIDGE_ARCH_ suffix $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\ LIBRARY=JAWTAccessBridge$1,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(ACCESSBRIDGE_SRCDIR),\ INCLUDE_FILES:=JAWTAccessBridge.cpp,\ LANG:=C++,\ OPTIMIZATION:=LOW,\ CFLAGS:=$(CFLAGS_JDKLIB) \ -DACCESSBRIDGE_ARCH_$3,\ LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \ ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ -subsystem:windows -machine:$2 \ -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\ VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\ RC_FLAGS:=$(RC_FLAGS),\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\ DEBUG_SYMBOLS:=true) $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\ LIBRARY=JavaAccessBridge$1,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(ACCESSBRIDGE_SRCDIR),\ INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \ AccessBridgeJavaEntryPoints.cpp \ AccessBridgeMessages.cpp JavaAccessBridge.cpp,\ LANG:=C++,\ OPTIMIZATION:=LOW,\ CFLAGS:=$(CFLAGS_JDKLIB) \ -DACCESSBRIDGE_ARCH_$3,\ LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ winspool.lib comdlg32.lib advapi32.lib shell32.lib \ ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ -subsystem:windows -machine:$2 \ -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\ VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\ RC_FLAGS:=$(RC_FLAGS),\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\ DEBUG_SYMBOLS:=true) $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\ LIBRARY=WindowsAccessBridge$1,\ OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\ SRC:=$(ACCESSBRIDGE_SRCDIR),\ INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \ AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \ WinAccessBridge.cpp AccessBridgeDebug.cpp \ AccessBridgeEventHandler.cpp,\ LANG:=C++,\ OPTIMIZATION:=LOW,\ CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \ -DACCESSBRIDGE_ARCH_$3,\ LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \ winspool.lib comdlg32.lib advapi32.lib shell32.lib \ ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ -subsystem:windows -machine:$2 \ -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\ VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\ RC_FLAGS:=$(RC_FLAGS),\ OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\ DEBUG_SYMBOLS:=true) BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \ $$(BUILD_WINDOWSACCESSBRIDGE$1) endef ifeq ($(OPENJDK_TARGET_CPU_BITS),32) $(eval $(call SetupAccessBridge,-32,I386,32)) $(eval $(call SetupAccessBridge,,I386,LEGACY)) else $(eval $(call SetupAccessBridge,-64,X64,64)) endif endif endif ########################################################################################## all: $(COPY_FILES) $(BUILD_LIBRARIES) .PHONY: all