blob: 8c59cecc4f7753bafe990c4f70ea6184370b76d5 [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
26defalt: all
27
28include $(SPEC)
29include MakeBase.gmk
30include NativeCompilation.gmk
31
32# Setup the java compilers for the JDK build.
33include Setup.gmk
34
35# Copy files (can now depend on $(COPY_FILES))
36include CopyFiles.gmk
37
erikj754c7442012-12-27 20:18:42 +010038# Prepare the find cache. Only used if running on windows.
39$(eval $(call FillCacheFind,$(JDK_TOPDIR)/src))
40
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.
49ifeq ($(OPENJDK_TARGET_OS_API),posix)
ohair46fcac92012-09-18 11:29:24 -070050 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)
ohair92de5662012-04-10 08:22:03 -070051else
52 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
53endif
54
ohair92de5662012-04-10 08:22:03 -070055BUILD_LIBRARIES=
56
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)
andrew93196e42013-05-04 17:04:57 +010066 DEBUG_ALL_BINARIES := true
67endif
68
69# Build everything with debugging on OpenJDK
70ifdef OPENJDK
71 DEBUG_ALL_BINARIES := true
ohair46fcac92012-09-18 11:29:24 -070072endif
73
74#
75# TODO replace with X_FLAGS / X_LIBS
76# and add them to configure
77#
78OPENWIN_LIB:=$(OPENWIN_HOME)/lib
79
ohair92de5662012-04-10 08:22:03 -070080##########################################################################################
81
erikjaf85fc42012-07-03 16:10:44 -070082BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH
erikje78df742012-06-07 20:40:50 -070083
erikjaf85fc42012-07-03 16:10:44 -070084ifneq ($(OPENJDK_TARGET_OS), solaris)
85 BUILD_LIBFDLIBM_OPTIMIZATION:=NONE
erikje78df742012-06-07 20:40:50 -070086endif
87
erikjaf85fc42012-07-03 16:10:44 -070088ifneq ($(OPENJDK_TARGET_OS),macosx)
ohair92de5662012-04-10 08:22:03 -070089$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
erikjaf85fc42012-07-03 16:10:44 -070090 STATIC_LIBRARY:=fdlibm,\
91 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
ohair92de5662012-04-10 08:22:03 -070092 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
93 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -070094 OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \
95 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair92de5662012-04-10 08:22:03 -070096 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
ohair46fcac92012-09-18 11:29:24 -070097 CFLAGS_windows_debug:=-DLOGGING,\
ohair92de5662012-04-10 08:22:03 -070098 ARFLAGS:=$(ARFLAGS),\
andrew93196e42013-05-04 17:04:57 +010099 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.
106$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC,\
erikjaf85fc42012-07-03 16:10:44 -0700107 LIBRARY:=fdlibm,\
108 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
erikje78df742012-06-07 20:40:50 -0700109 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
110 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700111 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700112 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
erikj4f38f192012-11-28 13:20:43 +0100113 LDFLAGS:=-nostdlib -r -arch x86_64,\
andrew93196e42013-05-04 17:04:57 +0100114 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
115 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
ohair92de5662012-04-10 08:22:03 -0700116
erikjec9918d2012-12-20 13:05:21 +0100117BUILD_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
erikjaf85fc42012-07-03 16:10:44 -0700126BUILD_LIBVERIFY_SRC:=check_code.c check_format.c
127
128ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700129 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
130 BUILD_LIBVERIFY_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700131 endif
ohair92de5662012-04-10 08:22:03 -0700132endif
133
ohair46fcac92012-09-18 11:29:24 -0700134LIBVERIFY_OPTIMIZATION:=HIGH
135ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +0100136 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -0700137 LIBVERIFY_OPTIMIZATION:=LOW
138 endif
139endif
140
erikjaf85fc42012-07-03 16:10:44 -0700141
142$(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),\
ohair92de5662012-04-10 08:22:03 -0700147 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -0700148 OPTIMIZATION:=$(LIBVERIFY_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -0700149 CFLAGS:=$(CFLAGS_JDKLIB),\
150 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700151 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700152 $(call SET_SHARED_LIBRARY_ORIGIN), \
153 LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
154 LDFLAGS_SUFFIX_windows:=jvm.lib,\
ohair46fcac92012-09-18 11:29:24 -0700155 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
156 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700157 -D "JDK_FNAME=verify.dll" \
158 -D "JDK_INTERNAL_NAME=verify" \
159 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700160 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
ohair46fcac92012-09-18 11:29:24 -0700168LIBJAVA_SRC_DIRS:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/lang \
erikjaf85fc42012-07-03 16:10:44 -0700169 $(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 \
ohair46fcac92012-09-18 11:29:24 -0700173 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
erikjaf85fc42012-07-03 16:10:44 -0700174 $(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 \
erikjaf85fc42012-07-03 16:10:44 -0700179 $(JDK_TOPDIR)/src/share/native/java/util \
180 $(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
ohair46fcac92012-09-18 11:29:24 -0700181 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \
ohairb71409c2012-10-26 14:23:29 -0700182 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util
183
ohair46fcac92012-09-18 11:29:24 -0700184ifneq ($(OPENJDK_TARGET_OS),macosx)
185 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/util/locale/provider
186else
187 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
ohairb71409c2012-10-26 14:23:29 -0700190ifeq ($(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
193endif
194
erikjaf85fc42012-07-03 16:10:44 -0700195LIBJAVA_CFLAGS:=$(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
196 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
ohair46fcac92012-09-18 11:29:24 -0700197 -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)"' \
200 -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
201 -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
slac6a337c2013-08-20 08:59:15 +0200202 -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"'
ohair92de5662012-04-10 08:22:03 -0700203
erikjaf85fc42012-07-03 16:10:44 -0700204ifneq (,$(JDK_UPDATE_VERSION))
205 LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
206endif
ohair92de5662012-04-10 08:22:03 -0700207
robmd56d3ad2013-08-13 19:10:54 +0100208LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.c jspawnhelper.c
ohair92de5662012-04-10 08:22:03 -0700209
erikjaf85fc42012-07-03 16:10:44 -0700210ifneq ($(OPENJDK_TARGET_OS),macosx)
211 LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
erikje78df742012-06-07 20:40:50 -0700212else
erikjaf85fc42012-07-03 16:10:44 -0700213 BUILD_LIBJAVA_java_props_md.c_CFLAGS:=-x objective-c
bchristi2b2fd912013-09-13 11:26:44 -0700214 BUILD_LIBJAVA_java_props_macosx.c_CFLAGS:=-x objective-c
ohair92de5662012-04-10 08:22:03 -0700215endif
216
erikjaf85fc42012-07-03 16:10:44 -0700217ifeq ($(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
erikjaf85fc42012-07-03 16:10:44 -0700223 LIBJAVA_EXCLUDE_FILES += \
224 ProcessImpl_md.c \
erikjaf85fc42012-07-03 16:10:44 -0700225 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)
ohair46fcac92012-09-18 11:29:24 -0700233 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
234 LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
ohair92de5662012-04-10 08:22:03 -0700235 endif
236endif
237
erikjaf85fc42012-07-03 16:10:44 -0700238$(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), \
ohair92de5662012-04-10 08:22:03 -0700244 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700245 OPTIMIZATION:=HIGH, \
246 CFLAGS:=$(CFLAGS_JDKLIB) \
247 $(LIBJAVA_CFLAGS),\
248 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700249 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700250 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -0700251 LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
erikj6dce8e92012-11-28 13:49:33 +0100252 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700253 LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
ohair46fcac92012-09-18 11:29:24 -0700254 LDFLAGS_SUFFIX_macosx:=-L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
erikjaf85fc42012-07-03 16:10:44 -0700255 -framework CoreFoundation \
bchristi2b2fd912013-09-13 11:26:44 -0700256 -framework Foundation \
erikjaf85fc42012-07-03 16:10:44 -0700257 -framework Security -framework SystemConfiguration, \
ohairb71409c2012-10-26 14:23:29 -0700258 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,\
ohair46fcac92012-09-18 11:29:24 -0700262 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
263 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700264 -D "JDK_FNAME=java.dll" \
265 -D "JDK_INTERNAL_NAME=java" \
266 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700267 REORDER:=$(LIBJAVA_REORDER), \
ohair46fcac92012-09-18 11:29:24 -0700268 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava,\
andrew93196e42013-05-04 17:04:57 +0100269 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
erikjaf85fc42012-07-03 16:10:44 -0700273$(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
274
275$(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY)
276
277$(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM)
ohair92de5662012-04-10 08:22:03 -0700278
279##########################################################################################
280
erikjaf85fc42012-07-03 16:10:44 -0700281BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib
282BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
erikje78df742012-06-07 20:40:50 -0700283 -I$(BUILD_LIBMLIB_SRC) \
slac6a337c2013-08-20 08:59:15 +0200284 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib
erikje78df742012-06-07 20:40:50 -0700285
erikjaf85fc42012-07-03 16:10:44 -0700286BUILD_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)
erikje78df742012-06-07 20:40:50 -0700292 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
293endif
294
erikjaf85fc42012-07-03 16:10:44 -0700295ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -0700296 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
297endif
298
299$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\
erikjaf85fc42012-07-03 16:10:44 -0700300 LIBRARY:=mlib_image,\
301 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
302 SRC:=$(BUILD_LIBMLIB_SRC),\
erikje78df742012-06-07 20:40:50 -0700303 EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\
304 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700305 OPTIMIZATION:=HIGHEST, \
306 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700307 $(BUILD_LIBMLIB_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -0700308 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700309 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700310 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700311 LDFLAGS_SUFFIX:=$(BUILD_LIBMLIB_LDLIBS) \
312 $(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -0800313 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -0700314 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
315 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700316 -D "JDK_FNAME=mlib_image.dll" \
317 -D "JDK_INTERNAL_NAME=mlib_image" \
318 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700319 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\
andrew93196e42013-05-04 17:04:57 +0100320 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -0700321
erikjaf85fc42012-07-03 16:10:44 -0700322$(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
ohair46fcac92012-09-18 11:29:24 -0700328ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH),solaris-sparc)
erikje78df742012-06-07 20:40:50 -0700329
erikjaf85fc42012-07-03 16:10:44 -0700330BUILD_LIBMLIB_IMAGE_V_FILES:=\
erikje78df742012-06-07 20:40:50 -0700331 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
423
erikjaf85fc42012-07-03 16:10:44 -0700424BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS))
erikje78df742012-06-07 20:40:50 -0700425
426$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\
erikjaf85fc42012-07-03 16:10:44 -0700427 LIBRARY:=mlib_image_v, \
428 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
429 SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
erikje78df742012-06-07 20:40:50 -0700430 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\
431 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700432 INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\
433 OPTIMIZATION:=HIGHEST, \
434 CFLAGS:=-xarch=sparcvis \
ohair46fcac92012-09-18 11:29:24 -0700435 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il\
erikjaf85fc42012-07-03 16:10:44 -0700436 $(BUILD_LIBMLIB_V_CFLAGS) \
437 $(CFLAGS_JDKLIB), \
438 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700439 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohairb71409c2012-10-26 14:23:29 -0700440 $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
erikje78df742012-06-07 20:40:50 -0700441 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -0800442 LDFLAGS_SUFFIX_solaris:=-lc,\
andrew93196e42013-05-04 17:04:57 +0100443 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v,\
444 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -0700445
ohairb71409c2012-10-26 14:23:29 -0700446$(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
447
erikjaf85fc42012-07-03 16:10:44 -0700448BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
erikje78df742012-06-07 20:40:50 -0700449
450endif
451
452##########################################################################################
453
erikjaf85fc42012-07-03 16:10:44 -0700454LIBAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -0700455 $(JDK_TOPDIR)/src/share/native/sun/awt \
ohair46fcac92012-09-18 11:29:24 -0700456 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikje78df742012-06-07 20:40:50 -0700457 $(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 \
erikje78df742012-06-07 20:40:50 -0700460 $(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 \
ohair46fcac92012-09-18 11:29:24 -0700464 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikje78df742012-06-07 20:40:50 -0700465 $(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 \
ohair46fcac92012-09-18 11:29:24 -0700469 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
ohairb71409c2012-10-26 14:23:29 -0700470 $(JDK_TOPDIR)/src/share/native/sun/font
471
472ifeq ($(OPENJDK_TARGET_OS),windows)
473 LIBAWT_DIRS+=\
ohair46fcac92012-09-18 11:29:24 -0700474 $(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
478 LIBAWT_DIRS+=\
479 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
480endif
erikje78df742012-06-07 20:40:50 -0700481
erikjebad8f92013-03-06 16:15:16 +0100482LIBAWT_CFLAGS+=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
erikjaf85fc42012-07-03 16:10:44 -0700483 $(X_CFLAGS) \
erikje78df742012-06-07 20:40:50 -0700484 $(foreach dir,$(LIBAWT_DIRS),-I$(dir))
485
erikjaf85fc42012-07-03 16:10:44 -0700486LIBAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -0700487 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
555
ohair46fcac92012-09-18 11:29:24 -0700556ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux))
erikje78df742012-06-07 20:40:50 -0700557 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
558endif
559
erikjaf85fc42012-07-03 16:10:44 -0700560ifeq ($(OPENJDK_TARGET_OS),macosx)
ohair46fcac92012-09-18 11:29:24 -0700561 LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
erikje78df742012-06-07 20:40:50 -0700562 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
565
erikjaf85fc42012-07-03 16:10:44 -0700566 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)
570 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
571 LIBAWT_CFLAGS += -xarch=sparcvis
ohair46fcac92012-09-18 11:29:24 -0700572 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
erikjaf85fc42012-07-03 16:10:44 -0700573 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
erikjaf85fc42012-07-03 16:10:44 -0700578 LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
579 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
580
581 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
623
ohair46fcac92012-09-18 11:29:24 -0700624 ifeq ($(OPENJDK_TARGET_CPU),sparcv9)
erikjaf85fc42012-07-03 16:10:44 -0700625 LIBAWT_ASFLAGS=-P -xarch=v9a
626 else
627 LIBAWT_ASFLAGS=-P -xarch=v8plusa
628 endif
erikje78df742012-06-07 20:40:50 -0700629else
630 LIBAWT_FILES += MapAccelFunc.c
631endif
632
erikjaf85fc42012-07-03 16:10:44 -0700633ifneq ($(OPENJDK_TARGET_OS),solaris)
erikje78df742012-06-07 20:40:50 -0700634 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
635endif
636
erikjaf85fc42012-07-03 16:10:44 -0700637LIBAWT_LANG:=C
erikje78df742012-06-07 20:40:50 -0700638
erikjaf85fc42012-07-03 16:10:44 -0700639ifeq ($(OPENJDK_TARGET_OS),windows)
erikje78df742012-06-07 20:40:50 -0700640 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 \
ohairb71409c2012-10-26 14:23:29 -0700675 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
erikjaf85fc42012-07-03 16:10:44 -0700690 LIBAWT_LANG:=C++
ohair46fcac92012-09-18 11:29:24 -0700691 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
692 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700693 LIBAWT_CFLAGS += -DMLIB_OS64BIT
694 endif
695
696 ifdef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -0700697 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
erikje78df742012-06-07 20:40:50 -0700698 else
erikjaf85fc42012-07-03 16:10:44 -0700699 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
erikje78df742012-06-07 20:40:50 -0700700 endif
erikjaf85fc42012-07-03 16:10:44 -0700701 LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
erikje78df742012-06-07 20:40:50 -0700702endif
703
704ifeq ($(MILESTONE), internal)
705 LIBAWT_CFLAGS += -DINTERNAL_BUILD
706endif
707
erikjaf85fc42012-07-03 16:10:44 -0700708LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
709ifeq ($(OPENJDK_TARGET_OS),linux)
710 LIBAWT_MAPFILE:=
erikje78df742012-06-07 20:40:50 -0700711endif
712
713$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
erikjaf85fc42012-07-03 16:10:44 -0700714 LIBRARY:=awt,\
715 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -0700716 SRC:=$(LIBAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -0700717 INCLUDE_FILES:=$(LIBAWT_FILES),\
erikje78df742012-06-07 20:40:50 -0700718 LANG:=$(LIBAWT_LANG),\
erikjaf85fc42012-07-03 16:10:44 -0700719 OPTIMIZATION:=LOW, \
720 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
721 ASFLAGS:=$(LIBAWT_ASFLAGS),\
722 MAPFILE:=$(LIBAWT_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700723 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700724 LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
725 LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -0800726 LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
ohair46fcac92012-09-18 11:29:24 -0700727 LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
728 -framework Cocoa \
729 -framework OpenGL \
730 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
731 -framework JavaNativeFoundation \
732 -framework JavaRuntimeSupport \
733 -framework ApplicationServices \
734 -framework AudioToolbox \
735 -ljava,\
ohairb71409c2012-10-26 14:23:29 -0700736 LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \
737 imm32.lib ole32.lib uuid.lib shell32.lib \
738 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
739 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
740 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
741 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
742 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
743 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
744 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\
erikjaf85fc42012-07-03 16:10:44 -0700745 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
746 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700747 -D "JDK_FNAME=awt.dll" \
748 -D "JDK_INTERNAL_NAME=awt" \
749 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700750 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt,\
andrew93196e42013-05-04 17:04:57 +0100751 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -0700752
erikjaf85fc42012-07-03 16:10:44 -0700753$(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700754
erikjaf85fc42012-07-03 16:10:44 -0700755ifeq ($(OPENJDK_TARGET_OS), macosx)
756$(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
757endif
758
759BUILD_LIBRARIES += $(BUILD_LIBAWT)
760
761##########################################################################################
762
763# TODO!!
764# Even though this variable as a general name, it is
765# only used on macos, in fontpath.c, as prefix for where to find fonts.
766#
767# It's used for libawt_headless _and_ libawt_xawt
768#
769X11_PATH:=/usr/X11R6
770
771ifneq ($(OPENJDK_TARGET_OS), windows)
772ifndef BUILD_HEADLESS_ONLY
773
774LIBAWT_XAWT_DIRS:=\
775 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
776 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
777 $(JDK_TOPDIR)/src/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -0700778 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -0700779 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700780 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
781 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
782 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
783 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
erikjaf85fc42012-07-03 16:10:44 -0700784
785LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
786 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
787 $(CUPS_CFLAGS) \
788 $(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
789 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700790 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -0700791 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
792 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
793 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
794 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
795 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -0700796 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
erikjaf85fc42012-07-03 16:10:44 -0700797
798ifeq ($(OPENJDK_TARGET_OS),solaris)
799 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
800endif
801
prrb31d51d2013-08-07 18:24:17 -0700802ifeq ($(OPENJDK_TARGET_OS),linux)
803ifndef OPENJDK
804include $(JDK_TOPDIR)/make/closed/xawt.gmk
805endif
806
807ifeq ($(DISABLE_XRENDER),true)
808 LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
809endif
810endif
811
erikjaf85fc42012-07-03 16:10:44 -0700812ifeq ($(MILESTONE),internal)
813 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
814endif
815
816LIBAWT_XAWT_FILES:=\
817 XlibWrapper.c \
818 XWindow.c \
819 XToolkit.c \
820 X11Color.c \
821 X11SurfaceData.c \
822 awt_GraphicsEnv.c \
823 awt_InputMethod.c \
824 robot_common.c \
825 awt_Robot.c \
826 list.c \
827 multiVis.c \
828 initIDs.c \
829 awt_util.c \
830 awt_Desktop.c \
831 awt_UNIXToolkit.c \
832 X11FontScaler_md.c \
833 X11TextRenderer_md.c \
834 fontpath.c \
835 awt_Insets.c \
836 awt_Event.c \
837 X11Renderer.c \
838 X11PMBlitLoops.c \
839 OGLBlitLoops.c \
840 OGLBufImgOps.c \
841 OGLContext.c \
842 OGLFuncs.c \
843 OGLMaskBlit.c \
844 OGLMaskFill.c \
845 OGLPaints.c \
846 OGLRenderQueue.c \
847 OGLRenderer.c \
848 OGLSurfaceData.c \
849 OGLTextRenderer.c \
850 OGLVertexCache.c \
851 GLXGraphicsConfig.c \
852 GLXSurfaceData.c \
853 AccelGlyphCache.c \
854 awt_Font.c \
855 multi_font.c \
856 awt_AWTEvent.c \
857 awt_DrawingSurface.c \
858 jawt.c \
859 CUPSfuncs.c \
860 debug_assert.c \
861 debug_mem.c \
862 debug_trace.c \
863 debug_util.c \
864 awt_Plugin.c \
denisa8cc3242013-03-22 19:56:20 +0400865 gnome_interface.c \
erikjaf85fc42012-07-03 16:10:44 -0700866 gtk2_interface.c \
867 swing_GTKEngine.c \
868 swing_GTKStyle.c \
869 rect.c \
870 sun_awt_X11_GtkFileDialogPeer.c \
871 XRSurfaceData.c \
872 XRBackendNative.c
873
874LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
875
876ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -0700877 # To match old build, add this to LDFLAGS instead of suffix.
878 LIBAWT_XAWT_LDFLAGS += -lpthread
erikjaf85fc42012-07-03 16:10:44 -0700879endif
880
881ifeq ($(OPENJDK_TARGET_OS), macosx)
882 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
883endif
884
ohair46fcac92012-09-18 11:29:24 -0700885# On macosx, the shared library origin is set twice for this lib.
erikjaf85fc42012-07-03 16:10:44 -0700886$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
887 LIBRARY:=awt_xawt,\
888 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
889 SRC:=$(LIBAWT_XAWT_DIRS),\
890 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
891 LANG:=C,\
892 OPTIMIZATION:=LOW, \
893 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
894 $(X_CFLAGS),\
895 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
896 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700897 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\
898 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \
899 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
900 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
901 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
902 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
903 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
904 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
905 $(call SET_SHARED_LIBRARY_ORIGIN) \
906 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
907 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \
908 $(call SET_SHARED_LIBRARY_ORIGIN). \
909 $(call SET_SHARED_LIBRARY_ORIGIN) \
910 $(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -0700911 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -0700912 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
913 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700914 -D "JDK_FNAME=xawt.dll" \
915 -D "JDK_INTERNAL_NAME=xawt" \
916 -D "JDK_FTYPE=0x2L",\
andrew93196e42013-05-04 17:04:57 +0100917 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt,\
918 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -0700919
920$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
921
922$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
923
924BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
925
926endif
927endif
928
929##########################################################################################
930
erikj5c99f2c2012-11-28 13:29:35 +0100931BUILD_LIBZIP_EXCLUDES :=
erikjaf85fc42012-07-03 16:10:44 -0700932ifeq ($(USE_EXTERNAL_LIBZ),true)
erikj5c99f2c2012-11-28 13:29:35 +0100933 LIBZ := -lz
934 LIBZIP_EXCLUDES += zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700935else
erikj5c99f2c2012-11-28 13:29:35 +0100936 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700937endif
938
erikj5c99f2c2012-11-28 13:29:35 +0100939BUILD_LIBZIP_REORDER :=
erikjaf85fc42012-07-03 16:10:44 -0700940ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700941 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikj5c99f2c2012-11-28 13:29:35 +0100942 BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700943 endif
944endif
945
946ifeq ($(LIBZIP_CAN_USE_MMAP), true)
erikj5c99f2c2012-11-28 13:29:35 +0100947 BUILD_LIBZIP_MMAP := -DUSE_MMAP
erikjaf85fc42012-07-03 16:10:44 -0700948endif
949
950$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
951 LIBRARY:=zip,\
952 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikjaf85fc42012-07-03 16:10:44 -0700953 LANG:=C,\
954 OPTIMIZATION:=LOW, \
erikj5c99f2c2012-11-28 13:29:35 +0100955 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
956 EXCLUDES:=$(LIBZIP_EXCLUDES),\
erikjaf85fc42012-07-03 16:10:44 -0700957 CFLAGS:=$(CFLAGS_JDKLIB) \
erikj5c99f2c2012-11-28 13:29:35 +0100958 $(ZLIB_CPPFLAGS) \
erikjaf85fc42012-07-03 16:10:44 -0700959 -I$(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700960 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
erikjaf85fc42012-07-03 16:10:44 -0700961 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
962 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
963 REORDER:=$(BUILD_LIBZIP_REORDER), \
964 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700965 $(call SET_SHARED_LIBRARY_ORIGIN) \
erikjaf85fc42012-07-03 16:10:44 -0700966 $(EXPORT_ZIP_FUNCS), \
ohair46fcac92012-09-18 11:29:24 -0700967 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
erikjaf85fc42012-07-03 16:10:44 -0700968 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
969 $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700970 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -0800971 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
ohair46fcac92012-09-18 11:29:24 -0700972 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
973 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
974 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700975 -D "JDK_FNAME=zip.dll" \
976 -D "JDK_INTERNAL_NAME=zip" \
977 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700978 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
andrew93196e42013-05-04 17:04:57 +0100979 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -0700980
981$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
982
983BUILD_LIBRARIES += $(BUILD_LIBZIP)
984
985##########################################################################################
986
987$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
988 LIBRARY:=unpack, \
989 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
990 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
991 EXCLUDE_FILES:=main.cpp,\
992 LANG:=C++,\
993 OPTIMIZATION:=LOW, \
994 CFLAGS:=$(CXXFLAGS_JDKLIB) \
995 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
996 CFLAGS_release:=-DPRODUCT,\
997 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -0700998 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -0700999 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohairb71409c2012-10-26 14:23:29 -07001000 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
erikjaf85fc42012-07-03 16:10:44 -07001001 jvm.lib $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001002 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001003 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
1004 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1005 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001006 -D "JDK_FNAME=unpack.dll" \
1007 -D "JDK_INTERNAL_NAME=unpack" \
1008 -D "JDK_FTYPE=0x2L",\
andrew93196e42013-05-04 17:04:57 +01001009 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001010
1011$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
1012
1013BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
1014
ohair46fcac92012-09-18 11:29:24 -07001015ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001016 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
1017 $(ECHO) Copying $(@F)
1018 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
1019
1020 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
1021 $(ECHO) Copying $(@F)
1022 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
1023endif
1024
1025##########################################################################################
1026
1027LIBATTACH_EXCLUDE_FILES:=
1028ifneq ($(OPENJDK_TARGET_OS),solaris)
1029 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1030endif
1031ifneq ($(OPENJDK_TARGET_OS),linux)
1032 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1033endif
1034ifneq ($(OPENJDK_TARGET_OS),macosx)
1035 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1036endif
1037
1038$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1039 LIBRARY:=attach, \
1040 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001041 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
erikjaf85fc42012-07-03 16:10:44 -07001042 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1043 LANG:=C,\
1044 OPTIMIZATION:=LOW, \
1045 CFLAGS:=$(CFLAGS_JDKLIB),\
slac6a337c2013-08-20 08:59:15 +02001046 CFLAGS_windows:=/Gy,\
erikjaf85fc42012-07-03 16:10:44 -07001047 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
ohair46fcac92012-09-18 11:29:24 -07001048 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1049 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001050 -D "JDK_FNAME=attach.dll" \
1051 -D "JDK_INTERNAL_NAME=attach" \
1052 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001053 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1054 $(call SET_SHARED_LIBRARY_ORIGIN),\
1055 LDFLAGS_solaris:=-ldoor,\
slac6a337c2013-08-20 08:59:15 +02001056 LDFLAGS_windows:=/ORDER:@$(JDK_TOPDIR)/makefiles/mapfiles/libattach/reorder-windows-$(OPENJDK_TARGET_CPU),\
erikjaf85fc42012-07-03 16:10:44 -07001057 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001058 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001059 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
1060 DEBUG_SYMBOLS:=true))
1061
1062$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
1063
1064BUILD_LIBRARIES += $(BUILD_LIBATTACH)
1065
1066##########################################################################################
1067
1068$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
1069 LIBRARY:=dt_socket,\
1070 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1071 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001072 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\
erikjaf85fc42012-07-03 16:10:44 -07001073 LANG:=C,\
1074 OPTIMIZATION:=LOW, \
1075 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
1076 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1077 -I$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001078 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
erikjaf85fc42012-07-03 16:10:44 -07001079 -I$(JDK_TOPDIR)/src/share/back/export \
1080 -I$(JDK_TOPDIR)/src/share/back,\
1081 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001082 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1083 $(call SET_SHARED_LIBRARY_ORIGIN), \
1084 LDFLAGS_SUFFIX_linux:=-lpthread,\
erikj4f66f2d2012-11-03 16:27:01 -07001085 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\
ohair46fcac92012-09-18 11:29:24 -07001086 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
1087 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1088 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001089 -D "JDK_FNAME=dt_socket.dll" \
1090 -D "JDK_INTERNAL_NAME=dt_socket" \
1091 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001092 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
1093 DEBUG_SYMBOLS:=true))
1094
1095$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
1096
1097BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
1098
1099##########################################################################################
1100
ohair46fcac92012-09-18 11:29:24 -07001101ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001102
1103 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
1104 LIBRARY:=dt_shmem,\
1105 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1106 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
1107 $(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001108 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\
erikjaf85fc42012-07-03 16:10:44 -07001109 LANG:=C,\
1110 OPTIMIZATION:=LOW, \
1111 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
1112 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1113 -I$(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001114 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
erikjaf85fc42012-07-03 16:10:44 -07001115 -I$(JDK_TOPDIR)/src/share/back/export, \
1116 LDFLAGS:=$(LDFLAGS_JDKLIB),\
ohair46fcac92012-09-18 11:29:24 -07001117 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\
erikjaf85fc42012-07-03 16:10:44 -07001118 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001119 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1120 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001121 -D "JDK_FNAME=dt_shmem.dll" \
1122 -D "JDK_INTERNAL_NAME=dt_shmem" \
1123 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001124 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
andrew93196e42013-05-04 17:04:57 +01001125 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001126
1127 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
1128
1129endif # OPENJDK_TARGET_OS
1130
1131##########################################################################################
ohair46fcac92012-09-18 11:29:24 -07001132# JDWP_LOGGING causes log messages to be compiled into the library.
erikjaf85fc42012-07-03 16:10:44 -07001133$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
1134 LIBRARY:=jdwp, \
1135 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001136 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\
erikjaf85fc42012-07-03 16:10:44 -07001137 LANG:=C,\
1138 OPTIMIZATION:=LOW, \
1139 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
1140 -I$(JDK_TOPDIR)/src/share/transport/export \
1141 -I$(JDK_TOPDIR)/src/share/back/export \
1142 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001143 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001144 -I$(JDK_TOPDIR)/src/share/back \
ohair46fcac92012-09-18 11:29:24 -07001145 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
erikjaf85fc42012-07-03 16:10:44 -07001146 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
1147 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001148 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1149 $(call SET_SHARED_LIBRARY_ORIGIN),\
1150 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001151 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001152 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001153 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1154 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001155 -D "JDK_FNAME=jdwp.dll" \
1156 -D "JDK_INTERNAL_NAME=jdwp" \
1157 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001158 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
erikj6413fe62013-05-31 14:05:09 +02001159 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001160
1161$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
1162
1163BUILD_LIBRARIES += $(BUILD_LIBJDWP)
1164
1165##########################################################################################
1166
1167LIBJAAS_MAPFILE:=
1168ifneq ($(OPENJDK_TARGET_OS),solaris)
1169 LIBJAAS_EXCLUDE_FILES:=Solaris.c
1170else
1171 # only on solaris...wonder why
1172 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
1173endif
1174
1175LIBJAAS_NAME:=jaas_unix
1176ifeq ($(OPENJDK_TARGET_OS), windows)
1177 LIBJAAS_NAME:=jaas_nt
1178endif
1179
1180$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
1181 LIBRARY:=$(LIBJAAS_NAME),\
1182 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001183 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\
erikjaf85fc42012-07-03 16:10:44 -07001184 LANG:=C,\
1185 OPTIMIZATION:=LOW, \
1186 CFLAGS:=$(CFLAGS_JDKLIB),\
1187 MAPFILE:=$(LIBJAAS_MAPFILE),\
1188 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
1189 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001190 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001191 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -08001192 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07001193 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
ohair46fcac92012-09-18 11:29:24 -07001194 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1195 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001196 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
1197 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
1198 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001199 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\
andrew93196e42013-05-04 17:04:57 +01001200 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001201
1202$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
1203
1204BUILD_LIBRARIES += $(BUILD_LIBJAAS)
1205
1206##########################################################################################
1207
1208$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
1209 LIBRARY:=jsdt,\
1210 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1211 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
ohair46fcac92012-09-18 11:29:24 -07001212 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\
erikjaf85fc42012-07-03 16:10:44 -07001213 LANG:=C,\
1214 OPTIMIZATION:=LOW, \
1215 CFLAGS:=$(CFLAGS_JDKLIB)\
1216 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
1217 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
1218 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1219 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001220 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1221 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07001222 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001223 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001224 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1225 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001226 -D "JDK_FNAME=jsdt.dll" \
1227 -D "JDK_INTERNAL_NAME=jsdt" \
1228 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001229 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
ohair46fcac92012-09-18 11:29:24 -07001230 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001231
1232$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
1233
1234BUILD_LIBRARIES += $(BUILD_LIBJSDT)
1235
1236##########################################################################################
1237
erikjaf85fc42012-07-03 16:10:44 -07001238 # TODO: Update awt lib path when awt is converted
1239 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1240 LIBRARY:=lcms,\
1241 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01001242 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
erikjaf85fc42012-07-03 16:10:44 -07001243 LANG:=C,\
baebb34c3b2013-03-07 14:05:21 +04001244 OPTIMIZATION:=HIGHEST, \
erikjaf85fc42012-07-03 16:10:44 -07001245 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1246 $(SHARED_LIBRARY_FLAGS) \
1247 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1248 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1249 CFLAGS_solaris:=-xc99=no_lib,\
ohair46fcac92012-09-18 11:29:24 -07001250 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
erikjaf85fc42012-07-03 16:10:44 -07001251 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001252 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1253 $(call SET_SHARED_LIBRARY_ORIGIN), \
1254 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1255 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
tbell7d47bd02012-11-12 10:20:01 -08001256 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07001257 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1258 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1259 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1260 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001261 -D "JDK_FNAME=lcms.dll" \
1262 -D "JDK_INTERNAL_NAME=lcms" \
1263 -D "JDK_FTYPE=0x2L",\
1264 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
andrew93196e42013-05-04 17:04:57 +01001265 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001266
1267 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1268
1269 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
erikjaf85fc42012-07-03 16:10:44 -07001270
1271##########################################################################################
1272
1273ifdef OPENJDK
1274 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1275else
1276 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1277 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1278 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1279endif
1280
1281BUILD_LIBJPEG_REORDER:=
1282ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001283 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1284 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07001285 endif
1286endif
1287
1288# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
1289# or 'vfork'": this warning indicates that some variable is placed to
1290# a register by optimized compiler and it's value might be lost on longjmp().
1291# Recommended way to avoid such warning is to declare the variable as
1292# volatile to prevent the optimization. However, this approach does not
1293# work because we have to declare all variables as volatile in result.
1294#ifndef CROSS_COMPILE_ARCH
1295# CC_43_OR_NEWER:=\
1296# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
1297# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
1298# ifeq ($(CC_43_OR_NEWER),1)
1299# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
1300# endif
1301#endif
1302
1303$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
1304 LIBRARY:=jpeg, \
1305 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1306 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
1307 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1308 LANG:=C,\
1309 OPTIMIZATION:=HIGHEST, \
1310 CFLAGS:=$(CFLAGS_JDKLIB) \
1311 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
1312 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1313 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
1314 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1315 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001316 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001317 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001318 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1319 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001320 -D "JDK_FNAME=jpeg.dll" \
1321 -D "JDK_INTERNAL_NAME=jpeg" \
1322 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001323 REORDER:=$(BUILD_LIBJPEG_REORDER),\
ohair46fcac92012-09-18 11:29:24 -07001324 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
andrew93196e42013-05-04 17:04:57 +01001325 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001326
1327$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
1328
1329BUILD_LIBRARIES += $(BUILD_LIBJPEG)
1330
1331##########################################################################################
1332
1333ifndef OPENJDK
ohairb71409c2012-10-26 14:23:29 -07001334 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
erikjaf85fc42012-07-03 16:10:44 -07001335 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
1336 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
1337else
1338 FONT_HEADERS:=$(FREETYPE2_CFLAGS)
1339 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
1340 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
1341endif
1342
prr54abc122013-07-02 14:25:56 -07001343LIBFONTMANAGER_OPTIMIZATION:=HIGH
erikjaf85fc42012-07-03 16:10:44 -07001344
1345ifeq ($(OPENJDK_TARGET_OS),windows)
1346 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1347 X11TextRenderer.c
prr54abc122013-07-02 14:25:56 -07001348LIBFONTMANAGER_OPTIMIZATION:=HIGHEST
erikjaf85fc42012-07-03 16:10:44 -07001349else
1350 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1351 lcdglyph.c
1352endif
1353
1354BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1355 $(X_CFLAGS) \
1356 -DLE_STANDALONE -DHEADLESS \
1357 $(FONT_HEADERS) \
1358 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1359 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1360 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001361 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001362 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1363 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1364 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001365 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001366 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1367
1368# Turn off aliasing with GCC for ExtensionSubtables.cpp
1369ifeq ($(OPENJDK_TARGET_OS), linux)
1370 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1371endif
1372
1373$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1374 LIBRARY:=fontmanager, \
1375 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1376 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
ohair46fcac92012-09-18 11:29:24 -07001377 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
erikjaf85fc42012-07-03 16:10:44 -07001378 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1379 AccelGlyphCache.c,\
1380 LANG:=C++,\
1381 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1382 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1383 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
ohair46fcac92012-09-18 11:29:24 -07001384 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001385 -DCC_NOEX, \
1386 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
ohair46fcac92012-09-18 11:29:24 -07001387 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001388 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001389 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1390 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1391 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
ohairb71409c2012-10-26 14:23:29 -07001392 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1393 -ljava -ljvm,\
1394 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1395 $(WIN_AWT_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001396 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1397 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001398 -D "JDK_FNAME=fontmanager.dll" \
1399 -D "JDK_INTERNAL_NAME=fontmanager" \
1400 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001401 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
andrew93196e42013-05-04 17:04:57 +01001402 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001403
1404$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1405
1406ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1407$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1408endif
1409
1410BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001411
1412##########################################################################################
1413
1414ifndef OPENJDK
1415
erikjaf85fc42012-07-03 16:10:44 -07001416# ifeq ($(OPENJDK_TARGET_OS), linux)
1417# ifeq ("$(CC_VER_MAJOR)", "3")
1418# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
slac6a337c2013-08-20 08:59:15 +02001419# endif
erikjaf85fc42012-07-03 16:10:44 -07001420# endif
1421#
slac6a337c2013-08-20 08:59:15 +02001422# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
erikjaf85fc42012-07-03 16:10:44 -07001423# the input .o files. Because of this the new build will differ in size to the old build.
1424 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1425 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1426 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1427 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -07001428 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -07001429 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1430 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001431 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001432 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1433
1434 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1435 LIBRARY:=t2k, \
1436 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1437 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1438 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1439 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1440 EXCLUDE_FILES:=orion.c,\
1441 LANG:=C++,\
1442 OPTIMIZATION:=HIGH, \
1443 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1444 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1445 CFLAGS_windows=-DCC_NOEX, \
1446 CXXFLAGS_windows=-DCC_NOEX, \
1447 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001448 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001449 $(call SET_SHARED_LIBRARY_ORIGIN),\
1450 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
ohair46fcac92012-09-18 11:29:24 -07001451 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
1452 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
1453 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1454 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001455 -D "JDK_FNAME=t2k.dll" \
1456 -D "JDK_INTERNAL_NAME=t2k" \
1457 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001458 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
andrew93196e42013-05-04 17:04:57 +01001459 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001460
1461 # t2k is linked against fontmanager
1462 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1463
1464 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1465endif
1466
1467##########################################################################################
1468
erikjaf85fc42012-07-03 16:10:44 -07001469ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001470 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikjaf85fc42012-07-03 16:10:44 -07001471 KERNEL32_LIB:=kernel32.lib
1472 endif
1473 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1474 LIBRARY:=jawt, \
1475 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001476 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
erikjaf85fc42012-07-03 16:10:44 -07001477 INCLUDE_FILES:=jawt.cpp,\
1478 LANG:=C++,\
1479 OPTIMIZATION:=LOW, \
1480 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1481 -EHsc -DUNICODE -D_UNICODE \
ohair46fcac92012-09-18 11:29:24 -07001482 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001483 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1484 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1485 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
vadimb8318442013-09-12 12:12:32 +02001486 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \
ohair46fcac92012-09-18 11:29:24 -07001487 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001488 advapi32.lib $(WIN_AWT_LIB),\
1489 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001490 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1491 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001492 -D "JDK_FNAME=jawt.dll" \
1493 -D "JDK_INTERNAL_NAME=jawt" \
1494 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001495 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
andrew93196e42013-05-04 17:04:57 +01001496 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001497
1498$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1499
1500$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1501 $(ECHO) Copying $(@F)
ohair46fcac92012-09-18 11:29:24 -07001502 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
erikjaf85fc42012-07-03 16:10:44 -07001503
1504BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1505
1506else # OPENJDK_TARGET_OS not windows
1507
1508 JAWT_LIBS:=
1509 ifneq ($(OPENJDK_TARGET_OS), solaris)
1510 JAWT_LIBS += -lawt
1511 endif
1512
1513 ifndef BUILD_HEADLESS_ONLY
1514 JAWT_LIBS += -lawt_xawt
1515 else
1516 JAWT_LIBS += -lawt_headless
1517 HEADLESS_CFLAG += -DHEADLESS
1518 endif
1519
1520 JAWT_FILES:=jawt.c
1521 ifeq ($(OPENJDK_TARGET_OS), macosx)
1522 JAWT_FILES:=jawt.m
1523 JAWT_LIBS:=-lawt_lwawt
1524 endif
1525
1526 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1527 LIBRARY:=jawt, \
1528 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001529 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001530 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1531 INCLUDE_FILES:=$(JAWT_FILES),\
1532 LANG:=C,\
1533 OPTIMIZATION:=LOW, \
1534 CFLAGS:=$(CFLAGS_JDKLIB), \
1535 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1536 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1537 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1538 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1539 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001540 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1541 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1542 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1543 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1544 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
andrew93196e42013-05-04 17:04:57 +01001545 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1546 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001547
1548ifndef BUILD_HEADLESS_ONLY
1549$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1550else
1551$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1552endif
1553
1554ifeq ($(OPENJDK_TARGET_OS),macosx)
1555$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1556endif
1557
1558endif # OPENJDK_TARGET_OS
1559
1560BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1561
1562##########################################################################################
1563
ohair46fcac92012-09-18 11:29:24 -07001564LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1565 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
1566 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
erikjaf85fc42012-07-03 16:10:44 -07001567
ohair46fcac92012-09-18 11:29:24 -07001568LIBINSTRUMENT_FILES :=\
erikjaf85fc42012-07-03 16:10:44 -07001569 EncodingSupport.c \
1570 EncodingSupport_md.c \
1571 FileSystemSupport_md.c \
1572 InstrumentationImplNativeMethods.c \
1573 InvocationAdapter.c \
1574 JarFacade.c \
1575 JPLISAgent.c \
1576 JPLISAssert.c \
1577 JavaExceptions.c \
1578 PathCharsValidator.c \
1579 Reentrancy.c \
1580 Utilities.c \
1581 canonicalize_md.c
1582
ohair46fcac92012-09-18 11:29:24 -07001583LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1584LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
1585 -I$(JDK_TOPDIR)/src/share/instrument \
1586 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
1587 -I$(JDK_TOPDIR)/src/share/bin
erikjaf85fc42012-07-03 16:10:44 -07001588
ohair46fcac92012-09-18 11:29:24 -07001589LIBINSTRUMENT_LDFLAGS:=
1590LIBINSTRUMENT_LDFLAGS_SUFFIX:=
erikjaf85fc42012-07-03 16:10:44 -07001591
1592ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001593 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1594 -export:Agent_OnAttach advapi32.lib
slac6a337c2013-08-20 08:59:15 +02001595 # Statically link the C runtime so that there are not dependencies on modules
1596 # not on the search patch when invoked from the Windows system directory
ohair46fcac92012-09-18 11:29:24 -07001597 # (or elsewhere).
1598 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
1599 # equivalent of strcasecmp is stricmp on Windows
1600 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
erikjaf85fc42012-07-03 16:10:44 -07001601endif
1602
1603$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1604 LIBRARY:=instrument, \
1605 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001606 SRC:=$(LIBINSTRUMENT_SRC),\
1607 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07001608 LANG:=C,\
1609 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07001610 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07001611 CFLAGS_debug:=-DJPLIS_LOGGING,\
1612 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1613 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001614 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1615 $(call SET_SHARED_LIBRARY_ORIGIN) \
1616 $(LIBINSTRUMENT_LDFLAGS),\
1617 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1618 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1619 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1620 -framework Cocoa -framework Security -framework ApplicationServices,\
1621 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1622 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08001623 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001624 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1625 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1626 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001627 -D "JDK_FNAME=instrument.dll" \
1628 -D "JDK_INTERNAL_NAME=instrument" \
1629 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001630 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
erikjaf85fc42012-07-03 16:10:44 -07001631 DEBUG_SYMBOLS:=true))
1632
1633ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1634$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1635else
1636$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1637endif
1638$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1639
1640BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1641
1642##########################################################################################
1643
1644BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
ohair46fcac92012-09-18 11:29:24 -07001645 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1646 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
erikjaf85fc42012-07-03 16:10:44 -07001647
1648BUILD_LIBMANAGEMENT_EXCLUDES:=
1649
1650BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1651
1652ifneq ($(OPENJDK_TARGET_OS), windows)
1653 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1654else
1655 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1656endif
1657
1658ifneq ($(OPENJDK_TARGET_OS),solaris)
1659 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1660endif
1661
1662ifneq ($(OPENJDK_TARGET_OS),linux)
1663 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1664endif
1665
1666ifneq ($(OPENJDK_TARGET_OS),macosx)
1667 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1668endif
1669
ohair46fcac92012-09-18 11:29:24 -07001670LIBMANAGEMENT_OPTIMIZATION:=HIGH
1671ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001672 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001673 LIBMANAGEMENT_OPTIMIZATION:=LOW
1674 endif
1675endif
erikjaf85fc42012-07-03 16:10:44 -07001676
1677$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1678 LIBRARY:=management,\
1679 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1680 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1681 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1682 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001683 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001684 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1685 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1686 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1687 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07001688 LDFLAGS_solaris:=-lkstat,\
1689 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001690 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001691 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1692 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001693 -D "JDK_FNAME=management.dll" \
1694 -D "JDK_INTERNAL_NAME=management" \
1695 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001696 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1697 DEBUG_SYMBOLS:=true))
1698
1699$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1700
1701BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1702
1703##########################################################################################
1704
ohair46fcac92012-09-18 11:29:24 -07001705BUILD_LIBHPROF_SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof
erikjaf85fc42012-07-03 16:10:44 -07001706BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1707 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001708 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001709 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1710
1711BUILD_LIBHPROF_LDFLAGS:=
1712
ohair46fcac92012-09-18 11:29:24 -07001713LIBHPROF_OPTIMIZATION:=HIGHEST
1714ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001715 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001716 LIBHPROF_OPTIMIZATION:=LOW
1717 endif
1718endif
1719
erikjaf85fc42012-07-03 16:10:44 -07001720$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1721 LIBRARY:=hprof, \
1722 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1723 SRC:=$(BUILD_LIBHPROF_SRC),\
1724 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001725 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001726 CFLAGS:=$(CFLAGS_JDKLIB) \
1727 $(BUILD_LIBHPROF_CFLAGS),\
1728 CFLAGS_debug:=-DHPROF_LOGGING,\
1729 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1730 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1731 $(call SET_SHARED_LIBRARY_ORIGIN),\
1732 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
tbell7d47bd02012-11-12 10:20:01 -08001733 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1734 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
1735 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001736 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1737 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001738 -D "JDK_FNAME=hprof.dll" \
1739 -D "JDK_INTERNAL_NAME=hprof" \
1740 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001741 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1742 DEBUG_SYMBOLS:=true))
1743
1744BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1745
1746##########################################################################################
1747
1748$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1749 LIBRARY:=java_crw_demo, \
1750 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1751 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1752 LANG:=C,\
1753 OPTIMIZATION:=LOW, \
1754 CFLAGS:=$(CFLAGS_JDKLIB) \
1755 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1756 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1757 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1758 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08001759 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001760 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1761 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001762 -D "JDK_FNAME=java_crw_demo.dll" \
1763 -D "JDK_INTERNAL_NAME=java_crw_demo" \
1764 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001765 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1766 DEBUG_SYMBOLS:=true))
1767
1768BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1769
1770##########################################################################################
1771
1772$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1773 LIBRARY:=npt, \
1774 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001775 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001776 LANG:=C,\
1777 OPTIMIZATION:=LOW, \
1778 CFLAGS:=$(CFLAGS_JDKLIB) \
1779 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001780 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001781 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1782 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1783 $(call SET_SHARED_LIBRARY_ORIGIN),\
1784 LDFLAGS_macosx:=-liconv,\
1785 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
erikj4f66f2d2012-11-03 16:27:01 -07001786 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -07001787 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1788 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001789 -D "JDK_FNAME=npt.dll" \
1790 -D "JDK_INTERNAL_NAME=npt" \
1791 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001792 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1793 DEBUG_SYMBOLS:=true))
1794
1795BUILD_LIBRARIES += $(BUILD_LIBNPT)
1796
1797##########################################################################################
1798
1799LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001800 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1801 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
ohair46fcac92012-09-18 11:29:24 -07001802 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
erikjaf85fc42012-07-03 16:10:44 -07001803
ohairb71409c2012-10-26 14:23:29 -07001804ifeq ($(OPENJDK_TARGET_OS),windows)
1805 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1806else
1807 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1808endif
1809
erikjaf85fc42012-07-03 16:10:44 -07001810LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1811
1812LIBNET_EXCLUDE_FILES:=
1813ifneq ($(OPENJDK_TARGET_OS),linux)
1814 LIBNET_EXCLUDE_FILES += linux_close.c
1815endif
1816
1817ifneq ($(OPENJDK_TARGET_OS),macosx)
1818 LIBNET_EXCLUDE_FILES += bsd_close.c
1819endif
1820
1821ifeq ($(OPENJDK_TARGET_OS),windows)
1822 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1823else
1824 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1825 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1826 NTLMAuthSequence.c NetworkInterface_winXP.c
1827endif
1828
erikjaf85fc42012-07-03 16:10:44 -07001829$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1830 LIBRARY:=net,\
1831 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1832 SRC:=$(LIBNET_SRC_DIRS),\
1833 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1834 LANG:=C,\
1835 OPTIMIZATION:=LOW, \
1836 CFLAGS:=$(CFLAGS_JDKLIB) \
1837 $(LIBNET_CFLAGS),\
1838 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1839 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1840 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001841 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
erikj4f66f2d2012-11-03 16:27:01 -07001842 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
ohair46fcac92012-09-18 11:29:24 -07001843 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
ohairb71409c2012-10-26 14:23:29 -07001844 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1845 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1846 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
ohair46fcac92012-09-18 11:29:24 -07001847 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1848 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001849 -D "JDK_FNAME=net.dll" \
1850 -D "JDK_INTERNAL_NAME=net" \
1851 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001852 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
andrew93196e42013-05-04 17:04:57 +01001853 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001854
1855$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1856
1857BUILD_LIBRARIES += $(BUILD_LIBNET)
1858
1859$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
ohairb71409c2012-10-26 14:23:29 -07001860 $(ECHO) $(LOG_INFO) Copying $(@F)
erikj10d96fb2013-04-05 09:39:10 +02001861 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07001862
1863COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1864
1865ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001866$(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template
ohairb71409c2012-10-26 14:23:29 -07001867 $(ECHO) $(LOG_INFO) Copying $(@F)
erikj10d96fb2013-04-05 09:39:10 +02001868 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07001869
1870COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1871endif
1872
1873##########################################################################################
1874
1875BUILD_LIBNIO_SRC:=\
ohair46fcac92012-09-18 11:29:24 -07001876 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
1877 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1878 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
erikjaf85fc42012-07-03 16:10:44 -07001879
1880BUILD_LIBNIO_CFLAGS:=\
1881 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1882 -I$(JDK_TOPDIR)/src/share/native/java/io \
1883 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001884 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
erikjaf85fc42012-07-03 16:10:44 -07001885
1886BUILD_LIBNIO_FILES:=\
1887 DatagramChannelImpl.c \
1888 DatagramDispatcher.c \
1889 FileChannelImpl.c \
1890 FileDispatcherImpl.c \
1891 FileKey.c \
1892 IOUtil.c \
1893 MappedByteBuffer.c \
1894 Net.c \
1895 ServerSocketChannelImpl.c \
1896 SocketChannelImpl.c \
1897 SocketDispatcher.c
1898
1899ifeq ($(OPENJDK_TARGET_OS), windows)
1900 BUILD_LIBNIO_FILES += \
1901 Iocp.c \
1902 RegistryFileTypeDetector.c \
1903 WindowsAsynchronousFileChannelImpl.c \
1904 WindowsAsynchronousServerSocketChannelImpl.c \
1905 WindowsAsynchronousSocketChannelImpl.c \
1906 WindowsNativeDispatcher.c \
1907 WindowsSelectorImpl.c
1908endif
1909
1910ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -07001911 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001912 BUILD_LIBNIO_FILES += \
1913 EPoll.c \
1914 EPollArrayWrapper.c \
1915 EPollPort.c \
1916 InheritedChannel.c \
1917 NativeThread.c \
ohair46fcac92012-09-18 11:29:24 -07001918 PollArrayWrapper.c \
erikjaf85fc42012-07-03 16:10:44 -07001919 UnixAsynchronousServerSocketChannelImpl.c \
1920 UnixAsynchronousSocketChannelImpl.c \
1921 GnomeFileTypeDetector.c \
dxu20cb3702012-12-04 14:07:30 +00001922 MagicFileTypeDetector.c \
erikjaf85fc42012-07-03 16:10:44 -07001923 LinuxNativeDispatcher.c \
1924 LinuxWatchService.c \
1925 UnixCopyFile.c \
1926 UnixNativeDispatcher.c
1927endif
1928
1929ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07001930 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001931 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1932 BUILD_LIBNIO_FILES += \
1933 InheritedChannel.c \
1934 NativeThread.c \
1935 PollArrayWrapper.c \
1936 UnixAsynchronousServerSocketChannelImpl.c \
1937 UnixAsynchronousSocketChannelImpl.c \
erikjaf85fc42012-07-03 16:10:44 -07001938 BsdNativeDispatcher.c \
ohair46fcac92012-09-18 11:29:24 -07001939 MacOSXNativeDispatcher.c \
erikjaf85fc42012-07-03 16:10:44 -07001940 UnixCopyFile.c \
1941 UnixNativeDispatcher.c \
1942 KQueue.c \
1943 KQueuePort.c \
1944 KQueueArrayWrapper.c
1945endif
1946
1947ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001948 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001949 BUILD_LIBNIO_FILES += \
1950 DevPollArrayWrapper.c \
1951 InheritedChannel.c \
1952 NativeThread.c \
1953 PollArrayWrapper.c \
1954 SolarisEventPort.c \
1955 UnixAsynchronousServerSocketChannelImpl.c \
1956 UnixAsynchronousSocketChannelImpl.c \
1957 GnomeFileTypeDetector.c \
1958 SolarisNativeDispatcher.c \
1959 SolarisWatchService.c \
1960 UnixCopyFile.c \
1961 UnixNativeDispatcher.c
1962endif
1963
1964$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1965 LIBRARY:=nio,\
1966 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1967 SRC:=$(BUILD_LIBNIO_SRC),\
1968 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1969 LANG:=C,\
1970 OPTIMIZATION:=HIGH, \
1971 CFLAGS:=$(CFLAGS_JDKLIB) \
1972 $(BUILD_LIBNIO_CFLAGS),\
1973 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1974 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1975 $(call SET_SHARED_LIBRARY_ORIGIN),\
1976 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
ohair46fcac92012-09-18 11:29:24 -07001977 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
1978 -lsendfile -ljava -lnet -lc,\
ohairb71409c2012-10-26 14:23:29 -07001979 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
1980 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
ohairb71409c2012-10-26 14:23:29 -07001981 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001982 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
erikjaf85fc42012-07-03 16:10:44 -07001983 LDFLAGS_SUFFIX:=,\
ohair46fcac92012-09-18 11:29:24 -07001984 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1985 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001986 -D "JDK_FNAME=nio.dll" \
1987 -D "JDK_INTERNAL_NAME=nio" \
1988 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001989 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
andrew93196e42013-05-04 17:04:57 +01001990 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001991
1992BUILD_LIBRARIES += $(BUILD_LIBNIO)
1993
1994$(BUILD_LIBNIO) : $(BUILD_LIBNET)
1995
1996##########################################################################################
1997
1998ifeq ($(OPENJDK_TARGET_OS_API),posix)
erikj5c99f2c2012-11-28 13:29:35 +01001999
erikjaf85fc42012-07-03 16:10:44 -07002000 ifneq ($(OPENJDK_TARGET_OS),macosx)
2001
2002 SCTP_WERROR := -Werror
2003 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2004 SCTP_WERROR :=
2005 endif
2006
2007 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
2008 LIBRARY:=sctp,\
2009 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07002010 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
erikjaf85fc42012-07-03 16:10:44 -07002011 LANG:=C,\
2012 OPTIMIZATION:=LOW, \
2013 CFLAGS:=$(CFLAGS_JDKLIB)\
2014 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
2015 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
2016 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07002017 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
2018 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
erikjaf85fc42012-07-03 16:10:44 -07002019 CFLAGS_linux:=$(SCTP_WERROR),\
2020 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
2021 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2022 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002023 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002024 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
erikj4f66f2d2012-11-03 16:27:01 -07002025 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07002026 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01002027 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp,\
2028 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002029
2030 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
2031
2032 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
2033 endif
2034endif
2035
2036##########################################################################################
2037
ohair46fcac92012-09-18 11:29:24 -07002038BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
2039LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
erikjaf85fc42012-07-03 16:10:44 -07002040
2041BUILD_LIBJLI_FILES:=\
2042 java.c \
2043 splashscreen_stubs.c \
2044 parse_manifest.c \
2045 version_comp.c \
2046 wildcard.c \
2047 jli_util.c
2048
2049ifeq ($(JVM_VARIANT_ZERO), true)
2050 ERGO_FAMILY:=zero
ohair46fcac92012-09-18 11:29:24 -07002051else
2052 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
erikjaf85fc42012-07-03 16:10:44 -07002053 ERGO_FAMILY:=i586
ohair46fcac92012-09-18 11:29:24 -07002054 else
2055 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
2056 endif
2057endif
erikjaf85fc42012-07-03 16:10:44 -07002058
2059ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002060 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
erikjaf85fc42012-07-03 16:10:44 -07002061 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
2062 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
2063
2064 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2065 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2066endif
2067
2068ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002069 BUILD_LIBJLI_FILES += java_md.c \
slac6a337c2013-08-20 08:59:15 +02002070 cmdtoargs.c
ohair46fcac92012-09-18 11:29:24 -07002071 # Staticically link with c runtime on windows.
2072 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
erikjaf85fc42012-07-03 16:10:44 -07002073else ifneq ($(OPENJDK_TARGET_OS), macosx)
2074
2075 BUILD_LIBJLI_FILES += java_md_common.c
slac6a337c2013-08-20 08:59:15 +02002076 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
erikjaf85fc42012-07-03 16:10:44 -07002077
2078 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2079
2080 # if the architecture specific ergo file exists then
2081 # use it, else use the generic definitions from ergo.c
ohair46fcac92012-09-18 11:29:24 -07002082 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
erikjaf85fc42012-07-03 16:10:44 -07002083 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2084 else # !ERGO_ARCH_FILE
ohair46fcac92012-09-18 11:29:24 -07002085 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
erikjaf85fc42012-07-03 16:10:44 -07002086 endif # ERGO_ARCH_FILE
2087endif #WINDOWS
2088
ohair46fcac92012-09-18 11:29:24 -07002089# Append defines depending on target platform
2090LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002091
2092ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002093 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
erikjaf85fc42012-07-03 16:10:44 -07002094endif
2095
2096ifneq ($(USE_EXTERNAL_LIBZ),true)
2097 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002098 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002099 BUILD_LIBJLI_FILES += \
2100 inflate.c \
2101 inftrees.c \
2102 inffast.c \
2103 zadler32.c \
2104 zcrc32.c \
2105 zutil.c
2106endif
2107
2108ifeq ($(OPENJDK_TARGET_OS), windows)
2109 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2110else
2111 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2112endif
2113
2114$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2115 LIBRARY:=jli,\
2116 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2117 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2118 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2119 LANG:=C,\
2120 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002121 CFLAGS:=$(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002122 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2123 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2124 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002125 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2126 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2127 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2128 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2129 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2130 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
erikjaf85fc42012-07-03 16:10:44 -07002131 LDFLAGS_SUFFIX_windows:=\
2132 -export:JLI_Launch \
2133 -export:JLI_ManifestIterate \
2134 -export:JLI_SetTraceLauncher \
2135 -export:JLI_ReportErrorMessage \
2136 -export:JLI_ReportErrorMessageSys \
2137 -export:JLI_ReportMessage \
2138 -export:JLI_ReportExceptionDescription \
ohair46fcac92012-09-18 11:29:24 -07002139 -export:JLI_MemAlloc \
2140 -export:JLI_CmdToArgs \
2141 -export:JLI_GetStdArgc \
2142 -export:JLI_GetStdArgs \
erikjaf85fc42012-07-03 16:10:44 -07002143 advapi32.lib \
2144 comctl32.lib \
2145 user32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002146 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2147 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07002148 -D "JDK_FNAME=jli.dll" \
2149 -D "JDK_INTERNAL_NAME=jli" \
2150 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002151 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
andrew93196e42013-05-04 17:04:57 +01002152 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002153
2154BUILD_LIBRARIES += $(BUILD_LIBJLI)
2155
2156# On windows, the static library has the same suffix as the import library created by
2157# with the shared library, so the static library is given a different name. No harm
2158# in doing it for all platform to reduce complexity.
2159ifeq ($(OPENJDK_TARGET_OS), windows)
2160 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2161 STATIC_LIBRARY:=jli_static,\
2162 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2163 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2164 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2165 LANG:=C,\
2166 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002167 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002168 ARFLAGS:=$(ARFLAGS),\
andrew93196e42013-05-04 17:04:57 +01002169 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
2170 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002171
2172BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2173
2174else ifeq ($(OPENJDK_TARGET_OS),macosx)
2175 #
2176 # On macosx they do partial (incremental) linking of libjli_static.a
2177 # code it here...rather than add support to NativeCompilation
2178 # as this is first time I see it
2179 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2180 LIBRARY:=jli_static, \
2181 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2182 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2183 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2184 LANG:=C,\
2185 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002186 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002187 LDFLAGS:=-nostdlib -r,\
andrew93196e42013-05-04 17:04:57 +01002188 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
2189 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002190
2191$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
erikj10d96fb2013-04-05 09:39:10 +02002192 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07002193
2194BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2195endif
2196
2197##########################################################################################
2198
ohairb71409c2012-10-26 14:23:29 -07002199ifndef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -07002200ifeq ($(ENABLE_JFR), true)
2201
2202$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2203 LIBRARY:=jfr,\
2204 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2205 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2206 LANG:=C,\
2207 OPTIMIZATION:=LOW, \
2208 CFLAGS:=$(CFLAGS_JDKLIB) \
2209 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2210 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2211 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2212 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikj3da9f312013-02-18 11:26:23 +01002213 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002214 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2215 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002216 -D "JDK_FNAME=jfr.dll" \
2217 -D "JDK_INTERNAL_NAME=jfr" \
2218 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002219 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
andrew93196e42013-05-04 17:04:57 +01002220 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002221
2222BUILD_LIBRARIES += $(BUILD_LIBJFR)
2223
2224endif
ohairb71409c2012-10-26 14:23:29 -07002225endif
erikjaf85fc42012-07-03 16:10:44 -07002226
2227##########################################################################################
2228
2229ifndef OPENJDK
2230
2231BUILD_LIBKCMS_EXCLUDE_FILES:=
2232ifeq ($(OPENJDK_TARGET_OS),windows)
2233 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2234else
2235 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2236endif
2237
2238BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2239
2240ifeq ($(OPENJDK_TARGET_OS),solaris)
2241 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2242 # implement it like this...since it's only used here
2243 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2244else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2245 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2246endif
2247
2248$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2249 LIBRARY:=kcms,\
2250 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2251 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2252 LANG:=C,\
2253 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2254 OPTIMIZATION:=LOW, \
2255 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2256 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2257 CFLAGS_linux:=-Wno-missing-field-initializers,\
2258 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2259 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2260 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002261 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
erikj3da9f312013-02-18 11:26:23 +01002262 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002263 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
erikj388fbde2012-12-06 12:09:33 +01002264 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002265 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
ohair46fcac92012-09-18 11:29:24 -07002266 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2267 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002268 -D "JDK_FNAME=kcms.dll" \
2269 -D "JDK_INTERNAL_NAME=kcms" \
2270 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002271 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
andrew93196e42013-05-04 17:04:57 +01002272 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002273
2274$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2275
2276BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2277
2278endif
2279
2280##########################################################################################
2281
2282ifndef OPENJDK
2283ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002284ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikjaf85fc42012-07-03 16:10:44 -07002285
2286ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2287
2288SUNWJDGA_MAPFILE:=
ohair46fcac92012-09-18 11:29:24 -07002289ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
erikjaf85fc42012-07-03 16:10:44 -07002290 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2291endif
2292
2293$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2294 LIBRARY:=sunwjdga,\
2295 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2296 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2297 LANG:=C, \
2298 OPTIMIZATION:=LOW, \
2299 CFLAGS:=$(CFLAGS_JDKLIB) \
2300 -I$(JDK_TOPDIR)/src/share/javavm/export \
ohair46fcac92012-09-18 11:29:24 -07002301 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
erikjaf85fc42012-07-03 16:10:44 -07002302 -I$(OPENWIN_HOME)/include, \
2303 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2304 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2305 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002306 LDFLAGS_SUFFIX:=-L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \
andrew93196e42013-05-04 17:04:57 +01002307 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga,\
2308 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002309
2310BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2311
2312endif
2313endif
2314endif
2315endif
2316
2317##########################################################################################
2318
2319ifeq ($(BUILD_HEADLESS), true)
2320ifneq ($(OPENJDK_TARGET_OS), windows)
2321
2322LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2323 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2324 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2325 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2326 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2327 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2328
jchen21981182013-05-23 12:16:17 -07002329ifeq ($(OPENJDK_TARGET_OS),macosx)
2330 LIBAWT_HEADLESS_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/font
2331endif
2332
erikjaf85fc42012-07-03 16:10:44 -07002333LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2334 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2335 $(CUPS_CFLAGS) \
2336 $(X_CFLAGS) \
2337 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -07002338 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07002339 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2340 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2341 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2342 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2343 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -07002344 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
erikjaf85fc42012-07-03 16:10:44 -07002345 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2346
jchen21981182013-05-23 12:16:17 -07002347ifeq ($(OPENJDK_TARGET_OS),macosx)
2348 LIBAWT_HEADLESS_CFLAGS+=\
2349 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2350 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
2351endif
2352
erikjaf85fc42012-07-03 16:10:44 -07002353LIBAWT_HEADLESS_FILES:=\
2354 awt_Font.c \
2355 HeadlessToolkit.c \
2356 fontpath.c \
2357 VDrawingArea.c \
2358 X11Color.c \
2359 X11Renderer.c \
2360 X11PMBlitLoops.c \
2361 X11SurfaceData.c \
2362 X11FontScaler_md.c \
2363 X11TextRenderer_md.c \
2364 OGLBlitLoops.c \
2365 OGLBufImgOps.c \
2366 OGLContext.c \
2367 OGLFuncs.c \
2368 OGLMaskBlit.c \
2369 OGLMaskFill.c \
2370 OGLPaints.c \
2371 OGLRenderQueue.c \
2372 OGLRenderer.c \
2373 OGLSurfaceData.c \
2374 OGLTextRenderer.c \
2375 OGLVertexCache.c \
2376 GLXGraphicsConfig.c \
2377 GLXSurfaceData.c \
2378 AccelGlyphCache.c \
2379 CUPSfuncs.c
2380
jchen21981182013-05-23 12:16:17 -07002381ifeq ($(OPENJDK_TARGET_OS),macosx)
2382 LIBAWT_HEADLESS_FILES+=\
2383 AWTFont.m \
2384 AWTStrike.m \
2385 CCharToGlyphMapper.m \
2386 CGGlyphImages.m \
2387 CGGlyphOutlines.m \
2388 CoreTextSupport.m
2389endif
2390
erikjaf85fc42012-07-03 16:10:44 -07002391LIBAWT_HEADLESS_REORDER:=
2392ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002393 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
2394 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07002395 endif
2396endif
2397
2398$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2399 LIBRARY:=awt_headless,\
2400 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2401 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2402 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2403 LANG:=C,\
2404 OPTIMIZATION:=LOW, \
2405 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002406 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
erikjaf85fc42012-07-03 16:10:44 -07002407 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2408 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002409 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2410 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2411 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2412 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2413 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -07002414 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
ohair46fcac92012-09-18 11:29:24 -07002415 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -08002416 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
jchen21981182013-05-23 12:16:17 -07002417 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava \
2418 -framework Accelerate \
2419 -framework ApplicationServices \
2420 -framework Cocoa \
2421 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2422 -framework JavaNativeFoundation \
2423 -framework JavaRuntimeSupport,\
andrew93196e42013-05-04 17:04:57 +01002424 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\
2425 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002426
2427$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2428
2429BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2430
2431endif
2432endif
2433
2434##########################################################################################
2435
2436ifndef BUILD_HEADLESS_ONLY
2437LIBSPLASHSCREEN_DIRS:=\
erikjaf85fc42012-07-03 16:10:44 -07002438 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2439 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
erikj5c99f2c2012-11-28 13:29:35 +01002440 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
2441
omajid6d3bb7b2013-04-02 14:13:13 -04002442ifeq ($(USE_EXTERNAL_LIBGIF),true)
2443 GIFLIB_LDFLAGS := -lgif
2444else
2445 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib
2446 GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
2447endif
2448
erikj5c99f2c2012-11-28 13:29:35 +01002449ifneq ($(OPENJDK_TARGET_OS), macosx)
2450 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
2451else
2452 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2453endif
2454
erikjaf85fc42012-07-03 16:10:44 -07002455LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2456 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2457
2458ifeq ($(OPENJDK_TARGET_OS), macosx)
2459 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2460 $(LIBSPLASHSCREEN_CFLAGS) \
2461 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2462 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2463 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2464
2465 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2466 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2467 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2468 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2469 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2470 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2471 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2472
2473else ifneq ($(OPENJDK_TARGET_OS), windows)
2474 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2475else
2476 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2477endif
2478
erikjaf85fc42012-07-03 16:10:44 -07002479LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2480
2481ifneq ($(USE_EXTERNAL_LIBZ),true)
2482 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002483 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002484endif
2485
2486ifeq ($(OPENJDK_TARGET_OS), macosx)
2487 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2488 -framework ApplicationServices \
2489 -framework Foundation \
2490 -framework Cocoa \
2491 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2492 -framework JavaNativeFoundation
2493else ifneq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002494 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
erikjaf85fc42012-07-03 16:10:44 -07002495else # OPENJDK_TARGET_OS
ohairb71409c2012-10-26 14:23:29 -07002496 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
erikjaf85fc42012-07-03 16:10:44 -07002497endif # OPENJDK_TARGET_OS
2498
2499$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2500 LIBRARY:=splashscreen,\
2501 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2502 SRC:=$(LIBSPLASHSCREEN_DIRS),\
erikj5c99f2c2012-11-28 13:29:35 +01002503 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\
erikjaf85fc42012-07-03 16:10:44 -07002504 LANG:=C,\
2505 OPTIMIZATION:=LOW, \
omajid6d3bb7b2013-04-02 14:13:13 -04002506 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002507 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2508 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2509 $(call SET_SHARED_LIBRARY_ORIGIN),\
omajid6d3bb7b2013-04-02 14:13:13 -04002510 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002511 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002512 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2513 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002514 -D "JDK_FNAME=splashscreen.dll" \
2515 -D "JDK_INTERNAL_NAME=splashscreen" \
2516 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002517 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
andrew93196e42013-05-04 17:04:57 +01002518 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002519
2520BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2521
2522ifeq ($(OPENJDK_TARGET_OS),macosx)
slac6a337c2013-08-20 08:59:15 +02002523$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
erikjaf85fc42012-07-03 16:10:44 -07002524endif
2525
2526endif
2527
2528##########################################################################################
2529
2530ifndef OPENJDK
2531
2532LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002533 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2534 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2535 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2536 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2537
erikjaf85fc42012-07-03 16:10:44 -07002538LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002539 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2540
2541$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002542 LIBRARY:=dcpr,\
2543 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002544 SRC:=$(LIBDCPR_SRC_DIRS),\
2545 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002546 OPTIMIZATION:=LOW, \
2547 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002548 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002549 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002550 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002551 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002552 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002553 LDFLAGS_SUFFIX_posix:=-lm,\
ohair46fcac92012-09-18 11:29:24 -07002554 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2555 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002556 -D "JDK_FNAME=dcpr.dll" \
2557 -D "JDK_INTERNAL_NAME=dcpr" \
2558 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002559 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
andrew93196e42013-05-04 17:04:57 +01002560 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002561
erikjaf85fc42012-07-03 16:10:44 -07002562$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002563
erikjaf85fc42012-07-03 16:10:44 -07002564BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002565
2566endif
2567
2568##########################################################################################
2569
2570$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002571 LIBRARY:=j2pcsc,\
2572 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002573 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002574 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002575 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002576 CFLAGS_posix:=-D__sun_jdk,\
2577 OPTIMIZATION:=LOW, \
2578 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002579 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002580 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
2581 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
erikjaf85fc42012-07-03 16:10:44 -07002582 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002583 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2584 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002585 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2586 LDFLAGS_SUFFIX_windows:=winscard.lib,\
tbell7d47bd02012-11-12 10:20:01 -08002587 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002588 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2589 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002590 -D "JDK_FNAME=j2pcsc.dll" \
2591 -D "JDK_INTERNAL_NAME=j2pcsc" \
2592 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002593 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
andrew93196e42013-05-04 17:04:57 +01002594 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002595
erikjaf85fc42012-07-03 16:10:44 -07002596BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002597
2598##########################################################################################
2599
erikjaf85fc42012-07-03 16:10:44 -07002600ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002601$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002602 LIBRARY:=j2gss,\
2603 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002604 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002605 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002606 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002607 OPTIMIZATION:=LOW, \
2608 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002609 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002610 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002611 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002612 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2613 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002614 LDFLAGS_SUFFIX:=$(LIBDL),\
2615 LDFLAGS_SUFFIX_solaris:=-lc,\
andrew93196e42013-05-04 17:04:57 +01002616 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss,\
2617 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002618
erikjaf85fc42012-07-03 16:10:44 -07002619BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002620endif
2621
2622##########################################################################################
2623
erikj41f82602013-06-11 13:26:15 +02002624ifneq ($(BUILD_CRYPTO),no)
2625 BUILD_LIBKRB5_NAME:=
2626 ifeq ($(OPENJDK_TARGET_OS), windows)
erikjaf85fc42012-07-03 16:10:44 -07002627 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
ohair46fcac92012-09-18 11:29:24 -07002628 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
ohairb71409c2012-10-26 14:23:29 -07002629 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
2630 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
2631 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
erikj41f82602013-06-11 13:26:15 +02002632 else ifeq ($(OPENJDK_TARGET_OS), macosx)
erikjaf85fc42012-07-03 16:10:44 -07002633 BUILD_LIBKRB5_NAME:=osxkrb5
erikj5c99f2c2012-11-28 13:29:35 +01002634 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5
erikjaf85fc42012-07-03 16:10:44 -07002635 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikj41f82602013-06-11 13:26:15 +02002636 endif
erikje78df742012-06-07 20:40:50 -07002637
erikj41f82602013-06-11 13:26:15 +02002638 ifneq ($(BUILD_LIBKRB5_NAME),)
2639 $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002640 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2641 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01002642 SRC:=$(BUILD_LIBKRB5_SRC),\
erikje78df742012-06-07 20:40:50 -07002643 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002644 OPTIMIZATION:=LOW, \
2645 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002646 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
ohair46fcac92012-09-18 11:29:24 -07002647 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002648 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2649 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002650 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
ohair46fcac92012-09-18 11:29:24 -07002651 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2652 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002653 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
2654 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
2655 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002656 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
andrew93196e42013-05-04 17:04:57 +01002657 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002658
erikj41f82602013-06-11 13:26:15 +02002659 BUILD_LIBRARIES += $(BUILD_LIBKRB5)
2660 endif
erikje78df742012-06-07 20:40:50 -07002661endif
2662
2663##########################################################################################
2664
erikjaf85fc42012-07-03 16:10:44 -07002665ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002666
2667$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002668 LIBRARY:=sunmscapi,\
2669 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohairb71409c2012-10-26 14:23:29 -07002670 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
erikje78df742012-06-07 20:40:50 -07002671 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002672 OPTIMIZATION:=LOW, \
2673 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -07002674 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
2675 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002676 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002677 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002678 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2679 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002680 -D "JDK_FNAME=sunmscapi.dll" \
2681 -D "JDK_INTERNAL_NAME=sunmscapi" \
2682 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002683 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
andrew93196e42013-05-04 17:04:57 +01002684 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002685
erikjaf85fc42012-07-03 16:10:44 -07002686BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
erikje78df742012-06-07 20:40:50 -07002687endif
2688
2689##########################################################################################
2690
erikje78df742012-06-07 20:40:50 -07002691$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002692 LIBRARY:=j2pkcs11,\
2693 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002694 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002695 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002696 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002697 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002698 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002699 OPTIMIZATION:=LOW, \
2700 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002701 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002702 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002703 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002704 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002705 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002706 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2707 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002708 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2709 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002710 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2711 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002712 -D "JDK_FNAME=j2pkcs11.dll" \
2713 -D "JDK_INTERNAL_NAME=j2pkcs11" \
2714 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002715 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
andrew93196e42013-05-04 17:04:57 +01002716 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002717
erikjaf85fc42012-07-03 16:10:44 -07002718BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002719
2720##########################################################################################
2721
omajid1a381ca2013-03-18 10:46:49 -04002722ifeq ($(ENABLE_INTREE_EC),yes)
2723
erikjaf85fc42012-07-03 16:10:44 -07002724BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2725 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2726
2727#
2728# On sol-sparc...all libraries are compiled with -xregs=no%appl
2729# (set in CFLAGS_REQUIRED_sparc)
2730#
2731# except!!! libsunec.so
2732#
2733ECC_JNI_SOLSPARC_FILTER:=
2734ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2735 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2736endif
erikje78df742012-06-07 20:40:50 -07002737
2738$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002739 LIBRARY:=sunec,\
2740 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002741 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2742 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002743 LANG:=C++, \
2744 OPTIMIZATION:=LOW, \
2745 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2746 $(BUILD_LIBSUNEC_FLAGS) \
2747 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2748 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2749 $(BUILD_LIBSUNEC_FLAGS),\
2750 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002751 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
2752 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002753 LDFLAGS_SUFFIX:=$(LIBCXX),\
ohair46fcac92012-09-18 11:29:24 -07002754 LDFLAGS_SUFFIX_linux:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002755 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002756 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2757 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002758 -D "JDK_FNAME=sunec.dll" \
2759 -D "JDK_INTERNAL_NAME=sunec" \
2760 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002761 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
andrew93196e42013-05-04 17:04:57 +01002762 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002763
erikjaf85fc42012-07-03 16:10:44 -07002764BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002765endif
2766
2767##########################################################################################
2768
erikjaf85fc42012-07-03 16:10:44 -07002769LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002770 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
ohair46fcac92012-09-18 11:29:24 -07002771 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002772
erikjaf85fc42012-07-03 16:10:44 -07002773LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002774
erikjaf85fc42012-07-03 16:10:44 -07002775LIBJSOUND_LANG:=C
2776LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002777
erikjaf85fc42012-07-03 16:10:44 -07002778EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002779
erikjaf85fc42012-07-03 16:10:44 -07002780LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002781 MidiInDevice.c \
2782 MidiInDeviceProvider.c \
2783 MidiOutDevice.c \
2784 MidiOutDeviceProvider.c \
2785 PlatformMidi.c
2786
2787# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002788LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002789 PortMixerProvider.c \
2790 PortMixer.c
2791
2792# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002793LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002794 DirectAudioDeviceProvider.c \
2795 DirectAudioDevice.c
2796
erikjaf85fc42012-07-03 16:10:44 -07002797ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002798 EXTRA_SOUND_JNI_LIBS += jsoundds
2799 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2800 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2801 -DUSE_PLATFORM_MIDI_IN=TRUE \
2802 -DUSE_PORTS=TRUE
2803 LIBJSOUND_SRC_FILES += \
2804 PLATFORM_API_WinOS_MidiIn.cpp \
2805 PLATFORM_API_WinOS_MidiOut.c \
2806 PLATFORM_API_WinOS_Util.c \
2807 PLATFORM_API_WinOS_Ports.c
2808 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2809 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002810endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002811
erikjaf85fc42012-07-03 16:10:44 -07002812ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002813 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2814 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002815endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002816
erikjaf85fc42012-07-03 16:10:44 -07002817ifeq ($(OPENJDK_TARGET_OS), macosx)
2818 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002819 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2820 -DUSE_PORTS=TRUE \
2821 -DUSE_DAUDIO=TRUE \
2822 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2823 -DUSE_PLATFORM_MIDI_IN=TRUE
2824 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2825 LIBJSOUND_SRC_FILES += \
2826 PLATFORM_API_MacOSX_Utils.cpp \
2827 PLATFORM_API_MacOSX_PCM.cpp \
2828 PLATFORM_API_MacOSX_Ports.cpp \
2829 PLATFORM_API_MacOSX_MidiIn.c \
2830 PLATFORM_API_MacOSX_MidiOut.c \
2831 PLATFORM_API_MacOSX_MidiUtils.c
2832 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2833 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2834 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002835endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002836
erikjaf85fc42012-07-03 16:10:44 -07002837ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002838 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2839 -DUSE_PORTS=TRUE \
2840 -DUSE_DAUDIO=TRUE
2841 LIBJSOUND_SRC_FILES += \
2842 PLATFORM_API_SolarisOS_Utils.c \
2843 PLATFORM_API_SolarisOS_Ports.c \
2844 PLATFORM_API_SolarisOS_PCM.c
2845 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2846 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2847 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002848endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002849
2850
2851ifeq ($(JVM_VARIANT_ZERO), true)
2852 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2853else
ohair46fcac92012-09-18 11:29:24 -07002854 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikje78df742012-06-07 20:40:50 -07002855 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
ohair46fcac92012-09-18 11:29:24 -07002856 endif
erikje78df742012-06-07 20:40:50 -07002857
ohair46fcac92012-09-18 11:29:24 -07002858 ifeq ($(OPENJDK_TARGET_CPU), sparc)
erikje78df742012-06-07 20:40:50 -07002859 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
ohair46fcac92012-09-18 11:29:24 -07002860 endif
erikje78df742012-06-07 20:40:50 -07002861
ohair46fcac92012-09-18 11:29:24 -07002862 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
erikje78df742012-06-07 20:40:50 -07002863 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
ohair46fcac92012-09-18 11:29:24 -07002864 endif
erikje78df742012-06-07 20:40:50 -07002865
ohair46fcac92012-09-18 11:29:24 -07002866 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikje78df742012-06-07 20:40:50 -07002867 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
ohair46fcac92012-09-18 11:29:24 -07002868 endif
erikje78df742012-06-07 20:40:50 -07002869
ohair46fcac92012-09-18 11:29:24 -07002870 ifeq ($(OPENJDK_TARGET_CPU), arm)
erikje78df742012-06-07 20:40:50 -07002871 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
ohair46fcac92012-09-18 11:29:24 -07002872 endif
erikje78df742012-06-07 20:40:50 -07002873
ohair46fcac92012-09-18 11:29:24 -07002874 ifeq ($(OPENJDK_TARGET_CPU), ppc)
erikje78df742012-06-07 20:40:50 -07002875 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
ohair46fcac92012-09-18 11:29:24 -07002876 endif
erikje78df742012-06-07 20:40:50 -07002877endif
2878
2879LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2880
2881$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002882 LIBRARY:=jsound,\
2883 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002884 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002885 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002886 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002887 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07002888 CFLAGS:=$(CFLAGS_JDKLIB) \
2889 $(LIBJSOUND_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002890 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2891 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002892 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2893 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002894 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
2895 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2896 -framework CoreMIDI -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -07002897 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
ohairb71409c2012-10-26 14:23:29 -07002898 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
erikje78df742012-06-07 20:40:50 -07002899 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002900 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2901 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002902 -D "JDK_FNAME=jsound.dll" \
2903 -D "JDK_INTERNAL_NAME=jsound" \
2904 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002905 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
andrew93196e42013-05-04 17:04:57 +01002906 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002907
erikjaf85fc42012-07-03 16:10:44 -07002908$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002909
erikjaf85fc42012-07-03 16:10:44 -07002910BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002911
2912##########################################################################################
2913
2914ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2915
2916$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002917 LIBRARY:=jsoundalsa,\
2918 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002919 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002920 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002921 $(LIBJSOUND_DAUDIOFILES) \
2922 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2923 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2924 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2925 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2926 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2927 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2928 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002929 LANG:=C,\
2930 OPTIMIZATION:=LOW, \
erikja88dfd32013-06-13 14:04:54 +02002931 CFLAGS:=$(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \
erikje78df742012-06-07 20:40:50 -07002932 $(LIBJSOUND_CFLAGS) \
2933 -DUSE_DAUDIO=TRUE \
2934 -DUSE_PORTS=TRUE \
2935 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2936 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07002937 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002938 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2939 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikja88dfd32013-06-13 14:04:54 +02002940 LDFLAGS_SUFFIX:=$(ALSA_LIBS) -ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01002941 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa,\
2942 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002943
erikjaf85fc42012-07-03 16:10:44 -07002944$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002945
erikjaf85fc42012-07-03 16:10:44 -07002946BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07002947
2948endif
2949
2950##########################################################################################
2951
2952ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
2953
2954$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07002955 LIBRARY:=jsoundds,\
2956 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002957 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002958 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07002959 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07002960 LANG:=C++,\
2961 OPTIMIZATION:=LOW, \
2962 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002963 $(LIBJSOUND_CFLAGS) \
vadimb8318442013-09-12 12:12:32 +02002964 -DUSE_DAUDIO=TRUE, \
ohair46fcac92012-09-18 11:29:24 -07002965 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002966 $(call SET_SHARED_LIBRARY_ORIGIN),\
2967 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002968 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2969 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002970 -D "JDK_FNAME=jsoundds.dll" \
2971 -D "JDK_INTERNAL_NAME=jsoundds" \
2972 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002973 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
andrew93196e42013-05-04 17:04:57 +01002974 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002975
erikjaf85fc42012-07-03 16:10:44 -07002976$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002977
erikjaf85fc42012-07-03 16:10:44 -07002978BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07002979
2980endif
2981
2982##########################################################################################
2983
erikjaf85fc42012-07-03 16:10:44 -07002984ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002985ifndef OPENJDK
2986
2987$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07002988 LIBRARY:=j2ucrypto,\
2989 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002990 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07002991 LANG:=C,\
2992 OPTIMIZATION:=LOW, \
2993 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002994 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07002995 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002996 LDFLAGS:=$(LDFLAGS_JDKLIB),\
erikje78df742012-06-07 20:40:50 -07002997 LDFLAGS_SUFFIX:=$(LIBDL),\
erikj3da9f312013-02-18 11:26:23 +01002998 LDFLAGS_SUFFIX_solaris:=-lc,\
andrew93196e42013-05-04 17:04:57 +01002999 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto,\
3000 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003001
erikjaf85fc42012-07-03 16:10:44 -07003002$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003003
erikjaf85fc42012-07-03 16:10:44 -07003004BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07003005
3006endif
3007endif
3008
3009##########################################################################################
3010
erikjaf85fc42012-07-03 16:10:44 -07003011ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003012
erikje78df742012-06-07 20:40:50 -07003013$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07003014 LIBRARY:=AppleScriptEngine,\
3015 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003016 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07003017 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003018 OPTIMIZATION:=LOW, \
3019 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003020 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
3021 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3022 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
3023 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3024 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003025 LDFLAGS_SUFFIX:=-framework Cocoa \
3026 -framework Carbon \
3027 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3028 -framework JavaNativeFoundation \
3029 $(LDFLAGS_JDKLIB_SUFFIX),\
andrew93196e42013-05-04 17:04:57 +01003030 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine,\
3031 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003032
erikjaf85fc42012-07-03 16:10:44 -07003033$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
3034
3035BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07003036
3037endif
3038
3039##########################################################################################
3040
erikjaf85fc42012-07-03 16:10:44 -07003041ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003042
erikje78df742012-06-07 20:40:50 -07003043$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07003044 LIBRARY:=osxapp,\
3045 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003046 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07003047 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003048 OPTIMIZATION:=LOW, \
3049 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003050 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
ohairb71409c2012-10-26 14:23:29 -07003051 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
erikje78df742012-06-07 20:40:50 -07003052 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3053 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3054 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3055 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003056 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003057 -framework Accelerate \
3058 -framework ApplicationServices \
3059 -framework AudioToolbox \
3060 -framework Carbon \
3061 -framework Cocoa \
3062 -framework Security \
3063 -framework ExceptionHandling \
3064 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3065 -framework JavaNativeFoundation \
3066 -framework JavaRuntimeSupport \
3067 -framework OpenGL \
3068 -framework IOSurface \
3069 -framework QuartzCore, \
andrew93196e42013-05-04 17:04:57 +01003070 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp,\
3071 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003072
erikjaf85fc42012-07-03 16:10:44 -07003073BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003074
3075endif
3076
3077##########################################################################################
3078
erikjaf85fc42012-07-03 16:10:44 -07003079ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003080
erikjaf85fc42012-07-03 16:10:44 -07003081LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003082 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3083 $(JDK_TOPDIR)/src/macosx/native/java/util \
3084 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3085 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3086 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3087
3088$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003089 LIBRARY:=osx,\
3090 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003091 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003092 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003093 OPTIMIZATION:=LOW, \
3094 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003095 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3096 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3097 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3098 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3099 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3100 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003101 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003102 -losxapp \
3103 -framework Cocoa \
3104 -framework ApplicationServices \
3105 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3106 -framework JavaNativeFoundation \
3107 -framework JavaRuntimeSupport \
3108 -framework Security \
3109 -framework SystemConfiguration \
3110 $(LDFLAGS_JDKLIB_SUFFIX), \
andrew93196e42013-05-04 17:04:57 +01003111 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx,\
3112 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003113
erikjaf85fc42012-07-03 16:10:44 -07003114BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003115
erikjaf85fc42012-07-03 16:10:44 -07003116$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003117
erikjaf85fc42012-07-03 16:10:44 -07003118$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003119
3120endif
3121
3122##########################################################################################
3123
erikjaf85fc42012-07-03 16:10:44 -07003124ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003125
erikjaf85fc42012-07-03 16:10:44 -07003126LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003127 awt.m \
3128 ApplicationDelegate.m \
3129 CFRetainedResource.m \
3130 CGLGraphicsConfig.m \
3131 CGLSurfaceData.m \
3132 CGLLayer.m \
3133 CGraphicsConfig.m \
3134 CGraphicsDevice.m \
3135 CGraphicsEnv.m \
3136 CCharToGlyphMapper.m \
3137 CSystemColors.m \
3138 AWTFont.m \
3139 CGGlyphOutlines.m \
3140 CGGlyphImages.m \
3141 CoreTextSupport.m \
3142 AWTStrike.m \
3143 InitIDs.m \
3144 AWTEvent.m \
3145 AWTView.m \
3146 AWTWindow.m \
3147 AWTSurfaceLayers.m \
3148 CCursorManager.m \
3149 CClipboard.m \
3150 CDataTransferer.m \
3151 CDragSource.m \
3152 CDragSourceContextPeer.m \
3153 CDropTarget.m \
3154 CDropTargetContextPeer.m \
3155 CInputMethod.m \
3156 CDesktopPeer.m \
3157 OSVersion.m \
3158 DnDUtilities.m \
3159 CFileDialog.m \
3160 CImage.m \
3161 CMenu.m \
3162 CMenuBar.m \
3163 CMenuComponent.m \
3164 CMenuItem.m \
3165 CPopupMenu.m \
3166 CRobot.m \
3167 CTrayIcon.m \
3168 CWrapper.m \
3169 JavaAccessibilityAction.m \
3170 JavaAccessibilityUtilities.m \
3171 JavaComponentAccessibility.m \
3172 JavaTextAccessibility.m \
3173 LWCToolkit.m \
3174 GeomUtilities.m \
3175 CPrinterJob.m \
3176 PrintModel.m \
3177 PrinterSurfaceData.m \
3178 PrinterView.m \
3179 QuartzSurfaceData.m \
3180 QuartzRenderer.m \
3181 CTextPipe.m \
3182 ImageSurfaceData.m \
3183 awt_DrawingSurface.m \
3184 \
3185 OGLBlitLoops.c \
3186 OGLBufImgOps.c \
3187 OGLContext.c \
3188 OGLFuncs.c \
3189 OGLMaskBlit.c \
3190 OGLMaskFill.c \
3191 OGLPaints.c \
3192 OGLRenderQueue.c \
3193 OGLRenderer.c \
3194 OGLSurfaceData.c \
3195 OGLTextRenderer.c \
3196 OGLVertexCache.c \
3197 AccelGlyphCache.c \
3198 CUPSfuncs.c
3199
3200
erikjaf85fc42012-07-03 16:10:44 -07003201LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003202 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3203 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3204 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3205 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3206 $(JDK_TOPDIR)/src/share/native/sun/font \
3207 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3208
3209$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003210 LIBRARY:=awt_lwawt,\
3211 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003212 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003213 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003214 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003215 OPTIMIZATION:=LOW, \
3216 CFLAGS:=$(CFLAGS_JDKLIB) \
ohrstrom5048dab2012-10-29 13:41:38 -07003217 $(X_CFLAGS) \
3218 $(X_LIBS) \
erikje78df742012-06-07 20:40:50 -07003219 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3220 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3221 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3222 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3223 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3224 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3225 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3226 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3227 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3228 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3229 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3230 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3231 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003232 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
3233 -framework Accelerate \
3234 -framework ApplicationServices \
3235 -framework AudioToolbox \
3236 -framework Carbon \
3237 -framework Cocoa \
3238 -framework Security \
3239 -framework ExceptionHandling \
3240 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3241 -framework JavaNativeFoundation \
3242 -framework JavaRuntimeSupport \
3243 -framework OpenGL \
3244 -framework QuartzCore -ljava,\
andrew93196e42013-05-04 17:04:57 +01003245 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt,\
3246 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003247
erikjaf85fc42012-07-03 16:10:44 -07003248BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003249
slac6a337c2013-08-20 08:59:15 +02003250$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003251
erikjaf85fc42012-07-03 16:10:44 -07003252$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003253
erikjaf85fc42012-07-03 16:10:44 -07003254$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003255
erikjaf85fc42012-07-03 16:10:44 -07003256$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003257
3258endif
3259
3260##########################################################################################
3261
erikjaf85fc42012-07-03 16:10:44 -07003262ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003263
erikje78df742012-06-07 20:40:50 -07003264$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003265 LIBRARY:=osxui,\
3266 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003267 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003268 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003269 OPTIMIZATION:=LOW, \
3270 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003271 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3272 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3273 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3274 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3275 LDFLAGS:=$(LDFLAGS_JDKLIB)\
ohair46fcac92012-09-18 11:29:24 -07003276 $(call SET_SHARED_LIBRARY_ORIGIN) \
3277 -Xlinker -rpath -Xlinker @loader_path,\
3278 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
3279 -framework Cocoa \
3280 -framework Carbon \
3281 -framework ApplicationServices \
3282 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3283 -framework JavaNativeFoundation \
3284 -framework JavaRuntimeSupport \
3285 -ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01003286 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui,\
3287 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003288
erikjaf85fc42012-07-03 16:10:44 -07003289BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003290
slac6a337c2013-08-20 08:59:15 +02003291$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003292
erikjaf85fc42012-07-03 16:10:44 -07003293$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003294
erikjaf85fc42012-07-03 16:10:44 -07003295$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003296
erikjaf85fc42012-07-03 16:10:44 -07003297#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3298
3299endif
3300
3301##########################################################################################
3302
3303ifeq ($(OPENJDK_TARGET_OS), macosx)
3304
ohair46fcac92012-09-18 11:29:24 -07003305# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
3306SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
3307
3308$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\
erikjaf85fc42012-07-03 16:10:44 -07003309 LIBRARY:=JObjC,\
ohair46fcac92012-09-18 11:29:24 -07003310 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3311 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3312 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3313 LANG:=C,\
3314 OPTIMIZATION:=LOW, \
3315 CFLAGS:=-fpascal-strings \
3316 -fobjc-gc \
3317 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003318 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
ohair46fcac92012-09-18 11:29:24 -07003319 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3320 -m32,\
3321 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3322 -m32, \
3323 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3324 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3325 -framework JavaNativeFoundation \
3326 -lffi, \
andrew93196e42013-05-04 17:04:57 +01003327 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3328 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
ohair46fcac92012-09-18 11:29:24 -07003329
3330$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\
3331 LIBRARY:=JObjC,\
3332 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
erikjaf85fc42012-07-03 16:10:44 -07003333 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3334 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3335 LANG:=C,\
3336 OPTIMIZATION:=LOW, \
3337 CFLAGS:=-fpascal-strings \
3338 -fobjc-gc \
3339 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003340 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
erikjaf85fc42012-07-03 16:10:44 -07003341 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3342 , \
3343 LDFLAGS:=-fpascal-strings \
3344 -fobjc-gc \
3345 -gdwarf-2 \
3346 $(LDFLAGS_JDKLIB)\
3347 $(call SET_SHARED_LIBRARY_ORIGIN), \
3348 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3349 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3350 -framework JavaNativeFoundation \
3351 -lffi, \
andrew93196e42013-05-04 17:04:57 +01003352 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
3353 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07003354
ohair46fcac92012-09-18 11:29:24 -07003355$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3356 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3357
3358BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
erikje78df742012-06-07 20:40:50 -07003359
3360endif
3361
3362##########################################################################################
3363
raginip450da982013-01-18 11:33:31 -08003364ifndef OPENJDK
3365ifeq ($(OPENJDK_TARGET_OS), windows)
3366
3367 ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
3368
3369 define SetupAccessBridge
3370 # Parameter 1 Suffix
3371 # Parameter 2 Machine
3372 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
3373
3374 $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\
3375 LIBRARY=JAWTAccessBridge$1,\
3376 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3377 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3378 INCLUDE_FILES:=JAWTAccessBridge.cpp,\
3379 LANG:=C++,\
3380 OPTIMIZATION:=LOW,\
3381 CFLAGS:=$(CFLAGS_JDKLIB) \
3382 -DACCESSBRIDGE_ARCH_$3,\
3383 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3384 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
3385 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3386 -subsystem:windows -machine:$2 \
3387 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\
3388 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3389 RC_FLAGS:=$(RC_FLAGS),\
3390 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\
3391 DEBUG_SYMBOLS:=true)
3392
3393 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
3394
3395 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\
3396 LIBRARY=JavaAccessBridge$1,\
3397 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3398 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3399 INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
3400 AccessBridgeJavaEntryPoints.cpp \
3401 AccessBridgeMessages.cpp JavaAccessBridge.cpp,\
3402 LANG:=C++,\
3403 OPTIMIZATION:=LOW,\
3404 CFLAGS:=$(CFLAGS_JDKLIB) \
3405 -DACCESSBRIDGE_ARCH_$3,\
3406 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3407 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3408 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3409 -subsystem:windows -machine:$2 \
3410 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\
3411 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3412 RC_FLAGS:=$(RC_FLAGS),\
3413 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\
3414 DEBUG_SYMBOLS:=true)
3415
3416 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\
3417 LIBRARY=WindowsAccessBridge$1,\
3418 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3419 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3420 INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
3421 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
3422 WinAccessBridge.cpp AccessBridgeDebug.cpp \
3423 AccessBridgeEventHandler.cpp,\
3424 LANG:=C++,\
3425 OPTIMIZATION:=LOW,\
3426 CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \
3427 -DACCESSBRIDGE_ARCH_$3,\
3428 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3429 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3430 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3431 -subsystem:windows -machine:$2 \
3432 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\
3433 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3434 RC_FLAGS:=$(RC_FLAGS),\
3435 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\
3436 DEBUG_SYMBOLS:=true)
3437
3438 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
3439 $$(BUILD_WINDOWSACCESSBRIDGE$1)
3440
3441 endef
3442
3443 ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
3444 $(eval $(call SetupAccessBridge,-32,I386,32))
3445 $(eval $(call SetupAccessBridge,,I386,LEGACY))
3446 else
3447 $(eval $(call SetupAccessBridge,-64,X64,64))
3448 endif
3449endif
3450endif
3451
3452
3453##########################################################################################
3454
ohair92de5662012-04-10 08:22:03 -07003455all: $(COPY_FILES) $(BUILD_LIBRARIES)
3456
3457.PHONY: all