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