blob: f5582fc6a909da40e0fbe82f22f63531fd5a7e6c [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)"' \
202 -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
ohair92de5662012-04-10 08:22:03 -0700214endif
215
erikjaf85fc42012-07-03 16:10:44 -0700216ifeq ($(OPENJDK_TARGET_OS),windows)
217 LIBJAVA_EXCLUDE_FILES += \
218 UNIXProcess_md.c \
219 UnixFileSystem_md.c \
220 FileSystemPreferences.c
ohair92de5662012-04-10 08:22:03 -0700221else
erikjaf85fc42012-07-03 16:10:44 -0700222 LIBJAVA_EXCLUDE_FILES += \
223 ProcessImpl_md.c \
erikjaf85fc42012-07-03 16:10:44 -0700224 WinNTFileSystem_md.c \
225 dirent_md.c \
226 WindowsPreferences.c \
227 sun/security/provider/WinCAPISeedGenerator.c \
228 sun/io/Win32ErrorMode.c
ohair92de5662012-04-10 08:22:03 -0700229endif
230
erikjaf85fc42012-07-03 16:10:44 -0700231ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700232 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
233 LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
ohair92de5662012-04-10 08:22:03 -0700234 endif
235endif
236
erikjaf85fc42012-07-03 16:10:44 -0700237$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
238 LIBRARY:=java,\
239 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
240 SRC:=$(LIBJAVA_SRC_DIRS),\
241 EXCLUDES:=fdlibm/src zip, \
242 EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \
ohair92de5662012-04-10 08:22:03 -0700243 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700244 OPTIMIZATION:=HIGH, \
245 CFLAGS:=$(CFLAGS_JDKLIB) \
246 $(LIBJAVA_CFLAGS),\
247 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700248 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700249 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -0700250 LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
erikj6dce8e92012-11-28 13:49:33 +0100251 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700252 LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
ohair46fcac92012-09-18 11:29:24 -0700253 LDFLAGS_SUFFIX_macosx:=-L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
erikjaf85fc42012-07-03 16:10:44 -0700254 -framework CoreFoundation \
255 -framework Security -framework SystemConfiguration, \
ohairb71409c2012-10-26 14:23:29 -0700256 LDFLAGS_SUFFIX_windows:=-export:winFileHandleOpen -export:handleLseek \
257 jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
258 shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
259 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -0700260 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
261 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700262 -D "JDK_FNAME=java.dll" \
263 -D "JDK_INTERNAL_NAME=java" \
264 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700265 REORDER:=$(LIBJAVA_REORDER), \
ohair46fcac92012-09-18 11:29:24 -0700266 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava,\
andrew93196e42013-05-04 17:04:57 +0100267 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -0700268
erikjaf85fc42012-07-03 16:10:44 -0700269BUILD_LIBRARIES += $(BUILD_LIBJAVA)
ohair92de5662012-04-10 08:22:03 -0700270
erikjaf85fc42012-07-03 16:10:44 -0700271$(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
272
273$(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY)
274
275$(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM)
ohair92de5662012-04-10 08:22:03 -0700276
277##########################################################################################
278
erikjaf85fc42012-07-03 16:10:44 -0700279BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib
280BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
erikje78df742012-06-07 20:40:50 -0700281 -I$(BUILD_LIBMLIB_SRC) \
ohair46fcac92012-09-18 11:29:24 -0700282 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib
erikje78df742012-06-07 20:40:50 -0700283
erikjaf85fc42012-07-03 16:10:44 -0700284BUILD_LIBMLIB_LDLIBS:=
285BUILD_LIBMLIB_IMAGE_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
erikje78df742012-06-07 20:40:50 -0700286
ohair46fcac92012-09-18 11:29:24 -0700287BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
erikje78df742012-06-07 20:40:50 -0700288
ohair46fcac92012-09-18 11:29:24 -0700289ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700290 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
291endif
292
erikjaf85fc42012-07-03 16:10:44 -0700293ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -0700294 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
295endif
296
297$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\
erikjaf85fc42012-07-03 16:10:44 -0700298 LIBRARY:=mlib_image,\
299 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
300 SRC:=$(BUILD_LIBMLIB_SRC),\
erikje78df742012-06-07 20:40:50 -0700301 EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\
302 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700303 OPTIMIZATION:=HIGHEST, \
304 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700305 $(BUILD_LIBMLIB_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -0700306 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700307 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700308 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700309 LDFLAGS_SUFFIX:=$(BUILD_LIBMLIB_LDLIBS) \
310 $(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -0800311 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -0700312 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
313 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700314 -D "JDK_FNAME=mlib_image.dll" \
315 -D "JDK_INTERNAL_NAME=mlib_image" \
316 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700317 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\
andrew93196e42013-05-04 17:04:57 +0100318 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -0700319
erikjaf85fc42012-07-03 16:10:44 -0700320$(BUILD_LIBMLIB_IMAGE) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700321
erikjaf85fc42012-07-03 16:10:44 -0700322BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -0700323
324##########################################################################################
325
ohair46fcac92012-09-18 11:29:24 -0700326ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH),solaris-sparc)
erikje78df742012-06-07 20:40:50 -0700327
erikjaf85fc42012-07-03 16:10:44 -0700328BUILD_LIBMLIB_IMAGE_V_FILES:=\
erikje78df742012-06-07 20:40:50 -0700329 mlib_v_ImageLookUp.c \
330 mlib_ImageCreate.c \
331 mlib_ImageAffine.c \
332 mlib_ImageConvMxN.c \
333 mlib_ImageConvKernelConvert.c \
334 mlib_sys.c \
335 mlib_ImageLookUp_64.c \
336 mlib_ImageLookUp_Bit.c \
337 mlib_ImageColorTrue2Index.c \
338 mlib_c_ImageThresh1_U8.c \
339 mlib_v_ImageLookUpS16S16Func.c \
340 mlib_v_ImageLookUpS16S32Func.c \
341 mlib_v_ImageLookUpS16U16Func.c \
342 mlib_v_ImageLookUpS16U8Func.c \
343 mlib_v_ImageLookUpS32S16Func.c \
344 mlib_v_ImageLookUpS32S32Func.c \
345 mlib_v_ImageLookUpS32U16Func.c \
346 mlib_v_ImageLookUpS32U8Func.c \
347 mlib_v_ImageLookUpSIS16S16Func.c \
348 mlib_v_ImageLookUpSIS16S32Func.c \
349 mlib_v_ImageLookUpSIS16U16Func.c \
350 mlib_v_ImageLookUpSIS16U8Func.c \
351 mlib_v_ImageLookUpSIS32S16Func.c \
352 mlib_v_ImageLookUpSIS32S32Func.c \
353 mlib_v_ImageLookUpSIS32U16Func.c \
354 mlib_v_ImageLookUpSIS32U8Func.c \
355 mlib_v_ImageLookUpSIU16S16Func.c \
356 mlib_v_ImageLookUpSIU16S32Func.c \
357 mlib_v_ImageLookUpSIU16U16Func.c \
358 mlib_v_ImageLookUpSIU16U8Func.c \
359 mlib_v_ImageLookUpSIU8S16Func.c \
360 mlib_v_ImageLookUpSIU8S32Func.c \
361 mlib_v_ImageLookUpSIU8U16Func.c \
362 mlib_v_ImageLookUpSIU8U8Func.c \
363 mlib_v_ImageLookUpU16S16Func.c \
364 mlib_v_ImageLookUpU16S32Func.c \
365 mlib_v_ImageLookUpU16U16Func.c \
366 mlib_v_ImageLookUpU16U8Func.c \
367 mlib_v_ImageLookUpU8S16Func.c \
368 mlib_v_ImageLookUpU8S32Func.c \
369 mlib_v_ImageLookUpU8U16Func.c \
370 mlib_v_ImageLookUpU8U8Func.c \
371 mlib_v_ImageAffineIndex_BC.c \
372 mlib_v_ImageAffine_BC.c \
373 mlib_v_ImageAffine_BC_S16.c \
374 mlib_v_ImageAffine_BC_U16.c \
375 mlib_v_ImageAffine_BL.c \
376 mlib_v_ImageAffine_BL_S16.c \
377 mlib_v_ImageAffine_BL_U16.c \
378 mlib_v_ImageAffine_NN.c \
379 mlib_v_ImageFilters.c \
380 mlib_ImageAffineEdge.c \
381 mlib_ImageAffine_BC_D64.c \
382 mlib_ImageAffine_BC_F32.c \
383 mlib_ImageAffine_BC_S32.c \
384 mlib_ImageAffine_BL_D64.c \
385 mlib_ImageAffine_BL_F32.c \
386 mlib_ImageAffine_BL_S32.c \
387 mlib_ImageAffine_NN.c \
388 mlib_ImageAffine_NN_Bit.c \
389 mlib_ImageFilters.c \
390 mlib_ImageScanPoly.c \
391 mlib_ImageConv_8nw.c \
392 mlib_ImageConv_8ext.c \
393 mlib_ImageConv_16nw.c \
394 mlib_ImageConv_16ext.c \
395 mlib_ImageConv_u16nw.c \
396 mlib_ImageConv_u16ext.c \
397 mlib_ImageConv_32nw.c \
398 mlib_ImageConv_F32nw.c \
399 mlib_ImageConvMxN_Fp.c \
400 mlib_ImageConvMxN_ext.c \
401 mlib_ImageConv_D64nw.c \
402 mlib_ImageClipping.c \
403 mlib_ImageConvCopyEdge_Bit.c \
404 mlib_ImageConvClearEdge_Bit.c \
405 mlib_ImageConv2x2_f.c \
406 mlib_ImageConvClearEdge_Fp.c \
407 mlib_v_ImageConvMxN_8.c \
408 mlib_v_ImageConvClearEdge.c \
409 mlib_v_ImageConvCopyEdge.c \
410 mlib_v_ImageConvMxN_8ext.c \
411 mlib_v_ImageConvVersion.c \
412 mlib_v_ImageConv_8nw.c \
413 mlib_ImageConvCopyEdge_Fp.c \
414 mlib_v_ImageChannelInsert_1.c \
415 mlib_v_ImageChannelExtract_43.c \
416 mlib_v_ImageChannelExtract_1.c \
417 mlib_ImageCopy_Bit.c \
418 mlib_v_ImageCopy_f.c \
419 mlib_ImageUtils.c \
420 mlib_ImageDivTables.c
421
erikjaf85fc42012-07-03 16:10:44 -0700422BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS))
erikje78df742012-06-07 20:40:50 -0700423
424$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\
erikjaf85fc42012-07-03 16:10:44 -0700425 LIBRARY:=mlib_image_v, \
426 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
427 SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
erikje78df742012-06-07 20:40:50 -0700428 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\
429 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700430 INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\
431 OPTIMIZATION:=HIGHEST, \
432 CFLAGS:=-xarch=sparcvis \
ohair46fcac92012-09-18 11:29:24 -0700433 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il\
erikjaf85fc42012-07-03 16:10:44 -0700434 $(BUILD_LIBMLIB_V_CFLAGS) \
435 $(CFLAGS_JDKLIB), \
436 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700437 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohairb71409c2012-10-26 14:23:29 -0700438 $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
erikje78df742012-06-07 20:40:50 -0700439 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -0800440 LDFLAGS_SUFFIX_solaris:=-lc,\
andrew93196e42013-05-04 17:04:57 +0100441 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v,\
442 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -0700443
ohairb71409c2012-10-26 14:23:29 -0700444$(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
445
erikjaf85fc42012-07-03 16:10:44 -0700446BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
erikje78df742012-06-07 20:40:50 -0700447
448endif
449
450##########################################################################################
451
erikjaf85fc42012-07-03 16:10:44 -0700452LIBAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -0700453 $(JDK_TOPDIR)/src/share/native/sun/awt \
ohair46fcac92012-09-18 11:29:24 -0700454 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikje78df742012-06-07 20:40:50 -0700455 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
456 $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
457 $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
erikje78df742012-06-07 20:40:50 -0700458 $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
459 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
460 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
461 $(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700462 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikje78df742012-06-07 20:40:50 -0700463 $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
464 $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
465 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
466 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700467 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
ohairb71409c2012-10-26 14:23:29 -0700468 $(JDK_TOPDIR)/src/share/native/sun/font
469
470ifeq ($(OPENJDK_TARGET_OS),windows)
471 LIBAWT_DIRS+=\
ohair46fcac92012-09-18 11:29:24 -0700472 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
473 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
474 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d
erikjebad8f92013-03-06 16:15:16 +0100475 LIBAWT_CFLAGS+=-I$(DXSDK_INCLUDE_PATH)
ohairb71409c2012-10-26 14:23:29 -0700476else
477 LIBAWT_DIRS+=\
478 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
479endif
erikje78df742012-06-07 20:40:50 -0700480
erikjebad8f92013-03-06 16:15:16 +0100481LIBAWT_CFLAGS+=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
erikjaf85fc42012-07-03 16:10:44 -0700482 $(X_CFLAGS) \
erikje78df742012-06-07 20:40:50 -0700483 $(foreach dir,$(LIBAWT_DIRS),-I$(dir))
484
erikjaf85fc42012-07-03 16:10:44 -0700485LIBAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -0700486 gifdecoder.c \
487 imageInitIDs.c \
488 img_globals.c \
489 SurfaceData.c \
490 Region.c \
491 BufImgSurfaceData.c \
492 Disposer.c \
493 Trace.c \
494 GraphicsPrimitiveMgr.c \
495 Blit.c \
496 BlitBg.c \
497 ScaledBlit.c \
498 FillRect.c \
499 FillSpans.c \
500 FillParallelogram.c \
501 DrawParallelogram.c \
502 DrawLine.c \
503 DrawRect.c \
504 DrawPolygons.c \
505 DrawPath.c \
506 FillPath.c \
507 ProcessPath.c \
508 MaskBlit.c \
509 MaskFill.c \
510 TransformHelper.c \
511 AlphaMath.c \
512 AlphaMacros.c \
513 AnyByte.c \
514 ByteBinary1Bit.c \
515 ByteBinary2Bit.c \
516 ByteBinary4Bit.c \
517 ByteIndexed.c \
518 ByteGray.c \
519 Index8Gray.c \
520 Index12Gray.c \
521 AnyShort.c \
522 Ushort555Rgb.c \
523 Ushort565Rgb.c \
524 Ushort4444Argb.c \
525 Ushort555Rgbx.c \
526 UshortGray.c \
527 UshortIndexed.c \
528 Any3Byte.c \
529 ThreeByteBgr.c \
530 AnyInt.c \
531 IntArgb.c \
532 IntArgbPre.c \
533 IntArgbBm.c \
534 IntRgb.c \
535 IntBgr.c \
536 IntRgbx.c \
537 Any4Byte.c \
538 FourByteAbgr.c \
539 FourByteAbgrPre.c \
540 BufferedMaskBlit.c \
541 BufferedRenderPipe.c \
542 ShapeSpanIterator.c \
543 SpanClipRenderer.c \
544 awt_ImageRep.c \
545 awt_ImagingLib.c \
546 awt_Mlib.c \
547 awt_parseImage.c \
548 DataBufferNative.c \
549 dither.c \
550 debug_assert.c \
551 debug_mem.c \
552 debug_trace.c \
553 debug_util.c
554
ohair46fcac92012-09-18 11:29:24 -0700555ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux))
erikje78df742012-06-07 20:40:50 -0700556 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
557endif
558
erikjaf85fc42012-07-03 16:10:44 -0700559ifeq ($(OPENJDK_TARGET_OS),macosx)
ohair46fcac92012-09-18 11:29:24 -0700560 LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
erikje78df742012-06-07 20:40:50 -0700561 LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
562 LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
563 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
564
erikjaf85fc42012-07-03 16:10:44 -0700565 LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
erikje78df742012-06-07 20:40:50 -0700566endif
567
erikjaf85fc42012-07-03 16:10:44 -0700568ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
569 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
570 LIBAWT_CFLAGS += -xarch=sparcvis
ohair46fcac92012-09-18 11:29:24 -0700571 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
erikjaf85fc42012-07-03 16:10:44 -0700572 LIBAWT_CFLAGS += \
573 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
574 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
575 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
erikje78df742012-06-07 20:40:50 -0700576
erikjaf85fc42012-07-03 16:10:44 -0700577 LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
578 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
579
580 LIBAWT_FILES += \
581 vis_FuncArray.c \
582 java2d_Mlib.c \
583 mlib_ImageCreate.c \
584 mlib_ImageZoom_NN.c \
585 mlib_ImageCopy_Bit.c \
586 mlib_sys.c \
587 mlib_v_ImageClear.c \
588 mlib_v_ImageClear_f.c \
589 mlib_v_ImageConstXor.c \
590 mlib_v_ImageCopy.c \
591 mlib_v_ImageCopy_f.c \
592 mlib_v_ImageXor.c \
593 mlib_v_ImageZoom_NN_f.c \
594 vis_Interp.c \
595 vis_AlphaMacros.c \
596 vis_AlphaMaskBlit.c \
597 vis_AlphaMaskFill.c \
598 vis_ByteGray.c \
599 vis_ByteGray_FromRgb.c \
600 vis_ByteGray_Mask.c \
601 vis_ByteIndexed.c \
602 vis_DrawLine.c \
603 vis_FourByteAbgr.c \
604 vis_IntArgb.c \
605 vis_IntArgbPre.c \
606 vis_IntArgbPre_Mask.c \
607 vis_IntBgr.c \
608 vis_IntRgb.c \
609 vis_IntRgbx.c \
610 vis_SrcMaskFill.c \
611 vis_SrcOverMaskBlit.c \
612 vis_SrcOverMaskFill.c \
613 vis_FourByteAbgrPre.c \
614 vis_GlyphList.c \
615 vis_GlyphListXor.c \
616 vis_IntArgbBm.c \
617 vis_ThreeByteBgr.c \
618 vis_UshortGray.c \
619 vis_UshortGray_FromRgb.c \
620 vis_XorBlit.c \
621 mlib_v_ImageCopy_blk.s
622
ohair46fcac92012-09-18 11:29:24 -0700623 ifeq ($(OPENJDK_TARGET_CPU),sparcv9)
erikjaf85fc42012-07-03 16:10:44 -0700624 LIBAWT_ASFLAGS=-P -xarch=v9a
625 else
626 LIBAWT_ASFLAGS=-P -xarch=v8plusa
627 endif
erikje78df742012-06-07 20:40:50 -0700628else
629 LIBAWT_FILES += MapAccelFunc.c
630endif
631
erikjaf85fc42012-07-03 16:10:44 -0700632ifneq ($(OPENJDK_TARGET_OS),solaris)
erikje78df742012-06-07 20:40:50 -0700633 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
634endif
635
erikjaf85fc42012-07-03 16:10:44 -0700636LIBAWT_LANG:=C
erikje78df742012-06-07 20:40:50 -0700637
erikjaf85fc42012-07-03 16:10:44 -0700638ifeq ($(OPENJDK_TARGET_OS),windows)
erikje78df742012-06-07 20:40:50 -0700639 LIBAWT_FILES += AccelGlyphCache.c \
640 ShaderList.c \
641 CmdIDList.cpp \
642 Hashtable.cpp \
643 GDIHashtable.cpp \
644 Devices.cpp \
645 ObjectList.cpp \
646 GDIBlitLoops.cpp \
647 GDIRenderer.cpp \
648 GDIWindowSurfaceData.cpp \
649 WindowsFlags.cpp \
650 WPrinterJob.cpp \
651 awt_%.cpp \
652 D3DBlitLoops.cpp \
653 D3DBufImgOps.cpp \
654 D3DContext.cpp \
655 D3DGlyphCache.cpp \
656 D3DGraphicsDevice.cpp \
657 D3DMaskBlit.cpp \
658 D3DMaskCache.cpp \
659 D3DMaskFill.cpp \
660 D3DPipelineManager.cpp \
661 D3DPaints.cpp \
662 D3DRenderer.cpp \
663 D3DRenderQueue.cpp \
664 D3DResourceManager.cpp \
665 D3DSurfaceData.cpp \
666 D3DTextRenderer.cpp \
667 D3DVertexCacher.cpp \
668 ShellFolder2.cpp \
669 ThemeReader.cpp \
670 ComCtl32Util.cpp \
671 DllUtil.cpp \
672 initIDs.cpp \
673 MouseInfo.cpp \
ohairb71409c2012-10-26 14:23:29 -0700674 rect.c \
675 OGLBlitLoops.c \
676 OGLBufImgOps.c \
677 OGLContext.c \
678 OGLFuncs.c \
679 OGLMaskBlit.c \
680 OGLMaskFill.c \
681 OGLPaints.c \
682 OGLRenderQueue.c \
683 OGLRenderer.c \
684 OGLSurfaceData.c \
685 OGLTextRenderer.c \
686 OGLVertexCache.c \
687 WGLGraphicsConfig.c \
688 WGLSurfaceData.c
erikjaf85fc42012-07-03 16:10:44 -0700689 LIBAWT_LANG:=C++
ohair46fcac92012-09-18 11:29:24 -0700690 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
691 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700692 LIBAWT_CFLAGS += -DMLIB_OS64BIT
693 endif
694
695 ifdef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -0700696 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
erikje78df742012-06-07 20:40:50 -0700697 else
erikjaf85fc42012-07-03 16:10:44 -0700698 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
erikje78df742012-06-07 20:40:50 -0700699 endif
erikjaf85fc42012-07-03 16:10:44 -0700700 LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
erikje78df742012-06-07 20:40:50 -0700701endif
702
703ifeq ($(MILESTONE), internal)
704 LIBAWT_CFLAGS += -DINTERNAL_BUILD
705endif
706
erikjaf85fc42012-07-03 16:10:44 -0700707LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
708ifeq ($(OPENJDK_TARGET_OS),linux)
709 LIBAWT_MAPFILE:=
erikje78df742012-06-07 20:40:50 -0700710endif
711
712$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
erikjaf85fc42012-07-03 16:10:44 -0700713 LIBRARY:=awt,\
714 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -0700715 SRC:=$(LIBAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -0700716 INCLUDE_FILES:=$(LIBAWT_FILES),\
erikje78df742012-06-07 20:40:50 -0700717 LANG:=$(LIBAWT_LANG),\
erikjaf85fc42012-07-03 16:10:44 -0700718 OPTIMIZATION:=LOW, \
719 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
720 ASFLAGS:=$(LIBAWT_ASFLAGS),\
721 MAPFILE:=$(LIBAWT_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700722 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700723 LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
724 LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -0800725 LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
ohair46fcac92012-09-18 11:29:24 -0700726 LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
727 -framework Cocoa \
728 -framework OpenGL \
729 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
730 -framework JavaNativeFoundation \
731 -framework JavaRuntimeSupport \
732 -framework ApplicationServices \
733 -framework AudioToolbox \
734 -ljava,\
ohairb71409c2012-10-26 14:23:29 -0700735 LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \
736 imm32.lib ole32.lib uuid.lib shell32.lib \
737 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
738 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
739 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
740 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
741 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
742 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
743 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\
erikjaf85fc42012-07-03 16:10:44 -0700744 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
745 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700746 -D "JDK_FNAME=awt.dll" \
747 -D "JDK_INTERNAL_NAME=awt" \
748 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700749 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt,\
andrew93196e42013-05-04 17:04:57 +0100750 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -0700751
erikjaf85fc42012-07-03 16:10:44 -0700752$(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700753
erikjaf85fc42012-07-03 16:10:44 -0700754ifeq ($(OPENJDK_TARGET_OS), macosx)
755$(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
756endif
757
758BUILD_LIBRARIES += $(BUILD_LIBAWT)
759
760##########################################################################################
761
762# TODO!!
763# Even though this variable as a general name, it is
764# only used on macos, in fontpath.c, as prefix for where to find fonts.
765#
766# It's used for libawt_headless _and_ libawt_xawt
767#
768X11_PATH:=/usr/X11R6
769
770ifneq ($(OPENJDK_TARGET_OS), windows)
771ifndef BUILD_HEADLESS_ONLY
772
773LIBAWT_XAWT_DIRS:=\
774 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
775 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
776 $(JDK_TOPDIR)/src/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -0700777 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -0700778 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700779 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
780 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
781 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
782 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
erikjaf85fc42012-07-03 16:10:44 -0700783
784LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
785 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
786 $(CUPS_CFLAGS) \
787 $(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
788 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700789 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -0700790 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
791 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
792 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
793 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
794 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -0700795 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
erikjaf85fc42012-07-03 16:10:44 -0700796
797ifeq ($(OPENJDK_TARGET_OS),solaris)
798 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
799endif
800
prrb31d51d2013-08-07 18:24:17 -0700801ifeq ($(OPENJDK_TARGET_OS),linux)
802ifndef OPENJDK
803include $(JDK_TOPDIR)/make/closed/xawt.gmk
804endif
805
806ifeq ($(DISABLE_XRENDER),true)
807 LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
808endif
809endif
810
erikjaf85fc42012-07-03 16:10:44 -0700811ifeq ($(MILESTONE),internal)
812 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
813endif
814
815LIBAWT_XAWT_FILES:=\
816 XlibWrapper.c \
817 XWindow.c \
818 XToolkit.c \
819 X11Color.c \
820 X11SurfaceData.c \
821 awt_GraphicsEnv.c \
822 awt_InputMethod.c \
823 robot_common.c \
824 awt_Robot.c \
825 list.c \
826 multiVis.c \
827 initIDs.c \
828 awt_util.c \
829 awt_Desktop.c \
830 awt_UNIXToolkit.c \
831 X11FontScaler_md.c \
832 X11TextRenderer_md.c \
833 fontpath.c \
834 awt_Insets.c \
835 awt_Event.c \
836 X11Renderer.c \
837 X11PMBlitLoops.c \
838 OGLBlitLoops.c \
839 OGLBufImgOps.c \
840 OGLContext.c \
841 OGLFuncs.c \
842 OGLMaskBlit.c \
843 OGLMaskFill.c \
844 OGLPaints.c \
845 OGLRenderQueue.c \
846 OGLRenderer.c \
847 OGLSurfaceData.c \
848 OGLTextRenderer.c \
849 OGLVertexCache.c \
850 GLXGraphicsConfig.c \
851 GLXSurfaceData.c \
852 AccelGlyphCache.c \
853 awt_Font.c \
854 multi_font.c \
855 awt_AWTEvent.c \
856 awt_DrawingSurface.c \
857 jawt.c \
858 CUPSfuncs.c \
859 debug_assert.c \
860 debug_mem.c \
861 debug_trace.c \
862 debug_util.c \
863 awt_Plugin.c \
denisa8cc3242013-03-22 19:56:20 +0400864 gnome_interface.c \
erikjaf85fc42012-07-03 16:10:44 -0700865 gtk2_interface.c \
866 swing_GTKEngine.c \
867 swing_GTKStyle.c \
868 rect.c \
869 sun_awt_X11_GtkFileDialogPeer.c \
870 XRSurfaceData.c \
871 XRBackendNative.c
872
873LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
874
875ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -0700876 # To match old build, add this to LDFLAGS instead of suffix.
877 LIBAWT_XAWT_LDFLAGS += -lpthread
erikjaf85fc42012-07-03 16:10:44 -0700878endif
879
880ifeq ($(OPENJDK_TARGET_OS), macosx)
881 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
882endif
883
ohair46fcac92012-09-18 11:29:24 -0700884# On macosx, the shared library origin is set twice for this lib.
erikjaf85fc42012-07-03 16:10:44 -0700885$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
886 LIBRARY:=awt_xawt,\
887 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
888 SRC:=$(LIBAWT_XAWT_DIRS),\
889 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
890 LANG:=C,\
891 OPTIMIZATION:=LOW, \
892 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
893 $(X_CFLAGS),\
894 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
895 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700896 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\
897 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \
898 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
899 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
900 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
901 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
902 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
903 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
904 $(call SET_SHARED_LIBRARY_ORIGIN) \
905 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
906 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \
907 $(call SET_SHARED_LIBRARY_ORIGIN). \
908 $(call SET_SHARED_LIBRARY_ORIGIN) \
909 $(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -0700910 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -0700911 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
912 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700913 -D "JDK_FNAME=xawt.dll" \
914 -D "JDK_INTERNAL_NAME=xawt" \
915 -D "JDK_FTYPE=0x2L",\
andrew93196e42013-05-04 17:04:57 +0100916 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt,\
917 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -0700918
919$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
920
921$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
922
923BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
924
925endif
926endif
927
928##########################################################################################
929
erikj5c99f2c2012-11-28 13:29:35 +0100930BUILD_LIBZIP_EXCLUDES :=
erikjaf85fc42012-07-03 16:10:44 -0700931ifeq ($(USE_EXTERNAL_LIBZ),true)
erikj5c99f2c2012-11-28 13:29:35 +0100932 LIBZ := -lz
933 LIBZIP_EXCLUDES += zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700934else
erikj5c99f2c2012-11-28 13:29:35 +0100935 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700936endif
937
erikj5c99f2c2012-11-28 13:29:35 +0100938BUILD_LIBZIP_REORDER :=
erikjaf85fc42012-07-03 16:10:44 -0700939ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700940 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikj5c99f2c2012-11-28 13:29:35 +0100941 BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700942 endif
943endif
944
945ifeq ($(LIBZIP_CAN_USE_MMAP), true)
erikj5c99f2c2012-11-28 13:29:35 +0100946 BUILD_LIBZIP_MMAP := -DUSE_MMAP
erikjaf85fc42012-07-03 16:10:44 -0700947endif
948
949$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
950 LIBRARY:=zip,\
951 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikjaf85fc42012-07-03 16:10:44 -0700952 LANG:=C,\
953 OPTIMIZATION:=LOW, \
erikj5c99f2c2012-11-28 13:29:35 +0100954 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
955 EXCLUDES:=$(LIBZIP_EXCLUDES),\
erikjaf85fc42012-07-03 16:10:44 -0700956 CFLAGS:=$(CFLAGS_JDKLIB) \
erikj5c99f2c2012-11-28 13:29:35 +0100957 $(ZLIB_CPPFLAGS) \
erikjaf85fc42012-07-03 16:10:44 -0700958 -I$(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700959 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
erikjaf85fc42012-07-03 16:10:44 -0700960 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
961 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
962 REORDER:=$(BUILD_LIBZIP_REORDER), \
963 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700964 $(call SET_SHARED_LIBRARY_ORIGIN) \
erikjaf85fc42012-07-03 16:10:44 -0700965 $(EXPORT_ZIP_FUNCS), \
ohair46fcac92012-09-18 11:29:24 -0700966 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
erikjaf85fc42012-07-03 16:10:44 -0700967 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
968 $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700969 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -0800970 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
ohair46fcac92012-09-18 11:29:24 -0700971 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
972 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
973 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700974 -D "JDK_FNAME=zip.dll" \
975 -D "JDK_INTERNAL_NAME=zip" \
976 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700977 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
andrew93196e42013-05-04 17:04:57 +0100978 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -0700979
980$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
981
982BUILD_LIBRARIES += $(BUILD_LIBZIP)
983
984##########################################################################################
985
986$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
987 LIBRARY:=unpack, \
988 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
989 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
990 EXCLUDE_FILES:=main.cpp,\
991 LANG:=C++,\
992 OPTIMIZATION:=LOW, \
993 CFLAGS:=$(CXXFLAGS_JDKLIB) \
994 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
995 CFLAGS_release:=-DPRODUCT,\
996 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -0700997 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -0700998 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohairb71409c2012-10-26 14:23:29 -0700999 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
erikjaf85fc42012-07-03 16:10:44 -07001000 jvm.lib $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001001 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001002 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
1003 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1004 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001005 -D "JDK_FNAME=unpack.dll" \
1006 -D "JDK_INTERNAL_NAME=unpack" \
1007 -D "JDK_FTYPE=0x2L",\
andrew93196e42013-05-04 17:04:57 +01001008 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001009
1010$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
1011
1012BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
1013
ohair46fcac92012-09-18 11:29:24 -07001014ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001015 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
1016 $(ECHO) Copying $(@F)
1017 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
1018
1019 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
1020 $(ECHO) Copying $(@F)
1021 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
1022endif
1023
1024##########################################################################################
1025
1026LIBATTACH_EXCLUDE_FILES:=
1027ifneq ($(OPENJDK_TARGET_OS),solaris)
1028 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1029endif
1030ifneq ($(OPENJDK_TARGET_OS),linux)
1031 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1032endif
1033ifneq ($(OPENJDK_TARGET_OS),macosx)
1034 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1035endif
1036
1037$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1038 LIBRARY:=attach, \
1039 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001040 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
erikjaf85fc42012-07-03 16:10:44 -07001041 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1042 LANG:=C,\
1043 OPTIMIZATION:=LOW, \
1044 CFLAGS:=$(CFLAGS_JDKLIB),\
1045 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
ohair46fcac92012-09-18 11:29:24 -07001046 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1047 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001048 -D "JDK_FNAME=attach.dll" \
1049 -D "JDK_INTERNAL_NAME=attach" \
1050 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001051 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1052 $(call SET_SHARED_LIBRARY_ORIGIN),\
1053 LDFLAGS_solaris:=-ldoor,\
erikjaf85fc42012-07-03 16:10:44 -07001054 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001055 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001056 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
1057 DEBUG_SYMBOLS:=true))
1058
1059$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
1060
1061BUILD_LIBRARIES += $(BUILD_LIBATTACH)
1062
1063##########################################################################################
1064
1065$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
1066 LIBRARY:=dt_socket,\
1067 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1068 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001069 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\
erikjaf85fc42012-07-03 16:10:44 -07001070 LANG:=C,\
1071 OPTIMIZATION:=LOW, \
1072 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
1073 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1074 -I$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001075 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
erikjaf85fc42012-07-03 16:10:44 -07001076 -I$(JDK_TOPDIR)/src/share/back/export \
1077 -I$(JDK_TOPDIR)/src/share/back,\
1078 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001079 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1080 $(call SET_SHARED_LIBRARY_ORIGIN), \
1081 LDFLAGS_SUFFIX_linux:=-lpthread,\
erikj4f66f2d2012-11-03 16:27:01 -07001082 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\
ohair46fcac92012-09-18 11:29:24 -07001083 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
1084 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1085 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001086 -D "JDK_FNAME=dt_socket.dll" \
1087 -D "JDK_INTERNAL_NAME=dt_socket" \
1088 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001089 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
1090 DEBUG_SYMBOLS:=true))
1091
1092$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
1093
1094BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
1095
1096##########################################################################################
1097
ohair46fcac92012-09-18 11:29:24 -07001098ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001099
1100 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
1101 LIBRARY:=dt_shmem,\
1102 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1103 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
1104 $(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001105 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\
erikjaf85fc42012-07-03 16:10:44 -07001106 LANG:=C,\
1107 OPTIMIZATION:=LOW, \
1108 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
1109 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1110 -I$(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001111 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
erikjaf85fc42012-07-03 16:10:44 -07001112 -I$(JDK_TOPDIR)/src/share/back/export, \
1113 LDFLAGS:=$(LDFLAGS_JDKLIB),\
ohair46fcac92012-09-18 11:29:24 -07001114 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\
erikjaf85fc42012-07-03 16:10:44 -07001115 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001116 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1117 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001118 -D "JDK_FNAME=dt_shmem.dll" \
1119 -D "JDK_INTERNAL_NAME=dt_shmem" \
1120 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001121 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
andrew93196e42013-05-04 17:04:57 +01001122 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001123
1124 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
1125
1126endif # OPENJDK_TARGET_OS
1127
1128##########################################################################################
ohair46fcac92012-09-18 11:29:24 -07001129# JDWP_LOGGING causes log messages to be compiled into the library.
erikjaf85fc42012-07-03 16:10:44 -07001130$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
1131 LIBRARY:=jdwp, \
1132 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001133 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\
erikjaf85fc42012-07-03 16:10:44 -07001134 LANG:=C,\
1135 OPTIMIZATION:=LOW, \
1136 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
1137 -I$(JDK_TOPDIR)/src/share/transport/export \
1138 -I$(JDK_TOPDIR)/src/share/back/export \
1139 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001140 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001141 -I$(JDK_TOPDIR)/src/share/back \
ohair46fcac92012-09-18 11:29:24 -07001142 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
erikjaf85fc42012-07-03 16:10:44 -07001143 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
1144 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001145 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1146 $(call SET_SHARED_LIBRARY_ORIGIN),\
1147 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001148 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001149 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001150 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1151 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001152 -D "JDK_FNAME=jdwp.dll" \
1153 -D "JDK_INTERNAL_NAME=jdwp" \
1154 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001155 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
erikj6413fe62013-05-31 14:05:09 +02001156 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001157
1158$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
1159
1160BUILD_LIBRARIES += $(BUILD_LIBJDWP)
1161
1162##########################################################################################
1163
1164LIBJAAS_MAPFILE:=
1165ifneq ($(OPENJDK_TARGET_OS),solaris)
1166 LIBJAAS_EXCLUDE_FILES:=Solaris.c
1167else
1168 # only on solaris...wonder why
1169 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
1170endif
1171
1172LIBJAAS_NAME:=jaas_unix
1173ifeq ($(OPENJDK_TARGET_OS), windows)
1174 LIBJAAS_NAME:=jaas_nt
1175endif
1176
1177$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
1178 LIBRARY:=$(LIBJAAS_NAME),\
1179 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001180 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\
erikjaf85fc42012-07-03 16:10:44 -07001181 LANG:=C,\
1182 OPTIMIZATION:=LOW, \
1183 CFLAGS:=$(CFLAGS_JDKLIB),\
1184 MAPFILE:=$(LIBJAAS_MAPFILE),\
1185 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
1186 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001187 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001188 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -08001189 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07001190 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
ohair46fcac92012-09-18 11:29:24 -07001191 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1192 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001193 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
1194 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
1195 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001196 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\
andrew93196e42013-05-04 17:04:57 +01001197 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001198
1199$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
1200
1201BUILD_LIBRARIES += $(BUILD_LIBJAAS)
1202
1203##########################################################################################
1204
1205$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
1206 LIBRARY:=jsdt,\
1207 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1208 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
ohair46fcac92012-09-18 11:29:24 -07001209 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\
erikjaf85fc42012-07-03 16:10:44 -07001210 LANG:=C,\
1211 OPTIMIZATION:=LOW, \
1212 CFLAGS:=$(CFLAGS_JDKLIB)\
1213 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
1214 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
1215 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1216 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001217 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1218 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07001219 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001220 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001221 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1222 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001223 -D "JDK_FNAME=jsdt.dll" \
1224 -D "JDK_INTERNAL_NAME=jsdt" \
1225 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001226 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
ohair46fcac92012-09-18 11:29:24 -07001227 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001228
1229$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
1230
1231BUILD_LIBRARIES += $(BUILD_LIBJSDT)
1232
1233##########################################################################################
1234
erikjaf85fc42012-07-03 16:10:44 -07001235 # TODO: Update awt lib path when awt is converted
1236 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1237 LIBRARY:=lcms,\
1238 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01001239 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
erikjaf85fc42012-07-03 16:10:44 -07001240 LANG:=C,\
baebb34c3b2013-03-07 14:05:21 +04001241 OPTIMIZATION:=HIGHEST, \
erikjaf85fc42012-07-03 16:10:44 -07001242 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1243 $(SHARED_LIBRARY_FLAGS) \
1244 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1245 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1246 CFLAGS_solaris:=-xc99=no_lib,\
ohair46fcac92012-09-18 11:29:24 -07001247 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
erikjaf85fc42012-07-03 16:10:44 -07001248 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001249 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1250 $(call SET_SHARED_LIBRARY_ORIGIN), \
1251 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1252 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
tbell7d47bd02012-11-12 10:20:01 -08001253 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07001254 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1255 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1256 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1257 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001258 -D "JDK_FNAME=lcms.dll" \
1259 -D "JDK_INTERNAL_NAME=lcms" \
1260 -D "JDK_FTYPE=0x2L",\
1261 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
andrew93196e42013-05-04 17:04:57 +01001262 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001263
1264 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1265
1266 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
erikjaf85fc42012-07-03 16:10:44 -07001267
1268##########################################################################################
1269
1270ifdef OPENJDK
1271 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1272else
1273 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1274 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1275 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1276endif
1277
1278BUILD_LIBJPEG_REORDER:=
1279ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001280 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1281 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07001282 endif
1283endif
1284
1285# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
1286# or 'vfork'": this warning indicates that some variable is placed to
1287# a register by optimized compiler and it's value might be lost on longjmp().
1288# Recommended way to avoid such warning is to declare the variable as
1289# volatile to prevent the optimization. However, this approach does not
1290# work because we have to declare all variables as volatile in result.
1291#ifndef CROSS_COMPILE_ARCH
1292# CC_43_OR_NEWER:=\
1293# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
1294# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
1295# ifeq ($(CC_43_OR_NEWER),1)
1296# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
1297# endif
1298#endif
1299
1300$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
1301 LIBRARY:=jpeg, \
1302 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1303 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
1304 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1305 LANG:=C,\
1306 OPTIMIZATION:=HIGHEST, \
1307 CFLAGS:=$(CFLAGS_JDKLIB) \
1308 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
1309 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1310 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
1311 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1312 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001313 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001314 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001315 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1316 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001317 -D "JDK_FNAME=jpeg.dll" \
1318 -D "JDK_INTERNAL_NAME=jpeg" \
1319 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001320 REORDER:=$(BUILD_LIBJPEG_REORDER),\
ohair46fcac92012-09-18 11:29:24 -07001321 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
andrew93196e42013-05-04 17:04:57 +01001322 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001323
1324$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
1325
1326BUILD_LIBRARIES += $(BUILD_LIBJPEG)
1327
1328##########################################################################################
1329
1330ifndef OPENJDK
ohairb71409c2012-10-26 14:23:29 -07001331 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
erikjaf85fc42012-07-03 16:10:44 -07001332 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
1333 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
1334else
1335 FONT_HEADERS:=$(FREETYPE2_CFLAGS)
1336 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
1337 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
1338endif
1339
prr54abc122013-07-02 14:25:56 -07001340LIBFONTMANAGER_OPTIMIZATION:=HIGH
erikjaf85fc42012-07-03 16:10:44 -07001341
1342ifeq ($(OPENJDK_TARGET_OS),windows)
1343 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1344 X11TextRenderer.c
prr54abc122013-07-02 14:25:56 -07001345LIBFONTMANAGER_OPTIMIZATION:=HIGHEST
erikjaf85fc42012-07-03 16:10:44 -07001346else
1347 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1348 lcdglyph.c
1349endif
1350
1351BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1352 $(X_CFLAGS) \
1353 -DLE_STANDALONE -DHEADLESS \
1354 $(FONT_HEADERS) \
1355 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1356 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1357 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001358 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001359 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1360 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1361 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001362 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001363 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1364
1365# Turn off aliasing with GCC for ExtensionSubtables.cpp
1366ifeq ($(OPENJDK_TARGET_OS), linux)
1367 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1368endif
1369
1370$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1371 LIBRARY:=fontmanager, \
1372 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1373 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
ohair46fcac92012-09-18 11:29:24 -07001374 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
erikjaf85fc42012-07-03 16:10:44 -07001375 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1376 AccelGlyphCache.c,\
1377 LANG:=C++,\
1378 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1379 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1380 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
ohair46fcac92012-09-18 11:29:24 -07001381 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001382 -DCC_NOEX, \
1383 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
ohair46fcac92012-09-18 11:29:24 -07001384 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001385 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001386 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1387 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1388 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
ohairb71409c2012-10-26 14:23:29 -07001389 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1390 -ljava -ljvm,\
1391 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1392 $(WIN_AWT_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001393 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1394 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001395 -D "JDK_FNAME=fontmanager.dll" \
1396 -D "JDK_INTERNAL_NAME=fontmanager" \
1397 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001398 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
andrew93196e42013-05-04 17:04:57 +01001399 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001400
1401$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1402
1403ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1404$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1405endif
1406
1407BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001408
1409##########################################################################################
1410
1411ifndef OPENJDK
1412
erikjaf85fc42012-07-03 16:10:44 -07001413# ifeq ($(OPENJDK_TARGET_OS), linux)
1414# ifeq ("$(CC_VER_MAJOR)", "3")
1415# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1416# endif
1417# endif
1418#
1419# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1420# the input .o files. Because of this the new build will differ in size to the old build.
1421 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1422 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1423 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1424 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -07001425 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -07001426 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1427 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001428 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001429 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1430
1431 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1432 LIBRARY:=t2k, \
1433 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1434 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1435 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1436 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1437 EXCLUDE_FILES:=orion.c,\
1438 LANG:=C++,\
1439 OPTIMIZATION:=HIGH, \
1440 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1441 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1442 CFLAGS_windows=-DCC_NOEX, \
1443 CXXFLAGS_windows=-DCC_NOEX, \
1444 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001445 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001446 $(call SET_SHARED_LIBRARY_ORIGIN),\
1447 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
ohair46fcac92012-09-18 11:29:24 -07001448 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
1449 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
1450 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1451 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001452 -D "JDK_FNAME=t2k.dll" \
1453 -D "JDK_INTERNAL_NAME=t2k" \
1454 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001455 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
andrew93196e42013-05-04 17:04:57 +01001456 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001457
1458 # t2k is linked against fontmanager
1459 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1460
1461 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1462endif
1463
1464##########################################################################################
1465
erikjaf85fc42012-07-03 16:10:44 -07001466ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001467 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikjaf85fc42012-07-03 16:10:44 -07001468 KERNEL32_LIB:=kernel32.lib
1469 endif
1470 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1471 LIBRARY:=jawt, \
1472 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001473 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
erikjaf85fc42012-07-03 16:10:44 -07001474 INCLUDE_FILES:=jawt.cpp,\
1475 LANG:=C++,\
1476 OPTIMIZATION:=LOW, \
1477 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1478 -EHsc -DUNICODE -D_UNICODE \
ohair46fcac92012-09-18 11:29:24 -07001479 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001480 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1481 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1482 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
erikjebad8f92013-03-06 16:15:16 +01001483 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
1484 -I$(DXSDK_INCLUDE_PATH), \
ohair46fcac92012-09-18 11:29:24 -07001485 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001486 advapi32.lib $(WIN_AWT_LIB),\
1487 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001488 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1489 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001490 -D "JDK_FNAME=jawt.dll" \
1491 -D "JDK_INTERNAL_NAME=jawt" \
1492 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001493 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
andrew93196e42013-05-04 17:04:57 +01001494 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001495
1496$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1497
1498$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1499 $(ECHO) Copying $(@F)
ohair46fcac92012-09-18 11:29:24 -07001500 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
erikjaf85fc42012-07-03 16:10:44 -07001501
1502BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1503
1504else # OPENJDK_TARGET_OS not windows
1505
1506 JAWT_LIBS:=
1507 ifneq ($(OPENJDK_TARGET_OS), solaris)
1508 JAWT_LIBS += -lawt
1509 endif
1510
1511 ifndef BUILD_HEADLESS_ONLY
1512 JAWT_LIBS += -lawt_xawt
1513 else
1514 JAWT_LIBS += -lawt_headless
1515 HEADLESS_CFLAG += -DHEADLESS
1516 endif
1517
1518 JAWT_FILES:=jawt.c
1519 ifeq ($(OPENJDK_TARGET_OS), macosx)
1520 JAWT_FILES:=jawt.m
1521 JAWT_LIBS:=-lawt_lwawt
1522 endif
1523
1524 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1525 LIBRARY:=jawt, \
1526 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001527 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001528 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1529 INCLUDE_FILES:=$(JAWT_FILES),\
1530 LANG:=C,\
1531 OPTIMIZATION:=LOW, \
1532 CFLAGS:=$(CFLAGS_JDKLIB), \
1533 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1534 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1535 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1536 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1537 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001538 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1539 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1540 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1541 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1542 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
andrew93196e42013-05-04 17:04:57 +01001543 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1544 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001545
1546ifndef BUILD_HEADLESS_ONLY
1547$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1548else
1549$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1550endif
1551
1552ifeq ($(OPENJDK_TARGET_OS),macosx)
1553$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1554endif
1555
1556endif # OPENJDK_TARGET_OS
1557
1558BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1559
1560##########################################################################################
1561
ohair46fcac92012-09-18 11:29:24 -07001562LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1563 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
1564 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
erikjaf85fc42012-07-03 16:10:44 -07001565
ohair46fcac92012-09-18 11:29:24 -07001566LIBINSTRUMENT_FILES :=\
erikjaf85fc42012-07-03 16:10:44 -07001567 EncodingSupport.c \
1568 EncodingSupport_md.c \
1569 FileSystemSupport_md.c \
1570 InstrumentationImplNativeMethods.c \
1571 InvocationAdapter.c \
1572 JarFacade.c \
1573 JPLISAgent.c \
1574 JPLISAssert.c \
1575 JavaExceptions.c \
1576 PathCharsValidator.c \
1577 Reentrancy.c \
1578 Utilities.c \
1579 canonicalize_md.c
1580
ohair46fcac92012-09-18 11:29:24 -07001581LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1582LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
1583 -I$(JDK_TOPDIR)/src/share/instrument \
1584 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
1585 -I$(JDK_TOPDIR)/src/share/bin
erikjaf85fc42012-07-03 16:10:44 -07001586
ohair46fcac92012-09-18 11:29:24 -07001587LIBINSTRUMENT_LDFLAGS:=
1588LIBINSTRUMENT_LDFLAGS_SUFFIX:=
erikjaf85fc42012-07-03 16:10:44 -07001589
1590ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001591 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1592 -export:Agent_OnAttach advapi32.lib
1593 # Statically link the C runtime so that there are not dependencies on modules
1594 # not on the search patch when invoked from the Windows system directory
1595 # (or elsewhere).
1596 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
1597 # equivalent of strcasecmp is stricmp on Windows
1598 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
erikjaf85fc42012-07-03 16:10:44 -07001599endif
1600
1601$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1602 LIBRARY:=instrument, \
1603 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001604 SRC:=$(LIBINSTRUMENT_SRC),\
1605 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07001606 LANG:=C,\
1607 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07001608 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07001609 CFLAGS_debug:=-DJPLIS_LOGGING,\
1610 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1611 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001612 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1613 $(call SET_SHARED_LIBRARY_ORIGIN) \
1614 $(LIBINSTRUMENT_LDFLAGS),\
1615 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1616 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1617 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1618 -framework Cocoa -framework Security -framework ApplicationServices,\
1619 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1620 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08001621 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001622 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1623 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1624 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001625 -D "JDK_FNAME=instrument.dll" \
1626 -D "JDK_INTERNAL_NAME=instrument" \
1627 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001628 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
erikjaf85fc42012-07-03 16:10:44 -07001629 DEBUG_SYMBOLS:=true))
1630
1631ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1632$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1633else
1634$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1635endif
1636$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1637
1638BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1639
1640##########################################################################################
1641
1642BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
ohair46fcac92012-09-18 11:29:24 -07001643 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1644 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
erikjaf85fc42012-07-03 16:10:44 -07001645
1646BUILD_LIBMANAGEMENT_EXCLUDES:=
1647
1648BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1649
1650ifneq ($(OPENJDK_TARGET_OS), windows)
1651 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1652else
1653 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1654endif
1655
1656ifneq ($(OPENJDK_TARGET_OS),solaris)
1657 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1658endif
1659
1660ifneq ($(OPENJDK_TARGET_OS),linux)
1661 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1662endif
1663
1664ifneq ($(OPENJDK_TARGET_OS),macosx)
1665 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1666endif
1667
ohair46fcac92012-09-18 11:29:24 -07001668LIBMANAGEMENT_OPTIMIZATION:=HIGH
1669ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001670 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001671 LIBMANAGEMENT_OPTIMIZATION:=LOW
1672 endif
1673endif
erikjaf85fc42012-07-03 16:10:44 -07001674
1675$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1676 LIBRARY:=management,\
1677 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1678 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1679 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1680 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001681 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001682 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1683 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1684 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1685 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07001686 LDFLAGS_solaris:=-lkstat,\
1687 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001688 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001689 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1690 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001691 -D "JDK_FNAME=management.dll" \
1692 -D "JDK_INTERNAL_NAME=management" \
1693 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001694 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1695 DEBUG_SYMBOLS:=true))
1696
1697$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1698
1699BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1700
1701##########################################################################################
1702
ohair46fcac92012-09-18 11:29:24 -07001703BUILD_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 -07001704BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1705 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001706 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001707 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1708
1709BUILD_LIBHPROF_LDFLAGS:=
1710
ohair46fcac92012-09-18 11:29:24 -07001711LIBHPROF_OPTIMIZATION:=HIGHEST
1712ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001713 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001714 LIBHPROF_OPTIMIZATION:=LOW
1715 endif
1716endif
1717
erikjaf85fc42012-07-03 16:10:44 -07001718$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1719 LIBRARY:=hprof, \
1720 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1721 SRC:=$(BUILD_LIBHPROF_SRC),\
1722 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001723 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001724 CFLAGS:=$(CFLAGS_JDKLIB) \
1725 $(BUILD_LIBHPROF_CFLAGS),\
1726 CFLAGS_debug:=-DHPROF_LOGGING,\
1727 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1728 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1729 $(call SET_SHARED_LIBRARY_ORIGIN),\
1730 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
tbell7d47bd02012-11-12 10:20:01 -08001731 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1732 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
1733 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001734 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1735 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001736 -D "JDK_FNAME=hprof.dll" \
1737 -D "JDK_INTERNAL_NAME=hprof" \
1738 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001739 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1740 DEBUG_SYMBOLS:=true))
1741
1742BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1743
1744##########################################################################################
1745
1746$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1747 LIBRARY:=java_crw_demo, \
1748 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1749 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1750 LANG:=C,\
1751 OPTIMIZATION:=LOW, \
1752 CFLAGS:=$(CFLAGS_JDKLIB) \
1753 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1754 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1755 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1756 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08001757 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001758 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1759 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001760 -D "JDK_FNAME=java_crw_demo.dll" \
1761 -D "JDK_INTERNAL_NAME=java_crw_demo" \
1762 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001763 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1764 DEBUG_SYMBOLS:=true))
1765
1766BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1767
1768##########################################################################################
1769
1770$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1771 LIBRARY:=npt, \
1772 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001773 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001774 LANG:=C,\
1775 OPTIMIZATION:=LOW, \
1776 CFLAGS:=$(CFLAGS_JDKLIB) \
1777 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001778 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001779 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1780 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1781 $(call SET_SHARED_LIBRARY_ORIGIN),\
1782 LDFLAGS_macosx:=-liconv,\
1783 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
erikj4f66f2d2012-11-03 16:27:01 -07001784 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -07001785 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1786 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001787 -D "JDK_FNAME=npt.dll" \
1788 -D "JDK_INTERNAL_NAME=npt" \
1789 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001790 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1791 DEBUG_SYMBOLS:=true))
1792
1793BUILD_LIBRARIES += $(BUILD_LIBNPT)
1794
1795##########################################################################################
1796
1797LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001798 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1799 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
ohair46fcac92012-09-18 11:29:24 -07001800 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
erikjaf85fc42012-07-03 16:10:44 -07001801
ohairb71409c2012-10-26 14:23:29 -07001802ifeq ($(OPENJDK_TARGET_OS),windows)
1803 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1804else
1805 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1806endif
1807
erikjaf85fc42012-07-03 16:10:44 -07001808LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1809
1810LIBNET_EXCLUDE_FILES:=
1811ifneq ($(OPENJDK_TARGET_OS),linux)
1812 LIBNET_EXCLUDE_FILES += linux_close.c
1813endif
1814
1815ifneq ($(OPENJDK_TARGET_OS),macosx)
1816 LIBNET_EXCLUDE_FILES += bsd_close.c
1817endif
1818
1819ifeq ($(OPENJDK_TARGET_OS),windows)
1820 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1821else
1822 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1823 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1824 NTLMAuthSequence.c NetworkInterface_winXP.c
1825endif
1826
erikjaf85fc42012-07-03 16:10:44 -07001827$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1828 LIBRARY:=net,\
1829 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1830 SRC:=$(LIBNET_SRC_DIRS),\
1831 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1832 LANG:=C,\
1833 OPTIMIZATION:=LOW, \
1834 CFLAGS:=$(CFLAGS_JDKLIB) \
1835 $(LIBNET_CFLAGS),\
1836 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1837 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1838 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001839 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
erikj4f66f2d2012-11-03 16:27:01 -07001840 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
ohair46fcac92012-09-18 11:29:24 -07001841 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
ohairb71409c2012-10-26 14:23:29 -07001842 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1843 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1844 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
ohair46fcac92012-09-18 11:29:24 -07001845 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1846 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001847 -D "JDK_FNAME=net.dll" \
1848 -D "JDK_INTERNAL_NAME=net" \
1849 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001850 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
andrew93196e42013-05-04 17:04:57 +01001851 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001852
1853$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1854
1855BUILD_LIBRARIES += $(BUILD_LIBNET)
1856
1857$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
ohairb71409c2012-10-26 14:23:29 -07001858 $(ECHO) $(LOG_INFO) Copying $(@F)
erikj10d96fb2013-04-05 09:39:10 +02001859 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07001860
1861COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1862
1863ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001864$(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 -07001865 $(ECHO) $(LOG_INFO) Copying $(@F)
erikj10d96fb2013-04-05 09:39:10 +02001866 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07001867
1868COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1869endif
1870
1871##########################################################################################
1872
1873BUILD_LIBNIO_SRC:=\
ohair46fcac92012-09-18 11:29:24 -07001874 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
1875 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1876 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
erikjaf85fc42012-07-03 16:10:44 -07001877
1878BUILD_LIBNIO_CFLAGS:=\
1879 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1880 -I$(JDK_TOPDIR)/src/share/native/java/io \
1881 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001882 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
erikjaf85fc42012-07-03 16:10:44 -07001883
1884BUILD_LIBNIO_FILES:=\
1885 DatagramChannelImpl.c \
1886 DatagramDispatcher.c \
1887 FileChannelImpl.c \
1888 FileDispatcherImpl.c \
1889 FileKey.c \
1890 IOUtil.c \
1891 MappedByteBuffer.c \
1892 Net.c \
1893 ServerSocketChannelImpl.c \
1894 SocketChannelImpl.c \
1895 SocketDispatcher.c
1896
1897ifeq ($(OPENJDK_TARGET_OS), windows)
1898 BUILD_LIBNIO_FILES += \
1899 Iocp.c \
1900 RegistryFileTypeDetector.c \
1901 WindowsAsynchronousFileChannelImpl.c \
1902 WindowsAsynchronousServerSocketChannelImpl.c \
1903 WindowsAsynchronousSocketChannelImpl.c \
1904 WindowsNativeDispatcher.c \
1905 WindowsSelectorImpl.c
1906endif
1907
1908ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -07001909 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001910 BUILD_LIBNIO_FILES += \
1911 EPoll.c \
1912 EPollArrayWrapper.c \
1913 EPollPort.c \
1914 InheritedChannel.c \
1915 NativeThread.c \
ohair46fcac92012-09-18 11:29:24 -07001916 PollArrayWrapper.c \
erikjaf85fc42012-07-03 16:10:44 -07001917 UnixAsynchronousServerSocketChannelImpl.c \
1918 UnixAsynchronousSocketChannelImpl.c \
1919 GnomeFileTypeDetector.c \
dxu20cb3702012-12-04 14:07:30 +00001920 MagicFileTypeDetector.c \
erikjaf85fc42012-07-03 16:10:44 -07001921 LinuxNativeDispatcher.c \
1922 LinuxWatchService.c \
1923 UnixCopyFile.c \
1924 UnixNativeDispatcher.c
1925endif
1926
1927ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07001928 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001929 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1930 BUILD_LIBNIO_FILES += \
1931 InheritedChannel.c \
1932 NativeThread.c \
1933 PollArrayWrapper.c \
1934 UnixAsynchronousServerSocketChannelImpl.c \
1935 UnixAsynchronousSocketChannelImpl.c \
erikjaf85fc42012-07-03 16:10:44 -07001936 BsdNativeDispatcher.c \
ohair46fcac92012-09-18 11:29:24 -07001937 MacOSXNativeDispatcher.c \
erikjaf85fc42012-07-03 16:10:44 -07001938 UnixCopyFile.c \
1939 UnixNativeDispatcher.c \
1940 KQueue.c \
1941 KQueuePort.c \
1942 KQueueArrayWrapper.c
1943endif
1944
1945ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001946 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001947 BUILD_LIBNIO_FILES += \
1948 DevPollArrayWrapper.c \
1949 InheritedChannel.c \
1950 NativeThread.c \
1951 PollArrayWrapper.c \
1952 SolarisEventPort.c \
1953 UnixAsynchronousServerSocketChannelImpl.c \
1954 UnixAsynchronousSocketChannelImpl.c \
1955 GnomeFileTypeDetector.c \
1956 SolarisNativeDispatcher.c \
1957 SolarisWatchService.c \
1958 UnixCopyFile.c \
1959 UnixNativeDispatcher.c
1960endif
1961
1962$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1963 LIBRARY:=nio,\
1964 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1965 SRC:=$(BUILD_LIBNIO_SRC),\
1966 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1967 LANG:=C,\
1968 OPTIMIZATION:=HIGH, \
1969 CFLAGS:=$(CFLAGS_JDKLIB) \
1970 $(BUILD_LIBNIO_CFLAGS),\
1971 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1972 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1973 $(call SET_SHARED_LIBRARY_ORIGIN),\
1974 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
ohair46fcac92012-09-18 11:29:24 -07001975 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
1976 -lsendfile -ljava -lnet -lc,\
ohairb71409c2012-10-26 14:23:29 -07001977 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
1978 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
ohairb71409c2012-10-26 14:23:29 -07001979 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001980 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
erikjaf85fc42012-07-03 16:10:44 -07001981 LDFLAGS_SUFFIX:=,\
ohair46fcac92012-09-18 11:29:24 -07001982 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1983 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001984 -D "JDK_FNAME=nio.dll" \
1985 -D "JDK_INTERNAL_NAME=nio" \
1986 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001987 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
andrew93196e42013-05-04 17:04:57 +01001988 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001989
1990BUILD_LIBRARIES += $(BUILD_LIBNIO)
1991
1992$(BUILD_LIBNIO) : $(BUILD_LIBNET)
1993
1994##########################################################################################
1995
1996ifeq ($(OPENJDK_TARGET_OS_API),posix)
erikj5c99f2c2012-11-28 13:29:35 +01001997
erikjaf85fc42012-07-03 16:10:44 -07001998 ifneq ($(OPENJDK_TARGET_OS),macosx)
1999
2000 SCTP_WERROR := -Werror
2001 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2002 SCTP_WERROR :=
2003 endif
2004
2005 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
2006 LIBRARY:=sctp,\
2007 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07002008 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
erikjaf85fc42012-07-03 16:10:44 -07002009 LANG:=C,\
2010 OPTIMIZATION:=LOW, \
2011 CFLAGS:=$(CFLAGS_JDKLIB)\
2012 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
2013 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
2014 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07002015 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
2016 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
erikjaf85fc42012-07-03 16:10:44 -07002017 CFLAGS_linux:=$(SCTP_WERROR),\
2018 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
2019 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2020 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002021 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002022 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
erikj4f66f2d2012-11-03 16:27:01 -07002023 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07002024 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01002025 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp,\
2026 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002027
2028 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
2029
2030 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
2031 endif
2032endif
2033
2034##########################################################################################
2035
ohair46fcac92012-09-18 11:29:24 -07002036BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
2037LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
erikjaf85fc42012-07-03 16:10:44 -07002038
2039BUILD_LIBJLI_FILES:=\
2040 java.c \
2041 splashscreen_stubs.c \
2042 parse_manifest.c \
2043 version_comp.c \
2044 wildcard.c \
2045 jli_util.c
2046
2047ifeq ($(JVM_VARIANT_ZERO), true)
2048 ERGO_FAMILY:=zero
ohair46fcac92012-09-18 11:29:24 -07002049else
2050 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
erikjaf85fc42012-07-03 16:10:44 -07002051 ERGO_FAMILY:=i586
ohair46fcac92012-09-18 11:29:24 -07002052 else
2053 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
2054 endif
2055endif
erikjaf85fc42012-07-03 16:10:44 -07002056
2057ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002058 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
erikjaf85fc42012-07-03 16:10:44 -07002059 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
2060 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
2061
2062 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2063 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2064endif
2065
2066ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002067 BUILD_LIBJLI_FILES += java_md.c \
sla43e7de52013-06-10 11:33:50 +02002068 cmdtoargs.c
ohair46fcac92012-09-18 11:29:24 -07002069 # Staticically link with c runtime on windows.
2070 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
erikjaf85fc42012-07-03 16:10:44 -07002071else ifneq ($(OPENJDK_TARGET_OS), macosx)
2072
2073 BUILD_LIBJLI_FILES += java_md_common.c
2074 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
2075
2076 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2077
2078 # if the architecture specific ergo file exists then
2079 # use it, else use the generic definitions from ergo.c
ohair46fcac92012-09-18 11:29:24 -07002080 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
erikjaf85fc42012-07-03 16:10:44 -07002081 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2082 else # !ERGO_ARCH_FILE
ohair46fcac92012-09-18 11:29:24 -07002083 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
erikjaf85fc42012-07-03 16:10:44 -07002084 endif # ERGO_ARCH_FILE
2085endif #WINDOWS
2086
ohair46fcac92012-09-18 11:29:24 -07002087# Append defines depending on target platform
2088LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002089
2090ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002091 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
erikjaf85fc42012-07-03 16:10:44 -07002092endif
2093
2094ifneq ($(USE_EXTERNAL_LIBZ),true)
2095 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002096 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002097 BUILD_LIBJLI_FILES += \
2098 inflate.c \
2099 inftrees.c \
2100 inffast.c \
2101 zadler32.c \
2102 zcrc32.c \
2103 zutil.c
2104endif
2105
2106ifeq ($(OPENJDK_TARGET_OS), windows)
2107 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2108else
2109 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2110endif
2111
2112$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2113 LIBRARY:=jli,\
2114 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2115 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2116 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2117 LANG:=C,\
2118 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002119 CFLAGS:=$(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002120 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2121 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2122 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002123 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2124 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2125 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2126 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2127 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2128 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
erikjaf85fc42012-07-03 16:10:44 -07002129 LDFLAGS_SUFFIX_windows:=\
2130 -export:JLI_Launch \
2131 -export:JLI_ManifestIterate \
2132 -export:JLI_SetTraceLauncher \
2133 -export:JLI_ReportErrorMessage \
2134 -export:JLI_ReportErrorMessageSys \
2135 -export:JLI_ReportMessage \
2136 -export:JLI_ReportExceptionDescription \
ohair46fcac92012-09-18 11:29:24 -07002137 -export:JLI_MemAlloc \
2138 -export:JLI_CmdToArgs \
2139 -export:JLI_GetStdArgc \
2140 -export:JLI_GetStdArgs \
erikjaf85fc42012-07-03 16:10:44 -07002141 advapi32.lib \
2142 comctl32.lib \
2143 user32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002144 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2145 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07002146 -D "JDK_FNAME=jli.dll" \
2147 -D "JDK_INTERNAL_NAME=jli" \
2148 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002149 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
andrew93196e42013-05-04 17:04:57 +01002150 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002151
2152BUILD_LIBRARIES += $(BUILD_LIBJLI)
2153
2154# On windows, the static library has the same suffix as the import library created by
2155# with the shared library, so the static library is given a different name. No harm
2156# in doing it for all platform to reduce complexity.
2157ifeq ($(OPENJDK_TARGET_OS), windows)
2158 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2159 STATIC_LIBRARY:=jli_static,\
2160 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2161 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2162 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2163 LANG:=C,\
2164 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002165 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002166 ARFLAGS:=$(ARFLAGS),\
andrew93196e42013-05-04 17:04:57 +01002167 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
2168 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002169
2170BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2171
2172else ifeq ($(OPENJDK_TARGET_OS),macosx)
2173 #
2174 # On macosx they do partial (incremental) linking of libjli_static.a
2175 # code it here...rather than add support to NativeCompilation
2176 # as this is first time I see it
2177 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2178 LIBRARY:=jli_static, \
2179 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2180 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2181 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2182 LANG:=C,\
2183 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002184 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002185 LDFLAGS:=-nostdlib -r,\
andrew93196e42013-05-04 17:04:57 +01002186 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
2187 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002188
2189$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
erikj10d96fb2013-04-05 09:39:10 +02002190 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07002191
2192BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2193endif
2194
2195##########################################################################################
2196
ohairb71409c2012-10-26 14:23:29 -07002197ifndef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -07002198ifeq ($(ENABLE_JFR), true)
2199
2200$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2201 LIBRARY:=jfr,\
2202 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2203 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2204 LANG:=C,\
2205 OPTIMIZATION:=LOW, \
2206 CFLAGS:=$(CFLAGS_JDKLIB) \
2207 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2208 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2209 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2210 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikj3da9f312013-02-18 11:26:23 +01002211 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002212 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2213 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002214 -D "JDK_FNAME=jfr.dll" \
2215 -D "JDK_INTERNAL_NAME=jfr" \
2216 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002217 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
andrew93196e42013-05-04 17:04:57 +01002218 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002219
2220BUILD_LIBRARIES += $(BUILD_LIBJFR)
2221
2222endif
ohairb71409c2012-10-26 14:23:29 -07002223endif
erikjaf85fc42012-07-03 16:10:44 -07002224
2225##########################################################################################
2226
2227ifndef OPENJDK
2228
2229BUILD_LIBKCMS_EXCLUDE_FILES:=
2230ifeq ($(OPENJDK_TARGET_OS),windows)
2231 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2232else
2233 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2234endif
2235
2236BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2237
2238ifeq ($(OPENJDK_TARGET_OS),solaris)
2239 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2240 # implement it like this...since it's only used here
2241 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2242else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2243 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2244endif
2245
2246$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2247 LIBRARY:=kcms,\
2248 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2249 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2250 LANG:=C,\
2251 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2252 OPTIMIZATION:=LOW, \
2253 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2254 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2255 CFLAGS_linux:=-Wno-missing-field-initializers,\
2256 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2257 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2258 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002259 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
erikj3da9f312013-02-18 11:26:23 +01002260 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002261 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
erikj388fbde2012-12-06 12:09:33 +01002262 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002263 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
ohair46fcac92012-09-18 11:29:24 -07002264 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2265 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002266 -D "JDK_FNAME=kcms.dll" \
2267 -D "JDK_INTERNAL_NAME=kcms" \
2268 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002269 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
andrew93196e42013-05-04 17:04:57 +01002270 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002271
2272$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2273
2274BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2275
2276endif
2277
2278##########################################################################################
2279
2280ifndef OPENJDK
2281ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002282ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikjaf85fc42012-07-03 16:10:44 -07002283
2284ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2285
2286SUNWJDGA_MAPFILE:=
ohair46fcac92012-09-18 11:29:24 -07002287ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
erikjaf85fc42012-07-03 16:10:44 -07002288 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2289endif
2290
2291$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2292 LIBRARY:=sunwjdga,\
2293 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2294 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2295 LANG:=C, \
2296 OPTIMIZATION:=LOW, \
2297 CFLAGS:=$(CFLAGS_JDKLIB) \
2298 -I$(JDK_TOPDIR)/src/share/javavm/export \
ohair46fcac92012-09-18 11:29:24 -07002299 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
erikjaf85fc42012-07-03 16:10:44 -07002300 -I$(OPENWIN_HOME)/include, \
2301 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2302 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2303 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002304 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 +01002305 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga,\
2306 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002307
2308BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2309
2310endif
2311endif
2312endif
2313endif
2314
2315##########################################################################################
2316
2317ifeq ($(BUILD_HEADLESS), true)
2318ifneq ($(OPENJDK_TARGET_OS), windows)
2319
2320LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2321 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2322 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2323 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2324 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2325 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2326
jchen21981182013-05-23 12:16:17 -07002327ifeq ($(OPENJDK_TARGET_OS),macosx)
2328 LIBAWT_HEADLESS_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/font
2329endif
2330
erikjaf85fc42012-07-03 16:10:44 -07002331LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2332 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2333 $(CUPS_CFLAGS) \
2334 $(X_CFLAGS) \
2335 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -07002336 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07002337 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2338 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2339 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2340 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2341 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -07002342 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
erikjaf85fc42012-07-03 16:10:44 -07002343 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2344
jchen21981182013-05-23 12:16:17 -07002345ifeq ($(OPENJDK_TARGET_OS),macosx)
2346 LIBAWT_HEADLESS_CFLAGS+=\
2347 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2348 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
2349endif
2350
erikjaf85fc42012-07-03 16:10:44 -07002351LIBAWT_HEADLESS_FILES:=\
2352 awt_Font.c \
2353 HeadlessToolkit.c \
2354 fontpath.c \
2355 VDrawingArea.c \
2356 X11Color.c \
2357 X11Renderer.c \
2358 X11PMBlitLoops.c \
2359 X11SurfaceData.c \
2360 X11FontScaler_md.c \
2361 X11TextRenderer_md.c \
2362 OGLBlitLoops.c \
2363 OGLBufImgOps.c \
2364 OGLContext.c \
2365 OGLFuncs.c \
2366 OGLMaskBlit.c \
2367 OGLMaskFill.c \
2368 OGLPaints.c \
2369 OGLRenderQueue.c \
2370 OGLRenderer.c \
2371 OGLSurfaceData.c \
2372 OGLTextRenderer.c \
2373 OGLVertexCache.c \
2374 GLXGraphicsConfig.c \
2375 GLXSurfaceData.c \
2376 AccelGlyphCache.c \
2377 CUPSfuncs.c
2378
jchen21981182013-05-23 12:16:17 -07002379ifeq ($(OPENJDK_TARGET_OS),macosx)
2380 LIBAWT_HEADLESS_FILES+=\
2381 AWTFont.m \
2382 AWTStrike.m \
2383 CCharToGlyphMapper.m \
2384 CGGlyphImages.m \
2385 CGGlyphOutlines.m \
2386 CoreTextSupport.m
2387endif
2388
erikjaf85fc42012-07-03 16:10:44 -07002389LIBAWT_HEADLESS_REORDER:=
2390ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002391 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
2392 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07002393 endif
2394endif
2395
2396$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2397 LIBRARY:=awt_headless,\
2398 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2399 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2400 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2401 LANG:=C,\
2402 OPTIMIZATION:=LOW, \
2403 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002404 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
erikjaf85fc42012-07-03 16:10:44 -07002405 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2406 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002407 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2408 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2409 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2410 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2411 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -07002412 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
ohair46fcac92012-09-18 11:29:24 -07002413 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -08002414 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
jchen21981182013-05-23 12:16:17 -07002415 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava \
2416 -framework Accelerate \
2417 -framework ApplicationServices \
2418 -framework Cocoa \
2419 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2420 -framework JavaNativeFoundation \
2421 -framework JavaRuntimeSupport,\
andrew93196e42013-05-04 17:04:57 +01002422 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\
2423 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002424
2425$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2426
2427BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2428
2429endif
2430endif
2431
2432##########################################################################################
2433
2434ifndef BUILD_HEADLESS_ONLY
2435LIBSPLASHSCREEN_DIRS:=\
erikjaf85fc42012-07-03 16:10:44 -07002436 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2437 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
erikj5c99f2c2012-11-28 13:29:35 +01002438 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
2439
omajid6d3bb7b2013-04-02 14:13:13 -04002440ifeq ($(USE_EXTERNAL_LIBGIF),true)
2441 GIFLIB_LDFLAGS := -lgif
2442else
2443 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib
2444 GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
2445endif
2446
erikj5c99f2c2012-11-28 13:29:35 +01002447ifneq ($(OPENJDK_TARGET_OS), macosx)
2448 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
2449else
2450 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2451endif
2452
erikjaf85fc42012-07-03 16:10:44 -07002453LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2454 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2455
2456ifeq ($(OPENJDK_TARGET_OS), macosx)
2457 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2458 $(LIBSPLASHSCREEN_CFLAGS) \
2459 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2460 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2461 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2462
2463 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2464 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2465 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2466 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2467 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2468 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2469 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2470
2471else ifneq ($(OPENJDK_TARGET_OS), windows)
2472 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2473else
2474 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2475endif
2476
erikjaf85fc42012-07-03 16:10:44 -07002477LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2478
2479ifneq ($(USE_EXTERNAL_LIBZ),true)
2480 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002481 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002482endif
2483
2484ifeq ($(OPENJDK_TARGET_OS), macosx)
2485 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2486 -framework ApplicationServices \
2487 -framework Foundation \
2488 -framework Cocoa \
2489 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2490 -framework JavaNativeFoundation
2491else ifneq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002492 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
erikjaf85fc42012-07-03 16:10:44 -07002493else # OPENJDK_TARGET_OS
ohairb71409c2012-10-26 14:23:29 -07002494 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
erikjaf85fc42012-07-03 16:10:44 -07002495endif # OPENJDK_TARGET_OS
2496
2497$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2498 LIBRARY:=splashscreen,\
2499 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2500 SRC:=$(LIBSPLASHSCREEN_DIRS),\
erikj5c99f2c2012-11-28 13:29:35 +01002501 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\
erikjaf85fc42012-07-03 16:10:44 -07002502 LANG:=C,\
2503 OPTIMIZATION:=LOW, \
omajid6d3bb7b2013-04-02 14:13:13 -04002504 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002505 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2506 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2507 $(call SET_SHARED_LIBRARY_ORIGIN),\
omajid6d3bb7b2013-04-02 14:13:13 -04002508 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002509 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002510 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2511 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002512 -D "JDK_FNAME=splashscreen.dll" \
2513 -D "JDK_INTERNAL_NAME=splashscreen" \
2514 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002515 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
andrew93196e42013-05-04 17:04:57 +01002516 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002517
2518BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2519
2520ifeq ($(OPENJDK_TARGET_OS),macosx)
2521$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
2522endif
2523
2524endif
2525
2526##########################################################################################
2527
2528ifndef OPENJDK
2529
2530LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002531 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2532 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2533 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2534 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2535
erikjaf85fc42012-07-03 16:10:44 -07002536LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002537 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2538
2539$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002540 LIBRARY:=dcpr,\
2541 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002542 SRC:=$(LIBDCPR_SRC_DIRS),\
2543 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002544 OPTIMIZATION:=LOW, \
2545 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002546 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002547 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002548 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002549 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002550 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002551 LDFLAGS_SUFFIX_posix:=-lm,\
ohair46fcac92012-09-18 11:29:24 -07002552 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2553 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002554 -D "JDK_FNAME=dcpr.dll" \
2555 -D "JDK_INTERNAL_NAME=dcpr" \
2556 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002557 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
andrew93196e42013-05-04 17:04:57 +01002558 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002559
erikjaf85fc42012-07-03 16:10:44 -07002560$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002561
erikjaf85fc42012-07-03 16:10:44 -07002562BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002563
2564endif
2565
2566##########################################################################################
2567
2568$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002569 LIBRARY:=j2pcsc,\
2570 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002571 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002572 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002573 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002574 CFLAGS_posix:=-D__sun_jdk,\
2575 OPTIMIZATION:=LOW, \
2576 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002577 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002578 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
2579 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
erikjaf85fc42012-07-03 16:10:44 -07002580 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002581 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2582 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002583 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2584 LDFLAGS_SUFFIX_windows:=winscard.lib,\
tbell7d47bd02012-11-12 10:20:01 -08002585 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002586 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2587 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002588 -D "JDK_FNAME=j2pcsc.dll" \
2589 -D "JDK_INTERNAL_NAME=j2pcsc" \
2590 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002591 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
andrew93196e42013-05-04 17:04:57 +01002592 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002593
erikjaf85fc42012-07-03 16:10:44 -07002594BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002595
2596##########################################################################################
2597
erikjaf85fc42012-07-03 16:10:44 -07002598ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002599$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002600 LIBRARY:=j2gss,\
2601 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002602 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002603 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002604 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002605 OPTIMIZATION:=LOW, \
2606 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002607 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002608 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002609 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002610 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2611 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002612 LDFLAGS_SUFFIX:=$(LIBDL),\
2613 LDFLAGS_SUFFIX_solaris:=-lc,\
andrew93196e42013-05-04 17:04:57 +01002614 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss,\
2615 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002616
erikjaf85fc42012-07-03 16:10:44 -07002617BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002618endif
2619
2620##########################################################################################
2621
erikj41f82602013-06-11 13:26:15 +02002622ifneq ($(BUILD_CRYPTO),no)
2623 BUILD_LIBKRB5_NAME:=
2624 ifeq ($(OPENJDK_TARGET_OS), windows)
erikjaf85fc42012-07-03 16:10:44 -07002625 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
ohair46fcac92012-09-18 11:29:24 -07002626 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
ohairb71409c2012-10-26 14:23:29 -07002627 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
2628 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
2629 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
erikj41f82602013-06-11 13:26:15 +02002630 else ifeq ($(OPENJDK_TARGET_OS), macosx)
erikjaf85fc42012-07-03 16:10:44 -07002631 BUILD_LIBKRB5_NAME:=osxkrb5
erikj5c99f2c2012-11-28 13:29:35 +01002632 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5
erikjaf85fc42012-07-03 16:10:44 -07002633 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikj41f82602013-06-11 13:26:15 +02002634 endif
erikje78df742012-06-07 20:40:50 -07002635
erikj41f82602013-06-11 13:26:15 +02002636 ifneq ($(BUILD_LIBKRB5_NAME),)
2637 $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002638 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2639 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01002640 SRC:=$(BUILD_LIBKRB5_SRC),\
erikje78df742012-06-07 20:40:50 -07002641 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002642 OPTIMIZATION:=LOW, \
2643 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002644 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
ohair46fcac92012-09-18 11:29:24 -07002645 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002646 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2647 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002648 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
ohair46fcac92012-09-18 11:29:24 -07002649 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2650 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002651 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
2652 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
2653 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002654 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
andrew93196e42013-05-04 17:04:57 +01002655 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002656
erikj41f82602013-06-11 13:26:15 +02002657 BUILD_LIBRARIES += $(BUILD_LIBKRB5)
2658 endif
erikje78df742012-06-07 20:40:50 -07002659endif
2660
2661##########################################################################################
2662
erikjaf85fc42012-07-03 16:10:44 -07002663ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002664
2665$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002666 LIBRARY:=sunmscapi,\
2667 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohairb71409c2012-10-26 14:23:29 -07002668 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
erikje78df742012-06-07 20:40:50 -07002669 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002670 OPTIMIZATION:=LOW, \
2671 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -07002672 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
2673 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002674 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002675 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002676 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2677 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002678 -D "JDK_FNAME=sunmscapi.dll" \
2679 -D "JDK_INTERNAL_NAME=sunmscapi" \
2680 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002681 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
andrew93196e42013-05-04 17:04:57 +01002682 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002683
erikjaf85fc42012-07-03 16:10:44 -07002684BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
erikje78df742012-06-07 20:40:50 -07002685endif
2686
2687##########################################################################################
2688
erikje78df742012-06-07 20:40:50 -07002689$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002690 LIBRARY:=j2pkcs11,\
2691 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002692 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002693 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002694 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002695 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002696 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002697 OPTIMIZATION:=LOW, \
2698 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002699 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002700 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002701 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002702 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002703 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002704 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2705 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002706 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2707 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002708 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2709 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002710 -D "JDK_FNAME=j2pkcs11.dll" \
2711 -D "JDK_INTERNAL_NAME=j2pkcs11" \
2712 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002713 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
andrew93196e42013-05-04 17:04:57 +01002714 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002715
erikjaf85fc42012-07-03 16:10:44 -07002716BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002717
2718##########################################################################################
2719
omajid1a381ca2013-03-18 10:46:49 -04002720ifeq ($(ENABLE_INTREE_EC),yes)
2721
erikjaf85fc42012-07-03 16:10:44 -07002722BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2723 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2724
2725#
2726# On sol-sparc...all libraries are compiled with -xregs=no%appl
2727# (set in CFLAGS_REQUIRED_sparc)
2728#
2729# except!!! libsunec.so
2730#
2731ECC_JNI_SOLSPARC_FILTER:=
2732ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2733 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2734endif
erikje78df742012-06-07 20:40:50 -07002735
2736$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002737 LIBRARY:=sunec,\
2738 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002739 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2740 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002741 LANG:=C++, \
2742 OPTIMIZATION:=LOW, \
2743 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2744 $(BUILD_LIBSUNEC_FLAGS) \
2745 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2746 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2747 $(BUILD_LIBSUNEC_FLAGS),\
2748 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002749 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
2750 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002751 LDFLAGS_SUFFIX:=$(LIBCXX),\
ohair46fcac92012-09-18 11:29:24 -07002752 LDFLAGS_SUFFIX_linux:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002753 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002754 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2755 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002756 -D "JDK_FNAME=sunec.dll" \
2757 -D "JDK_INTERNAL_NAME=sunec" \
2758 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002759 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
andrew93196e42013-05-04 17:04:57 +01002760 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002761
erikjaf85fc42012-07-03 16:10:44 -07002762BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002763endif
2764
2765##########################################################################################
2766
erikjaf85fc42012-07-03 16:10:44 -07002767LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002768 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
ohair46fcac92012-09-18 11:29:24 -07002769 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002770
erikjaf85fc42012-07-03 16:10:44 -07002771LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002772
erikjaf85fc42012-07-03 16:10:44 -07002773LIBJSOUND_LANG:=C
2774LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002775
erikjaf85fc42012-07-03 16:10:44 -07002776EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002777
erikjaf85fc42012-07-03 16:10:44 -07002778LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002779 MidiInDevice.c \
2780 MidiInDeviceProvider.c \
2781 MidiOutDevice.c \
2782 MidiOutDeviceProvider.c \
2783 PlatformMidi.c
2784
2785# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002786LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002787 PortMixerProvider.c \
2788 PortMixer.c
2789
2790# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002791LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002792 DirectAudioDeviceProvider.c \
2793 DirectAudioDevice.c
2794
erikjaf85fc42012-07-03 16:10:44 -07002795ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002796 EXTRA_SOUND_JNI_LIBS += jsoundds
2797 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2798 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2799 -DUSE_PLATFORM_MIDI_IN=TRUE \
2800 -DUSE_PORTS=TRUE
2801 LIBJSOUND_SRC_FILES += \
2802 PLATFORM_API_WinOS_MidiIn.cpp \
2803 PLATFORM_API_WinOS_MidiOut.c \
2804 PLATFORM_API_WinOS_Util.c \
2805 PLATFORM_API_WinOS_Ports.c
2806 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2807 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002808endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002809
erikjaf85fc42012-07-03 16:10:44 -07002810ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002811 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2812 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002813endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002814
erikjaf85fc42012-07-03 16:10:44 -07002815ifeq ($(OPENJDK_TARGET_OS), macosx)
2816 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002817 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2818 -DUSE_PORTS=TRUE \
2819 -DUSE_DAUDIO=TRUE \
2820 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2821 -DUSE_PLATFORM_MIDI_IN=TRUE
2822 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2823 LIBJSOUND_SRC_FILES += \
2824 PLATFORM_API_MacOSX_Utils.cpp \
2825 PLATFORM_API_MacOSX_PCM.cpp \
2826 PLATFORM_API_MacOSX_Ports.cpp \
2827 PLATFORM_API_MacOSX_MidiIn.c \
2828 PLATFORM_API_MacOSX_MidiOut.c \
2829 PLATFORM_API_MacOSX_MidiUtils.c
2830 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2831 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2832 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002833endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002834
erikjaf85fc42012-07-03 16:10:44 -07002835ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002836 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2837 -DUSE_PORTS=TRUE \
2838 -DUSE_DAUDIO=TRUE
2839 LIBJSOUND_SRC_FILES += \
2840 PLATFORM_API_SolarisOS_Utils.c \
2841 PLATFORM_API_SolarisOS_Ports.c \
2842 PLATFORM_API_SolarisOS_PCM.c
2843 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2844 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2845 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002846endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002847
2848
2849ifeq ($(JVM_VARIANT_ZERO), true)
2850 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2851else
ohair46fcac92012-09-18 11:29:24 -07002852 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikje78df742012-06-07 20:40:50 -07002853 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
ohair46fcac92012-09-18 11:29:24 -07002854 endif
erikje78df742012-06-07 20:40:50 -07002855
ohair46fcac92012-09-18 11:29:24 -07002856 ifeq ($(OPENJDK_TARGET_CPU), sparc)
erikje78df742012-06-07 20:40:50 -07002857 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
ohair46fcac92012-09-18 11:29:24 -07002858 endif
erikje78df742012-06-07 20:40:50 -07002859
ohair46fcac92012-09-18 11:29:24 -07002860 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
erikje78df742012-06-07 20:40:50 -07002861 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
ohair46fcac92012-09-18 11:29:24 -07002862 endif
erikje78df742012-06-07 20:40:50 -07002863
ohair46fcac92012-09-18 11:29:24 -07002864 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikje78df742012-06-07 20:40:50 -07002865 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
ohair46fcac92012-09-18 11:29:24 -07002866 endif
erikje78df742012-06-07 20:40:50 -07002867
ohair46fcac92012-09-18 11:29:24 -07002868 ifeq ($(OPENJDK_TARGET_CPU), arm)
erikje78df742012-06-07 20:40:50 -07002869 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
ohair46fcac92012-09-18 11:29:24 -07002870 endif
erikje78df742012-06-07 20:40:50 -07002871
ohair46fcac92012-09-18 11:29:24 -07002872 ifeq ($(OPENJDK_TARGET_CPU), ppc)
erikje78df742012-06-07 20:40:50 -07002873 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
ohair46fcac92012-09-18 11:29:24 -07002874 endif
erikje78df742012-06-07 20:40:50 -07002875endif
2876
2877LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2878
2879$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002880 LIBRARY:=jsound,\
2881 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002882 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002883 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002884 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002885 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07002886 CFLAGS:=$(CFLAGS_JDKLIB) \
2887 $(LIBJSOUND_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002888 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2889 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002890 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2891 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002892 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
2893 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2894 -framework CoreMIDI -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -07002895 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
ohairb71409c2012-10-26 14:23:29 -07002896 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
erikje78df742012-06-07 20:40:50 -07002897 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002898 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2899 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002900 -D "JDK_FNAME=jsound.dll" \
2901 -D "JDK_INTERNAL_NAME=jsound" \
2902 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002903 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
andrew93196e42013-05-04 17:04:57 +01002904 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002905
erikjaf85fc42012-07-03 16:10:44 -07002906$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002907
erikjaf85fc42012-07-03 16:10:44 -07002908BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002909
2910##########################################################################################
2911
2912ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2913
2914$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002915 LIBRARY:=jsoundalsa,\
2916 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002917 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002918 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002919 $(LIBJSOUND_DAUDIOFILES) \
2920 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2921 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2922 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2923 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2924 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2925 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2926 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002927 LANG:=C,\
2928 OPTIMIZATION:=LOW, \
erikja88dfd32013-06-13 14:04:54 +02002929 CFLAGS:=$(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \
erikje78df742012-06-07 20:40:50 -07002930 $(LIBJSOUND_CFLAGS) \
2931 -DUSE_DAUDIO=TRUE \
2932 -DUSE_PORTS=TRUE \
2933 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2934 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07002935 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002936 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2937 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikja88dfd32013-06-13 14:04:54 +02002938 LDFLAGS_SUFFIX:=$(ALSA_LIBS) -ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01002939 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa,\
2940 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002941
erikjaf85fc42012-07-03 16:10:44 -07002942$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002943
erikjaf85fc42012-07-03 16:10:44 -07002944BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07002945
2946endif
2947
2948##########################################################################################
2949
2950ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
2951
2952$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07002953 LIBRARY:=jsoundds,\
2954 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002955 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002956 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07002957 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07002958 LANG:=C++,\
2959 OPTIMIZATION:=LOW, \
2960 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002961 $(LIBJSOUND_CFLAGS) \
erikjebad8f92013-03-06 16:15:16 +01002962 -DUSE_DAUDIO=TRUE \
2963 -I$(DXSDK_INCLUDE_PATH), \
ohair46fcac92012-09-18 11:29:24 -07002964 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002965 $(call SET_SHARED_LIBRARY_ORIGIN),\
2966 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002967 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2968 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002969 -D "JDK_FNAME=jsoundds.dll" \
2970 -D "JDK_INTERNAL_NAME=jsoundds" \
2971 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002972 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
andrew93196e42013-05-04 17:04:57 +01002973 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002974
erikjaf85fc42012-07-03 16:10:44 -07002975$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002976
erikjaf85fc42012-07-03 16:10:44 -07002977BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07002978
2979endif
2980
2981##########################################################################################
2982
erikjaf85fc42012-07-03 16:10:44 -07002983ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002984ifndef OPENJDK
2985
2986$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07002987 LIBRARY:=j2ucrypto,\
2988 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002989 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07002990 LANG:=C,\
2991 OPTIMIZATION:=LOW, \
2992 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002993 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07002994 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002995 LDFLAGS:=$(LDFLAGS_JDKLIB),\
erikje78df742012-06-07 20:40:50 -07002996 LDFLAGS_SUFFIX:=$(LIBDL),\
erikj3da9f312013-02-18 11:26:23 +01002997 LDFLAGS_SUFFIX_solaris:=-lc,\
andrew93196e42013-05-04 17:04:57 +01002998 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto,\
2999 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003000
erikjaf85fc42012-07-03 16:10:44 -07003001$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003002
erikjaf85fc42012-07-03 16:10:44 -07003003BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07003004
3005endif
3006endif
3007
3008##########################################################################################
3009
erikjaf85fc42012-07-03 16:10:44 -07003010ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003011
erikje78df742012-06-07 20:40:50 -07003012$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07003013 LIBRARY:=AppleScriptEngine,\
3014 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003015 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07003016 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003017 OPTIMIZATION:=LOW, \
3018 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003019 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
3020 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3021 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
3022 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3023 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003024 LDFLAGS_SUFFIX:=-framework Cocoa \
3025 -framework Carbon \
3026 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3027 -framework JavaNativeFoundation \
3028 $(LDFLAGS_JDKLIB_SUFFIX),\
andrew93196e42013-05-04 17:04:57 +01003029 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine,\
3030 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003031
erikjaf85fc42012-07-03 16:10:44 -07003032$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
3033
3034BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07003035
3036endif
3037
3038##########################################################################################
3039
erikjaf85fc42012-07-03 16:10:44 -07003040ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003041
erikje78df742012-06-07 20:40:50 -07003042$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07003043 LIBRARY:=osxapp,\
3044 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003045 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07003046 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003047 OPTIMIZATION:=LOW, \
3048 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003049 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
ohairb71409c2012-10-26 14:23:29 -07003050 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
erikje78df742012-06-07 20:40:50 -07003051 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3052 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3053 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3054 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003055 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003056 -framework Accelerate \
3057 -framework ApplicationServices \
3058 -framework AudioToolbox \
3059 -framework Carbon \
3060 -framework Cocoa \
3061 -framework Security \
3062 -framework ExceptionHandling \
3063 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3064 -framework JavaNativeFoundation \
3065 -framework JavaRuntimeSupport \
3066 -framework OpenGL \
3067 -framework IOSurface \
3068 -framework QuartzCore, \
andrew93196e42013-05-04 17:04:57 +01003069 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp,\
3070 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003071
erikjaf85fc42012-07-03 16:10:44 -07003072BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003073
3074endif
3075
3076##########################################################################################
3077
erikjaf85fc42012-07-03 16:10:44 -07003078ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003079
erikjaf85fc42012-07-03 16:10:44 -07003080LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003081 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3082 $(JDK_TOPDIR)/src/macosx/native/java/util \
3083 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3084 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3085 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3086
3087$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003088 LIBRARY:=osx,\
3089 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003090 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003091 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003092 OPTIMIZATION:=LOW, \
3093 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003094 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3095 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3096 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3097 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3098 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3099 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003100 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003101 -losxapp \
3102 -framework Cocoa \
3103 -framework ApplicationServices \
3104 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3105 -framework JavaNativeFoundation \
3106 -framework JavaRuntimeSupport \
3107 -framework Security \
3108 -framework SystemConfiguration \
3109 $(LDFLAGS_JDKLIB_SUFFIX), \
andrew93196e42013-05-04 17:04:57 +01003110 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx,\
3111 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003112
erikjaf85fc42012-07-03 16:10:44 -07003113BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003114
erikjaf85fc42012-07-03 16:10:44 -07003115$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003116
erikjaf85fc42012-07-03 16:10:44 -07003117$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003118
3119endif
3120
3121##########################################################################################
3122
erikjaf85fc42012-07-03 16:10:44 -07003123ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003124
erikjaf85fc42012-07-03 16:10:44 -07003125LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003126 awt.m \
3127 ApplicationDelegate.m \
3128 CFRetainedResource.m \
3129 CGLGraphicsConfig.m \
3130 CGLSurfaceData.m \
3131 CGLLayer.m \
3132 CGraphicsConfig.m \
3133 CGraphicsDevice.m \
3134 CGraphicsEnv.m \
3135 CCharToGlyphMapper.m \
3136 CSystemColors.m \
3137 AWTFont.m \
3138 CGGlyphOutlines.m \
3139 CGGlyphImages.m \
3140 CoreTextSupport.m \
3141 AWTStrike.m \
3142 InitIDs.m \
3143 AWTEvent.m \
3144 AWTView.m \
3145 AWTWindow.m \
3146 AWTSurfaceLayers.m \
3147 CCursorManager.m \
3148 CClipboard.m \
3149 CDataTransferer.m \
3150 CDragSource.m \
3151 CDragSourceContextPeer.m \
3152 CDropTarget.m \
3153 CDropTargetContextPeer.m \
3154 CInputMethod.m \
3155 CDesktopPeer.m \
3156 OSVersion.m \
3157 DnDUtilities.m \
3158 CFileDialog.m \
3159 CImage.m \
3160 CMenu.m \
3161 CMenuBar.m \
3162 CMenuComponent.m \
3163 CMenuItem.m \
3164 CPopupMenu.m \
3165 CRobot.m \
3166 CTrayIcon.m \
3167 CWrapper.m \
3168 JavaAccessibilityAction.m \
3169 JavaAccessibilityUtilities.m \
3170 JavaComponentAccessibility.m \
3171 JavaTextAccessibility.m \
3172 LWCToolkit.m \
3173 GeomUtilities.m \
3174 CPrinterJob.m \
3175 PrintModel.m \
3176 PrinterSurfaceData.m \
3177 PrinterView.m \
3178 QuartzSurfaceData.m \
3179 QuartzRenderer.m \
3180 CTextPipe.m \
3181 ImageSurfaceData.m \
3182 awt_DrawingSurface.m \
3183 \
3184 OGLBlitLoops.c \
3185 OGLBufImgOps.c \
3186 OGLContext.c \
3187 OGLFuncs.c \
3188 OGLMaskBlit.c \
3189 OGLMaskFill.c \
3190 OGLPaints.c \
3191 OGLRenderQueue.c \
3192 OGLRenderer.c \
3193 OGLSurfaceData.c \
3194 OGLTextRenderer.c \
3195 OGLVertexCache.c \
3196 AccelGlyphCache.c \
3197 CUPSfuncs.c
3198
3199
erikjaf85fc42012-07-03 16:10:44 -07003200LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003201 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3202 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3203 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3204 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3205 $(JDK_TOPDIR)/src/share/native/sun/font \
3206 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3207
3208$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003209 LIBRARY:=awt_lwawt,\
3210 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003211 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003212 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003213 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003214 OPTIMIZATION:=LOW, \
3215 CFLAGS:=$(CFLAGS_JDKLIB) \
ohrstrom5048dab2012-10-29 13:41:38 -07003216 $(X_CFLAGS) \
3217 $(X_LIBS) \
erikje78df742012-06-07 20:40:50 -07003218 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3219 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3220 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3221 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3222 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3223 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3224 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3225 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3226 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3227 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3228 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3229 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3230 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003231 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
3232 -framework Accelerate \
3233 -framework ApplicationServices \
3234 -framework AudioToolbox \
3235 -framework Carbon \
3236 -framework Cocoa \
3237 -framework Security \
3238 -framework ExceptionHandling \
3239 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3240 -framework JavaNativeFoundation \
3241 -framework JavaRuntimeSupport \
3242 -framework OpenGL \
3243 -framework QuartzCore -ljava,\
andrew93196e42013-05-04 17:04:57 +01003244 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt,\
3245 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003246
erikjaf85fc42012-07-03 16:10:44 -07003247BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003248
erikjaf85fc42012-07-03 16:10:44 -07003249$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003250
erikjaf85fc42012-07-03 16:10:44 -07003251$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003252
erikjaf85fc42012-07-03 16:10:44 -07003253$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003254
erikjaf85fc42012-07-03 16:10:44 -07003255$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003256
3257endif
3258
3259##########################################################################################
3260
erikjaf85fc42012-07-03 16:10:44 -07003261ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003262
erikje78df742012-06-07 20:40:50 -07003263$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003264 LIBRARY:=osxui,\
3265 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003266 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003267 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003268 OPTIMIZATION:=LOW, \
3269 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003270 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3271 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3272 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3273 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3274 LDFLAGS:=$(LDFLAGS_JDKLIB)\
ohair46fcac92012-09-18 11:29:24 -07003275 $(call SET_SHARED_LIBRARY_ORIGIN) \
3276 -Xlinker -rpath -Xlinker @loader_path,\
3277 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
3278 -framework Cocoa \
3279 -framework Carbon \
3280 -framework ApplicationServices \
3281 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3282 -framework JavaNativeFoundation \
3283 -framework JavaRuntimeSupport \
3284 -ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01003285 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui,\
3286 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003287
erikjaf85fc42012-07-03 16:10:44 -07003288BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003289
erikjaf85fc42012-07-03 16:10:44 -07003290$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003291
erikjaf85fc42012-07-03 16:10:44 -07003292$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003293
erikjaf85fc42012-07-03 16:10:44 -07003294$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003295
erikjaf85fc42012-07-03 16:10:44 -07003296#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3297
3298endif
3299
3300##########################################################################################
3301
3302ifeq ($(OPENJDK_TARGET_OS), macosx)
3303
ohair46fcac92012-09-18 11:29:24 -07003304# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
3305SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
3306
3307$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\
erikjaf85fc42012-07-03 16:10:44 -07003308 LIBRARY:=JObjC,\
ohair46fcac92012-09-18 11:29:24 -07003309 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3310 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3311 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3312 LANG:=C,\
3313 OPTIMIZATION:=LOW, \
3314 CFLAGS:=-fpascal-strings \
3315 -fobjc-gc \
3316 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003317 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
ohair46fcac92012-09-18 11:29:24 -07003318 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3319 -m32,\
3320 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3321 -m32, \
3322 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3323 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3324 -framework JavaNativeFoundation \
3325 -lffi, \
andrew93196e42013-05-04 17:04:57 +01003326 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3327 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
ohair46fcac92012-09-18 11:29:24 -07003328
3329$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\
3330 LIBRARY:=JObjC,\
3331 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
erikjaf85fc42012-07-03 16:10:44 -07003332 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3333 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3334 LANG:=C,\
3335 OPTIMIZATION:=LOW, \
3336 CFLAGS:=-fpascal-strings \
3337 -fobjc-gc \
3338 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003339 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
erikjaf85fc42012-07-03 16:10:44 -07003340 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3341 , \
3342 LDFLAGS:=-fpascal-strings \
3343 -fobjc-gc \
3344 -gdwarf-2 \
3345 $(LDFLAGS_JDKLIB)\
3346 $(call SET_SHARED_LIBRARY_ORIGIN), \
3347 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3348 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3349 -framework JavaNativeFoundation \
3350 -lffi, \
andrew93196e42013-05-04 17:04:57 +01003351 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
3352 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07003353
ohair46fcac92012-09-18 11:29:24 -07003354$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3355 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3356
3357BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
erikje78df742012-06-07 20:40:50 -07003358
3359endif
3360
3361##########################################################################################
3362
raginip450da982013-01-18 11:33:31 -08003363ifndef OPENJDK
3364ifeq ($(OPENJDK_TARGET_OS), windows)
3365
3366 ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
3367
3368 define SetupAccessBridge
3369 # Parameter 1 Suffix
3370 # Parameter 2 Machine
3371 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
3372
3373 $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\
3374 LIBRARY=JAWTAccessBridge$1,\
3375 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3376 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3377 INCLUDE_FILES:=JAWTAccessBridge.cpp,\
3378 LANG:=C++,\
3379 OPTIMIZATION:=LOW,\
3380 CFLAGS:=$(CFLAGS_JDKLIB) \
3381 -DACCESSBRIDGE_ARCH_$3,\
3382 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3383 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
3384 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3385 -subsystem:windows -machine:$2 \
3386 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\
3387 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3388 RC_FLAGS:=$(RC_FLAGS),\
3389 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\
3390 DEBUG_SYMBOLS:=true)
3391
3392 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
3393
3394 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\
3395 LIBRARY=JavaAccessBridge$1,\
3396 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3397 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3398 INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
3399 AccessBridgeJavaEntryPoints.cpp \
3400 AccessBridgeMessages.cpp JavaAccessBridge.cpp,\
3401 LANG:=C++,\
3402 OPTIMIZATION:=LOW,\
3403 CFLAGS:=$(CFLAGS_JDKLIB) \
3404 -DACCESSBRIDGE_ARCH_$3,\
3405 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3406 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3407 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3408 -subsystem:windows -machine:$2 \
3409 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\
3410 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3411 RC_FLAGS:=$(RC_FLAGS),\
3412 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\
3413 DEBUG_SYMBOLS:=true)
3414
3415 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\
3416 LIBRARY=WindowsAccessBridge$1,\
3417 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3418 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3419 INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
3420 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
3421 WinAccessBridge.cpp AccessBridgeDebug.cpp \
3422 AccessBridgeEventHandler.cpp,\
3423 LANG:=C++,\
3424 OPTIMIZATION:=LOW,\
3425 CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \
3426 -DACCESSBRIDGE_ARCH_$3,\
3427 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3428 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3429 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3430 -subsystem:windows -machine:$2 \
3431 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\
3432 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3433 RC_FLAGS:=$(RC_FLAGS),\
3434 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\
3435 DEBUG_SYMBOLS:=true)
3436
3437 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
3438 $$(BUILD_WINDOWSACCESSBRIDGE$1)
3439
3440 endef
3441
3442 ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
3443 $(eval $(call SetupAccessBridge,-32,I386,32))
3444 $(eval $(call SetupAccessBridge,,I386,LEGACY))
3445 else
3446 $(eval $(call SetupAccessBridge,-64,X64,64))
3447 endif
3448endif
3449endif
3450
3451
3452##########################################################################################
3453
ohair92de5662012-04-10 08:22:03 -07003454all: $(COPY_FILES) $(BUILD_LIBRARIES)
3455
3456.PHONY: all