blob: 2ab8f8b1eea2df972c4434a783b2c650992077c3 [file] [log] [blame]
ohair92de5662012-04-10 08:22:03 -07001#
2# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
7# published by the Free Software Foundation. Oracle designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Oracle in the LICENSE file that accompanied this code.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
26defalt: all
27
28include $(SPEC)
29include MakeBase.gmk
30include NativeCompilation.gmk
31
32# Setup the java compilers for the JDK build.
33include Setup.gmk
34
35# Copy files (can now depend on $(COPY_FILES))
36include CopyFiles.gmk
37
erikjaf85fc42012-07-03 16:10:44 -070038# Build tools
39include Tools.gmk
40
ohair92de5662012-04-10 08:22:03 -070041# Include the javah generated headers.
42CFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
43CXXFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
44
erikjaf85fc42012-07-03 16:10:44 -070045# Put the libraries here. Different locations for different target apis.
46ifeq ($(OPENJDK_TARGET_OS_API),posix)
ohair46fcac92012-09-18 11:29:24 -070047 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)
ohair92de5662012-04-10 08:22:03 -070048else
49 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
50endif
51
ohair92de5662012-04-10 08:22:03 -070052BUILD_LIBRARIES=
53
erikjaf85fc42012-07-03 16:10:44 -070054# Absolute paths to lib files on windows for use in LDFLAGS. Should figure out a more
55# elegant solution to this.
56WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
57WIN_JAVA_LIB := $(JDK_OUTPUTDIR)/objs/libjava/java.lib
58WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib
ohair92de5662012-04-10 08:22:03 -070059
ohair46fcac92012-09-18 11:29:24 -070060# Use this variable to set DEBUG_SYMBOLS true on windows for all libraries, but
61# not on other platforms.
62ifeq ($(OPENJDK_TARGET_OS), windows)
63 WINDOWS_ONLY := true
64endif
65
66#
67# TODO replace with X_FLAGS / X_LIBS
68# and add them to configure
69#
70OPENWIN_LIB:=$(OPENWIN_HOME)/lib
71
ohair92de5662012-04-10 08:22:03 -070072##########################################################################################
73
erikjaf85fc42012-07-03 16:10:44 -070074BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH
erikje78df742012-06-07 20:40:50 -070075
erikjaf85fc42012-07-03 16:10:44 -070076ifneq ($(OPENJDK_TARGET_OS), solaris)
77 BUILD_LIBFDLIBM_OPTIMIZATION:=NONE
erikje78df742012-06-07 20:40:50 -070078endif
79
erikjaf85fc42012-07-03 16:10:44 -070080ifneq ($(OPENJDK_TARGET_OS),macosx)
ohair92de5662012-04-10 08:22:03 -070081$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
erikjaf85fc42012-07-03 16:10:44 -070082 STATIC_LIBRARY:=fdlibm,\
83 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
ohair92de5662012-04-10 08:22:03 -070084 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
85 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -070086 OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \
87 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair92de5662012-04-10 08:22:03 -070088 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
ohair46fcac92012-09-18 11:29:24 -070089 CFLAGS_windows_debug:=-DLOGGING,\
ohair92de5662012-04-10 08:22:03 -070090 ARFLAGS:=$(ARFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -070091 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
92
erikje78df742012-06-07 20:40:50 -070093else
erikjec9918d2012-12-20 13:05:21 +010094
95# On macosx the old build does partial (incremental) linking of fdlibm instead of
96# a plain static library.
97$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC,\
erikjaf85fc42012-07-03 16:10:44 -070098 LIBRARY:=fdlibm,\
99 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
erikje78df742012-06-07 20:40:50 -0700100 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
101 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700102 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700103 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
erikj4f38f192012-11-28 13:20:43 +0100104 LDFLAGS:=-nostdlib -r -arch x86_64,\
erikjaf85fc42012-07-03 16:10:44 -0700105 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
ohair92de5662012-04-10 08:22:03 -0700106
erikjec9918d2012-12-20 13:05:21 +0100107BUILD_LIBFDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
108$(BUILD_LIBFDLIBM) : $(BUILD_LIBFDLIBM_MAC)
erikje78df742012-06-07 20:40:50 -0700109 $(CP) -a $< $@
erikje78df742012-06-07 20:40:50 -0700110
erikjaf85fc42012-07-03 16:10:44 -0700111endif
erikjec9918d2012-12-20 13:05:21 +0100112BUILD_LIBRARIES += $(BUILD_LIBFDLIBM)
ohair92de5662012-04-10 08:22:03 -0700113
114##########################################################################################
115
erikjaf85fc42012-07-03 16:10:44 -0700116BUILD_LIBVERIFY_SRC:=check_code.c check_format.c
117
118ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700119 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
120 BUILD_LIBVERIFY_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700121 endif
ohair92de5662012-04-10 08:22:03 -0700122endif
123
ohair46fcac92012-09-18 11:29:24 -0700124LIBVERIFY_OPTIMIZATION:=HIGH
125ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +0100126 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -0700127 LIBVERIFY_OPTIMIZATION:=LOW
128 endif
129endif
130
erikjaf85fc42012-07-03 16:10:44 -0700131
132$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
133 LIBRARY:=verify, \
134 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
135 SRC:=$(JDK_TOPDIR)/src/share/native/common,\
136 INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\
ohair92de5662012-04-10 08:22:03 -0700137 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -0700138 OPTIMIZATION:=$(LIBVERIFY_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -0700139 CFLAGS:=$(CFLAGS_JDKLIB),\
140 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700141 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700142 $(call SET_SHARED_LIBRARY_ORIGIN), \
143 LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
144 LDFLAGS_SUFFIX_windows:=jvm.lib,\
ohair46fcac92012-09-18 11:29:24 -0700145 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
146 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700147 -D "JDK_FNAME=verify.dll" \
148 -D "JDK_INTERNAL_NAME=verify" \
149 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700150 REORDER:=$(BUILD_LIBVERIFY_REORDER),\
151 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libverify,\
152 DEBUG_SYMBOLS:=true))
erikje78df742012-06-07 20:40:50 -0700153
erikjaf85fc42012-07-03 16:10:44 -0700154BUILD_LIBRARIES += $(BUILD_LIBVERIFY)
ohair92de5662012-04-10 08:22:03 -0700155
156##########################################################################################
157
ohair46fcac92012-09-18 11:29:24 -0700158LIBJAVA_SRC_DIRS:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/lang \
erikjaf85fc42012-07-03 16:10:44 -0700159 $(JDK_TOPDIR)/src/share/native/java/lang \
160 $(JDK_TOPDIR)/src/share/native/java/lang/ref \
161 $(JDK_TOPDIR)/src/share/native/java/lang/reflect \
162 $(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700163 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
erikjaf85fc42012-07-03 16:10:44 -0700164 $(JDK_TOPDIR)/src/share/native/java/nio \
165 $(JDK_TOPDIR)/src/share/native/java/security \
166 $(JDK_TOPDIR)/src/share/native/common \
167 $(JDK_TOPDIR)/src/share/native/sun/misc \
168 $(JDK_TOPDIR)/src/share/native/sun/reflect \
erikjaf85fc42012-07-03 16:10:44 -0700169 $(JDK_TOPDIR)/src/share/native/java/util \
170 $(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
ohair46fcac92012-09-18 11:29:24 -0700171 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \
ohairb71409c2012-10-26 14:23:29 -0700172 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util
173
ohair46fcac92012-09-18 11:29:24 -0700174ifneq ($(OPENJDK_TARGET_OS),macosx)
175 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/util/locale/provider
176else
177 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/util/locale/provider
erikjaf85fc42012-07-03 16:10:44 -0700178endif
ohair92de5662012-04-10 08:22:03 -0700179
ohairb71409c2012-10-26 14:23:29 -0700180ifeq ($(OPENJDK_TARGET_OS),windows)
181 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/provider \
182 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/io
183endif
184
erikjaf85fc42012-07-03 16:10:44 -0700185LIBJAVA_CFLAGS:=$(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
186 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
ohair46fcac92012-09-18 11:29:24 -0700187 -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
ohair92de5662012-04-10 08:22:03 -0700188
erikjaf85fc42012-07-03 16:10:44 -0700189LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
190 -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
191 -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
192 -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"'
ohair92de5662012-04-10 08:22:03 -0700193
erikjaf85fc42012-07-03 16:10:44 -0700194ifneq (,$(JDK_UPDATE_VERSION))
195 LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
196endif
ohair92de5662012-04-10 08:22:03 -0700197
erikjaf85fc42012-07-03 16:10:44 -0700198LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.c
ohair92de5662012-04-10 08:22:03 -0700199
erikjaf85fc42012-07-03 16:10:44 -0700200ifneq ($(OPENJDK_TARGET_OS),macosx)
201 LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
erikje78df742012-06-07 20:40:50 -0700202else
erikjaf85fc42012-07-03 16:10:44 -0700203 BUILD_LIBJAVA_java_props_md.c_CFLAGS:=-x objective-c
ohair92de5662012-04-10 08:22:03 -0700204endif
205
erikjaf85fc42012-07-03 16:10:44 -0700206ifeq ($(OPENJDK_TARGET_OS),windows)
207 LIBJAVA_EXCLUDE_FILES += \
208 UNIXProcess_md.c \
209 UnixFileSystem_md.c \
210 FileSystemPreferences.c
ohair92de5662012-04-10 08:22:03 -0700211else
erikjaf85fc42012-07-03 16:10:44 -0700212 LIBJAVA_EXCLUDE_FILES += \
213 ProcessImpl_md.c \
erikjaf85fc42012-07-03 16:10:44 -0700214 WinNTFileSystem_md.c \
215 dirent_md.c \
216 WindowsPreferences.c \
217 sun/security/provider/WinCAPISeedGenerator.c \
218 sun/io/Win32ErrorMode.c
ohair92de5662012-04-10 08:22:03 -0700219endif
220
erikjaf85fc42012-07-03 16:10:44 -0700221ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700222 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
223 LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
ohair92de5662012-04-10 08:22:03 -0700224 endif
225endif
226
erikjaf85fc42012-07-03 16:10:44 -0700227$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
228 LIBRARY:=java,\
229 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
230 SRC:=$(LIBJAVA_SRC_DIRS),\
231 EXCLUDES:=fdlibm/src zip, \
232 EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \
ohair92de5662012-04-10 08:22:03 -0700233 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700234 OPTIMIZATION:=HIGH, \
235 CFLAGS:=$(CFLAGS_JDKLIB) \
236 $(LIBJAVA_CFLAGS),\
237 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700238 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700239 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -0700240 LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
erikj6dce8e92012-11-28 13:49:33 +0100241 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700242 LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
ohair46fcac92012-09-18 11:29:24 -0700243 LDFLAGS_SUFFIX_macosx:=-L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
erikjaf85fc42012-07-03 16:10:44 -0700244 -framework CoreFoundation \
245 -framework Security -framework SystemConfiguration, \
ohairb71409c2012-10-26 14:23:29 -0700246 LDFLAGS_SUFFIX_windows:=-export:winFileHandleOpen -export:handleLseek \
247 jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
248 shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
249 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -0700250 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
251 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700252 -D "JDK_FNAME=java.dll" \
253 -D "JDK_INTERNAL_NAME=java" \
254 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700255 REORDER:=$(LIBJAVA_REORDER), \
ohair46fcac92012-09-18 11:29:24 -0700256 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava,\
257 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700258
erikjaf85fc42012-07-03 16:10:44 -0700259BUILD_LIBRARIES += $(BUILD_LIBJAVA)
ohair92de5662012-04-10 08:22:03 -0700260
erikjaf85fc42012-07-03 16:10:44 -0700261$(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
262
263$(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY)
264
265$(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM)
ohair92de5662012-04-10 08:22:03 -0700266
267##########################################################################################
268
erikjaf85fc42012-07-03 16:10:44 -0700269BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib
270BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
erikje78df742012-06-07 20:40:50 -0700271 -I$(BUILD_LIBMLIB_SRC) \
ohair46fcac92012-09-18 11:29:24 -0700272 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib
erikje78df742012-06-07 20:40:50 -0700273
erikjaf85fc42012-07-03 16:10:44 -0700274BUILD_LIBMLIB_LDLIBS:=
275BUILD_LIBMLIB_IMAGE_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
erikje78df742012-06-07 20:40:50 -0700276
ohair46fcac92012-09-18 11:29:24 -0700277BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
erikje78df742012-06-07 20:40:50 -0700278
ohair46fcac92012-09-18 11:29:24 -0700279ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700280 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
281endif
282
erikjaf85fc42012-07-03 16:10:44 -0700283ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -0700284 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
285endif
286
287$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\
erikjaf85fc42012-07-03 16:10:44 -0700288 LIBRARY:=mlib_image,\
289 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
290 SRC:=$(BUILD_LIBMLIB_SRC),\
erikje78df742012-06-07 20:40:50 -0700291 EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\
292 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700293 OPTIMIZATION:=HIGHEST, \
294 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700295 $(BUILD_LIBMLIB_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -0700296 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700297 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700298 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700299 LDFLAGS_SUFFIX:=$(BUILD_LIBMLIB_LDLIBS) \
300 $(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -0800301 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -0700302 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
303 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700304 -D "JDK_FNAME=mlib_image.dll" \
305 -D "JDK_INTERNAL_NAME=mlib_image" \
306 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700307 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\
308 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700309
erikjaf85fc42012-07-03 16:10:44 -0700310$(BUILD_LIBMLIB_IMAGE) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700311
erikjaf85fc42012-07-03 16:10:44 -0700312BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -0700313
314##########################################################################################
315
ohair46fcac92012-09-18 11:29:24 -0700316ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH),solaris-sparc)
erikje78df742012-06-07 20:40:50 -0700317
erikjaf85fc42012-07-03 16:10:44 -0700318BUILD_LIBMLIB_IMAGE_V_FILES:=\
erikje78df742012-06-07 20:40:50 -0700319 mlib_v_ImageLookUp.c \
320 mlib_ImageCreate.c \
321 mlib_ImageAffine.c \
322 mlib_ImageConvMxN.c \
323 mlib_ImageConvKernelConvert.c \
324 mlib_sys.c \
325 mlib_ImageLookUp_64.c \
326 mlib_ImageLookUp_Bit.c \
327 mlib_ImageColorTrue2Index.c \
328 mlib_c_ImageThresh1_U8.c \
329 mlib_v_ImageLookUpS16S16Func.c \
330 mlib_v_ImageLookUpS16S32Func.c \
331 mlib_v_ImageLookUpS16U16Func.c \
332 mlib_v_ImageLookUpS16U8Func.c \
333 mlib_v_ImageLookUpS32S16Func.c \
334 mlib_v_ImageLookUpS32S32Func.c \
335 mlib_v_ImageLookUpS32U16Func.c \
336 mlib_v_ImageLookUpS32U8Func.c \
337 mlib_v_ImageLookUpSIS16S16Func.c \
338 mlib_v_ImageLookUpSIS16S32Func.c \
339 mlib_v_ImageLookUpSIS16U16Func.c \
340 mlib_v_ImageLookUpSIS16U8Func.c \
341 mlib_v_ImageLookUpSIS32S16Func.c \
342 mlib_v_ImageLookUpSIS32S32Func.c \
343 mlib_v_ImageLookUpSIS32U16Func.c \
344 mlib_v_ImageLookUpSIS32U8Func.c \
345 mlib_v_ImageLookUpSIU16S16Func.c \
346 mlib_v_ImageLookUpSIU16S32Func.c \
347 mlib_v_ImageLookUpSIU16U16Func.c \
348 mlib_v_ImageLookUpSIU16U8Func.c \
349 mlib_v_ImageLookUpSIU8S16Func.c \
350 mlib_v_ImageLookUpSIU8S32Func.c \
351 mlib_v_ImageLookUpSIU8U16Func.c \
352 mlib_v_ImageLookUpSIU8U8Func.c \
353 mlib_v_ImageLookUpU16S16Func.c \
354 mlib_v_ImageLookUpU16S32Func.c \
355 mlib_v_ImageLookUpU16U16Func.c \
356 mlib_v_ImageLookUpU16U8Func.c \
357 mlib_v_ImageLookUpU8S16Func.c \
358 mlib_v_ImageLookUpU8S32Func.c \
359 mlib_v_ImageLookUpU8U16Func.c \
360 mlib_v_ImageLookUpU8U8Func.c \
361 mlib_v_ImageAffineIndex_BC.c \
362 mlib_v_ImageAffine_BC.c \
363 mlib_v_ImageAffine_BC_S16.c \
364 mlib_v_ImageAffine_BC_U16.c \
365 mlib_v_ImageAffine_BL.c \
366 mlib_v_ImageAffine_BL_S16.c \
367 mlib_v_ImageAffine_BL_U16.c \
368 mlib_v_ImageAffine_NN.c \
369 mlib_v_ImageFilters.c \
370 mlib_ImageAffineEdge.c \
371 mlib_ImageAffine_BC_D64.c \
372 mlib_ImageAffine_BC_F32.c \
373 mlib_ImageAffine_BC_S32.c \
374 mlib_ImageAffine_BL_D64.c \
375 mlib_ImageAffine_BL_F32.c \
376 mlib_ImageAffine_BL_S32.c \
377 mlib_ImageAffine_NN.c \
378 mlib_ImageAffine_NN_Bit.c \
379 mlib_ImageFilters.c \
380 mlib_ImageScanPoly.c \
381 mlib_ImageConv_8nw.c \
382 mlib_ImageConv_8ext.c \
383 mlib_ImageConv_16nw.c \
384 mlib_ImageConv_16ext.c \
385 mlib_ImageConv_u16nw.c \
386 mlib_ImageConv_u16ext.c \
387 mlib_ImageConv_32nw.c \
388 mlib_ImageConv_F32nw.c \
389 mlib_ImageConvMxN_Fp.c \
390 mlib_ImageConvMxN_ext.c \
391 mlib_ImageConv_D64nw.c \
392 mlib_ImageClipping.c \
393 mlib_ImageConvCopyEdge_Bit.c \
394 mlib_ImageConvClearEdge_Bit.c \
395 mlib_ImageConv2x2_f.c \
396 mlib_ImageConvClearEdge_Fp.c \
397 mlib_v_ImageConvMxN_8.c \
398 mlib_v_ImageConvClearEdge.c \
399 mlib_v_ImageConvCopyEdge.c \
400 mlib_v_ImageConvMxN_8ext.c \
401 mlib_v_ImageConvVersion.c \
402 mlib_v_ImageConv_8nw.c \
403 mlib_ImageConvCopyEdge_Fp.c \
404 mlib_v_ImageChannelInsert_1.c \
405 mlib_v_ImageChannelExtract_43.c \
406 mlib_v_ImageChannelExtract_1.c \
407 mlib_ImageCopy_Bit.c \
408 mlib_v_ImageCopy_f.c \
409 mlib_ImageUtils.c \
410 mlib_ImageDivTables.c
411
erikjaf85fc42012-07-03 16:10:44 -0700412BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS))
erikje78df742012-06-07 20:40:50 -0700413
414$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\
erikjaf85fc42012-07-03 16:10:44 -0700415 LIBRARY:=mlib_image_v, \
416 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
417 SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
erikje78df742012-06-07 20:40:50 -0700418 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\
419 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700420 INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\
421 OPTIMIZATION:=HIGHEST, \
422 CFLAGS:=-xarch=sparcvis \
ohair46fcac92012-09-18 11:29:24 -0700423 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il\
erikjaf85fc42012-07-03 16:10:44 -0700424 $(BUILD_LIBMLIB_V_CFLAGS) \
425 $(CFLAGS_JDKLIB), \
426 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700427 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohairb71409c2012-10-26 14:23:29 -0700428 $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
erikje78df742012-06-07 20:40:50 -0700429 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -0800430 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -0700431 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v))
erikje78df742012-06-07 20:40:50 -0700432
ohairb71409c2012-10-26 14:23:29 -0700433$(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
434
erikjaf85fc42012-07-03 16:10:44 -0700435BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
erikje78df742012-06-07 20:40:50 -0700436
437endif
438
439##########################################################################################
440
erikjaf85fc42012-07-03 16:10:44 -0700441LIBAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -0700442 $(JDK_TOPDIR)/src/share/native/sun/awt \
ohair46fcac92012-09-18 11:29:24 -0700443 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikje78df742012-06-07 20:40:50 -0700444 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
445 $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
446 $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
erikje78df742012-06-07 20:40:50 -0700447 $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
448 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
449 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
450 $(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700451 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikje78df742012-06-07 20:40:50 -0700452 $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
453 $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
454 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
455 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700456 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
ohairb71409c2012-10-26 14:23:29 -0700457 $(JDK_TOPDIR)/src/share/native/sun/font
458
459ifeq ($(OPENJDK_TARGET_OS),windows)
460 LIBAWT_DIRS+=\
ohair46fcac92012-09-18 11:29:24 -0700461 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
462 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
463 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d
ohairb71409c2012-10-26 14:23:29 -0700464else
465 LIBAWT_DIRS+=\
466 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
467endif
erikje78df742012-06-07 20:40:50 -0700468
erikjaf85fc42012-07-03 16:10:44 -0700469LIBAWT_CFLAGS:=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
470 $(X_CFLAGS) \
erikje78df742012-06-07 20:40:50 -0700471 $(foreach dir,$(LIBAWT_DIRS),-I$(dir))
472
erikjaf85fc42012-07-03 16:10:44 -0700473LIBAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -0700474 gifdecoder.c \
475 imageInitIDs.c \
476 img_globals.c \
477 SurfaceData.c \
478 Region.c \
479 BufImgSurfaceData.c \
480 Disposer.c \
481 Trace.c \
482 GraphicsPrimitiveMgr.c \
483 Blit.c \
484 BlitBg.c \
485 ScaledBlit.c \
486 FillRect.c \
487 FillSpans.c \
488 FillParallelogram.c \
489 DrawParallelogram.c \
490 DrawLine.c \
491 DrawRect.c \
492 DrawPolygons.c \
493 DrawPath.c \
494 FillPath.c \
495 ProcessPath.c \
496 MaskBlit.c \
497 MaskFill.c \
498 TransformHelper.c \
499 AlphaMath.c \
500 AlphaMacros.c \
501 AnyByte.c \
502 ByteBinary1Bit.c \
503 ByteBinary2Bit.c \
504 ByteBinary4Bit.c \
505 ByteIndexed.c \
506 ByteGray.c \
507 Index8Gray.c \
508 Index12Gray.c \
509 AnyShort.c \
510 Ushort555Rgb.c \
511 Ushort565Rgb.c \
512 Ushort4444Argb.c \
513 Ushort555Rgbx.c \
514 UshortGray.c \
515 UshortIndexed.c \
516 Any3Byte.c \
517 ThreeByteBgr.c \
518 AnyInt.c \
519 IntArgb.c \
520 IntArgbPre.c \
521 IntArgbBm.c \
522 IntRgb.c \
523 IntBgr.c \
524 IntRgbx.c \
525 Any4Byte.c \
526 FourByteAbgr.c \
527 FourByteAbgrPre.c \
528 BufferedMaskBlit.c \
529 BufferedRenderPipe.c \
530 ShapeSpanIterator.c \
531 SpanClipRenderer.c \
532 awt_ImageRep.c \
533 awt_ImagingLib.c \
534 awt_Mlib.c \
535 awt_parseImage.c \
536 DataBufferNative.c \
537 dither.c \
538 debug_assert.c \
539 debug_mem.c \
540 debug_trace.c \
541 debug_util.c
542
ohair46fcac92012-09-18 11:29:24 -0700543ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux))
erikje78df742012-06-07 20:40:50 -0700544 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
545endif
546
erikjaf85fc42012-07-03 16:10:44 -0700547ifeq ($(OPENJDK_TARGET_OS),macosx)
ohair46fcac92012-09-18 11:29:24 -0700548 LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
erikje78df742012-06-07 20:40:50 -0700549 LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
550 LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
551 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
552
erikjaf85fc42012-07-03 16:10:44 -0700553 LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
erikje78df742012-06-07 20:40:50 -0700554endif
555
erikjaf85fc42012-07-03 16:10:44 -0700556ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
557 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
558 LIBAWT_CFLAGS += -xarch=sparcvis
ohair46fcac92012-09-18 11:29:24 -0700559 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
erikjaf85fc42012-07-03 16:10:44 -0700560 LIBAWT_CFLAGS += \
561 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
562 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
563 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
erikje78df742012-06-07 20:40:50 -0700564
erikjaf85fc42012-07-03 16:10:44 -0700565 LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
566 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
567
568 LIBAWT_FILES += \
569 vis_FuncArray.c \
570 java2d_Mlib.c \
571 mlib_ImageCreate.c \
572 mlib_ImageZoom_NN.c \
573 mlib_ImageCopy_Bit.c \
574 mlib_sys.c \
575 mlib_v_ImageClear.c \
576 mlib_v_ImageClear_f.c \
577 mlib_v_ImageConstXor.c \
578 mlib_v_ImageCopy.c \
579 mlib_v_ImageCopy_f.c \
580 mlib_v_ImageXor.c \
581 mlib_v_ImageZoom_NN_f.c \
582 vis_Interp.c \
583 vis_AlphaMacros.c \
584 vis_AlphaMaskBlit.c \
585 vis_AlphaMaskFill.c \
586 vis_ByteGray.c \
587 vis_ByteGray_FromRgb.c \
588 vis_ByteGray_Mask.c \
589 vis_ByteIndexed.c \
590 vis_DrawLine.c \
591 vis_FourByteAbgr.c \
592 vis_IntArgb.c \
593 vis_IntArgbPre.c \
594 vis_IntArgbPre_Mask.c \
595 vis_IntBgr.c \
596 vis_IntRgb.c \
597 vis_IntRgbx.c \
598 vis_SrcMaskFill.c \
599 vis_SrcOverMaskBlit.c \
600 vis_SrcOverMaskFill.c \
601 vis_FourByteAbgrPre.c \
602 vis_GlyphList.c \
603 vis_GlyphListXor.c \
604 vis_IntArgbBm.c \
605 vis_ThreeByteBgr.c \
606 vis_UshortGray.c \
607 vis_UshortGray_FromRgb.c \
608 vis_XorBlit.c \
609 mlib_v_ImageCopy_blk.s
610
ohair46fcac92012-09-18 11:29:24 -0700611 ifeq ($(OPENJDK_TARGET_CPU),sparcv9)
erikjaf85fc42012-07-03 16:10:44 -0700612 LIBAWT_ASFLAGS=-P -xarch=v9a
613 else
614 LIBAWT_ASFLAGS=-P -xarch=v8plusa
615 endif
erikje78df742012-06-07 20:40:50 -0700616else
617 LIBAWT_FILES += MapAccelFunc.c
618endif
619
erikjaf85fc42012-07-03 16:10:44 -0700620ifneq ($(OPENJDK_TARGET_OS),solaris)
erikje78df742012-06-07 20:40:50 -0700621 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
622endif
623
erikjaf85fc42012-07-03 16:10:44 -0700624LIBAWT_LANG:=C
erikje78df742012-06-07 20:40:50 -0700625
erikjaf85fc42012-07-03 16:10:44 -0700626ifeq ($(OPENJDK_TARGET_OS),windows)
erikje78df742012-06-07 20:40:50 -0700627 LIBAWT_FILES += AccelGlyphCache.c \
628 ShaderList.c \
629 CmdIDList.cpp \
630 Hashtable.cpp \
631 GDIHashtable.cpp \
632 Devices.cpp \
633 ObjectList.cpp \
634 GDIBlitLoops.cpp \
635 GDIRenderer.cpp \
636 GDIWindowSurfaceData.cpp \
637 WindowsFlags.cpp \
638 WPrinterJob.cpp \
639 awt_%.cpp \
640 D3DBlitLoops.cpp \
641 D3DBufImgOps.cpp \
642 D3DContext.cpp \
643 D3DGlyphCache.cpp \
644 D3DGraphicsDevice.cpp \
645 D3DMaskBlit.cpp \
646 D3DMaskCache.cpp \
647 D3DMaskFill.cpp \
648 D3DPipelineManager.cpp \
649 D3DPaints.cpp \
650 D3DRenderer.cpp \
651 D3DRenderQueue.cpp \
652 D3DResourceManager.cpp \
653 D3DSurfaceData.cpp \
654 D3DTextRenderer.cpp \
655 D3DVertexCacher.cpp \
656 ShellFolder2.cpp \
657 ThemeReader.cpp \
658 ComCtl32Util.cpp \
659 DllUtil.cpp \
660 initIDs.cpp \
661 MouseInfo.cpp \
ohairb71409c2012-10-26 14:23:29 -0700662 rect.c \
663 OGLBlitLoops.c \
664 OGLBufImgOps.c \
665 OGLContext.c \
666 OGLFuncs.c \
667 OGLMaskBlit.c \
668 OGLMaskFill.c \
669 OGLPaints.c \
670 OGLRenderQueue.c \
671 OGLRenderer.c \
672 OGLSurfaceData.c \
673 OGLTextRenderer.c \
674 OGLVertexCache.c \
675 WGLGraphicsConfig.c \
676 WGLSurfaceData.c
erikjaf85fc42012-07-03 16:10:44 -0700677 LIBAWT_LANG:=C++
ohair46fcac92012-09-18 11:29:24 -0700678 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
679 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700680 LIBAWT_CFLAGS += -DMLIB_OS64BIT
681 endif
682
683 ifdef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -0700684 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
erikje78df742012-06-07 20:40:50 -0700685 else
erikjaf85fc42012-07-03 16:10:44 -0700686 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
erikje78df742012-06-07 20:40:50 -0700687 endif
erikjaf85fc42012-07-03 16:10:44 -0700688 LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
erikje78df742012-06-07 20:40:50 -0700689endif
690
691ifeq ($(MILESTONE), internal)
692 LIBAWT_CFLAGS += -DINTERNAL_BUILD
693endif
694
erikjaf85fc42012-07-03 16:10:44 -0700695LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
696ifeq ($(OPENJDK_TARGET_OS),linux)
697 LIBAWT_MAPFILE:=
erikje78df742012-06-07 20:40:50 -0700698endif
699
700$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
erikjaf85fc42012-07-03 16:10:44 -0700701 LIBRARY:=awt,\
702 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -0700703 SRC:=$(LIBAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -0700704 INCLUDE_FILES:=$(LIBAWT_FILES),\
erikje78df742012-06-07 20:40:50 -0700705 LANG:=$(LIBAWT_LANG),\
erikjaf85fc42012-07-03 16:10:44 -0700706 OPTIMIZATION:=LOW, \
707 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
708 ASFLAGS:=$(LIBAWT_ASFLAGS),\
709 MAPFILE:=$(LIBAWT_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700710 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700711 LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
712 LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -0800713 LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
ohair46fcac92012-09-18 11:29:24 -0700714 LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
715 -framework Cocoa \
716 -framework OpenGL \
717 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
718 -framework JavaNativeFoundation \
719 -framework JavaRuntimeSupport \
720 -framework ApplicationServices \
721 -framework AudioToolbox \
722 -ljava,\
ohairb71409c2012-10-26 14:23:29 -0700723 LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \
724 imm32.lib ole32.lib uuid.lib shell32.lib \
725 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
726 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
727 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
728 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
729 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
730 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
731 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\
erikjaf85fc42012-07-03 16:10:44 -0700732 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
733 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700734 -D "JDK_FNAME=awt.dll" \
735 -D "JDK_INTERNAL_NAME=awt" \
736 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700737 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt,\
738 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700739
erikjaf85fc42012-07-03 16:10:44 -0700740$(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700741
erikjaf85fc42012-07-03 16:10:44 -0700742ifeq ($(OPENJDK_TARGET_OS), macosx)
743$(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
744endif
745
746BUILD_LIBRARIES += $(BUILD_LIBAWT)
747
748##########################################################################################
749
750# TODO!!
751# Even though this variable as a general name, it is
752# only used on macos, in fontpath.c, as prefix for where to find fonts.
753#
754# It's used for libawt_headless _and_ libawt_xawt
755#
756X11_PATH:=/usr/X11R6
757
758ifneq ($(OPENJDK_TARGET_OS), windows)
759ifndef BUILD_HEADLESS_ONLY
760
761LIBAWT_XAWT_DIRS:=\
762 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
763 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
764 $(JDK_TOPDIR)/src/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -0700765 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -0700766 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700767 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
768 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
769 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
770 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
erikjaf85fc42012-07-03 16:10:44 -0700771
772LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
773 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
774 $(CUPS_CFLAGS) \
775 $(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
776 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700777 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -0700778 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
779 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
780 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
781 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
782 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -0700783 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
erikjaf85fc42012-07-03 16:10:44 -0700784
785ifeq ($(OPENJDK_TARGET_OS),solaris)
786 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
787endif
788
789ifeq ($(MILESTONE),internal)
790 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
791endif
792
793LIBAWT_XAWT_FILES:=\
794 XlibWrapper.c \
795 XWindow.c \
796 XToolkit.c \
797 X11Color.c \
798 X11SurfaceData.c \
799 awt_GraphicsEnv.c \
800 awt_InputMethod.c \
801 robot_common.c \
802 awt_Robot.c \
803 list.c \
804 multiVis.c \
805 initIDs.c \
806 awt_util.c \
807 awt_Desktop.c \
808 awt_UNIXToolkit.c \
809 X11FontScaler_md.c \
810 X11TextRenderer_md.c \
811 fontpath.c \
812 awt_Insets.c \
813 awt_Event.c \
814 X11Renderer.c \
815 X11PMBlitLoops.c \
816 OGLBlitLoops.c \
817 OGLBufImgOps.c \
818 OGLContext.c \
819 OGLFuncs.c \
820 OGLMaskBlit.c \
821 OGLMaskFill.c \
822 OGLPaints.c \
823 OGLRenderQueue.c \
824 OGLRenderer.c \
825 OGLSurfaceData.c \
826 OGLTextRenderer.c \
827 OGLVertexCache.c \
828 GLXGraphicsConfig.c \
829 GLXSurfaceData.c \
830 AccelGlyphCache.c \
831 awt_Font.c \
832 multi_font.c \
833 awt_AWTEvent.c \
834 awt_DrawingSurface.c \
835 jawt.c \
836 CUPSfuncs.c \
837 debug_assert.c \
838 debug_mem.c \
839 debug_trace.c \
840 debug_util.c \
841 awt_Plugin.c \
842 gtk2_interface.c \
843 swing_GTKEngine.c \
844 swing_GTKStyle.c \
845 rect.c \
846 sun_awt_X11_GtkFileDialogPeer.c \
847 XRSurfaceData.c \
848 XRBackendNative.c
849
850LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
851
852ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -0700853 # To match old build, add this to LDFLAGS instead of suffix.
854 LIBAWT_XAWT_LDFLAGS += -lpthread
erikjaf85fc42012-07-03 16:10:44 -0700855endif
856
857ifeq ($(OPENJDK_TARGET_OS), macosx)
858 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
859endif
860
ohair46fcac92012-09-18 11:29:24 -0700861# On macosx, the shared library origin is set twice for this lib.
erikjaf85fc42012-07-03 16:10:44 -0700862$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
863 LIBRARY:=awt_xawt,\
864 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
865 SRC:=$(LIBAWT_XAWT_DIRS),\
866 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
867 LANG:=C,\
868 OPTIMIZATION:=LOW, \
869 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
870 $(X_CFLAGS),\
871 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
872 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700873 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\
874 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \
875 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
876 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
877 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
878 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
879 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
880 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
881 $(call SET_SHARED_LIBRARY_ORIGIN) \
882 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
883 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \
884 $(call SET_SHARED_LIBRARY_ORIGIN). \
885 $(call SET_SHARED_LIBRARY_ORIGIN) \
886 $(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -0700887 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -0700888 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
889 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700890 -D "JDK_FNAME=xawt.dll" \
891 -D "JDK_INTERNAL_NAME=xawt" \
892 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700893 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt))
894
895$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
896
897$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
898
899BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
900
901endif
902endif
903
904##########################################################################################
905
erikj5c99f2c2012-11-28 13:29:35 +0100906BUILD_LIBZIP_EXCLUDES :=
erikjaf85fc42012-07-03 16:10:44 -0700907ifeq ($(USE_EXTERNAL_LIBZ),true)
erikj5c99f2c2012-11-28 13:29:35 +0100908 LIBZ := -lz
909 LIBZIP_EXCLUDES += zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700910else
erikj5c99f2c2012-11-28 13:29:35 +0100911 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700912endif
913
erikj5c99f2c2012-11-28 13:29:35 +0100914BUILD_LIBZIP_REORDER :=
erikjaf85fc42012-07-03 16:10:44 -0700915ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700916 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikj5c99f2c2012-11-28 13:29:35 +0100917 BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700918 endif
919endif
920
921ifeq ($(LIBZIP_CAN_USE_MMAP), true)
erikj5c99f2c2012-11-28 13:29:35 +0100922 BUILD_LIBZIP_MMAP := -DUSE_MMAP
erikjaf85fc42012-07-03 16:10:44 -0700923endif
924
925$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
926 LIBRARY:=zip,\
927 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikjaf85fc42012-07-03 16:10:44 -0700928 LANG:=C,\
929 OPTIMIZATION:=LOW, \
erikj5c99f2c2012-11-28 13:29:35 +0100930 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
931 EXCLUDES:=$(LIBZIP_EXCLUDES),\
erikjaf85fc42012-07-03 16:10:44 -0700932 CFLAGS:=$(CFLAGS_JDKLIB) \
erikj5c99f2c2012-11-28 13:29:35 +0100933 $(ZLIB_CPPFLAGS) \
erikjaf85fc42012-07-03 16:10:44 -0700934 -I$(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700935 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
erikjaf85fc42012-07-03 16:10:44 -0700936 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
937 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
938 REORDER:=$(BUILD_LIBZIP_REORDER), \
939 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700940 $(call SET_SHARED_LIBRARY_ORIGIN) \
erikjaf85fc42012-07-03 16:10:44 -0700941 $(EXPORT_ZIP_FUNCS), \
ohair46fcac92012-09-18 11:29:24 -0700942 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
erikjaf85fc42012-07-03 16:10:44 -0700943 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
944 $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700945 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -0800946 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
ohair46fcac92012-09-18 11:29:24 -0700947 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
948 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
949 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700950 -D "JDK_FNAME=zip.dll" \
951 -D "JDK_INTERNAL_NAME=zip" \
952 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700953 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
954 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700955
956$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
957
958BUILD_LIBRARIES += $(BUILD_LIBZIP)
959
960##########################################################################################
961
962$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
963 LIBRARY:=unpack, \
964 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
965 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
966 EXCLUDE_FILES:=main.cpp,\
967 LANG:=C++,\
968 OPTIMIZATION:=LOW, \
969 CFLAGS:=$(CXXFLAGS_JDKLIB) \
970 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
971 CFLAGS_release:=-DPRODUCT,\
972 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -0700973 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -0700974 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohairb71409c2012-10-26 14:23:29 -0700975 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
erikjaf85fc42012-07-03 16:10:44 -0700976 jvm.lib $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700977 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700978 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
979 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
980 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700981 -D "JDK_FNAME=unpack.dll" \
982 -D "JDK_INTERNAL_NAME=unpack" \
983 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700984 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700985
986$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
987
988BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
989
ohair46fcac92012-09-18 11:29:24 -0700990ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -0700991 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
992 $(ECHO) Copying $(@F)
993 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
994
995 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
996 $(ECHO) Copying $(@F)
997 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
998endif
999
1000##########################################################################################
1001
1002LIBATTACH_EXCLUDE_FILES:=
1003ifneq ($(OPENJDK_TARGET_OS),solaris)
1004 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1005endif
1006ifneq ($(OPENJDK_TARGET_OS),linux)
1007 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1008endif
1009ifneq ($(OPENJDK_TARGET_OS),macosx)
1010 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1011endif
1012
1013$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1014 LIBRARY:=attach, \
1015 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001016 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
erikjaf85fc42012-07-03 16:10:44 -07001017 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1018 LANG:=C,\
1019 OPTIMIZATION:=LOW, \
1020 CFLAGS:=$(CFLAGS_JDKLIB),\
1021 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
ohair46fcac92012-09-18 11:29:24 -07001022 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1023 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001024 -D "JDK_FNAME=attach.dll" \
1025 -D "JDK_INTERNAL_NAME=attach" \
1026 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001027 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1028 $(call SET_SHARED_LIBRARY_ORIGIN),\
1029 LDFLAGS_solaris:=-ldoor,\
erikjaf85fc42012-07-03 16:10:44 -07001030 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001031 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001032 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
1033 DEBUG_SYMBOLS:=true))
1034
1035$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
1036
1037BUILD_LIBRARIES += $(BUILD_LIBATTACH)
1038
1039##########################################################################################
1040
1041$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
1042 LIBRARY:=dt_socket,\
1043 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1044 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001045 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\
erikjaf85fc42012-07-03 16:10:44 -07001046 LANG:=C,\
1047 OPTIMIZATION:=LOW, \
1048 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
1049 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1050 -I$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001051 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
erikjaf85fc42012-07-03 16:10:44 -07001052 -I$(JDK_TOPDIR)/src/share/back/export \
1053 -I$(JDK_TOPDIR)/src/share/back,\
1054 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001055 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1056 $(call SET_SHARED_LIBRARY_ORIGIN), \
1057 LDFLAGS_SUFFIX_linux:=-lpthread,\
erikj4f66f2d2012-11-03 16:27:01 -07001058 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\
ohair46fcac92012-09-18 11:29:24 -07001059 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
1060 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1061 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001062 -D "JDK_FNAME=dt_socket.dll" \
1063 -D "JDK_INTERNAL_NAME=dt_socket" \
1064 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001065 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
1066 DEBUG_SYMBOLS:=true))
1067
1068$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
1069
1070BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
1071
1072##########################################################################################
1073
ohair46fcac92012-09-18 11:29:24 -07001074ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001075
1076 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
1077 LIBRARY:=dt_shmem,\
1078 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1079 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
1080 $(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001081 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\
erikjaf85fc42012-07-03 16:10:44 -07001082 LANG:=C,\
1083 OPTIMIZATION:=LOW, \
1084 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
1085 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1086 -I$(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001087 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
erikjaf85fc42012-07-03 16:10:44 -07001088 -I$(JDK_TOPDIR)/src/share/back/export, \
1089 LDFLAGS:=$(LDFLAGS_JDKLIB),\
ohair46fcac92012-09-18 11:29:24 -07001090 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\
erikjaf85fc42012-07-03 16:10:44 -07001091 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001092 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1093 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001094 -D "JDK_FNAME=dt_shmem.dll" \
1095 -D "JDK_INTERNAL_NAME=dt_shmem" \
1096 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001097 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
1098 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001099
1100 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
1101
1102endif # OPENJDK_TARGET_OS
1103
1104##########################################################################################
ohair46fcac92012-09-18 11:29:24 -07001105# JDWP_LOGGING causes log messages to be compiled into the library.
erikjaf85fc42012-07-03 16:10:44 -07001106$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
1107 LIBRARY:=jdwp, \
1108 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001109 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\
erikjaf85fc42012-07-03 16:10:44 -07001110 LANG:=C,\
1111 OPTIMIZATION:=LOW, \
1112 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
1113 -I$(JDK_TOPDIR)/src/share/transport/export \
1114 -I$(JDK_TOPDIR)/src/share/back/export \
1115 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001116 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001117 -I$(JDK_TOPDIR)/src/share/back \
ohair46fcac92012-09-18 11:29:24 -07001118 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
erikjaf85fc42012-07-03 16:10:44 -07001119 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
1120 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001121 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1122 $(call SET_SHARED_LIBRARY_ORIGIN),\
1123 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001124 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001125 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001126 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1127 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001128 -D "JDK_FNAME=jdwp.dll" \
1129 -D "JDK_INTERNAL_NAME=jdwp" \
1130 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001131 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
1132 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001133
1134$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
1135
1136BUILD_LIBRARIES += $(BUILD_LIBJDWP)
1137
1138##########################################################################################
1139
1140LIBJAAS_MAPFILE:=
1141ifneq ($(OPENJDK_TARGET_OS),solaris)
1142 LIBJAAS_EXCLUDE_FILES:=Solaris.c
1143else
1144 # only on solaris...wonder why
1145 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
1146endif
1147
1148LIBJAAS_NAME:=jaas_unix
1149ifeq ($(OPENJDK_TARGET_OS), windows)
1150 LIBJAAS_NAME:=jaas_nt
1151endif
1152
1153$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
1154 LIBRARY:=$(LIBJAAS_NAME),\
1155 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001156 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\
erikjaf85fc42012-07-03 16:10:44 -07001157 LANG:=C,\
1158 OPTIMIZATION:=LOW, \
1159 CFLAGS:=$(CFLAGS_JDKLIB),\
1160 MAPFILE:=$(LIBJAAS_MAPFILE),\
1161 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
1162 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001163 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001164 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -08001165 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07001166 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
ohair46fcac92012-09-18 11:29:24 -07001167 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1168 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001169 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
1170 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
1171 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001172 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\
1173 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001174
1175$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
1176
1177BUILD_LIBRARIES += $(BUILD_LIBJAAS)
1178
1179##########################################################################################
1180
1181$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
1182 LIBRARY:=jsdt,\
1183 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1184 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
ohair46fcac92012-09-18 11:29:24 -07001185 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\
erikjaf85fc42012-07-03 16:10:44 -07001186 LANG:=C,\
1187 OPTIMIZATION:=LOW, \
1188 CFLAGS:=$(CFLAGS_JDKLIB)\
1189 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
1190 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
1191 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1192 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001193 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1194 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07001195 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001196 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001197 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1198 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001199 -D "JDK_FNAME=jsdt.dll" \
1200 -D "JDK_INTERNAL_NAME=jsdt" \
1201 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001202 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
ohair46fcac92012-09-18 11:29:24 -07001203 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001204
1205$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
1206
1207BUILD_LIBRARIES += $(BUILD_LIBJSDT)
1208
1209##########################################################################################
1210
1211ifdef OPENJDK
1212 # TODO: Update awt lib path when awt is converted
1213 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1214 LIBRARY:=lcms,\
1215 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01001216 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
erikjaf85fc42012-07-03 16:10:44 -07001217 LANG:=C,\
1218 OPTIMIZATION:=LOW, \
1219 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1220 $(SHARED_LIBRARY_FLAGS) \
1221 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1222 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1223 CFLAGS_solaris:=-xc99=no_lib,\
ohair46fcac92012-09-18 11:29:24 -07001224 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
erikjaf85fc42012-07-03 16:10:44 -07001225 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001226 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1227 $(call SET_SHARED_LIBRARY_ORIGIN), \
1228 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1229 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
tbell7d47bd02012-11-12 10:20:01 -08001230 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07001231 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1232 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1233 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1234 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001235 -D "JDK_FNAME=lcms.dll" \
1236 -D "JDK_INTERNAL_NAME=lcms" \
1237 -D "JDK_FTYPE=0x2L",\
1238 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
1239 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001240
1241 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1242
1243 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
1244endif
1245
1246##########################################################################################
1247
1248ifdef OPENJDK
1249 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1250else
1251 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1252 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1253 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1254endif
1255
1256BUILD_LIBJPEG_REORDER:=
1257ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001258 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1259 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07001260 endif
1261endif
1262
1263# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
1264# or 'vfork'": this warning indicates that some variable is placed to
1265# a register by optimized compiler and it's value might be lost on longjmp().
1266# Recommended way to avoid such warning is to declare the variable as
1267# volatile to prevent the optimization. However, this approach does not
1268# work because we have to declare all variables as volatile in result.
1269#ifndef CROSS_COMPILE_ARCH
1270# CC_43_OR_NEWER:=\
1271# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
1272# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
1273# ifeq ($(CC_43_OR_NEWER),1)
1274# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
1275# endif
1276#endif
1277
1278$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
1279 LIBRARY:=jpeg, \
1280 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1281 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
1282 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1283 LANG:=C,\
1284 OPTIMIZATION:=HIGHEST, \
1285 CFLAGS:=$(CFLAGS_JDKLIB) \
1286 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
1287 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1288 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
1289 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1290 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001291 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001292 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001293 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1294 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001295 -D "JDK_FNAME=jpeg.dll" \
1296 -D "JDK_INTERNAL_NAME=jpeg" \
1297 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001298 REORDER:=$(BUILD_LIBJPEG_REORDER),\
ohair46fcac92012-09-18 11:29:24 -07001299 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
1300 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001301
1302$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
1303
1304BUILD_LIBRARIES += $(BUILD_LIBJPEG)
1305
1306##########################################################################################
1307
1308ifndef OPENJDK
ohairb71409c2012-10-26 14:23:29 -07001309 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
erikjaf85fc42012-07-03 16:10:44 -07001310 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
1311 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
1312else
1313 FONT_HEADERS:=$(FREETYPE2_CFLAGS)
1314 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
1315 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
1316endif
1317
1318LIBFONTMANAGER_OPTIMIZATION:=HIGH
1319
1320ifeq ($(OPENJDK_TARGET_OS),windows)
1321 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1322 X11TextRenderer.c
1323 LIBFONTMANAGER_OPTIMIZATION:=LOW
1324else
1325 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1326 lcdglyph.c
1327endif
1328
1329BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1330 $(X_CFLAGS) \
1331 -DLE_STANDALONE -DHEADLESS \
1332 $(FONT_HEADERS) \
1333 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1334 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1335 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001336 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001337 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1338 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1339 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001340 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001341 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1342
1343# Turn off aliasing with GCC for ExtensionSubtables.cpp
1344ifeq ($(OPENJDK_TARGET_OS), linux)
1345 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1346endif
1347
1348$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1349 LIBRARY:=fontmanager, \
1350 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1351 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
ohair46fcac92012-09-18 11:29:24 -07001352 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
erikjaf85fc42012-07-03 16:10:44 -07001353 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1354 AccelGlyphCache.c,\
1355 LANG:=C++,\
1356 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1357 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1358 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
ohair46fcac92012-09-18 11:29:24 -07001359 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001360 -DCC_NOEX, \
1361 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
ohair46fcac92012-09-18 11:29:24 -07001362 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001363 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001364 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1365 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1366 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
ohairb71409c2012-10-26 14:23:29 -07001367 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1368 -ljava -ljvm,\
1369 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1370 $(WIN_AWT_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001371 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1372 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001373 -D "JDK_FNAME=fontmanager.dll" \
1374 -D "JDK_INTERNAL_NAME=fontmanager" \
1375 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001376 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
1377 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001378
1379$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1380
1381ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1382$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1383endif
1384
1385BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001386
1387##########################################################################################
1388
1389ifndef OPENJDK
1390
erikjaf85fc42012-07-03 16:10:44 -07001391# ifeq ($(OPENJDK_TARGET_OS), linux)
1392# ifeq ("$(CC_VER_MAJOR)", "3")
1393# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1394# endif
1395# endif
1396#
1397# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1398# the input .o files. Because of this the new build will differ in size to the old build.
1399 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1400 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1401 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1402 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -07001403 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -07001404 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1405 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001406 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001407 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1408
1409 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1410 LIBRARY:=t2k, \
1411 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1412 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1413 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1414 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1415 EXCLUDE_FILES:=orion.c,\
1416 LANG:=C++,\
1417 OPTIMIZATION:=HIGH, \
1418 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1419 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1420 CFLAGS_windows=-DCC_NOEX, \
1421 CXXFLAGS_windows=-DCC_NOEX, \
1422 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001423 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001424 $(call SET_SHARED_LIBRARY_ORIGIN),\
1425 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
ohair46fcac92012-09-18 11:29:24 -07001426 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
1427 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
1428 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1429 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001430 -D "JDK_FNAME=t2k.dll" \
1431 -D "JDK_INTERNAL_NAME=t2k" \
1432 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001433 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
1434 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001435
1436 # t2k is linked against fontmanager
1437 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1438
1439 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1440endif
1441
1442##########################################################################################
1443
erikjaf85fc42012-07-03 16:10:44 -07001444ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001445 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikjaf85fc42012-07-03 16:10:44 -07001446 KERNEL32_LIB:=kernel32.lib
1447 endif
1448 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1449 LIBRARY:=jawt, \
1450 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001451 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
erikjaf85fc42012-07-03 16:10:44 -07001452 INCLUDE_FILES:=jawt.cpp,\
1453 LANG:=C++,\
1454 OPTIMIZATION:=LOW, \
1455 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1456 -EHsc -DUNICODE -D_UNICODE \
ohair46fcac92012-09-18 11:29:24 -07001457 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001458 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1459 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1460 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001461 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \
1462 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001463 advapi32.lib $(WIN_AWT_LIB),\
1464 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001465 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1466 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001467 -D "JDK_FNAME=jawt.dll" \
1468 -D "JDK_INTERNAL_NAME=jawt" \
1469 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001470 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1471 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001472
1473$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1474
1475$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1476 $(ECHO) Copying $(@F)
ohair46fcac92012-09-18 11:29:24 -07001477 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
erikjaf85fc42012-07-03 16:10:44 -07001478
1479BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1480
1481else # OPENJDK_TARGET_OS not windows
1482
1483 JAWT_LIBS:=
1484 ifneq ($(OPENJDK_TARGET_OS), solaris)
1485 JAWT_LIBS += -lawt
1486 endif
1487
1488 ifndef BUILD_HEADLESS_ONLY
1489 JAWT_LIBS += -lawt_xawt
1490 else
1491 JAWT_LIBS += -lawt_headless
1492 HEADLESS_CFLAG += -DHEADLESS
1493 endif
1494
1495 JAWT_FILES:=jawt.c
1496 ifeq ($(OPENJDK_TARGET_OS), macosx)
1497 JAWT_FILES:=jawt.m
1498 JAWT_LIBS:=-lawt_lwawt
1499 endif
1500
1501 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1502 LIBRARY:=jawt, \
1503 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001504 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001505 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1506 INCLUDE_FILES:=$(JAWT_FILES),\
1507 LANG:=C,\
1508 OPTIMIZATION:=LOW, \
1509 CFLAGS:=$(CFLAGS_JDKLIB), \
1510 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1511 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1512 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1513 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1514 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001515 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1516 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1517 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1518 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1519 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07001520 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
1521
1522ifndef BUILD_HEADLESS_ONLY
1523$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1524else
1525$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1526endif
1527
1528ifeq ($(OPENJDK_TARGET_OS),macosx)
1529$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1530endif
1531
1532endif # OPENJDK_TARGET_OS
1533
1534BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1535
1536##########################################################################################
1537
ohair46fcac92012-09-18 11:29:24 -07001538LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1539 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
1540 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
erikjaf85fc42012-07-03 16:10:44 -07001541
ohair46fcac92012-09-18 11:29:24 -07001542LIBINSTRUMENT_FILES :=\
erikjaf85fc42012-07-03 16:10:44 -07001543 EncodingSupport.c \
1544 EncodingSupport_md.c \
1545 FileSystemSupport_md.c \
1546 InstrumentationImplNativeMethods.c \
1547 InvocationAdapter.c \
1548 JarFacade.c \
1549 JPLISAgent.c \
1550 JPLISAssert.c \
1551 JavaExceptions.c \
1552 PathCharsValidator.c \
1553 Reentrancy.c \
1554 Utilities.c \
1555 canonicalize_md.c
1556
ohair46fcac92012-09-18 11:29:24 -07001557LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1558LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
1559 -I$(JDK_TOPDIR)/src/share/instrument \
1560 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
1561 -I$(JDK_TOPDIR)/src/share/bin
erikjaf85fc42012-07-03 16:10:44 -07001562
ohair46fcac92012-09-18 11:29:24 -07001563LIBINSTRUMENT_LDFLAGS:=
1564LIBINSTRUMENT_LDFLAGS_SUFFIX:=
erikjaf85fc42012-07-03 16:10:44 -07001565
1566ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001567 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1568 -export:Agent_OnAttach advapi32.lib
1569 # Statically link the C runtime so that there are not dependencies on modules
1570 # not on the search patch when invoked from the Windows system directory
1571 # (or elsewhere).
1572 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
1573 # equivalent of strcasecmp is stricmp on Windows
1574 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
erikjaf85fc42012-07-03 16:10:44 -07001575endif
1576
1577$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1578 LIBRARY:=instrument, \
1579 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001580 SRC:=$(LIBINSTRUMENT_SRC),\
1581 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07001582 LANG:=C,\
1583 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07001584 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07001585 CFLAGS_debug:=-DJPLIS_LOGGING,\
1586 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1587 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001588 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1589 $(call SET_SHARED_LIBRARY_ORIGIN) \
1590 $(LIBINSTRUMENT_LDFLAGS),\
1591 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1592 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1593 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1594 -framework Cocoa -framework Security -framework ApplicationServices,\
1595 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1596 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08001597 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001598 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1599 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1600 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001601 -D "JDK_FNAME=instrument.dll" \
1602 -D "JDK_INTERNAL_NAME=instrument" \
1603 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001604 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
erikjaf85fc42012-07-03 16:10:44 -07001605 DEBUG_SYMBOLS:=true))
1606
1607ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1608$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1609else
1610$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1611endif
1612$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1613
1614BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1615
1616##########################################################################################
1617
1618BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
ohair46fcac92012-09-18 11:29:24 -07001619 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1620 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
erikjaf85fc42012-07-03 16:10:44 -07001621
1622BUILD_LIBMANAGEMENT_EXCLUDES:=
1623
1624BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1625
1626ifneq ($(OPENJDK_TARGET_OS), windows)
1627 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1628else
1629 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1630endif
1631
1632ifneq ($(OPENJDK_TARGET_OS),solaris)
1633 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1634endif
1635
1636ifneq ($(OPENJDK_TARGET_OS),linux)
1637 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1638endif
1639
1640ifneq ($(OPENJDK_TARGET_OS),macosx)
1641 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1642endif
1643
ohair46fcac92012-09-18 11:29:24 -07001644LIBMANAGEMENT_OPTIMIZATION:=HIGH
1645ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001646 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001647 LIBMANAGEMENT_OPTIMIZATION:=LOW
1648 endif
1649endif
erikjaf85fc42012-07-03 16:10:44 -07001650
1651$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1652 LIBRARY:=management,\
1653 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1654 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1655 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1656 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001657 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001658 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1659 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1660 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1661 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07001662 LDFLAGS_solaris:=-lkstat,\
1663 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001664 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001665 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1666 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001667 -D "JDK_FNAME=management.dll" \
1668 -D "JDK_INTERNAL_NAME=management" \
1669 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001670 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1671 DEBUG_SYMBOLS:=true))
1672
1673$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1674
1675BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1676
1677##########################################################################################
1678
ohair46fcac92012-09-18 11:29:24 -07001679BUILD_LIBHPROF_SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof
erikjaf85fc42012-07-03 16:10:44 -07001680BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1681 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001682 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001683 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1684
1685BUILD_LIBHPROF_LDFLAGS:=
1686
ohair46fcac92012-09-18 11:29:24 -07001687LIBHPROF_OPTIMIZATION:=HIGHEST
1688ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001689 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001690 LIBHPROF_OPTIMIZATION:=LOW
1691 endif
1692endif
1693
erikjaf85fc42012-07-03 16:10:44 -07001694$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1695 LIBRARY:=hprof, \
1696 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1697 SRC:=$(BUILD_LIBHPROF_SRC),\
1698 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001699 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001700 CFLAGS:=$(CFLAGS_JDKLIB) \
1701 $(BUILD_LIBHPROF_CFLAGS),\
1702 CFLAGS_debug:=-DHPROF_LOGGING,\
1703 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1704 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1705 $(call SET_SHARED_LIBRARY_ORIGIN),\
1706 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
tbell7d47bd02012-11-12 10:20:01 -08001707 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1708 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
1709 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001710 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1711 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001712 -D "JDK_FNAME=hprof.dll" \
1713 -D "JDK_INTERNAL_NAME=hprof" \
1714 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001715 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1716 DEBUG_SYMBOLS:=true))
1717
1718BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1719
1720##########################################################################################
1721
1722$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1723 LIBRARY:=java_crw_demo, \
1724 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1725 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1726 LANG:=C,\
1727 OPTIMIZATION:=LOW, \
1728 CFLAGS:=$(CFLAGS_JDKLIB) \
1729 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1730 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1731 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1732 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08001733 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001734 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1735 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001736 -D "JDK_FNAME=java_crw_demo.dll" \
1737 -D "JDK_INTERNAL_NAME=java_crw_demo" \
1738 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001739 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1740 DEBUG_SYMBOLS:=true))
1741
1742BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1743
1744##########################################################################################
1745
1746$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1747 LIBRARY:=npt, \
1748 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001749 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001750 LANG:=C,\
1751 OPTIMIZATION:=LOW, \
1752 CFLAGS:=$(CFLAGS_JDKLIB) \
1753 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001754 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001755 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1756 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1757 $(call SET_SHARED_LIBRARY_ORIGIN),\
1758 LDFLAGS_macosx:=-liconv,\
1759 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
erikj4f66f2d2012-11-03 16:27:01 -07001760 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -07001761 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1762 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001763 -D "JDK_FNAME=npt.dll" \
1764 -D "JDK_INTERNAL_NAME=npt" \
1765 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001766 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1767 DEBUG_SYMBOLS:=true))
1768
1769BUILD_LIBRARIES += $(BUILD_LIBNPT)
1770
1771##########################################################################################
1772
1773LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001774 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1775 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
ohair46fcac92012-09-18 11:29:24 -07001776 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
erikjaf85fc42012-07-03 16:10:44 -07001777
ohairb71409c2012-10-26 14:23:29 -07001778ifeq ($(OPENJDK_TARGET_OS),windows)
1779 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1780else
1781 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1782endif
1783
erikjaf85fc42012-07-03 16:10:44 -07001784LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1785
1786LIBNET_EXCLUDE_FILES:=
1787ifneq ($(OPENJDK_TARGET_OS),linux)
1788 LIBNET_EXCLUDE_FILES += linux_close.c
1789endif
1790
1791ifneq ($(OPENJDK_TARGET_OS),macosx)
1792 LIBNET_EXCLUDE_FILES += bsd_close.c
1793endif
1794
1795ifeq ($(OPENJDK_TARGET_OS),windows)
1796 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1797else
1798 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1799 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1800 NTLMAuthSequence.c NetworkInterface_winXP.c
1801endif
1802
erikjaf85fc42012-07-03 16:10:44 -07001803$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1804 LIBRARY:=net,\
1805 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1806 SRC:=$(LIBNET_SRC_DIRS),\
1807 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1808 LANG:=C,\
1809 OPTIMIZATION:=LOW, \
1810 CFLAGS:=$(CFLAGS_JDKLIB) \
1811 $(LIBNET_CFLAGS),\
1812 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1813 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1814 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001815 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
erikj4f66f2d2012-11-03 16:27:01 -07001816 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
ohair46fcac92012-09-18 11:29:24 -07001817 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
ohairb71409c2012-10-26 14:23:29 -07001818 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1819 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1820 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
ohair46fcac92012-09-18 11:29:24 -07001821 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1822 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001823 -D "JDK_FNAME=net.dll" \
1824 -D "JDK_INTERNAL_NAME=net" \
1825 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001826 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
1827 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001828
1829$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1830
1831BUILD_LIBRARIES += $(BUILD_LIBNET)
1832
1833$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
ohairb71409c2012-10-26 14:23:29 -07001834 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001835 $(MKDIR) -p $(@D)
1836 $(CP) $< $@
1837
1838COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1839
1840ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001841$(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template
ohairb71409c2012-10-26 14:23:29 -07001842 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001843 $(MKDIR) -p $(@D)
1844 $(CP) $< $@
1845
1846COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1847endif
1848
1849##########################################################################################
1850
1851BUILD_LIBNIO_SRC:=\
ohair46fcac92012-09-18 11:29:24 -07001852 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
1853 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1854 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
erikjaf85fc42012-07-03 16:10:44 -07001855
1856BUILD_LIBNIO_CFLAGS:=\
1857 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1858 -I$(JDK_TOPDIR)/src/share/native/java/io \
1859 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001860 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
erikjaf85fc42012-07-03 16:10:44 -07001861
1862BUILD_LIBNIO_FILES:=\
1863 DatagramChannelImpl.c \
1864 DatagramDispatcher.c \
1865 FileChannelImpl.c \
1866 FileDispatcherImpl.c \
1867 FileKey.c \
1868 IOUtil.c \
1869 MappedByteBuffer.c \
1870 Net.c \
1871 ServerSocketChannelImpl.c \
1872 SocketChannelImpl.c \
1873 SocketDispatcher.c
1874
1875ifeq ($(OPENJDK_TARGET_OS), windows)
1876 BUILD_LIBNIO_FILES += \
1877 Iocp.c \
1878 RegistryFileTypeDetector.c \
1879 WindowsAsynchronousFileChannelImpl.c \
1880 WindowsAsynchronousServerSocketChannelImpl.c \
1881 WindowsAsynchronousSocketChannelImpl.c \
1882 WindowsNativeDispatcher.c \
1883 WindowsSelectorImpl.c
1884endif
1885
1886ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -07001887 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001888 BUILD_LIBNIO_FILES += \
1889 EPoll.c \
1890 EPollArrayWrapper.c \
1891 EPollPort.c \
1892 InheritedChannel.c \
1893 NativeThread.c \
ohair46fcac92012-09-18 11:29:24 -07001894 PollArrayWrapper.c \
erikjaf85fc42012-07-03 16:10:44 -07001895 UnixAsynchronousServerSocketChannelImpl.c \
1896 UnixAsynchronousSocketChannelImpl.c \
1897 GnomeFileTypeDetector.c \
dxu20cb3702012-12-04 14:07:30 +00001898 MagicFileTypeDetector.c \
erikjaf85fc42012-07-03 16:10:44 -07001899 LinuxNativeDispatcher.c \
1900 LinuxWatchService.c \
1901 UnixCopyFile.c \
1902 UnixNativeDispatcher.c
1903endif
1904
1905ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07001906 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001907 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1908 BUILD_LIBNIO_FILES += \
1909 InheritedChannel.c \
1910 NativeThread.c \
1911 PollArrayWrapper.c \
1912 UnixAsynchronousServerSocketChannelImpl.c \
1913 UnixAsynchronousSocketChannelImpl.c \
erikjaf85fc42012-07-03 16:10:44 -07001914 BsdNativeDispatcher.c \
ohair46fcac92012-09-18 11:29:24 -07001915 MacOSXNativeDispatcher.c \
erikjaf85fc42012-07-03 16:10:44 -07001916 UnixCopyFile.c \
1917 UnixNativeDispatcher.c \
1918 KQueue.c \
1919 KQueuePort.c \
1920 KQueueArrayWrapper.c
1921endif
1922
1923ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001924 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001925 BUILD_LIBNIO_FILES += \
1926 DevPollArrayWrapper.c \
1927 InheritedChannel.c \
1928 NativeThread.c \
1929 PollArrayWrapper.c \
1930 SolarisEventPort.c \
1931 UnixAsynchronousServerSocketChannelImpl.c \
1932 UnixAsynchronousSocketChannelImpl.c \
1933 GnomeFileTypeDetector.c \
1934 SolarisNativeDispatcher.c \
1935 SolarisWatchService.c \
1936 UnixCopyFile.c \
1937 UnixNativeDispatcher.c
1938endif
1939
1940$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1941 LIBRARY:=nio,\
1942 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1943 SRC:=$(BUILD_LIBNIO_SRC),\
1944 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1945 LANG:=C,\
1946 OPTIMIZATION:=HIGH, \
1947 CFLAGS:=$(CFLAGS_JDKLIB) \
1948 $(BUILD_LIBNIO_CFLAGS),\
1949 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1950 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1951 $(call SET_SHARED_LIBRARY_ORIGIN),\
1952 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
ohair46fcac92012-09-18 11:29:24 -07001953 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
1954 -lsendfile -ljava -lnet -lc,\
ohairb71409c2012-10-26 14:23:29 -07001955 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
1956 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
erikjaf85fc42012-07-03 16:10:44 -07001957 $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
ohairb71409c2012-10-26 14:23:29 -07001958 $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj \
1959 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001960 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
erikjaf85fc42012-07-03 16:10:44 -07001961 LDFLAGS_SUFFIX:=,\
ohair46fcac92012-09-18 11:29:24 -07001962 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1963 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001964 -D "JDK_FNAME=nio.dll" \
1965 -D "JDK_INTERNAL_NAME=nio" \
1966 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001967 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
1968 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001969
1970BUILD_LIBRARIES += $(BUILD_LIBNIO)
1971
1972$(BUILD_LIBNIO) : $(BUILD_LIBNET)
1973
1974##########################################################################################
1975
1976ifeq ($(OPENJDK_TARGET_OS_API),posix)
erikj5c99f2c2012-11-28 13:29:35 +01001977
erikjaf85fc42012-07-03 16:10:44 -07001978 ifneq ($(OPENJDK_TARGET_OS),macosx)
1979
1980 SCTP_WERROR := -Werror
1981 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
1982 SCTP_WERROR :=
1983 endif
1984
1985 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
1986 LIBRARY:=sctp,\
1987 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001988 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
erikjaf85fc42012-07-03 16:10:44 -07001989 LANG:=C,\
1990 OPTIMIZATION:=LOW, \
1991 CFLAGS:=$(CFLAGS_JDKLIB)\
1992 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1993 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
1994 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001995 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1996 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
erikjaf85fc42012-07-03 16:10:44 -07001997 CFLAGS_linux:=$(SCTP_WERROR),\
1998 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
1999 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2000 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002001 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002002 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
erikj4f66f2d2012-11-03 16:27:01 -07002003 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07002004 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002005 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp))
2006
2007 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
2008
2009 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
2010 endif
2011endif
2012
2013##########################################################################################
2014
ohair46fcac92012-09-18 11:29:24 -07002015BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
2016LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
erikjaf85fc42012-07-03 16:10:44 -07002017
2018BUILD_LIBJLI_FILES:=\
2019 java.c \
2020 splashscreen_stubs.c \
2021 parse_manifest.c \
2022 version_comp.c \
2023 wildcard.c \
2024 jli_util.c
2025
2026ifeq ($(JVM_VARIANT_ZERO), true)
2027 ERGO_FAMILY:=zero
ohair46fcac92012-09-18 11:29:24 -07002028else
2029 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
erikjaf85fc42012-07-03 16:10:44 -07002030 ERGO_FAMILY:=i586
ohair46fcac92012-09-18 11:29:24 -07002031 else
2032 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
2033 endif
2034endif
erikjaf85fc42012-07-03 16:10:44 -07002035
2036ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002037 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
erikjaf85fc42012-07-03 16:10:44 -07002038 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
2039 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
2040
2041 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2042 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2043endif
2044
2045ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002046 BUILD_LIBJLI_FILES += java_md.c \
2047 cmdtoargs.c
2048 # Staticically link with c runtime on windows.
2049 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
erikjaf85fc42012-07-03 16:10:44 -07002050else ifneq ($(OPENJDK_TARGET_OS), macosx)
2051
2052 BUILD_LIBJLI_FILES += java_md_common.c
2053 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
2054
2055 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2056
2057 # if the architecture specific ergo file exists then
2058 # use it, else use the generic definitions from ergo.c
ohair46fcac92012-09-18 11:29:24 -07002059 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
erikjaf85fc42012-07-03 16:10:44 -07002060 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2061 else # !ERGO_ARCH_FILE
ohair46fcac92012-09-18 11:29:24 -07002062 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
erikjaf85fc42012-07-03 16:10:44 -07002063 endif # ERGO_ARCH_FILE
2064endif #WINDOWS
2065
ohair46fcac92012-09-18 11:29:24 -07002066# Append defines depending on target platform
2067LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002068
2069ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002070 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
erikjaf85fc42012-07-03 16:10:44 -07002071endif
2072
2073ifneq ($(USE_EXTERNAL_LIBZ),true)
2074 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002075 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002076 BUILD_LIBJLI_FILES += \
2077 inflate.c \
2078 inftrees.c \
2079 inffast.c \
2080 zadler32.c \
2081 zcrc32.c \
2082 zutil.c
2083endif
2084
2085ifeq ($(OPENJDK_TARGET_OS), windows)
2086 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2087else
2088 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2089endif
2090
2091$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2092 LIBRARY:=jli,\
2093 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2094 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2095 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2096 LANG:=C,\
2097 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002098 CFLAGS:=$(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002099 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2100 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2101 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002102 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2103 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2104 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2105 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2106 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2107 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
erikjaf85fc42012-07-03 16:10:44 -07002108 LDFLAGS_SUFFIX_windows:=\
2109 -export:JLI_Launch \
2110 -export:JLI_ManifestIterate \
2111 -export:JLI_SetTraceLauncher \
2112 -export:JLI_ReportErrorMessage \
2113 -export:JLI_ReportErrorMessageSys \
2114 -export:JLI_ReportMessage \
2115 -export:JLI_ReportExceptionDescription \
ohair46fcac92012-09-18 11:29:24 -07002116 -export:JLI_MemAlloc \
2117 -export:JLI_CmdToArgs \
2118 -export:JLI_GetStdArgc \
2119 -export:JLI_GetStdArgs \
erikjaf85fc42012-07-03 16:10:44 -07002120 advapi32.lib \
2121 comctl32.lib \
2122 user32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002123 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2124 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07002125 -D "JDK_FNAME=jli.dll" \
2126 -D "JDK_INTERNAL_NAME=jli" \
2127 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002128 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
2129 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002130
2131BUILD_LIBRARIES += $(BUILD_LIBJLI)
2132
2133# On windows, the static library has the same suffix as the import library created by
2134# with the shared library, so the static library is given a different name. No harm
2135# in doing it for all platform to reduce complexity.
2136ifeq ($(OPENJDK_TARGET_OS), windows)
2137 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2138 STATIC_LIBRARY:=jli_static,\
2139 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2140 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2141 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2142 LANG:=C,\
2143 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002144 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002145 ARFLAGS:=$(ARFLAGS),\
2146 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2147
2148BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2149
2150else ifeq ($(OPENJDK_TARGET_OS),macosx)
2151 #
2152 # On macosx they do partial (incremental) linking of libjli_static.a
2153 # code it here...rather than add support to NativeCompilation
2154 # as this is first time I see it
2155 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2156 LIBRARY:=jli_static, \
2157 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2158 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2159 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2160 LANG:=C,\
2161 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002162 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002163 LDFLAGS:=-nostdlib -r,\
2164 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2165
2166$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
2167 $(CP) -a $< $@
2168
2169BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2170endif
2171
2172##########################################################################################
2173
ohairb71409c2012-10-26 14:23:29 -07002174ifndef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -07002175ifeq ($(ENABLE_JFR), true)
2176
2177$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2178 LIBRARY:=jfr,\
2179 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2180 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2181 LANG:=C,\
2182 OPTIMIZATION:=LOW, \
2183 CFLAGS:=$(CFLAGS_JDKLIB) \
2184 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2185 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2186 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2187 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002188 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2189 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002190 -D "JDK_FNAME=jfr.dll" \
2191 -D "JDK_INTERNAL_NAME=jfr" \
2192 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002193 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
2194 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002195
2196BUILD_LIBRARIES += $(BUILD_LIBJFR)
2197
2198endif
ohairb71409c2012-10-26 14:23:29 -07002199endif
erikjaf85fc42012-07-03 16:10:44 -07002200
2201##########################################################################################
2202
2203ifndef OPENJDK
2204
2205BUILD_LIBKCMS_EXCLUDE_FILES:=
2206ifeq ($(OPENJDK_TARGET_OS),windows)
2207 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2208else
2209 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2210endif
2211
2212BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2213
2214ifeq ($(OPENJDK_TARGET_OS),solaris)
2215 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2216 # implement it like this...since it's only used here
2217 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2218else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2219 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2220endif
2221
2222$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2223 LIBRARY:=kcms,\
2224 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2225 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2226 LANG:=C,\
2227 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2228 OPTIMIZATION:=LOW, \
2229 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2230 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2231 CFLAGS_linux:=-Wno-missing-field-initializers,\
2232 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2233 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2234 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002235 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
erikjaf85fc42012-07-03 16:10:44 -07002236 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
erikj388fbde2012-12-06 12:09:33 +01002237 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002238 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
ohair46fcac92012-09-18 11:29:24 -07002239 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2240 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002241 -D "JDK_FNAME=kcms.dll" \
2242 -D "JDK_INTERNAL_NAME=kcms" \
2243 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002244 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
2245 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002246
2247$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2248
2249BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2250
2251endif
2252
2253##########################################################################################
2254
2255ifndef OPENJDK
2256ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002257ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikjaf85fc42012-07-03 16:10:44 -07002258
2259ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2260
2261SUNWJDGA_MAPFILE:=
ohair46fcac92012-09-18 11:29:24 -07002262ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
erikjaf85fc42012-07-03 16:10:44 -07002263 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2264endif
2265
2266$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2267 LIBRARY:=sunwjdga,\
2268 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2269 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2270 LANG:=C, \
2271 OPTIMIZATION:=LOW, \
2272 CFLAGS:=$(CFLAGS_JDKLIB) \
2273 -I$(JDK_TOPDIR)/src/share/javavm/export \
ohair46fcac92012-09-18 11:29:24 -07002274 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
erikjaf85fc42012-07-03 16:10:44 -07002275 -I$(OPENWIN_HOME)/include, \
2276 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2277 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2278 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002279 LDFLAGS_SUFFIX:=-L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \
erikjaf85fc42012-07-03 16:10:44 -07002280 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga))
2281
2282BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2283
2284endif
2285endif
2286endif
2287endif
2288
2289##########################################################################################
2290
2291ifeq ($(BUILD_HEADLESS), true)
2292ifneq ($(OPENJDK_TARGET_OS), windows)
2293
2294LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2295 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2296 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2297 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2298 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2299 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2300
2301LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2302 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2303 $(CUPS_CFLAGS) \
2304 $(X_CFLAGS) \
2305 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -07002306 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07002307 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2308 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2309 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2310 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2311 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -07002312 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
erikjaf85fc42012-07-03 16:10:44 -07002313 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2314
2315LIBAWT_HEADLESS_FILES:=\
2316 awt_Font.c \
2317 HeadlessToolkit.c \
2318 fontpath.c \
2319 VDrawingArea.c \
2320 X11Color.c \
2321 X11Renderer.c \
2322 X11PMBlitLoops.c \
2323 X11SurfaceData.c \
2324 X11FontScaler_md.c \
2325 X11TextRenderer_md.c \
2326 OGLBlitLoops.c \
2327 OGLBufImgOps.c \
2328 OGLContext.c \
2329 OGLFuncs.c \
2330 OGLMaskBlit.c \
2331 OGLMaskFill.c \
2332 OGLPaints.c \
2333 OGLRenderQueue.c \
2334 OGLRenderer.c \
2335 OGLSurfaceData.c \
2336 OGLTextRenderer.c \
2337 OGLVertexCache.c \
2338 GLXGraphicsConfig.c \
2339 GLXSurfaceData.c \
2340 AccelGlyphCache.c \
2341 CUPSfuncs.c
2342
erikjaf85fc42012-07-03 16:10:44 -07002343LIBAWT_HEADLESS_REORDER:=
2344ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002345 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
2346 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07002347 endif
2348endif
2349
2350$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2351 LIBRARY:=awt_headless,\
2352 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2353 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2354 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2355 LANG:=C,\
2356 OPTIMIZATION:=LOW, \
2357 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002358 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
erikjaf85fc42012-07-03 16:10:44 -07002359 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2360 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002361 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2362 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2363 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2364 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2365 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -07002366 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
ohair46fcac92012-09-18 11:29:24 -07002367 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -08002368 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
2369 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07002370 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless))
2371
2372$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2373
2374BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2375
2376endif
2377endif
2378
2379##########################################################################################
2380
2381ifndef BUILD_HEADLESS_ONLY
2382LIBSPLASHSCREEN_DIRS:=\
2383 $(JDK_TOPDIR)/src/share/native/sun/awt/giflib \
2384 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2385 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
erikj5c99f2c2012-11-28 13:29:35 +01002386 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
2387
2388ifneq ($(OPENJDK_TARGET_OS), macosx)
2389 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
2390else
2391 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2392endif
2393
erikjaf85fc42012-07-03 16:10:44 -07002394
2395LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2396 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2397
2398ifeq ($(OPENJDK_TARGET_OS), macosx)
2399 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2400 $(LIBSPLASHSCREEN_CFLAGS) \
2401 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2402 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2403 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2404
2405 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2406 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2407 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2408 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2409 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2410 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2411 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2412
2413else ifneq ($(OPENJDK_TARGET_OS), windows)
2414 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2415else
2416 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2417endif
2418
erikjaf85fc42012-07-03 16:10:44 -07002419LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2420
2421ifneq ($(USE_EXTERNAL_LIBZ),true)
2422 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002423 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002424endif
2425
2426ifeq ($(OPENJDK_TARGET_OS), macosx)
2427 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2428 -framework ApplicationServices \
2429 -framework Foundation \
2430 -framework Cocoa \
2431 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2432 -framework JavaNativeFoundation
2433else ifneq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002434 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
erikjaf85fc42012-07-03 16:10:44 -07002435else # OPENJDK_TARGET_OS
ohairb71409c2012-10-26 14:23:29 -07002436 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
erikjaf85fc42012-07-03 16:10:44 -07002437endif # OPENJDK_TARGET_OS
2438
2439$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2440 LIBRARY:=splashscreen,\
2441 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2442 SRC:=$(LIBSPLASHSCREEN_DIRS),\
erikj5c99f2c2012-11-28 13:29:35 +01002443 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\
erikjaf85fc42012-07-03 16:10:44 -07002444 LANG:=C,\
2445 OPTIMIZATION:=LOW, \
2446 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\
2447 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2448 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2449 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002450 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08002451 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002452 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2453 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002454 -D "JDK_FNAME=splashscreen.dll" \
2455 -D "JDK_INTERNAL_NAME=splashscreen" \
2456 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002457 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
2458 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002459
2460BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2461
2462ifeq ($(OPENJDK_TARGET_OS),macosx)
2463$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
2464endif
2465
2466endif
2467
2468##########################################################################################
2469
2470ifndef OPENJDK
2471
2472LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002473 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2474 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2475 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2476 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2477
erikjaf85fc42012-07-03 16:10:44 -07002478LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002479 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2480
2481$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002482 LIBRARY:=dcpr,\
2483 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002484 SRC:=$(LIBDCPR_SRC_DIRS),\
2485 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002486 OPTIMIZATION:=LOW, \
2487 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002488 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002489 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002490 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002491 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002492 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002493 LDFLAGS_SUFFIX_posix:=-lm,\
ohair46fcac92012-09-18 11:29:24 -07002494 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2495 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002496 -D "JDK_FNAME=dcpr.dll" \
2497 -D "JDK_INTERNAL_NAME=dcpr" \
2498 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002499 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
2500 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002501
erikjaf85fc42012-07-03 16:10:44 -07002502$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002503
erikjaf85fc42012-07-03 16:10:44 -07002504BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002505
2506endif
2507
2508##########################################################################################
2509
2510$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002511 LIBRARY:=j2pcsc,\
2512 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002513 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002514 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002515 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002516 CFLAGS_posix:=-D__sun_jdk,\
2517 OPTIMIZATION:=LOW, \
2518 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002519 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002520 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
2521 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
erikjaf85fc42012-07-03 16:10:44 -07002522 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002523 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2524 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002525 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2526 LDFLAGS_SUFFIX_windows:=winscard.lib,\
tbell7d47bd02012-11-12 10:20:01 -08002527 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002528 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2529 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002530 -D "JDK_FNAME=j2pcsc.dll" \
2531 -D "JDK_INTERNAL_NAME=j2pcsc" \
2532 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002533 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
2534 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002535
erikjaf85fc42012-07-03 16:10:44 -07002536BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002537
2538##########################################################################################
2539
erikjaf85fc42012-07-03 16:10:44 -07002540ifneq ($(OPENJDK_TARGET_OS), windows)
weijunea39fce2012-12-13 08:11:38 +08002541ifneq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002542$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002543 LIBRARY:=j2gss,\
2544 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002545 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002546 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002547 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002548 OPTIMIZATION:=LOW, \
2549 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002550 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002551 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002552 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002553 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2554 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002555 LDFLAGS_SUFFIX:=$(LIBDL),\
2556 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002557 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss))
erikje78df742012-06-07 20:40:50 -07002558
erikjaf85fc42012-07-03 16:10:44 -07002559BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002560endif
weijunea39fce2012-12-13 08:11:38 +08002561endif
erikje78df742012-06-07 20:40:50 -07002562
2563##########################################################################################
2564
erikjaf85fc42012-07-03 16:10:44 -07002565BUILD_LIBKRB5_NAME:=
2566ifeq ($(OPENJDK_TARGET_OS), windows)
2567 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
ohair46fcac92012-09-18 11:29:24 -07002568 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
ohairb71409c2012-10-26 14:23:29 -07002569 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
2570 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
2571 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
erikjaf85fc42012-07-03 16:10:44 -07002572else ifeq ($(OPENJDK_TARGET_OS), macosx)
2573 BUILD_LIBKRB5_NAME:=osxkrb5
erikj5c99f2c2012-11-28 13:29:35 +01002574 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5
erikjaf85fc42012-07-03 16:10:44 -07002575 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikje78df742012-06-07 20:40:50 -07002576endif
2577
2578ifneq ($(BUILD_LIBKRB5_NAME),)
2579$(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002580 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2581 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01002582 SRC:=$(BUILD_LIBKRB5_SRC),\
erikje78df742012-06-07 20:40:50 -07002583 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002584 OPTIMIZATION:=LOW, \
2585 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002586 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
ohair46fcac92012-09-18 11:29:24 -07002587 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002588 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2589 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002590 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
ohair46fcac92012-09-18 11:29:24 -07002591 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2592 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002593 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
2594 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
2595 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002596 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
2597 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002598
erikjaf85fc42012-07-03 16:10:44 -07002599BUILD_LIBRARIES += $(BUILD_LIBKRB5)
erikje78df742012-06-07 20:40:50 -07002600endif
2601
2602##########################################################################################
2603
erikjaf85fc42012-07-03 16:10:44 -07002604ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002605
2606$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002607 LIBRARY:=sunmscapi,\
2608 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohairb71409c2012-10-26 14:23:29 -07002609 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
erikjaf85fc42012-07-03 16:10:44 -07002610 INCLUDE_FILES:=security.cpp, \
erikje78df742012-06-07 20:40:50 -07002611 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002612 OPTIMIZATION:=LOW, \
2613 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -07002614 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
2615 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002616 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002617 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002618 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2619 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002620 -D "JDK_FNAME=sunmscapi.dll" \
2621 -D "JDK_INTERNAL_NAME=sunmscapi" \
2622 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002623 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
2624 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002625
erikjaf85fc42012-07-03 16:10:44 -07002626BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
erikje78df742012-06-07 20:40:50 -07002627endif
2628
2629##########################################################################################
2630
erikje78df742012-06-07 20:40:50 -07002631$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002632 LIBRARY:=j2pkcs11,\
2633 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002634 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002635 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002636 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002637 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002638 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002639 OPTIMIZATION:=LOW, \
2640 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002641 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002642 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002643 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002644 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002645 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002646 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2647 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002648 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2649 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002650 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2651 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002652 -D "JDK_FNAME=j2pkcs11.dll" \
2653 -D "JDK_INTERNAL_NAME=j2pkcs11" \
2654 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002655 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
2656 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002657
erikjaf85fc42012-07-03 16:10:44 -07002658BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002659
2660##########################################################################################
2661
2662ifndef DISABLE_INTREE_EC
2663#
2664# TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl
2665# is not present
2666#
erikjaf85fc42012-07-03 16:10:44 -07002667BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2668 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2669
2670#
2671# On sol-sparc...all libraries are compiled with -xregs=no%appl
2672# (set in CFLAGS_REQUIRED_sparc)
2673#
2674# except!!! libsunec.so
2675#
2676ECC_JNI_SOLSPARC_FILTER:=
2677ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2678 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2679endif
erikje78df742012-06-07 20:40:50 -07002680
2681$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002682 LIBRARY:=sunec,\
2683 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002684 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2685 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002686 LANG:=C++, \
2687 OPTIMIZATION:=LOW, \
2688 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2689 $(BUILD_LIBSUNEC_FLAGS) \
2690 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2691 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2692 $(BUILD_LIBSUNEC_FLAGS),\
2693 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002694 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
2695 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002696 LDFLAGS_SUFFIX:=$(LIBCXX),\
ohair46fcac92012-09-18 11:29:24 -07002697 LDFLAGS_SUFFIX_linux:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002698 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002699 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2700 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002701 -D "JDK_FNAME=sunec.dll" \
2702 -D "JDK_INTERNAL_NAME=sunec" \
2703 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002704 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
2705 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002706
erikjaf85fc42012-07-03 16:10:44 -07002707BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002708endif
2709
2710##########################################################################################
2711
erikjaf85fc42012-07-03 16:10:44 -07002712LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002713 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
ohair46fcac92012-09-18 11:29:24 -07002714 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002715
erikjaf85fc42012-07-03 16:10:44 -07002716LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002717
erikjaf85fc42012-07-03 16:10:44 -07002718LIBJSOUND_LANG:=C
2719LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002720
erikjaf85fc42012-07-03 16:10:44 -07002721EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002722
erikjaf85fc42012-07-03 16:10:44 -07002723LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002724 MidiInDevice.c \
2725 MidiInDeviceProvider.c \
2726 MidiOutDevice.c \
2727 MidiOutDeviceProvider.c \
2728 PlatformMidi.c
2729
2730# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002731LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002732 PortMixerProvider.c \
2733 PortMixer.c
2734
2735# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002736LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002737 DirectAudioDeviceProvider.c \
2738 DirectAudioDevice.c
2739
erikjaf85fc42012-07-03 16:10:44 -07002740ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002741 EXTRA_SOUND_JNI_LIBS += jsoundds
2742 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2743 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2744 -DUSE_PLATFORM_MIDI_IN=TRUE \
2745 -DUSE_PORTS=TRUE
2746 LIBJSOUND_SRC_FILES += \
2747 PLATFORM_API_WinOS_MidiIn.cpp \
2748 PLATFORM_API_WinOS_MidiOut.c \
2749 PLATFORM_API_WinOS_Util.c \
2750 PLATFORM_API_WinOS_Ports.c
2751 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2752 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002753endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002754
erikjaf85fc42012-07-03 16:10:44 -07002755ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002756 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2757 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002758endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002759
erikjaf85fc42012-07-03 16:10:44 -07002760ifeq ($(OPENJDK_TARGET_OS), macosx)
2761 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002762 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2763 -DUSE_PORTS=TRUE \
2764 -DUSE_DAUDIO=TRUE \
2765 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2766 -DUSE_PLATFORM_MIDI_IN=TRUE
2767 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2768 LIBJSOUND_SRC_FILES += \
2769 PLATFORM_API_MacOSX_Utils.cpp \
2770 PLATFORM_API_MacOSX_PCM.cpp \
2771 PLATFORM_API_MacOSX_Ports.cpp \
2772 PLATFORM_API_MacOSX_MidiIn.c \
2773 PLATFORM_API_MacOSX_MidiOut.c \
2774 PLATFORM_API_MacOSX_MidiUtils.c
2775 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2776 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2777 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002778endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002779
erikjaf85fc42012-07-03 16:10:44 -07002780ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002781 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2782 -DUSE_PORTS=TRUE \
2783 -DUSE_DAUDIO=TRUE
2784 LIBJSOUND_SRC_FILES += \
2785 PLATFORM_API_SolarisOS_Utils.c \
2786 PLATFORM_API_SolarisOS_Ports.c \
2787 PLATFORM_API_SolarisOS_PCM.c
2788 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2789 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2790 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002791endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002792
2793
2794ifeq ($(JVM_VARIANT_ZERO), true)
2795 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2796else
ohair46fcac92012-09-18 11:29:24 -07002797 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikje78df742012-06-07 20:40:50 -07002798 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
ohair46fcac92012-09-18 11:29:24 -07002799 endif
erikje78df742012-06-07 20:40:50 -07002800
ohair46fcac92012-09-18 11:29:24 -07002801 ifeq ($(OPENJDK_TARGET_CPU), sparc)
erikje78df742012-06-07 20:40:50 -07002802 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
ohair46fcac92012-09-18 11:29:24 -07002803 endif
erikje78df742012-06-07 20:40:50 -07002804
ohair46fcac92012-09-18 11:29:24 -07002805 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
erikje78df742012-06-07 20:40:50 -07002806 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
ohair46fcac92012-09-18 11:29:24 -07002807 endif
erikje78df742012-06-07 20:40:50 -07002808
ohair46fcac92012-09-18 11:29:24 -07002809 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikje78df742012-06-07 20:40:50 -07002810 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
ohair46fcac92012-09-18 11:29:24 -07002811 endif
erikje78df742012-06-07 20:40:50 -07002812
ohair46fcac92012-09-18 11:29:24 -07002813 ifeq ($(OPENJDK_TARGET_CPU), arm)
erikje78df742012-06-07 20:40:50 -07002814 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
ohair46fcac92012-09-18 11:29:24 -07002815 endif
erikje78df742012-06-07 20:40:50 -07002816
ohair46fcac92012-09-18 11:29:24 -07002817 ifeq ($(OPENJDK_TARGET_CPU), ppc)
erikje78df742012-06-07 20:40:50 -07002818 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
ohair46fcac92012-09-18 11:29:24 -07002819 endif
erikje78df742012-06-07 20:40:50 -07002820endif
2821
2822LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2823
2824$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002825 LIBRARY:=jsound,\
2826 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002827 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002828 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002829 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002830 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07002831 CFLAGS:=$(CFLAGS_JDKLIB) \
2832 $(LIBJSOUND_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002833 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2834 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002835 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2836 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002837 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
2838 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2839 -framework CoreMIDI -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -07002840 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
ohairb71409c2012-10-26 14:23:29 -07002841 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
erikje78df742012-06-07 20:40:50 -07002842 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002843 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2844 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002845 -D "JDK_FNAME=jsound.dll" \
2846 -D "JDK_INTERNAL_NAME=jsound" \
2847 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002848 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
2849 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002850
erikjaf85fc42012-07-03 16:10:44 -07002851$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002852
erikjaf85fc42012-07-03 16:10:44 -07002853BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002854
2855##########################################################################################
2856
2857ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2858
2859$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002860 LIBRARY:=jsoundalsa,\
2861 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002862 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002863 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002864 $(LIBJSOUND_DAUDIOFILES) \
2865 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2866 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2867 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2868 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2869 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2870 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2871 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002872 LANG:=C,\
2873 OPTIMIZATION:=LOW, \
2874 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002875 $(LIBJSOUND_CFLAGS) \
2876 -DUSE_DAUDIO=TRUE \
2877 -DUSE_PORTS=TRUE \
2878 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2879 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07002880 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002881 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2882 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002883 LDFLAGS_SUFFIX:=-lasound -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002884 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa))
erikje78df742012-06-07 20:40:50 -07002885
erikjaf85fc42012-07-03 16:10:44 -07002886$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002887
erikjaf85fc42012-07-03 16:10:44 -07002888BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07002889
2890endif
2891
2892##########################################################################################
2893
2894ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
2895
2896$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07002897 LIBRARY:=jsoundds,\
2898 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002899 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002900 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07002901 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07002902 LANG:=C++,\
2903 OPTIMIZATION:=LOW, \
2904 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002905 $(LIBJSOUND_CFLAGS) \
2906 -DUSE_DAUDIO=TRUE, \
ohair46fcac92012-09-18 11:29:24 -07002907 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002908 $(call SET_SHARED_LIBRARY_ORIGIN),\
2909 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002910 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2911 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002912 -D "JDK_FNAME=jsoundds.dll" \
2913 -D "JDK_INTERNAL_NAME=jsoundds" \
2914 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002915 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
2916 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002917
erikjaf85fc42012-07-03 16:10:44 -07002918$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002919
erikjaf85fc42012-07-03 16:10:44 -07002920BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07002921
2922endif
2923
2924##########################################################################################
2925
erikjaf85fc42012-07-03 16:10:44 -07002926ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002927ifndef OPENJDK
2928
2929$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07002930 LIBRARY:=j2ucrypto,\
2931 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002932 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07002933 LANG:=C,\
2934 OPTIMIZATION:=LOW, \
2935 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002936 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07002937 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002938 LDFLAGS:=$(LDFLAGS_JDKLIB),\
erikje78df742012-06-07 20:40:50 -07002939 LDFLAGS_SUFFIX:=$(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07002940 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto))
erikje78df742012-06-07 20:40:50 -07002941
erikjaf85fc42012-07-03 16:10:44 -07002942$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002943
erikjaf85fc42012-07-03 16:10:44 -07002944BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07002945
2946endif
2947endif
2948
2949##########################################################################################
2950
erikjaf85fc42012-07-03 16:10:44 -07002951ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002952
erikje78df742012-06-07 20:40:50 -07002953$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07002954 LIBRARY:=AppleScriptEngine,\
2955 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002956 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07002957 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002958 OPTIMIZATION:=LOW, \
2959 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002960 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
2961 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2962 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
2963 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2964 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002965 LDFLAGS_SUFFIX:=-framework Cocoa \
2966 -framework Carbon \
2967 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2968 -framework JavaNativeFoundation \
2969 $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002970 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine))
erikje78df742012-06-07 20:40:50 -07002971
erikjaf85fc42012-07-03 16:10:44 -07002972$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
2973
2974BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07002975
2976endif
2977
2978##########################################################################################
2979
erikjaf85fc42012-07-03 16:10:44 -07002980ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002981
erikje78df742012-06-07 20:40:50 -07002982$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07002983 LIBRARY:=osxapp,\
2984 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002985 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07002986 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002987 OPTIMIZATION:=LOW, \
2988 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002989 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
ohairb71409c2012-10-26 14:23:29 -07002990 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
erikje78df742012-06-07 20:40:50 -07002991 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2992 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
2993 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2994 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07002995 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07002996 -framework Accelerate \
2997 -framework ApplicationServices \
2998 -framework AudioToolbox \
2999 -framework Carbon \
3000 -framework Cocoa \
3001 -framework Security \
3002 -framework ExceptionHandling \
3003 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3004 -framework JavaNativeFoundation \
3005 -framework JavaRuntimeSupport \
3006 -framework OpenGL \
3007 -framework IOSurface \
3008 -framework QuartzCore, \
erikjaf85fc42012-07-03 16:10:44 -07003009 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp))
erikje78df742012-06-07 20:40:50 -07003010
erikjaf85fc42012-07-03 16:10:44 -07003011BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003012
3013endif
3014
3015##########################################################################################
3016
erikjaf85fc42012-07-03 16:10:44 -07003017ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003018
erikjaf85fc42012-07-03 16:10:44 -07003019LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003020 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3021 $(JDK_TOPDIR)/src/macosx/native/java/util \
3022 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3023 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3024 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3025
3026$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003027 LIBRARY:=osx,\
3028 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003029 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003030 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003031 OPTIMIZATION:=LOW, \
3032 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003033 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3034 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3035 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3036 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3037 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3038 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003039 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003040 -losxapp \
3041 -framework Cocoa \
3042 -framework ApplicationServices \
3043 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3044 -framework JavaNativeFoundation \
3045 -framework JavaRuntimeSupport \
3046 -framework Security \
3047 -framework SystemConfiguration \
3048 $(LDFLAGS_JDKLIB_SUFFIX), \
erikjaf85fc42012-07-03 16:10:44 -07003049 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx))
erikje78df742012-06-07 20:40:50 -07003050
erikjaf85fc42012-07-03 16:10:44 -07003051BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003052
erikjaf85fc42012-07-03 16:10:44 -07003053$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003054
erikjaf85fc42012-07-03 16:10:44 -07003055$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003056
3057endif
3058
3059##########################################################################################
3060
erikjaf85fc42012-07-03 16:10:44 -07003061ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003062
erikjaf85fc42012-07-03 16:10:44 -07003063LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003064 awt.m \
3065 ApplicationDelegate.m \
3066 CFRetainedResource.m \
3067 CGLGraphicsConfig.m \
3068 CGLSurfaceData.m \
3069 CGLLayer.m \
3070 CGraphicsConfig.m \
3071 CGraphicsDevice.m \
3072 CGraphicsEnv.m \
3073 CCharToGlyphMapper.m \
3074 CSystemColors.m \
3075 AWTFont.m \
3076 CGGlyphOutlines.m \
3077 CGGlyphImages.m \
3078 CoreTextSupport.m \
3079 AWTStrike.m \
3080 InitIDs.m \
3081 AWTEvent.m \
3082 AWTView.m \
3083 AWTWindow.m \
3084 AWTSurfaceLayers.m \
3085 CCursorManager.m \
3086 CClipboard.m \
3087 CDataTransferer.m \
3088 CDragSource.m \
3089 CDragSourceContextPeer.m \
3090 CDropTarget.m \
3091 CDropTargetContextPeer.m \
3092 CInputMethod.m \
3093 CDesktopPeer.m \
3094 OSVersion.m \
3095 DnDUtilities.m \
3096 CFileDialog.m \
3097 CImage.m \
3098 CMenu.m \
3099 CMenuBar.m \
3100 CMenuComponent.m \
3101 CMenuItem.m \
3102 CPopupMenu.m \
3103 CRobot.m \
3104 CTrayIcon.m \
3105 CWrapper.m \
3106 JavaAccessibilityAction.m \
3107 JavaAccessibilityUtilities.m \
3108 JavaComponentAccessibility.m \
3109 JavaTextAccessibility.m \
3110 LWCToolkit.m \
3111 GeomUtilities.m \
3112 CPrinterJob.m \
3113 PrintModel.m \
3114 PrinterSurfaceData.m \
3115 PrinterView.m \
3116 QuartzSurfaceData.m \
3117 QuartzRenderer.m \
3118 CTextPipe.m \
3119 ImageSurfaceData.m \
3120 awt_DrawingSurface.m \
3121 \
3122 OGLBlitLoops.c \
3123 OGLBufImgOps.c \
3124 OGLContext.c \
3125 OGLFuncs.c \
3126 OGLMaskBlit.c \
3127 OGLMaskFill.c \
3128 OGLPaints.c \
3129 OGLRenderQueue.c \
3130 OGLRenderer.c \
3131 OGLSurfaceData.c \
3132 OGLTextRenderer.c \
3133 OGLVertexCache.c \
3134 AccelGlyphCache.c \
3135 CUPSfuncs.c
3136
3137
erikjaf85fc42012-07-03 16:10:44 -07003138LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003139 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3140 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3141 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3142 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3143 $(JDK_TOPDIR)/src/share/native/sun/font \
3144 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3145
3146$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003147 LIBRARY:=awt_lwawt,\
3148 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003149 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003150 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003151 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003152 OPTIMIZATION:=LOW, \
3153 CFLAGS:=$(CFLAGS_JDKLIB) \
ohrstrom5048dab2012-10-29 13:41:38 -07003154 $(X_CFLAGS) \
3155 $(X_LIBS) \
erikje78df742012-06-07 20:40:50 -07003156 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3157 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3158 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3159 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3160 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3161 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3162 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3163 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3164 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3165 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3166 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3167 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3168 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003169 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
3170 -framework Accelerate \
3171 -framework ApplicationServices \
3172 -framework AudioToolbox \
3173 -framework Carbon \
3174 -framework Cocoa \
3175 -framework Security \
3176 -framework ExceptionHandling \
3177 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3178 -framework JavaNativeFoundation \
3179 -framework JavaRuntimeSupport \
3180 -framework OpenGL \
3181 -framework QuartzCore -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07003182 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt))
erikje78df742012-06-07 20:40:50 -07003183
erikjaf85fc42012-07-03 16:10:44 -07003184BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003185
erikjaf85fc42012-07-03 16:10:44 -07003186$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003187
erikjaf85fc42012-07-03 16:10:44 -07003188$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003189
erikjaf85fc42012-07-03 16:10:44 -07003190$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003191
erikjaf85fc42012-07-03 16:10:44 -07003192$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003193
3194endif
3195
3196##########################################################################################
3197
erikjaf85fc42012-07-03 16:10:44 -07003198ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003199
erikje78df742012-06-07 20:40:50 -07003200$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003201 LIBRARY:=osxui,\
3202 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003203 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003204 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003205 OPTIMIZATION:=LOW, \
3206 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003207 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3208 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3209 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3210 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3211 LDFLAGS:=$(LDFLAGS_JDKLIB)\
ohair46fcac92012-09-18 11:29:24 -07003212 $(call SET_SHARED_LIBRARY_ORIGIN) \
3213 -Xlinker -rpath -Xlinker @loader_path,\
3214 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
3215 -framework Cocoa \
3216 -framework Carbon \
3217 -framework ApplicationServices \
3218 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3219 -framework JavaNativeFoundation \
3220 -framework JavaRuntimeSupport \
3221 -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07003222 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui))
erikje78df742012-06-07 20:40:50 -07003223
erikjaf85fc42012-07-03 16:10:44 -07003224BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003225
erikjaf85fc42012-07-03 16:10:44 -07003226$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003227
erikjaf85fc42012-07-03 16:10:44 -07003228$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003229
erikjaf85fc42012-07-03 16:10:44 -07003230$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003231
erikjaf85fc42012-07-03 16:10:44 -07003232#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3233
3234endif
3235
3236##########################################################################################
3237
3238ifeq ($(OPENJDK_TARGET_OS), macosx)
3239
ohair46fcac92012-09-18 11:29:24 -07003240# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
3241SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
3242
3243$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\
erikjaf85fc42012-07-03 16:10:44 -07003244 LIBRARY:=JObjC,\
ohair46fcac92012-09-18 11:29:24 -07003245 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3246 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3247 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3248 LANG:=C,\
3249 OPTIMIZATION:=LOW, \
3250 CFLAGS:=-fpascal-strings \
3251 -fobjc-gc \
3252 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003253 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
ohair46fcac92012-09-18 11:29:24 -07003254 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3255 -m32,\
3256 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3257 -m32, \
3258 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3259 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3260 -framework JavaNativeFoundation \
3261 -lffi, \
3262 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32))
3263
3264$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\
3265 LIBRARY:=JObjC,\
3266 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
erikjaf85fc42012-07-03 16:10:44 -07003267 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3268 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3269 LANG:=C,\
3270 OPTIMIZATION:=LOW, \
3271 CFLAGS:=-fpascal-strings \
3272 -fobjc-gc \
3273 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003274 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
erikjaf85fc42012-07-03 16:10:44 -07003275 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3276 , \
3277 LDFLAGS:=-fpascal-strings \
3278 -fobjc-gc \
3279 -gdwarf-2 \
3280 $(LDFLAGS_JDKLIB)\
3281 $(call SET_SHARED_LIBRARY_ORIGIN), \
3282 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3283 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3284 -framework JavaNativeFoundation \
3285 -lffi, \
ohair46fcac92012-09-18 11:29:24 -07003286 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64))
erikjaf85fc42012-07-03 16:10:44 -07003287
ohair46fcac92012-09-18 11:29:24 -07003288$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3289 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3290
3291BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
erikje78df742012-06-07 20:40:50 -07003292
3293endif
3294
3295##########################################################################################
3296
raginip450da982013-01-18 11:33:31 -08003297ifndef OPENJDK
3298ifeq ($(OPENJDK_TARGET_OS), windows)
3299
3300 ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
3301
3302 define SetupAccessBridge
3303 # Parameter 1 Suffix
3304 # Parameter 2 Machine
3305 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
3306
3307 $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\
3308 LIBRARY=JAWTAccessBridge$1,\
3309 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3310 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3311 INCLUDE_FILES:=JAWTAccessBridge.cpp,\
3312 LANG:=C++,\
3313 OPTIMIZATION:=LOW,\
3314 CFLAGS:=$(CFLAGS_JDKLIB) \
3315 -DACCESSBRIDGE_ARCH_$3,\
3316 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3317 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
3318 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3319 -subsystem:windows -machine:$2 \
3320 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\
3321 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3322 RC_FLAGS:=$(RC_FLAGS),\
3323 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\
3324 DEBUG_SYMBOLS:=true)
3325
3326 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
3327
3328 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\
3329 LIBRARY=JavaAccessBridge$1,\
3330 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3331 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3332 INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
3333 AccessBridgeJavaEntryPoints.cpp \
3334 AccessBridgeMessages.cpp JavaAccessBridge.cpp,\
3335 LANG:=C++,\
3336 OPTIMIZATION:=LOW,\
3337 CFLAGS:=$(CFLAGS_JDKLIB) \
3338 -DACCESSBRIDGE_ARCH_$3,\
3339 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3340 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3341 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3342 -subsystem:windows -machine:$2 \
3343 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\
3344 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3345 RC_FLAGS:=$(RC_FLAGS),\
3346 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\
3347 DEBUG_SYMBOLS:=true)
3348
3349 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\
3350 LIBRARY=WindowsAccessBridge$1,\
3351 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3352 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3353 INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
3354 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
3355 WinAccessBridge.cpp AccessBridgeDebug.cpp \
3356 AccessBridgeEventHandler.cpp,\
3357 LANG:=C++,\
3358 OPTIMIZATION:=LOW,\
3359 CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \
3360 -DACCESSBRIDGE_ARCH_$3,\
3361 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3362 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3363 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3364 -subsystem:windows -machine:$2 \
3365 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\
3366 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3367 RC_FLAGS:=$(RC_FLAGS),\
3368 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\
3369 DEBUG_SYMBOLS:=true)
3370
3371 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
3372 $$(BUILD_WINDOWSACCESSBRIDGE$1)
3373
3374 endef
3375
3376 ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
3377 $(eval $(call SetupAccessBridge,-32,I386,32))
3378 $(eval $(call SetupAccessBridge,,I386,LEGACY))
3379 else
3380 $(eval $(call SetupAccessBridge,-64,X64,64))
3381 endif
3382endif
3383endif
3384
3385
3386##########################################################################################
3387
ohair92de5662012-04-10 08:22:03 -07003388all: $(COPY_FILES) $(BUILD_LIBRARIES)
3389
3390.PHONY: all