blob: 1acb78ecb65384dbd702a4cd6162ec94bb8d892a [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
801ifeq ($(MILESTONE),internal)
802 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
803endif
804
805LIBAWT_XAWT_FILES:=\
806 XlibWrapper.c \
807 XWindow.c \
808 XToolkit.c \
809 X11Color.c \
810 X11SurfaceData.c \
811 awt_GraphicsEnv.c \
812 awt_InputMethod.c \
813 robot_common.c \
814 awt_Robot.c \
815 list.c \
816 multiVis.c \
817 initIDs.c \
818 awt_util.c \
819 awt_Desktop.c \
820 awt_UNIXToolkit.c \
821 X11FontScaler_md.c \
822 X11TextRenderer_md.c \
823 fontpath.c \
824 awt_Insets.c \
825 awt_Event.c \
826 X11Renderer.c \
827 X11PMBlitLoops.c \
828 OGLBlitLoops.c \
829 OGLBufImgOps.c \
830 OGLContext.c \
831 OGLFuncs.c \
832 OGLMaskBlit.c \
833 OGLMaskFill.c \
834 OGLPaints.c \
835 OGLRenderQueue.c \
836 OGLRenderer.c \
837 OGLSurfaceData.c \
838 OGLTextRenderer.c \
839 OGLVertexCache.c \
840 GLXGraphicsConfig.c \
841 GLXSurfaceData.c \
842 AccelGlyphCache.c \
843 awt_Font.c \
844 multi_font.c \
845 awt_AWTEvent.c \
846 awt_DrawingSurface.c \
847 jawt.c \
848 CUPSfuncs.c \
849 debug_assert.c \
850 debug_mem.c \
851 debug_trace.c \
852 debug_util.c \
853 awt_Plugin.c \
denisa8cc3242013-03-22 19:56:20 +0400854 gnome_interface.c \
erikjaf85fc42012-07-03 16:10:44 -0700855 gtk2_interface.c \
856 swing_GTKEngine.c \
857 swing_GTKStyle.c \
858 rect.c \
859 sun_awt_X11_GtkFileDialogPeer.c \
860 XRSurfaceData.c \
861 XRBackendNative.c
862
863LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
864
865ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -0700866 # To match old build, add this to LDFLAGS instead of suffix.
867 LIBAWT_XAWT_LDFLAGS += -lpthread
erikjaf85fc42012-07-03 16:10:44 -0700868endif
869
870ifeq ($(OPENJDK_TARGET_OS), macosx)
871 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
872endif
873
ohair46fcac92012-09-18 11:29:24 -0700874# On macosx, the shared library origin is set twice for this lib.
erikjaf85fc42012-07-03 16:10:44 -0700875$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
876 LIBRARY:=awt_xawt,\
877 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
878 SRC:=$(LIBAWT_XAWT_DIRS),\
879 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
880 LANG:=C,\
881 OPTIMIZATION:=LOW, \
882 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
883 $(X_CFLAGS),\
884 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
885 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700886 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\
887 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \
888 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
889 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
890 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
891 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
892 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
893 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
894 $(call SET_SHARED_LIBRARY_ORIGIN) \
895 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
896 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \
897 $(call SET_SHARED_LIBRARY_ORIGIN). \
898 $(call SET_SHARED_LIBRARY_ORIGIN) \
899 $(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -0700900 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -0700901 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
902 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700903 -D "JDK_FNAME=xawt.dll" \
904 -D "JDK_INTERNAL_NAME=xawt" \
905 -D "JDK_FTYPE=0x2L",\
andrew93196e42013-05-04 17:04:57 +0100906 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt,\
907 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -0700908
909$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
910
911$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
912
913BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
914
915endif
916endif
917
918##########################################################################################
919
erikj5c99f2c2012-11-28 13:29:35 +0100920BUILD_LIBZIP_EXCLUDES :=
erikjaf85fc42012-07-03 16:10:44 -0700921ifeq ($(USE_EXTERNAL_LIBZ),true)
erikj5c99f2c2012-11-28 13:29:35 +0100922 LIBZ := -lz
923 LIBZIP_EXCLUDES += zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700924else
erikj5c99f2c2012-11-28 13:29:35 +0100925 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700926endif
927
erikj5c99f2c2012-11-28 13:29:35 +0100928BUILD_LIBZIP_REORDER :=
erikjaf85fc42012-07-03 16:10:44 -0700929ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700930 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikj5c99f2c2012-11-28 13:29:35 +0100931 BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700932 endif
933endif
934
935ifeq ($(LIBZIP_CAN_USE_MMAP), true)
erikj5c99f2c2012-11-28 13:29:35 +0100936 BUILD_LIBZIP_MMAP := -DUSE_MMAP
erikjaf85fc42012-07-03 16:10:44 -0700937endif
938
939$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
940 LIBRARY:=zip,\
941 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikjaf85fc42012-07-03 16:10:44 -0700942 LANG:=C,\
943 OPTIMIZATION:=LOW, \
erikj5c99f2c2012-11-28 13:29:35 +0100944 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
945 EXCLUDES:=$(LIBZIP_EXCLUDES),\
erikjaf85fc42012-07-03 16:10:44 -0700946 CFLAGS:=$(CFLAGS_JDKLIB) \
erikj5c99f2c2012-11-28 13:29:35 +0100947 $(ZLIB_CPPFLAGS) \
erikjaf85fc42012-07-03 16:10:44 -0700948 -I$(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700949 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
erikjaf85fc42012-07-03 16:10:44 -0700950 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
951 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
952 REORDER:=$(BUILD_LIBZIP_REORDER), \
953 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700954 $(call SET_SHARED_LIBRARY_ORIGIN) \
erikjaf85fc42012-07-03 16:10:44 -0700955 $(EXPORT_ZIP_FUNCS), \
ohair46fcac92012-09-18 11:29:24 -0700956 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
erikjaf85fc42012-07-03 16:10:44 -0700957 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
958 $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700959 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -0800960 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
ohair46fcac92012-09-18 11:29:24 -0700961 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
962 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
963 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700964 -D "JDK_FNAME=zip.dll" \
965 -D "JDK_INTERNAL_NAME=zip" \
966 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700967 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
andrew93196e42013-05-04 17:04:57 +0100968 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -0700969
970$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
971
972BUILD_LIBRARIES += $(BUILD_LIBZIP)
973
974##########################################################################################
975
976$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
977 LIBRARY:=unpack, \
978 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
979 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
980 EXCLUDE_FILES:=main.cpp,\
981 LANG:=C++,\
982 OPTIMIZATION:=LOW, \
983 CFLAGS:=$(CXXFLAGS_JDKLIB) \
984 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
985 CFLAGS_release:=-DPRODUCT,\
986 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -0700987 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -0700988 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohairb71409c2012-10-26 14:23:29 -0700989 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
erikjaf85fc42012-07-03 16:10:44 -0700990 jvm.lib $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700991 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700992 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
993 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
994 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700995 -D "JDK_FNAME=unpack.dll" \
996 -D "JDK_INTERNAL_NAME=unpack" \
997 -D "JDK_FTYPE=0x2L",\
andrew93196e42013-05-04 17:04:57 +0100998 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -0700999
1000$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
1001
1002BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
1003
ohair46fcac92012-09-18 11:29:24 -07001004ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001005 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
1006 $(ECHO) Copying $(@F)
1007 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
1008
1009 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
1010 $(ECHO) Copying $(@F)
1011 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
1012endif
1013
1014##########################################################################################
1015
1016LIBATTACH_EXCLUDE_FILES:=
1017ifneq ($(OPENJDK_TARGET_OS),solaris)
1018 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1019endif
1020ifneq ($(OPENJDK_TARGET_OS),linux)
1021 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1022endif
1023ifneq ($(OPENJDK_TARGET_OS),macosx)
1024 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1025endif
1026
1027$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1028 LIBRARY:=attach, \
1029 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001030 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
erikjaf85fc42012-07-03 16:10:44 -07001031 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1032 LANG:=C,\
1033 OPTIMIZATION:=LOW, \
1034 CFLAGS:=$(CFLAGS_JDKLIB),\
1035 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
ohair46fcac92012-09-18 11:29:24 -07001036 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1037 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001038 -D "JDK_FNAME=attach.dll" \
1039 -D "JDK_INTERNAL_NAME=attach" \
1040 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001041 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1042 $(call SET_SHARED_LIBRARY_ORIGIN),\
1043 LDFLAGS_solaris:=-ldoor,\
erikjaf85fc42012-07-03 16:10:44 -07001044 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001045 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001046 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
1047 DEBUG_SYMBOLS:=true))
1048
1049$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
1050
1051BUILD_LIBRARIES += $(BUILD_LIBATTACH)
1052
1053##########################################################################################
1054
1055$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
1056 LIBRARY:=dt_socket,\
1057 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1058 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001059 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\
erikjaf85fc42012-07-03 16:10:44 -07001060 LANG:=C,\
1061 OPTIMIZATION:=LOW, \
1062 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
1063 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1064 -I$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001065 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
erikjaf85fc42012-07-03 16:10:44 -07001066 -I$(JDK_TOPDIR)/src/share/back/export \
1067 -I$(JDK_TOPDIR)/src/share/back,\
1068 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001069 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1070 $(call SET_SHARED_LIBRARY_ORIGIN), \
1071 LDFLAGS_SUFFIX_linux:=-lpthread,\
erikj4f66f2d2012-11-03 16:27:01 -07001072 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\
ohair46fcac92012-09-18 11:29:24 -07001073 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
1074 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1075 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001076 -D "JDK_FNAME=dt_socket.dll" \
1077 -D "JDK_INTERNAL_NAME=dt_socket" \
1078 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001079 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
1080 DEBUG_SYMBOLS:=true))
1081
1082$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
1083
1084BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
1085
1086##########################################################################################
1087
ohair46fcac92012-09-18 11:29:24 -07001088ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001089
1090 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
1091 LIBRARY:=dt_shmem,\
1092 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1093 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
1094 $(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001095 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\
erikjaf85fc42012-07-03 16:10:44 -07001096 LANG:=C,\
1097 OPTIMIZATION:=LOW, \
1098 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
1099 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1100 -I$(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001101 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
erikjaf85fc42012-07-03 16:10:44 -07001102 -I$(JDK_TOPDIR)/src/share/back/export, \
1103 LDFLAGS:=$(LDFLAGS_JDKLIB),\
ohair46fcac92012-09-18 11:29:24 -07001104 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\
erikjaf85fc42012-07-03 16:10:44 -07001105 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001106 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1107 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001108 -D "JDK_FNAME=dt_shmem.dll" \
1109 -D "JDK_INTERNAL_NAME=dt_shmem" \
1110 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001111 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
andrew93196e42013-05-04 17:04:57 +01001112 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001113
1114 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
1115
1116endif # OPENJDK_TARGET_OS
1117
1118##########################################################################################
ohair46fcac92012-09-18 11:29:24 -07001119# JDWP_LOGGING causes log messages to be compiled into the library.
erikjaf85fc42012-07-03 16:10:44 -07001120$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
1121 LIBRARY:=jdwp, \
1122 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001123 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\
erikjaf85fc42012-07-03 16:10:44 -07001124 LANG:=C,\
1125 OPTIMIZATION:=LOW, \
1126 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
1127 -I$(JDK_TOPDIR)/src/share/transport/export \
1128 -I$(JDK_TOPDIR)/src/share/back/export \
1129 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001130 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001131 -I$(JDK_TOPDIR)/src/share/back \
ohair46fcac92012-09-18 11:29:24 -07001132 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
erikjaf85fc42012-07-03 16:10:44 -07001133 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
1134 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001135 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1136 $(call SET_SHARED_LIBRARY_ORIGIN),\
1137 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001138 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001139 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001140 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1141 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001142 -D "JDK_FNAME=jdwp.dll" \
1143 -D "JDK_INTERNAL_NAME=jdwp" \
1144 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001145 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
erikj6413fe62013-05-31 14:05:09 +02001146 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001147
1148$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
1149
1150BUILD_LIBRARIES += $(BUILD_LIBJDWP)
1151
1152##########################################################################################
1153
1154LIBJAAS_MAPFILE:=
1155ifneq ($(OPENJDK_TARGET_OS),solaris)
1156 LIBJAAS_EXCLUDE_FILES:=Solaris.c
1157else
1158 # only on solaris...wonder why
1159 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
1160endif
1161
1162LIBJAAS_NAME:=jaas_unix
1163ifeq ($(OPENJDK_TARGET_OS), windows)
1164 LIBJAAS_NAME:=jaas_nt
1165endif
1166
1167$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
1168 LIBRARY:=$(LIBJAAS_NAME),\
1169 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001170 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\
erikjaf85fc42012-07-03 16:10:44 -07001171 LANG:=C,\
1172 OPTIMIZATION:=LOW, \
1173 CFLAGS:=$(CFLAGS_JDKLIB),\
1174 MAPFILE:=$(LIBJAAS_MAPFILE),\
1175 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
1176 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001177 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001178 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -08001179 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07001180 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
ohair46fcac92012-09-18 11:29:24 -07001181 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1182 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001183 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
1184 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
1185 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001186 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\
andrew93196e42013-05-04 17:04:57 +01001187 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001188
1189$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
1190
1191BUILD_LIBRARIES += $(BUILD_LIBJAAS)
1192
1193##########################################################################################
1194
1195$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
1196 LIBRARY:=jsdt,\
1197 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1198 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
ohair46fcac92012-09-18 11:29:24 -07001199 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\
erikjaf85fc42012-07-03 16:10:44 -07001200 LANG:=C,\
1201 OPTIMIZATION:=LOW, \
1202 CFLAGS:=$(CFLAGS_JDKLIB)\
1203 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
1204 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
1205 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1206 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001207 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1208 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07001209 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001210 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001211 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1212 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001213 -D "JDK_FNAME=jsdt.dll" \
1214 -D "JDK_INTERNAL_NAME=jsdt" \
1215 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001216 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
ohair46fcac92012-09-18 11:29:24 -07001217 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001218
1219$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
1220
1221BUILD_LIBRARIES += $(BUILD_LIBJSDT)
1222
1223##########################################################################################
1224
erikjaf85fc42012-07-03 16:10:44 -07001225 # TODO: Update awt lib path when awt is converted
1226 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1227 LIBRARY:=lcms,\
1228 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01001229 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
erikjaf85fc42012-07-03 16:10:44 -07001230 LANG:=C,\
baebb34c3b2013-03-07 14:05:21 +04001231 OPTIMIZATION:=HIGHEST, \
erikjaf85fc42012-07-03 16:10:44 -07001232 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1233 $(SHARED_LIBRARY_FLAGS) \
1234 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1235 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1236 CFLAGS_solaris:=-xc99=no_lib,\
ohair46fcac92012-09-18 11:29:24 -07001237 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
erikjaf85fc42012-07-03 16:10:44 -07001238 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001239 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1240 $(call SET_SHARED_LIBRARY_ORIGIN), \
1241 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1242 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
tbell7d47bd02012-11-12 10:20:01 -08001243 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07001244 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1245 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1246 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1247 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001248 -D "JDK_FNAME=lcms.dll" \
1249 -D "JDK_INTERNAL_NAME=lcms" \
1250 -D "JDK_FTYPE=0x2L",\
1251 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
andrew93196e42013-05-04 17:04:57 +01001252 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001253
1254 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1255
1256 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
erikjaf85fc42012-07-03 16:10:44 -07001257
1258##########################################################################################
1259
1260ifdef OPENJDK
1261 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1262else
1263 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1264 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1265 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1266endif
1267
1268BUILD_LIBJPEG_REORDER:=
1269ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001270 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1271 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07001272 endif
1273endif
1274
1275# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
1276# or 'vfork'": this warning indicates that some variable is placed to
1277# a register by optimized compiler and it's value might be lost on longjmp().
1278# Recommended way to avoid such warning is to declare the variable as
1279# volatile to prevent the optimization. However, this approach does not
1280# work because we have to declare all variables as volatile in result.
1281#ifndef CROSS_COMPILE_ARCH
1282# CC_43_OR_NEWER:=\
1283# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
1284# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
1285# ifeq ($(CC_43_OR_NEWER),1)
1286# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
1287# endif
1288#endif
1289
1290$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
1291 LIBRARY:=jpeg, \
1292 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1293 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
1294 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1295 LANG:=C,\
1296 OPTIMIZATION:=HIGHEST, \
1297 CFLAGS:=$(CFLAGS_JDKLIB) \
1298 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
1299 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1300 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
1301 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1302 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001303 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001304 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001305 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1306 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001307 -D "JDK_FNAME=jpeg.dll" \
1308 -D "JDK_INTERNAL_NAME=jpeg" \
1309 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001310 REORDER:=$(BUILD_LIBJPEG_REORDER),\
ohair46fcac92012-09-18 11:29:24 -07001311 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
andrew93196e42013-05-04 17:04:57 +01001312 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001313
1314$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
1315
1316BUILD_LIBRARIES += $(BUILD_LIBJPEG)
1317
1318##########################################################################################
1319
1320ifndef OPENJDK
ohairb71409c2012-10-26 14:23:29 -07001321 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
erikjaf85fc42012-07-03 16:10:44 -07001322 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
1323 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
1324else
1325 FONT_HEADERS:=$(FREETYPE2_CFLAGS)
1326 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
1327 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
1328endif
1329
prr54abc122013-07-02 14:25:56 -07001330LIBFONTMANAGER_OPTIMIZATION:=HIGH
erikjaf85fc42012-07-03 16:10:44 -07001331
1332ifeq ($(OPENJDK_TARGET_OS),windows)
1333 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1334 X11TextRenderer.c
prr54abc122013-07-02 14:25:56 -07001335LIBFONTMANAGER_OPTIMIZATION:=HIGHEST
erikjaf85fc42012-07-03 16:10:44 -07001336else
1337 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1338 lcdglyph.c
1339endif
1340
1341BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1342 $(X_CFLAGS) \
1343 -DLE_STANDALONE -DHEADLESS \
1344 $(FONT_HEADERS) \
1345 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1346 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1347 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001348 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001349 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1350 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1351 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001352 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001353 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1354
1355# Turn off aliasing with GCC for ExtensionSubtables.cpp
1356ifeq ($(OPENJDK_TARGET_OS), linux)
1357 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1358endif
1359
1360$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1361 LIBRARY:=fontmanager, \
1362 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1363 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
ohair46fcac92012-09-18 11:29:24 -07001364 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
erikjaf85fc42012-07-03 16:10:44 -07001365 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1366 AccelGlyphCache.c,\
1367 LANG:=C++,\
1368 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1369 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1370 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
ohair46fcac92012-09-18 11:29:24 -07001371 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001372 -DCC_NOEX, \
1373 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
ohair46fcac92012-09-18 11:29:24 -07001374 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001375 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001376 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1377 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1378 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
ohairb71409c2012-10-26 14:23:29 -07001379 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1380 -ljava -ljvm,\
1381 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1382 $(WIN_AWT_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001383 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1384 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001385 -D "JDK_FNAME=fontmanager.dll" \
1386 -D "JDK_INTERNAL_NAME=fontmanager" \
1387 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001388 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
andrew93196e42013-05-04 17:04:57 +01001389 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001390
1391$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1392
1393ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1394$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1395endif
1396
1397BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001398
1399##########################################################################################
1400
1401ifndef OPENJDK
1402
erikjaf85fc42012-07-03 16:10:44 -07001403# ifeq ($(OPENJDK_TARGET_OS), linux)
1404# ifeq ("$(CC_VER_MAJOR)", "3")
1405# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1406# endif
1407# endif
1408#
1409# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1410# the input .o files. Because of this the new build will differ in size to the old build.
1411 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1412 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1413 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1414 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -07001415 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -07001416 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1417 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001418 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001419 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1420
1421 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1422 LIBRARY:=t2k, \
1423 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1424 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1425 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1426 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1427 EXCLUDE_FILES:=orion.c,\
1428 LANG:=C++,\
1429 OPTIMIZATION:=HIGH, \
1430 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1431 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1432 CFLAGS_windows=-DCC_NOEX, \
1433 CXXFLAGS_windows=-DCC_NOEX, \
1434 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001435 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001436 $(call SET_SHARED_LIBRARY_ORIGIN),\
1437 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
ohair46fcac92012-09-18 11:29:24 -07001438 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
1439 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
1440 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1441 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001442 -D "JDK_FNAME=t2k.dll" \
1443 -D "JDK_INTERNAL_NAME=t2k" \
1444 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001445 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
andrew93196e42013-05-04 17:04:57 +01001446 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001447
1448 # t2k is linked against fontmanager
1449 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1450
1451 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1452endif
1453
1454##########################################################################################
1455
erikjaf85fc42012-07-03 16:10:44 -07001456ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001457 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikjaf85fc42012-07-03 16:10:44 -07001458 KERNEL32_LIB:=kernel32.lib
1459 endif
1460 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1461 LIBRARY:=jawt, \
1462 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001463 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
erikjaf85fc42012-07-03 16:10:44 -07001464 INCLUDE_FILES:=jawt.cpp,\
1465 LANG:=C++,\
1466 OPTIMIZATION:=LOW, \
1467 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1468 -EHsc -DUNICODE -D_UNICODE \
ohair46fcac92012-09-18 11:29:24 -07001469 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001470 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1471 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1472 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
erikjebad8f92013-03-06 16:15:16 +01001473 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
1474 -I$(DXSDK_INCLUDE_PATH), \
ohair46fcac92012-09-18 11:29:24 -07001475 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001476 advapi32.lib $(WIN_AWT_LIB),\
1477 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001478 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1479 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001480 -D "JDK_FNAME=jawt.dll" \
1481 -D "JDK_INTERNAL_NAME=jawt" \
1482 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001483 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
andrew93196e42013-05-04 17:04:57 +01001484 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001485
1486$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1487
1488$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1489 $(ECHO) Copying $(@F)
ohair46fcac92012-09-18 11:29:24 -07001490 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
erikjaf85fc42012-07-03 16:10:44 -07001491
1492BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1493
1494else # OPENJDK_TARGET_OS not windows
1495
1496 JAWT_LIBS:=
1497 ifneq ($(OPENJDK_TARGET_OS), solaris)
1498 JAWT_LIBS += -lawt
1499 endif
1500
1501 ifndef BUILD_HEADLESS_ONLY
1502 JAWT_LIBS += -lawt_xawt
1503 else
1504 JAWT_LIBS += -lawt_headless
1505 HEADLESS_CFLAG += -DHEADLESS
1506 endif
1507
1508 JAWT_FILES:=jawt.c
1509 ifeq ($(OPENJDK_TARGET_OS), macosx)
1510 JAWT_FILES:=jawt.m
1511 JAWT_LIBS:=-lawt_lwawt
1512 endif
1513
1514 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1515 LIBRARY:=jawt, \
1516 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001517 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001518 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1519 INCLUDE_FILES:=$(JAWT_FILES),\
1520 LANG:=C,\
1521 OPTIMIZATION:=LOW, \
1522 CFLAGS:=$(CFLAGS_JDKLIB), \
1523 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1524 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1525 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1526 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1527 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001528 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1529 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1530 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1531 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1532 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
andrew93196e42013-05-04 17:04:57 +01001533 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1534 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001535
1536ifndef BUILD_HEADLESS_ONLY
1537$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1538else
1539$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1540endif
1541
1542ifeq ($(OPENJDK_TARGET_OS),macosx)
1543$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1544endif
1545
1546endif # OPENJDK_TARGET_OS
1547
1548BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1549
1550##########################################################################################
1551
ohair46fcac92012-09-18 11:29:24 -07001552LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1553 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
1554 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
erikjaf85fc42012-07-03 16:10:44 -07001555
ohair46fcac92012-09-18 11:29:24 -07001556LIBINSTRUMENT_FILES :=\
erikjaf85fc42012-07-03 16:10:44 -07001557 EncodingSupport.c \
1558 EncodingSupport_md.c \
1559 FileSystemSupport_md.c \
1560 InstrumentationImplNativeMethods.c \
1561 InvocationAdapter.c \
1562 JarFacade.c \
1563 JPLISAgent.c \
1564 JPLISAssert.c \
1565 JavaExceptions.c \
1566 PathCharsValidator.c \
1567 Reentrancy.c \
1568 Utilities.c \
1569 canonicalize_md.c
1570
ohair46fcac92012-09-18 11:29:24 -07001571LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1572LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
1573 -I$(JDK_TOPDIR)/src/share/instrument \
1574 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
1575 -I$(JDK_TOPDIR)/src/share/bin
erikjaf85fc42012-07-03 16:10:44 -07001576
ohair46fcac92012-09-18 11:29:24 -07001577LIBINSTRUMENT_LDFLAGS:=
1578LIBINSTRUMENT_LDFLAGS_SUFFIX:=
erikjaf85fc42012-07-03 16:10:44 -07001579
1580ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001581 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1582 -export:Agent_OnAttach advapi32.lib
1583 # Statically link the C runtime so that there are not dependencies on modules
1584 # not on the search patch when invoked from the Windows system directory
1585 # (or elsewhere).
1586 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
1587 # equivalent of strcasecmp is stricmp on Windows
1588 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
erikjaf85fc42012-07-03 16:10:44 -07001589endif
1590
1591$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1592 LIBRARY:=instrument, \
1593 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001594 SRC:=$(LIBINSTRUMENT_SRC),\
1595 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07001596 LANG:=C,\
1597 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07001598 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07001599 CFLAGS_debug:=-DJPLIS_LOGGING,\
1600 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1601 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001602 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1603 $(call SET_SHARED_LIBRARY_ORIGIN) \
1604 $(LIBINSTRUMENT_LDFLAGS),\
1605 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1606 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1607 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1608 -framework Cocoa -framework Security -framework ApplicationServices,\
1609 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1610 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08001611 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001612 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1613 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1614 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001615 -D "JDK_FNAME=instrument.dll" \
1616 -D "JDK_INTERNAL_NAME=instrument" \
1617 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001618 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
erikjaf85fc42012-07-03 16:10:44 -07001619 DEBUG_SYMBOLS:=true))
1620
1621ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1622$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1623else
1624$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1625endif
1626$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1627
1628BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1629
1630##########################################################################################
1631
1632BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
ohair46fcac92012-09-18 11:29:24 -07001633 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1634 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
erikjaf85fc42012-07-03 16:10:44 -07001635
1636BUILD_LIBMANAGEMENT_EXCLUDES:=
1637
1638BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1639
1640ifneq ($(OPENJDK_TARGET_OS), windows)
1641 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1642else
1643 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1644endif
1645
1646ifneq ($(OPENJDK_TARGET_OS),solaris)
1647 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1648endif
1649
1650ifneq ($(OPENJDK_TARGET_OS),linux)
1651 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1652endif
1653
1654ifneq ($(OPENJDK_TARGET_OS),macosx)
1655 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1656endif
1657
ohair46fcac92012-09-18 11:29:24 -07001658LIBMANAGEMENT_OPTIMIZATION:=HIGH
1659ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001660 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001661 LIBMANAGEMENT_OPTIMIZATION:=LOW
1662 endif
1663endif
erikjaf85fc42012-07-03 16:10:44 -07001664
1665$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1666 LIBRARY:=management,\
1667 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1668 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1669 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1670 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001671 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001672 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1673 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1674 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1675 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07001676 LDFLAGS_solaris:=-lkstat,\
1677 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001678 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001679 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1680 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001681 -D "JDK_FNAME=management.dll" \
1682 -D "JDK_INTERNAL_NAME=management" \
1683 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001684 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1685 DEBUG_SYMBOLS:=true))
1686
1687$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1688
1689BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1690
1691##########################################################################################
1692
ohair46fcac92012-09-18 11:29:24 -07001693BUILD_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 -07001694BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1695 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001696 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001697 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1698
1699BUILD_LIBHPROF_LDFLAGS:=
1700
ohair46fcac92012-09-18 11:29:24 -07001701LIBHPROF_OPTIMIZATION:=HIGHEST
1702ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001703 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001704 LIBHPROF_OPTIMIZATION:=LOW
1705 endif
1706endif
1707
erikjaf85fc42012-07-03 16:10:44 -07001708$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1709 LIBRARY:=hprof, \
1710 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1711 SRC:=$(BUILD_LIBHPROF_SRC),\
1712 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001713 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001714 CFLAGS:=$(CFLAGS_JDKLIB) \
1715 $(BUILD_LIBHPROF_CFLAGS),\
1716 CFLAGS_debug:=-DHPROF_LOGGING,\
1717 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1718 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1719 $(call SET_SHARED_LIBRARY_ORIGIN),\
1720 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
tbell7d47bd02012-11-12 10:20:01 -08001721 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1722 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
1723 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001724 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1725 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001726 -D "JDK_FNAME=hprof.dll" \
1727 -D "JDK_INTERNAL_NAME=hprof" \
1728 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001729 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1730 DEBUG_SYMBOLS:=true))
1731
1732BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1733
1734##########################################################################################
1735
1736$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1737 LIBRARY:=java_crw_demo, \
1738 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1739 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1740 LANG:=C,\
1741 OPTIMIZATION:=LOW, \
1742 CFLAGS:=$(CFLAGS_JDKLIB) \
1743 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1744 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1745 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1746 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08001747 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001748 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1749 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001750 -D "JDK_FNAME=java_crw_demo.dll" \
1751 -D "JDK_INTERNAL_NAME=java_crw_demo" \
1752 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001753 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1754 DEBUG_SYMBOLS:=true))
1755
1756BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1757
1758##########################################################################################
1759
1760$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1761 LIBRARY:=npt, \
1762 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001763 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001764 LANG:=C,\
1765 OPTIMIZATION:=LOW, \
1766 CFLAGS:=$(CFLAGS_JDKLIB) \
1767 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001768 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001769 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1770 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1771 $(call SET_SHARED_LIBRARY_ORIGIN),\
1772 LDFLAGS_macosx:=-liconv,\
1773 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
erikj4f66f2d2012-11-03 16:27:01 -07001774 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -07001775 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1776 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001777 -D "JDK_FNAME=npt.dll" \
1778 -D "JDK_INTERNAL_NAME=npt" \
1779 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001780 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1781 DEBUG_SYMBOLS:=true))
1782
1783BUILD_LIBRARIES += $(BUILD_LIBNPT)
1784
1785##########################################################################################
1786
1787LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001788 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1789 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
ohair46fcac92012-09-18 11:29:24 -07001790 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
erikjaf85fc42012-07-03 16:10:44 -07001791
ohairb71409c2012-10-26 14:23:29 -07001792ifeq ($(OPENJDK_TARGET_OS),windows)
1793 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1794else
1795 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1796endif
1797
erikjaf85fc42012-07-03 16:10:44 -07001798LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1799
1800LIBNET_EXCLUDE_FILES:=
1801ifneq ($(OPENJDK_TARGET_OS),linux)
1802 LIBNET_EXCLUDE_FILES += linux_close.c
1803endif
1804
1805ifneq ($(OPENJDK_TARGET_OS),macosx)
1806 LIBNET_EXCLUDE_FILES += bsd_close.c
1807endif
1808
1809ifeq ($(OPENJDK_TARGET_OS),windows)
1810 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1811else
1812 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1813 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1814 NTLMAuthSequence.c NetworkInterface_winXP.c
1815endif
1816
erikjaf85fc42012-07-03 16:10:44 -07001817$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1818 LIBRARY:=net,\
1819 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1820 SRC:=$(LIBNET_SRC_DIRS),\
1821 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1822 LANG:=C,\
1823 OPTIMIZATION:=LOW, \
1824 CFLAGS:=$(CFLAGS_JDKLIB) \
1825 $(LIBNET_CFLAGS),\
1826 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1827 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1828 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001829 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
erikj4f66f2d2012-11-03 16:27:01 -07001830 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
ohair46fcac92012-09-18 11:29:24 -07001831 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
ohairb71409c2012-10-26 14:23:29 -07001832 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1833 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1834 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
ohair46fcac92012-09-18 11:29:24 -07001835 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1836 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001837 -D "JDK_FNAME=net.dll" \
1838 -D "JDK_INTERNAL_NAME=net" \
1839 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001840 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
andrew93196e42013-05-04 17:04:57 +01001841 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001842
1843$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1844
1845BUILD_LIBRARIES += $(BUILD_LIBNET)
1846
1847$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
ohairb71409c2012-10-26 14:23:29 -07001848 $(ECHO) $(LOG_INFO) Copying $(@F)
erikj10d96fb2013-04-05 09:39:10 +02001849 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07001850
1851COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1852
1853ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001854$(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 -07001855 $(ECHO) $(LOG_INFO) Copying $(@F)
erikj10d96fb2013-04-05 09:39:10 +02001856 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07001857
1858COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1859endif
1860
1861##########################################################################################
1862
1863BUILD_LIBNIO_SRC:=\
ohair46fcac92012-09-18 11:29:24 -07001864 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
1865 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1866 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
erikjaf85fc42012-07-03 16:10:44 -07001867
1868BUILD_LIBNIO_CFLAGS:=\
1869 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1870 -I$(JDK_TOPDIR)/src/share/native/java/io \
1871 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001872 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
erikjaf85fc42012-07-03 16:10:44 -07001873
1874BUILD_LIBNIO_FILES:=\
1875 DatagramChannelImpl.c \
1876 DatagramDispatcher.c \
1877 FileChannelImpl.c \
1878 FileDispatcherImpl.c \
1879 FileKey.c \
1880 IOUtil.c \
1881 MappedByteBuffer.c \
1882 Net.c \
1883 ServerSocketChannelImpl.c \
1884 SocketChannelImpl.c \
1885 SocketDispatcher.c
1886
1887ifeq ($(OPENJDK_TARGET_OS), windows)
1888 BUILD_LIBNIO_FILES += \
1889 Iocp.c \
1890 RegistryFileTypeDetector.c \
1891 WindowsAsynchronousFileChannelImpl.c \
1892 WindowsAsynchronousServerSocketChannelImpl.c \
1893 WindowsAsynchronousSocketChannelImpl.c \
1894 WindowsNativeDispatcher.c \
1895 WindowsSelectorImpl.c
1896endif
1897
1898ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -07001899 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001900 BUILD_LIBNIO_FILES += \
1901 EPoll.c \
1902 EPollArrayWrapper.c \
1903 EPollPort.c \
1904 InheritedChannel.c \
1905 NativeThread.c \
ohair46fcac92012-09-18 11:29:24 -07001906 PollArrayWrapper.c \
erikjaf85fc42012-07-03 16:10:44 -07001907 UnixAsynchronousServerSocketChannelImpl.c \
1908 UnixAsynchronousSocketChannelImpl.c \
1909 GnomeFileTypeDetector.c \
dxu20cb3702012-12-04 14:07:30 +00001910 MagicFileTypeDetector.c \
erikjaf85fc42012-07-03 16:10:44 -07001911 LinuxNativeDispatcher.c \
1912 LinuxWatchService.c \
1913 UnixCopyFile.c \
1914 UnixNativeDispatcher.c
1915endif
1916
1917ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07001918 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001919 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1920 BUILD_LIBNIO_FILES += \
1921 InheritedChannel.c \
1922 NativeThread.c \
1923 PollArrayWrapper.c \
1924 UnixAsynchronousServerSocketChannelImpl.c \
1925 UnixAsynchronousSocketChannelImpl.c \
erikjaf85fc42012-07-03 16:10:44 -07001926 BsdNativeDispatcher.c \
ohair46fcac92012-09-18 11:29:24 -07001927 MacOSXNativeDispatcher.c \
erikjaf85fc42012-07-03 16:10:44 -07001928 UnixCopyFile.c \
1929 UnixNativeDispatcher.c \
1930 KQueue.c \
1931 KQueuePort.c \
1932 KQueueArrayWrapper.c
1933endif
1934
1935ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001936 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001937 BUILD_LIBNIO_FILES += \
1938 DevPollArrayWrapper.c \
1939 InheritedChannel.c \
1940 NativeThread.c \
1941 PollArrayWrapper.c \
1942 SolarisEventPort.c \
1943 UnixAsynchronousServerSocketChannelImpl.c \
1944 UnixAsynchronousSocketChannelImpl.c \
1945 GnomeFileTypeDetector.c \
1946 SolarisNativeDispatcher.c \
1947 SolarisWatchService.c \
1948 UnixCopyFile.c \
1949 UnixNativeDispatcher.c
1950endif
1951
1952$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1953 LIBRARY:=nio,\
1954 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1955 SRC:=$(BUILD_LIBNIO_SRC),\
1956 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1957 LANG:=C,\
1958 OPTIMIZATION:=HIGH, \
1959 CFLAGS:=$(CFLAGS_JDKLIB) \
1960 $(BUILD_LIBNIO_CFLAGS),\
1961 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1962 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1963 $(call SET_SHARED_LIBRARY_ORIGIN),\
1964 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
ohair46fcac92012-09-18 11:29:24 -07001965 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
1966 -lsendfile -ljava -lnet -lc,\
ohairb71409c2012-10-26 14:23:29 -07001967 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
1968 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
ohairb71409c2012-10-26 14:23:29 -07001969 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001970 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
erikjaf85fc42012-07-03 16:10:44 -07001971 LDFLAGS_SUFFIX:=,\
ohair46fcac92012-09-18 11:29:24 -07001972 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1973 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001974 -D "JDK_FNAME=nio.dll" \
1975 -D "JDK_INTERNAL_NAME=nio" \
1976 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001977 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
andrew93196e42013-05-04 17:04:57 +01001978 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001979
1980BUILD_LIBRARIES += $(BUILD_LIBNIO)
1981
1982$(BUILD_LIBNIO) : $(BUILD_LIBNET)
1983
1984##########################################################################################
1985
1986ifeq ($(OPENJDK_TARGET_OS_API),posix)
erikj5c99f2c2012-11-28 13:29:35 +01001987
erikjaf85fc42012-07-03 16:10:44 -07001988 ifneq ($(OPENJDK_TARGET_OS),macosx)
1989
1990 SCTP_WERROR := -Werror
1991 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
1992 SCTP_WERROR :=
1993 endif
1994
1995 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
1996 LIBRARY:=sctp,\
1997 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001998 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
erikjaf85fc42012-07-03 16:10:44 -07001999 LANG:=C,\
2000 OPTIMIZATION:=LOW, \
2001 CFLAGS:=$(CFLAGS_JDKLIB)\
2002 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
2003 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
2004 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07002005 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
2006 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
erikjaf85fc42012-07-03 16:10:44 -07002007 CFLAGS_linux:=$(SCTP_WERROR),\
2008 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
2009 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2010 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002011 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002012 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
erikj4f66f2d2012-11-03 16:27:01 -07002013 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07002014 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01002015 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp,\
2016 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002017
2018 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
2019
2020 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
2021 endif
2022endif
2023
2024##########################################################################################
2025
ohair46fcac92012-09-18 11:29:24 -07002026BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
2027LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
erikjaf85fc42012-07-03 16:10:44 -07002028
2029BUILD_LIBJLI_FILES:=\
2030 java.c \
2031 splashscreen_stubs.c \
2032 parse_manifest.c \
2033 version_comp.c \
2034 wildcard.c \
2035 jli_util.c
2036
2037ifeq ($(JVM_VARIANT_ZERO), true)
2038 ERGO_FAMILY:=zero
ohair46fcac92012-09-18 11:29:24 -07002039else
2040 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
erikjaf85fc42012-07-03 16:10:44 -07002041 ERGO_FAMILY:=i586
ohair46fcac92012-09-18 11:29:24 -07002042 else
2043 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
2044 endif
2045endif
erikjaf85fc42012-07-03 16:10:44 -07002046
2047ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002048 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
erikjaf85fc42012-07-03 16:10:44 -07002049 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
2050 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
2051
2052 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2053 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2054endif
2055
2056ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002057 BUILD_LIBJLI_FILES += java_md.c \
sla43e7de52013-06-10 11:33:50 +02002058 cmdtoargs.c
ohair46fcac92012-09-18 11:29:24 -07002059 # Staticically link with c runtime on windows.
2060 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
erikjaf85fc42012-07-03 16:10:44 -07002061else ifneq ($(OPENJDK_TARGET_OS), macosx)
2062
2063 BUILD_LIBJLI_FILES += java_md_common.c
2064 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
2065
2066 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2067
2068 # if the architecture specific ergo file exists then
2069 # use it, else use the generic definitions from ergo.c
ohair46fcac92012-09-18 11:29:24 -07002070 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
erikjaf85fc42012-07-03 16:10:44 -07002071 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2072 else # !ERGO_ARCH_FILE
ohair46fcac92012-09-18 11:29:24 -07002073 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
erikjaf85fc42012-07-03 16:10:44 -07002074 endif # ERGO_ARCH_FILE
2075endif #WINDOWS
2076
ohair46fcac92012-09-18 11:29:24 -07002077# Append defines depending on target platform
2078LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002079
2080ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002081 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
erikjaf85fc42012-07-03 16:10:44 -07002082endif
2083
2084ifneq ($(USE_EXTERNAL_LIBZ),true)
2085 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002086 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002087 BUILD_LIBJLI_FILES += \
2088 inflate.c \
2089 inftrees.c \
2090 inffast.c \
2091 zadler32.c \
2092 zcrc32.c \
2093 zutil.c
2094endif
2095
2096ifeq ($(OPENJDK_TARGET_OS), windows)
2097 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2098else
2099 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2100endif
2101
2102$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2103 LIBRARY:=jli,\
2104 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2105 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2106 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2107 LANG:=C,\
2108 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002109 CFLAGS:=$(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002110 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2111 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2112 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002113 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2114 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2115 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2116 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2117 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2118 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
erikjaf85fc42012-07-03 16:10:44 -07002119 LDFLAGS_SUFFIX_windows:=\
2120 -export:JLI_Launch \
2121 -export:JLI_ManifestIterate \
2122 -export:JLI_SetTraceLauncher \
2123 -export:JLI_ReportErrorMessage \
2124 -export:JLI_ReportErrorMessageSys \
2125 -export:JLI_ReportMessage \
2126 -export:JLI_ReportExceptionDescription \
ohair46fcac92012-09-18 11:29:24 -07002127 -export:JLI_MemAlloc \
2128 -export:JLI_CmdToArgs \
2129 -export:JLI_GetStdArgc \
2130 -export:JLI_GetStdArgs \
erikjaf85fc42012-07-03 16:10:44 -07002131 advapi32.lib \
2132 comctl32.lib \
2133 user32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002134 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2135 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07002136 -D "JDK_FNAME=jli.dll" \
2137 -D "JDK_INTERNAL_NAME=jli" \
2138 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002139 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
andrew93196e42013-05-04 17:04:57 +01002140 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002141
2142BUILD_LIBRARIES += $(BUILD_LIBJLI)
2143
2144# On windows, the static library has the same suffix as the import library created by
2145# with the shared library, so the static library is given a different name. No harm
2146# in doing it for all platform to reduce complexity.
2147ifeq ($(OPENJDK_TARGET_OS), windows)
2148 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2149 STATIC_LIBRARY:=jli_static,\
2150 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2151 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2152 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2153 LANG:=C,\
2154 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002155 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002156 ARFLAGS:=$(ARFLAGS),\
andrew93196e42013-05-04 17:04:57 +01002157 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
2158 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002159
2160BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2161
2162else ifeq ($(OPENJDK_TARGET_OS),macosx)
2163 #
2164 # On macosx they do partial (incremental) linking of libjli_static.a
2165 # code it here...rather than add support to NativeCompilation
2166 # as this is first time I see it
2167 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2168 LIBRARY:=jli_static, \
2169 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2170 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2171 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2172 LANG:=C,\
2173 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002174 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002175 LDFLAGS:=-nostdlib -r,\
andrew93196e42013-05-04 17:04:57 +01002176 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
2177 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002178
2179$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
erikj10d96fb2013-04-05 09:39:10 +02002180 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07002181
2182BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2183endif
2184
2185##########################################################################################
2186
ohairb71409c2012-10-26 14:23:29 -07002187ifndef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -07002188ifeq ($(ENABLE_JFR), true)
2189
2190$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2191 LIBRARY:=jfr,\
2192 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2193 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2194 LANG:=C,\
2195 OPTIMIZATION:=LOW, \
2196 CFLAGS:=$(CFLAGS_JDKLIB) \
2197 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2198 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2199 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2200 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikj3da9f312013-02-18 11:26:23 +01002201 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002202 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2203 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002204 -D "JDK_FNAME=jfr.dll" \
2205 -D "JDK_INTERNAL_NAME=jfr" \
2206 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002207 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
andrew93196e42013-05-04 17:04:57 +01002208 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002209
2210BUILD_LIBRARIES += $(BUILD_LIBJFR)
2211
2212endif
ohairb71409c2012-10-26 14:23:29 -07002213endif
erikjaf85fc42012-07-03 16:10:44 -07002214
2215##########################################################################################
2216
2217ifndef OPENJDK
2218
2219BUILD_LIBKCMS_EXCLUDE_FILES:=
2220ifeq ($(OPENJDK_TARGET_OS),windows)
2221 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2222else
2223 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2224endif
2225
2226BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2227
2228ifeq ($(OPENJDK_TARGET_OS),solaris)
2229 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2230 # implement it like this...since it's only used here
2231 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2232else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2233 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2234endif
2235
2236$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2237 LIBRARY:=kcms,\
2238 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2239 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2240 LANG:=C,\
2241 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2242 OPTIMIZATION:=LOW, \
2243 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2244 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2245 CFLAGS_linux:=-Wno-missing-field-initializers,\
2246 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2247 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2248 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002249 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
erikj3da9f312013-02-18 11:26:23 +01002250 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002251 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
erikj388fbde2012-12-06 12:09:33 +01002252 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002253 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
ohair46fcac92012-09-18 11:29:24 -07002254 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2255 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002256 -D "JDK_FNAME=kcms.dll" \
2257 -D "JDK_INTERNAL_NAME=kcms" \
2258 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002259 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
andrew93196e42013-05-04 17:04:57 +01002260 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002261
2262$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2263
2264BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2265
2266endif
2267
2268##########################################################################################
2269
2270ifndef OPENJDK
2271ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002272ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikjaf85fc42012-07-03 16:10:44 -07002273
2274ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2275
2276SUNWJDGA_MAPFILE:=
ohair46fcac92012-09-18 11:29:24 -07002277ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
erikjaf85fc42012-07-03 16:10:44 -07002278 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2279endif
2280
2281$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2282 LIBRARY:=sunwjdga,\
2283 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2284 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2285 LANG:=C, \
2286 OPTIMIZATION:=LOW, \
2287 CFLAGS:=$(CFLAGS_JDKLIB) \
2288 -I$(JDK_TOPDIR)/src/share/javavm/export \
ohair46fcac92012-09-18 11:29:24 -07002289 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
erikjaf85fc42012-07-03 16:10:44 -07002290 -I$(OPENWIN_HOME)/include, \
2291 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2292 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2293 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002294 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 +01002295 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga,\
2296 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002297
2298BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2299
2300endif
2301endif
2302endif
2303endif
2304
2305##########################################################################################
2306
2307ifeq ($(BUILD_HEADLESS), true)
2308ifneq ($(OPENJDK_TARGET_OS), windows)
2309
2310LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2311 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2312 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2313 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2314 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2315 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2316
jchen21981182013-05-23 12:16:17 -07002317ifeq ($(OPENJDK_TARGET_OS),macosx)
2318 LIBAWT_HEADLESS_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/font
2319endif
2320
erikjaf85fc42012-07-03 16:10:44 -07002321LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2322 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2323 $(CUPS_CFLAGS) \
2324 $(X_CFLAGS) \
2325 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -07002326 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07002327 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2328 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2329 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2330 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2331 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -07002332 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
erikjaf85fc42012-07-03 16:10:44 -07002333 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2334
jchen21981182013-05-23 12:16:17 -07002335ifeq ($(OPENJDK_TARGET_OS),macosx)
2336 LIBAWT_HEADLESS_CFLAGS+=\
2337 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2338 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
2339endif
2340
erikjaf85fc42012-07-03 16:10:44 -07002341LIBAWT_HEADLESS_FILES:=\
2342 awt_Font.c \
2343 HeadlessToolkit.c \
2344 fontpath.c \
2345 VDrawingArea.c \
2346 X11Color.c \
2347 X11Renderer.c \
2348 X11PMBlitLoops.c \
2349 X11SurfaceData.c \
2350 X11FontScaler_md.c \
2351 X11TextRenderer_md.c \
2352 OGLBlitLoops.c \
2353 OGLBufImgOps.c \
2354 OGLContext.c \
2355 OGLFuncs.c \
2356 OGLMaskBlit.c \
2357 OGLMaskFill.c \
2358 OGLPaints.c \
2359 OGLRenderQueue.c \
2360 OGLRenderer.c \
2361 OGLSurfaceData.c \
2362 OGLTextRenderer.c \
2363 OGLVertexCache.c \
2364 GLXGraphicsConfig.c \
2365 GLXSurfaceData.c \
2366 AccelGlyphCache.c \
2367 CUPSfuncs.c
2368
jchen21981182013-05-23 12:16:17 -07002369ifeq ($(OPENJDK_TARGET_OS),macosx)
2370 LIBAWT_HEADLESS_FILES+=\
2371 AWTFont.m \
2372 AWTStrike.m \
2373 CCharToGlyphMapper.m \
2374 CGGlyphImages.m \
2375 CGGlyphOutlines.m \
2376 CoreTextSupport.m
2377endif
2378
erikjaf85fc42012-07-03 16:10:44 -07002379LIBAWT_HEADLESS_REORDER:=
2380ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002381 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
2382 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07002383 endif
2384endif
2385
2386$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2387 LIBRARY:=awt_headless,\
2388 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2389 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2390 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2391 LANG:=C,\
2392 OPTIMIZATION:=LOW, \
2393 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002394 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
erikjaf85fc42012-07-03 16:10:44 -07002395 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2396 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002397 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2398 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2399 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2400 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2401 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -07002402 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
ohair46fcac92012-09-18 11:29:24 -07002403 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -08002404 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
jchen21981182013-05-23 12:16:17 -07002405 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava \
2406 -framework Accelerate \
2407 -framework ApplicationServices \
2408 -framework Cocoa \
2409 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2410 -framework JavaNativeFoundation \
2411 -framework JavaRuntimeSupport,\
andrew93196e42013-05-04 17:04:57 +01002412 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\
2413 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002414
2415$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2416
2417BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2418
2419endif
2420endif
2421
2422##########################################################################################
2423
2424ifndef BUILD_HEADLESS_ONLY
2425LIBSPLASHSCREEN_DIRS:=\
erikjaf85fc42012-07-03 16:10:44 -07002426 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2427 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
erikj5c99f2c2012-11-28 13:29:35 +01002428 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
2429
omajid6d3bb7b2013-04-02 14:13:13 -04002430ifeq ($(USE_EXTERNAL_LIBGIF),true)
2431 GIFLIB_LDFLAGS := -lgif
2432else
2433 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib
2434 GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
2435endif
2436
erikj5c99f2c2012-11-28 13:29:35 +01002437ifneq ($(OPENJDK_TARGET_OS), macosx)
2438 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
2439else
2440 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2441endif
2442
erikjaf85fc42012-07-03 16:10:44 -07002443LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2444 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2445
2446ifeq ($(OPENJDK_TARGET_OS), macosx)
2447 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2448 $(LIBSPLASHSCREEN_CFLAGS) \
2449 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2450 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2451 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2452
2453 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2454 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2455 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2456 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2457 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2458 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2459 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2460
2461else ifneq ($(OPENJDK_TARGET_OS), windows)
2462 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2463else
2464 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2465endif
2466
erikjaf85fc42012-07-03 16:10:44 -07002467LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2468
2469ifneq ($(USE_EXTERNAL_LIBZ),true)
2470 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002471 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002472endif
2473
2474ifeq ($(OPENJDK_TARGET_OS), macosx)
2475 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2476 -framework ApplicationServices \
2477 -framework Foundation \
2478 -framework Cocoa \
2479 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2480 -framework JavaNativeFoundation
2481else ifneq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002482 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
erikjaf85fc42012-07-03 16:10:44 -07002483else # OPENJDK_TARGET_OS
ohairb71409c2012-10-26 14:23:29 -07002484 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
erikjaf85fc42012-07-03 16:10:44 -07002485endif # OPENJDK_TARGET_OS
2486
2487$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2488 LIBRARY:=splashscreen,\
2489 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2490 SRC:=$(LIBSPLASHSCREEN_DIRS),\
erikj5c99f2c2012-11-28 13:29:35 +01002491 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\
erikjaf85fc42012-07-03 16:10:44 -07002492 LANG:=C,\
2493 OPTIMIZATION:=LOW, \
omajid6d3bb7b2013-04-02 14:13:13 -04002494 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002495 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2496 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2497 $(call SET_SHARED_LIBRARY_ORIGIN),\
omajid6d3bb7b2013-04-02 14:13:13 -04002498 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002499 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002500 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2501 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002502 -D "JDK_FNAME=splashscreen.dll" \
2503 -D "JDK_INTERNAL_NAME=splashscreen" \
2504 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002505 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
andrew93196e42013-05-04 17:04:57 +01002506 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002507
2508BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2509
2510ifeq ($(OPENJDK_TARGET_OS),macosx)
2511$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
2512endif
2513
2514endif
2515
2516##########################################################################################
2517
2518ifndef OPENJDK
2519
2520LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002521 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2522 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2523 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2524 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2525
erikjaf85fc42012-07-03 16:10:44 -07002526LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002527 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2528
2529$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002530 LIBRARY:=dcpr,\
2531 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002532 SRC:=$(LIBDCPR_SRC_DIRS),\
2533 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002534 OPTIMIZATION:=LOW, \
2535 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002536 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002537 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002538 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002539 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002540 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002541 LDFLAGS_SUFFIX_posix:=-lm,\
ohair46fcac92012-09-18 11:29:24 -07002542 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2543 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002544 -D "JDK_FNAME=dcpr.dll" \
2545 -D "JDK_INTERNAL_NAME=dcpr" \
2546 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002547 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
andrew93196e42013-05-04 17:04:57 +01002548 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002549
erikjaf85fc42012-07-03 16:10:44 -07002550$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002551
erikjaf85fc42012-07-03 16:10:44 -07002552BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002553
2554endif
2555
2556##########################################################################################
2557
2558$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002559 LIBRARY:=j2pcsc,\
2560 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002561 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002562 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002563 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002564 CFLAGS_posix:=-D__sun_jdk,\
2565 OPTIMIZATION:=LOW, \
2566 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002567 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002568 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
2569 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
erikjaf85fc42012-07-03 16:10:44 -07002570 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002571 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2572 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002573 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2574 LDFLAGS_SUFFIX_windows:=winscard.lib,\
tbell7d47bd02012-11-12 10:20:01 -08002575 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002576 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2577 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002578 -D "JDK_FNAME=j2pcsc.dll" \
2579 -D "JDK_INTERNAL_NAME=j2pcsc" \
2580 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002581 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
andrew93196e42013-05-04 17:04:57 +01002582 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002583
erikjaf85fc42012-07-03 16:10:44 -07002584BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002585
2586##########################################################################################
2587
erikjaf85fc42012-07-03 16:10:44 -07002588ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002589$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002590 LIBRARY:=j2gss,\
2591 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002592 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002593 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002594 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002595 OPTIMIZATION:=LOW, \
2596 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002597 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002598 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002599 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002600 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2601 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002602 LDFLAGS_SUFFIX:=$(LIBDL),\
2603 LDFLAGS_SUFFIX_solaris:=-lc,\
andrew93196e42013-05-04 17:04:57 +01002604 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss,\
2605 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002606
erikjaf85fc42012-07-03 16:10:44 -07002607BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002608endif
2609
2610##########################################################################################
2611
erikj41f82602013-06-11 13:26:15 +02002612ifneq ($(BUILD_CRYPTO),no)
2613 BUILD_LIBKRB5_NAME:=
2614 ifeq ($(OPENJDK_TARGET_OS), windows)
erikjaf85fc42012-07-03 16:10:44 -07002615 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
ohair46fcac92012-09-18 11:29:24 -07002616 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
ohairb71409c2012-10-26 14:23:29 -07002617 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
2618 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
2619 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
erikj41f82602013-06-11 13:26:15 +02002620 else ifeq ($(OPENJDK_TARGET_OS), macosx)
erikjaf85fc42012-07-03 16:10:44 -07002621 BUILD_LIBKRB5_NAME:=osxkrb5
erikj5c99f2c2012-11-28 13:29:35 +01002622 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5
erikjaf85fc42012-07-03 16:10:44 -07002623 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikj41f82602013-06-11 13:26:15 +02002624 endif
erikje78df742012-06-07 20:40:50 -07002625
erikj41f82602013-06-11 13:26:15 +02002626 ifneq ($(BUILD_LIBKRB5_NAME),)
2627 $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002628 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2629 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01002630 SRC:=$(BUILD_LIBKRB5_SRC),\
erikje78df742012-06-07 20:40:50 -07002631 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002632 OPTIMIZATION:=LOW, \
2633 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002634 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
ohair46fcac92012-09-18 11:29:24 -07002635 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002636 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2637 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002638 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
ohair46fcac92012-09-18 11:29:24 -07002639 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2640 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002641 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
2642 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
2643 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002644 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
andrew93196e42013-05-04 17:04:57 +01002645 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002646
erikj41f82602013-06-11 13:26:15 +02002647 BUILD_LIBRARIES += $(BUILD_LIBKRB5)
2648 endif
erikje78df742012-06-07 20:40:50 -07002649endif
2650
2651##########################################################################################
2652
erikjaf85fc42012-07-03 16:10:44 -07002653ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002654
2655$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002656 LIBRARY:=sunmscapi,\
2657 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohairb71409c2012-10-26 14:23:29 -07002658 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
erikje78df742012-06-07 20:40:50 -07002659 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002660 OPTIMIZATION:=LOW, \
2661 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -07002662 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
2663 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002664 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002665 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002666 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2667 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002668 -D "JDK_FNAME=sunmscapi.dll" \
2669 -D "JDK_INTERNAL_NAME=sunmscapi" \
2670 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002671 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
andrew93196e42013-05-04 17:04:57 +01002672 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002673
erikjaf85fc42012-07-03 16:10:44 -07002674BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
erikje78df742012-06-07 20:40:50 -07002675endif
2676
2677##########################################################################################
2678
erikje78df742012-06-07 20:40:50 -07002679$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002680 LIBRARY:=j2pkcs11,\
2681 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002682 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002683 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002684 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002685 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002686 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002687 OPTIMIZATION:=LOW, \
2688 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002689 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002690 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002691 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002692 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002693 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002694 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2695 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002696 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2697 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002698 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2699 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002700 -D "JDK_FNAME=j2pkcs11.dll" \
2701 -D "JDK_INTERNAL_NAME=j2pkcs11" \
2702 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002703 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
andrew93196e42013-05-04 17:04:57 +01002704 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002705
erikjaf85fc42012-07-03 16:10:44 -07002706BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002707
2708##########################################################################################
2709
omajid1a381ca2013-03-18 10:46:49 -04002710ifeq ($(ENABLE_INTREE_EC),yes)
2711
erikjaf85fc42012-07-03 16:10:44 -07002712BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2713 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2714
2715#
2716# On sol-sparc...all libraries are compiled with -xregs=no%appl
2717# (set in CFLAGS_REQUIRED_sparc)
2718#
2719# except!!! libsunec.so
2720#
2721ECC_JNI_SOLSPARC_FILTER:=
2722ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2723 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2724endif
erikje78df742012-06-07 20:40:50 -07002725
2726$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002727 LIBRARY:=sunec,\
2728 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002729 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2730 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002731 LANG:=C++, \
2732 OPTIMIZATION:=LOW, \
2733 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2734 $(BUILD_LIBSUNEC_FLAGS) \
2735 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2736 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2737 $(BUILD_LIBSUNEC_FLAGS),\
2738 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002739 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
2740 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002741 LDFLAGS_SUFFIX:=$(LIBCXX),\
ohair46fcac92012-09-18 11:29:24 -07002742 LDFLAGS_SUFFIX_linux:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002743 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002744 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2745 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002746 -D "JDK_FNAME=sunec.dll" \
2747 -D "JDK_INTERNAL_NAME=sunec" \
2748 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002749 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
andrew93196e42013-05-04 17:04:57 +01002750 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002751
erikjaf85fc42012-07-03 16:10:44 -07002752BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002753endif
2754
2755##########################################################################################
2756
erikjaf85fc42012-07-03 16:10:44 -07002757LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002758 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
ohair46fcac92012-09-18 11:29:24 -07002759 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002760
erikjaf85fc42012-07-03 16:10:44 -07002761LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002762
erikjaf85fc42012-07-03 16:10:44 -07002763LIBJSOUND_LANG:=C
2764LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002765
erikjaf85fc42012-07-03 16:10:44 -07002766EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002767
erikjaf85fc42012-07-03 16:10:44 -07002768LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002769 MidiInDevice.c \
2770 MidiInDeviceProvider.c \
2771 MidiOutDevice.c \
2772 MidiOutDeviceProvider.c \
2773 PlatformMidi.c
2774
2775# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002776LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002777 PortMixerProvider.c \
2778 PortMixer.c
2779
2780# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002781LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002782 DirectAudioDeviceProvider.c \
2783 DirectAudioDevice.c
2784
erikjaf85fc42012-07-03 16:10:44 -07002785ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002786 EXTRA_SOUND_JNI_LIBS += jsoundds
2787 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2788 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2789 -DUSE_PLATFORM_MIDI_IN=TRUE \
2790 -DUSE_PORTS=TRUE
2791 LIBJSOUND_SRC_FILES += \
2792 PLATFORM_API_WinOS_MidiIn.cpp \
2793 PLATFORM_API_WinOS_MidiOut.c \
2794 PLATFORM_API_WinOS_Util.c \
2795 PLATFORM_API_WinOS_Ports.c
2796 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2797 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002798endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002799
erikjaf85fc42012-07-03 16:10:44 -07002800ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002801 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2802 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002803endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002804
erikjaf85fc42012-07-03 16:10:44 -07002805ifeq ($(OPENJDK_TARGET_OS), macosx)
2806 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002807 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2808 -DUSE_PORTS=TRUE \
2809 -DUSE_DAUDIO=TRUE \
2810 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2811 -DUSE_PLATFORM_MIDI_IN=TRUE
2812 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2813 LIBJSOUND_SRC_FILES += \
2814 PLATFORM_API_MacOSX_Utils.cpp \
2815 PLATFORM_API_MacOSX_PCM.cpp \
2816 PLATFORM_API_MacOSX_Ports.cpp \
2817 PLATFORM_API_MacOSX_MidiIn.c \
2818 PLATFORM_API_MacOSX_MidiOut.c \
2819 PLATFORM_API_MacOSX_MidiUtils.c
2820 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2821 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2822 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002823endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002824
erikjaf85fc42012-07-03 16:10:44 -07002825ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002826 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2827 -DUSE_PORTS=TRUE \
2828 -DUSE_DAUDIO=TRUE
2829 LIBJSOUND_SRC_FILES += \
2830 PLATFORM_API_SolarisOS_Utils.c \
2831 PLATFORM_API_SolarisOS_Ports.c \
2832 PLATFORM_API_SolarisOS_PCM.c
2833 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2834 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2835 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002836endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002837
2838
2839ifeq ($(JVM_VARIANT_ZERO), true)
2840 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2841else
ohair46fcac92012-09-18 11:29:24 -07002842 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikje78df742012-06-07 20:40:50 -07002843 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
ohair46fcac92012-09-18 11:29:24 -07002844 endif
erikje78df742012-06-07 20:40:50 -07002845
ohair46fcac92012-09-18 11:29:24 -07002846 ifeq ($(OPENJDK_TARGET_CPU), sparc)
erikje78df742012-06-07 20:40:50 -07002847 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
ohair46fcac92012-09-18 11:29:24 -07002848 endif
erikje78df742012-06-07 20:40:50 -07002849
ohair46fcac92012-09-18 11:29:24 -07002850 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
erikje78df742012-06-07 20:40:50 -07002851 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
ohair46fcac92012-09-18 11:29:24 -07002852 endif
erikje78df742012-06-07 20:40:50 -07002853
ohair46fcac92012-09-18 11:29:24 -07002854 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikje78df742012-06-07 20:40:50 -07002855 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
ohair46fcac92012-09-18 11:29:24 -07002856 endif
erikje78df742012-06-07 20:40:50 -07002857
ohair46fcac92012-09-18 11:29:24 -07002858 ifeq ($(OPENJDK_TARGET_CPU), arm)
erikje78df742012-06-07 20:40:50 -07002859 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
ohair46fcac92012-09-18 11:29:24 -07002860 endif
erikje78df742012-06-07 20:40:50 -07002861
ohair46fcac92012-09-18 11:29:24 -07002862 ifeq ($(OPENJDK_TARGET_CPU), ppc)
erikje78df742012-06-07 20:40:50 -07002863 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
ohair46fcac92012-09-18 11:29:24 -07002864 endif
erikje78df742012-06-07 20:40:50 -07002865endif
2866
2867LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2868
2869$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002870 LIBRARY:=jsound,\
2871 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002872 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002873 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002874 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002875 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07002876 CFLAGS:=$(CFLAGS_JDKLIB) \
2877 $(LIBJSOUND_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002878 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2879 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002880 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2881 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002882 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
2883 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2884 -framework CoreMIDI -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -07002885 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
ohairb71409c2012-10-26 14:23:29 -07002886 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
erikje78df742012-06-07 20:40:50 -07002887 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002888 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2889 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002890 -D "JDK_FNAME=jsound.dll" \
2891 -D "JDK_INTERNAL_NAME=jsound" \
2892 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002893 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
andrew93196e42013-05-04 17:04:57 +01002894 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002895
erikjaf85fc42012-07-03 16:10:44 -07002896$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002897
erikjaf85fc42012-07-03 16:10:44 -07002898BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002899
2900##########################################################################################
2901
2902ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2903
2904$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002905 LIBRARY:=jsoundalsa,\
2906 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002907 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002908 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002909 $(LIBJSOUND_DAUDIOFILES) \
2910 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2911 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2912 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2913 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2914 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2915 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2916 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002917 LANG:=C,\
2918 OPTIMIZATION:=LOW, \
erikja88dfd32013-06-13 14:04:54 +02002919 CFLAGS:=$(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \
erikje78df742012-06-07 20:40:50 -07002920 $(LIBJSOUND_CFLAGS) \
2921 -DUSE_DAUDIO=TRUE \
2922 -DUSE_PORTS=TRUE \
2923 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2924 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07002925 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002926 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2927 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikja88dfd32013-06-13 14:04:54 +02002928 LDFLAGS_SUFFIX:=$(ALSA_LIBS) -ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01002929 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa,\
2930 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002931
erikjaf85fc42012-07-03 16:10:44 -07002932$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002933
erikjaf85fc42012-07-03 16:10:44 -07002934BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07002935
2936endif
2937
2938##########################################################################################
2939
2940ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
2941
2942$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07002943 LIBRARY:=jsoundds,\
2944 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002945 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002946 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07002947 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07002948 LANG:=C++,\
2949 OPTIMIZATION:=LOW, \
2950 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002951 $(LIBJSOUND_CFLAGS) \
erikjebad8f92013-03-06 16:15:16 +01002952 -DUSE_DAUDIO=TRUE \
2953 -I$(DXSDK_INCLUDE_PATH), \
ohair46fcac92012-09-18 11:29:24 -07002954 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002955 $(call SET_SHARED_LIBRARY_ORIGIN),\
2956 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002957 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2958 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002959 -D "JDK_FNAME=jsoundds.dll" \
2960 -D "JDK_INTERNAL_NAME=jsoundds" \
2961 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002962 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
andrew93196e42013-05-04 17:04:57 +01002963 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002964
erikjaf85fc42012-07-03 16:10:44 -07002965$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002966
erikjaf85fc42012-07-03 16:10:44 -07002967BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07002968
2969endif
2970
2971##########################################################################################
2972
erikjaf85fc42012-07-03 16:10:44 -07002973ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002974ifndef OPENJDK
2975
2976$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07002977 LIBRARY:=j2ucrypto,\
2978 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002979 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07002980 LANG:=C,\
2981 OPTIMIZATION:=LOW, \
2982 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002983 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07002984 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002985 LDFLAGS:=$(LDFLAGS_JDKLIB),\
erikje78df742012-06-07 20:40:50 -07002986 LDFLAGS_SUFFIX:=$(LIBDL),\
erikj3da9f312013-02-18 11:26:23 +01002987 LDFLAGS_SUFFIX_solaris:=-lc,\
andrew93196e42013-05-04 17:04:57 +01002988 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto,\
2989 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002990
erikjaf85fc42012-07-03 16:10:44 -07002991$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002992
erikjaf85fc42012-07-03 16:10:44 -07002993BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07002994
2995endif
2996endif
2997
2998##########################################################################################
2999
erikjaf85fc42012-07-03 16:10:44 -07003000ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003001
erikje78df742012-06-07 20:40:50 -07003002$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07003003 LIBRARY:=AppleScriptEngine,\
3004 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003005 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07003006 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003007 OPTIMIZATION:=LOW, \
3008 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003009 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
3010 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3011 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
3012 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3013 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003014 LDFLAGS_SUFFIX:=-framework Cocoa \
3015 -framework Carbon \
3016 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3017 -framework JavaNativeFoundation \
3018 $(LDFLAGS_JDKLIB_SUFFIX),\
andrew93196e42013-05-04 17:04:57 +01003019 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine,\
3020 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003021
erikjaf85fc42012-07-03 16:10:44 -07003022$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
3023
3024BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07003025
3026endif
3027
3028##########################################################################################
3029
erikjaf85fc42012-07-03 16:10:44 -07003030ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003031
erikje78df742012-06-07 20:40:50 -07003032$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07003033 LIBRARY:=osxapp,\
3034 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003035 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07003036 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003037 OPTIMIZATION:=LOW, \
3038 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003039 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
ohairb71409c2012-10-26 14:23:29 -07003040 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
erikje78df742012-06-07 20:40:50 -07003041 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3042 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3043 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3044 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003045 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003046 -framework Accelerate \
3047 -framework ApplicationServices \
3048 -framework AudioToolbox \
3049 -framework Carbon \
3050 -framework Cocoa \
3051 -framework Security \
3052 -framework ExceptionHandling \
3053 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3054 -framework JavaNativeFoundation \
3055 -framework JavaRuntimeSupport \
3056 -framework OpenGL \
3057 -framework IOSurface \
3058 -framework QuartzCore, \
andrew93196e42013-05-04 17:04:57 +01003059 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp,\
3060 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003061
erikjaf85fc42012-07-03 16:10:44 -07003062BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003063
3064endif
3065
3066##########################################################################################
3067
erikjaf85fc42012-07-03 16:10:44 -07003068ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003069
erikjaf85fc42012-07-03 16:10:44 -07003070LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003071 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3072 $(JDK_TOPDIR)/src/macosx/native/java/util \
3073 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3074 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3075 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3076
3077$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003078 LIBRARY:=osx,\
3079 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003080 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003081 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003082 OPTIMIZATION:=LOW, \
3083 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003084 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3085 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3086 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3087 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3088 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3089 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003090 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003091 -losxapp \
3092 -framework Cocoa \
3093 -framework ApplicationServices \
3094 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3095 -framework JavaNativeFoundation \
3096 -framework JavaRuntimeSupport \
3097 -framework Security \
3098 -framework SystemConfiguration \
3099 $(LDFLAGS_JDKLIB_SUFFIX), \
andrew93196e42013-05-04 17:04:57 +01003100 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx,\
3101 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003102
erikjaf85fc42012-07-03 16:10:44 -07003103BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003104
erikjaf85fc42012-07-03 16:10:44 -07003105$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003106
erikjaf85fc42012-07-03 16:10:44 -07003107$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003108
3109endif
3110
3111##########################################################################################
3112
erikjaf85fc42012-07-03 16:10:44 -07003113ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003114
erikjaf85fc42012-07-03 16:10:44 -07003115LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003116 awt.m \
3117 ApplicationDelegate.m \
3118 CFRetainedResource.m \
3119 CGLGraphicsConfig.m \
3120 CGLSurfaceData.m \
3121 CGLLayer.m \
3122 CGraphicsConfig.m \
3123 CGraphicsDevice.m \
3124 CGraphicsEnv.m \
3125 CCharToGlyphMapper.m \
3126 CSystemColors.m \
3127 AWTFont.m \
3128 CGGlyphOutlines.m \
3129 CGGlyphImages.m \
3130 CoreTextSupport.m \
3131 AWTStrike.m \
3132 InitIDs.m \
3133 AWTEvent.m \
3134 AWTView.m \
3135 AWTWindow.m \
3136 AWTSurfaceLayers.m \
3137 CCursorManager.m \
3138 CClipboard.m \
3139 CDataTransferer.m \
3140 CDragSource.m \
3141 CDragSourceContextPeer.m \
3142 CDropTarget.m \
3143 CDropTargetContextPeer.m \
3144 CInputMethod.m \
3145 CDesktopPeer.m \
3146 OSVersion.m \
3147 DnDUtilities.m \
3148 CFileDialog.m \
3149 CImage.m \
3150 CMenu.m \
3151 CMenuBar.m \
3152 CMenuComponent.m \
3153 CMenuItem.m \
3154 CPopupMenu.m \
3155 CRobot.m \
3156 CTrayIcon.m \
3157 CWrapper.m \
3158 JavaAccessibilityAction.m \
3159 JavaAccessibilityUtilities.m \
3160 JavaComponentAccessibility.m \
3161 JavaTextAccessibility.m \
3162 LWCToolkit.m \
3163 GeomUtilities.m \
3164 CPrinterJob.m \
3165 PrintModel.m \
3166 PrinterSurfaceData.m \
3167 PrinterView.m \
3168 QuartzSurfaceData.m \
3169 QuartzRenderer.m \
3170 CTextPipe.m \
3171 ImageSurfaceData.m \
3172 awt_DrawingSurface.m \
3173 \
3174 OGLBlitLoops.c \
3175 OGLBufImgOps.c \
3176 OGLContext.c \
3177 OGLFuncs.c \
3178 OGLMaskBlit.c \
3179 OGLMaskFill.c \
3180 OGLPaints.c \
3181 OGLRenderQueue.c \
3182 OGLRenderer.c \
3183 OGLSurfaceData.c \
3184 OGLTextRenderer.c \
3185 OGLVertexCache.c \
3186 AccelGlyphCache.c \
3187 CUPSfuncs.c
3188
3189
erikjaf85fc42012-07-03 16:10:44 -07003190LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003191 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3192 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3193 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3194 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3195 $(JDK_TOPDIR)/src/share/native/sun/font \
3196 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3197
3198$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003199 LIBRARY:=awt_lwawt,\
3200 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003201 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003202 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003203 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003204 OPTIMIZATION:=LOW, \
3205 CFLAGS:=$(CFLAGS_JDKLIB) \
ohrstrom5048dab2012-10-29 13:41:38 -07003206 $(X_CFLAGS) \
3207 $(X_LIBS) \
erikje78df742012-06-07 20:40:50 -07003208 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3209 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3210 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3211 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3212 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3213 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3214 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3215 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3216 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3217 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3218 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3219 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3220 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003221 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
3222 -framework Accelerate \
3223 -framework ApplicationServices \
3224 -framework AudioToolbox \
3225 -framework Carbon \
3226 -framework Cocoa \
3227 -framework Security \
3228 -framework ExceptionHandling \
3229 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3230 -framework JavaNativeFoundation \
3231 -framework JavaRuntimeSupport \
3232 -framework OpenGL \
3233 -framework QuartzCore -ljava,\
andrew93196e42013-05-04 17:04:57 +01003234 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt,\
3235 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003236
erikjaf85fc42012-07-03 16:10:44 -07003237BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003238
erikjaf85fc42012-07-03 16:10:44 -07003239$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003240
erikjaf85fc42012-07-03 16:10:44 -07003241$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003242
erikjaf85fc42012-07-03 16:10:44 -07003243$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003244
erikjaf85fc42012-07-03 16:10:44 -07003245$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003246
3247endif
3248
3249##########################################################################################
3250
erikjaf85fc42012-07-03 16:10:44 -07003251ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003252
erikje78df742012-06-07 20:40:50 -07003253$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003254 LIBRARY:=osxui,\
3255 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003256 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003257 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003258 OPTIMIZATION:=LOW, \
3259 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003260 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3261 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3262 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3263 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3264 LDFLAGS:=$(LDFLAGS_JDKLIB)\
ohair46fcac92012-09-18 11:29:24 -07003265 $(call SET_SHARED_LIBRARY_ORIGIN) \
3266 -Xlinker -rpath -Xlinker @loader_path,\
3267 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
3268 -framework Cocoa \
3269 -framework Carbon \
3270 -framework ApplicationServices \
3271 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3272 -framework JavaNativeFoundation \
3273 -framework JavaRuntimeSupport \
3274 -ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01003275 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui,\
3276 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003277
erikjaf85fc42012-07-03 16:10:44 -07003278BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003279
erikjaf85fc42012-07-03 16:10:44 -07003280$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003281
erikjaf85fc42012-07-03 16:10:44 -07003282$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003283
erikjaf85fc42012-07-03 16:10:44 -07003284$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003285
erikjaf85fc42012-07-03 16:10:44 -07003286#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3287
3288endif
3289
3290##########################################################################################
3291
3292ifeq ($(OPENJDK_TARGET_OS), macosx)
3293
ohair46fcac92012-09-18 11:29:24 -07003294# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
3295SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
3296
3297$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\
erikjaf85fc42012-07-03 16:10:44 -07003298 LIBRARY:=JObjC,\
ohair46fcac92012-09-18 11:29:24 -07003299 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3300 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3301 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3302 LANG:=C,\
3303 OPTIMIZATION:=LOW, \
3304 CFLAGS:=-fpascal-strings \
3305 -fobjc-gc \
3306 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003307 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
ohair46fcac92012-09-18 11:29:24 -07003308 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3309 -m32,\
3310 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3311 -m32, \
3312 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3313 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3314 -framework JavaNativeFoundation \
3315 -lffi, \
andrew93196e42013-05-04 17:04:57 +01003316 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3317 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
ohair46fcac92012-09-18 11:29:24 -07003318
3319$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\
3320 LIBRARY:=JObjC,\
3321 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
erikjaf85fc42012-07-03 16:10:44 -07003322 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3323 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3324 LANG:=C,\
3325 OPTIMIZATION:=LOW, \
3326 CFLAGS:=-fpascal-strings \
3327 -fobjc-gc \
3328 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003329 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
erikjaf85fc42012-07-03 16:10:44 -07003330 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3331 , \
3332 LDFLAGS:=-fpascal-strings \
3333 -fobjc-gc \
3334 -gdwarf-2 \
3335 $(LDFLAGS_JDKLIB)\
3336 $(call SET_SHARED_LIBRARY_ORIGIN), \
3337 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3338 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3339 -framework JavaNativeFoundation \
3340 -lffi, \
andrew93196e42013-05-04 17:04:57 +01003341 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
3342 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07003343
ohair46fcac92012-09-18 11:29:24 -07003344$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3345 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3346
3347BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
erikje78df742012-06-07 20:40:50 -07003348
3349endif
3350
3351##########################################################################################
3352
raginip450da982013-01-18 11:33:31 -08003353ifndef OPENJDK
3354ifeq ($(OPENJDK_TARGET_OS), windows)
3355
3356 ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
3357
3358 define SetupAccessBridge
3359 # Parameter 1 Suffix
3360 # Parameter 2 Machine
3361 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
3362
3363 $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\
3364 LIBRARY=JAWTAccessBridge$1,\
3365 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3366 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3367 INCLUDE_FILES:=JAWTAccessBridge.cpp,\
3368 LANG:=C++,\
3369 OPTIMIZATION:=LOW,\
3370 CFLAGS:=$(CFLAGS_JDKLIB) \
3371 -DACCESSBRIDGE_ARCH_$3,\
3372 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3373 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
3374 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3375 -subsystem:windows -machine:$2 \
3376 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\
3377 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3378 RC_FLAGS:=$(RC_FLAGS),\
3379 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\
3380 DEBUG_SYMBOLS:=true)
3381
3382 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
3383
3384 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\
3385 LIBRARY=JavaAccessBridge$1,\
3386 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3387 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3388 INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
3389 AccessBridgeJavaEntryPoints.cpp \
3390 AccessBridgeMessages.cpp JavaAccessBridge.cpp,\
3391 LANG:=C++,\
3392 OPTIMIZATION:=LOW,\
3393 CFLAGS:=$(CFLAGS_JDKLIB) \
3394 -DACCESSBRIDGE_ARCH_$3,\
3395 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3396 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3397 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3398 -subsystem:windows -machine:$2 \
3399 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\
3400 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3401 RC_FLAGS:=$(RC_FLAGS),\
3402 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\
3403 DEBUG_SYMBOLS:=true)
3404
3405 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\
3406 LIBRARY=WindowsAccessBridge$1,\
3407 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3408 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3409 INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
3410 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
3411 WinAccessBridge.cpp AccessBridgeDebug.cpp \
3412 AccessBridgeEventHandler.cpp,\
3413 LANG:=C++,\
3414 OPTIMIZATION:=LOW,\
3415 CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \
3416 -DACCESSBRIDGE_ARCH_$3,\
3417 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3418 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3419 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3420 -subsystem:windows -machine:$2 \
3421 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\
3422 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3423 RC_FLAGS:=$(RC_FLAGS),\
3424 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\
3425 DEBUG_SYMBOLS:=true)
3426
3427 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
3428 $$(BUILD_WINDOWSACCESSBRIDGE$1)
3429
3430 endef
3431
3432 ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
3433 $(eval $(call SetupAccessBridge,-32,I386,32))
3434 $(eval $(call SetupAccessBridge,,I386,LEGACY))
3435 else
3436 $(eval $(call SetupAccessBridge,-64,X64,64))
3437 endif
3438endif
3439endif
3440
3441
3442##########################################################################################
3443
ohair92de5662012-04-10 08:22:03 -07003444all: $(COPY_FILES) $(BUILD_LIBRARIES)
3445
3446.PHONY: all