blob: 0dd803cb4d8016b7a0541aeac722600fbc6f1d06 [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
erikjaf85fc42012-07-03 16:10:44 -0700208LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.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
prrc4209f62013-07-01 12:39:26 -07001330LIBFONTMANAGER_OPTIMIZATION:=HIGHEST
erikjaf85fc42012-07-03 16:10:44 -07001331
1332ifeq ($(OPENJDK_TARGET_OS),windows)
1333 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1334 X11TextRenderer.c
erikjaf85fc42012-07-03 16:10:44 -07001335else
1336 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1337 lcdglyph.c
1338endif
1339
1340BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1341 $(X_CFLAGS) \
1342 -DLE_STANDALONE -DHEADLESS \
1343 $(FONT_HEADERS) \
1344 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1345 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1346 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001347 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001348 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1349 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1350 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001351 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001352 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1353
1354# Turn off aliasing with GCC for ExtensionSubtables.cpp
1355ifeq ($(OPENJDK_TARGET_OS), linux)
1356 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1357endif
1358
1359$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1360 LIBRARY:=fontmanager, \
1361 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1362 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
ohair46fcac92012-09-18 11:29:24 -07001363 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
erikjaf85fc42012-07-03 16:10:44 -07001364 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1365 AccelGlyphCache.c,\
1366 LANG:=C++,\
1367 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1368 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1369 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
ohair46fcac92012-09-18 11:29:24 -07001370 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001371 -DCC_NOEX, \
1372 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
ohair46fcac92012-09-18 11:29:24 -07001373 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001374 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001375 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1376 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1377 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
ohairb71409c2012-10-26 14:23:29 -07001378 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1379 -ljava -ljvm,\
1380 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1381 $(WIN_AWT_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001382 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1383 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001384 -D "JDK_FNAME=fontmanager.dll" \
1385 -D "JDK_INTERNAL_NAME=fontmanager" \
1386 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001387 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
andrew93196e42013-05-04 17:04:57 +01001388 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001389
1390$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1391
1392ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1393$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1394endif
1395
1396BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001397
1398##########################################################################################
1399
1400ifndef OPENJDK
1401
erikjaf85fc42012-07-03 16:10:44 -07001402# ifeq ($(OPENJDK_TARGET_OS), linux)
1403# ifeq ("$(CC_VER_MAJOR)", "3")
1404# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1405# endif
1406# endif
1407#
1408# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1409# the input .o files. Because of this the new build will differ in size to the old build.
1410 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1411 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1412 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1413 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -07001414 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -07001415 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1416 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001417 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001418 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1419
1420 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1421 LIBRARY:=t2k, \
1422 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1423 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1424 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1425 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1426 EXCLUDE_FILES:=orion.c,\
1427 LANG:=C++,\
1428 OPTIMIZATION:=HIGH, \
1429 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1430 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1431 CFLAGS_windows=-DCC_NOEX, \
1432 CXXFLAGS_windows=-DCC_NOEX, \
1433 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001434 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001435 $(call SET_SHARED_LIBRARY_ORIGIN),\
1436 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
ohair46fcac92012-09-18 11:29:24 -07001437 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
1438 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
1439 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1440 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001441 -D "JDK_FNAME=t2k.dll" \
1442 -D "JDK_INTERNAL_NAME=t2k" \
1443 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001444 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
andrew93196e42013-05-04 17:04:57 +01001445 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001446
1447 # t2k is linked against fontmanager
1448 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1449
1450 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1451endif
1452
1453##########################################################################################
1454
erikjaf85fc42012-07-03 16:10:44 -07001455ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001456 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikjaf85fc42012-07-03 16:10:44 -07001457 KERNEL32_LIB:=kernel32.lib
1458 endif
1459 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1460 LIBRARY:=jawt, \
1461 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001462 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
erikjaf85fc42012-07-03 16:10:44 -07001463 INCLUDE_FILES:=jawt.cpp,\
1464 LANG:=C++,\
1465 OPTIMIZATION:=LOW, \
1466 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1467 -EHsc -DUNICODE -D_UNICODE \
ohair46fcac92012-09-18 11:29:24 -07001468 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001469 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1470 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1471 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
erikjebad8f92013-03-06 16:15:16 +01001472 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
1473 -I$(DXSDK_INCLUDE_PATH), \
ohair46fcac92012-09-18 11:29:24 -07001474 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001475 advapi32.lib $(WIN_AWT_LIB),\
1476 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001477 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1478 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001479 -D "JDK_FNAME=jawt.dll" \
1480 -D "JDK_INTERNAL_NAME=jawt" \
1481 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001482 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
andrew93196e42013-05-04 17:04:57 +01001483 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001484
1485$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1486
1487$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1488 $(ECHO) Copying $(@F)
ohair46fcac92012-09-18 11:29:24 -07001489 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
erikjaf85fc42012-07-03 16:10:44 -07001490
1491BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1492
1493else # OPENJDK_TARGET_OS not windows
1494
1495 JAWT_LIBS:=
1496 ifneq ($(OPENJDK_TARGET_OS), solaris)
1497 JAWT_LIBS += -lawt
1498 endif
1499
1500 ifndef BUILD_HEADLESS_ONLY
1501 JAWT_LIBS += -lawt_xawt
1502 else
1503 JAWT_LIBS += -lawt_headless
1504 HEADLESS_CFLAG += -DHEADLESS
1505 endif
1506
1507 JAWT_FILES:=jawt.c
1508 ifeq ($(OPENJDK_TARGET_OS), macosx)
1509 JAWT_FILES:=jawt.m
1510 JAWT_LIBS:=-lawt_lwawt
1511 endif
1512
1513 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1514 LIBRARY:=jawt, \
1515 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001516 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001517 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1518 INCLUDE_FILES:=$(JAWT_FILES),\
1519 LANG:=C,\
1520 OPTIMIZATION:=LOW, \
1521 CFLAGS:=$(CFLAGS_JDKLIB), \
1522 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1523 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1524 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1525 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1526 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001527 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1528 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1529 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1530 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1531 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
andrew93196e42013-05-04 17:04:57 +01001532 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1533 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001534
1535ifndef BUILD_HEADLESS_ONLY
1536$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1537else
1538$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1539endif
1540
1541ifeq ($(OPENJDK_TARGET_OS),macosx)
1542$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1543endif
1544
1545endif # OPENJDK_TARGET_OS
1546
1547BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1548
1549##########################################################################################
1550
ohair46fcac92012-09-18 11:29:24 -07001551LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1552 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
1553 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
erikjaf85fc42012-07-03 16:10:44 -07001554
ohair46fcac92012-09-18 11:29:24 -07001555LIBINSTRUMENT_FILES :=\
erikjaf85fc42012-07-03 16:10:44 -07001556 EncodingSupport.c \
1557 EncodingSupport_md.c \
1558 FileSystemSupport_md.c \
1559 InstrumentationImplNativeMethods.c \
1560 InvocationAdapter.c \
1561 JarFacade.c \
1562 JPLISAgent.c \
1563 JPLISAssert.c \
1564 JavaExceptions.c \
1565 PathCharsValidator.c \
1566 Reentrancy.c \
1567 Utilities.c \
1568 canonicalize_md.c
1569
ohair46fcac92012-09-18 11:29:24 -07001570LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1571LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
1572 -I$(JDK_TOPDIR)/src/share/instrument \
1573 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
1574 -I$(JDK_TOPDIR)/src/share/bin
erikjaf85fc42012-07-03 16:10:44 -07001575
ohair46fcac92012-09-18 11:29:24 -07001576LIBINSTRUMENT_LDFLAGS:=
1577LIBINSTRUMENT_LDFLAGS_SUFFIX:=
erikjaf85fc42012-07-03 16:10:44 -07001578
1579ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001580 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1581 -export:Agent_OnAttach advapi32.lib
1582 # Statically link the C runtime so that there are not dependencies on modules
1583 # not on the search patch when invoked from the Windows system directory
1584 # (or elsewhere).
1585 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
1586 # equivalent of strcasecmp is stricmp on Windows
1587 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
erikjaf85fc42012-07-03 16:10:44 -07001588endif
1589
1590$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1591 LIBRARY:=instrument, \
1592 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001593 SRC:=$(LIBINSTRUMENT_SRC),\
1594 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07001595 LANG:=C,\
1596 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07001597 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07001598 CFLAGS_debug:=-DJPLIS_LOGGING,\
1599 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1600 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001601 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1602 $(call SET_SHARED_LIBRARY_ORIGIN) \
1603 $(LIBINSTRUMENT_LDFLAGS),\
1604 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1605 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1606 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1607 -framework Cocoa -framework Security -framework ApplicationServices,\
1608 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1609 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08001610 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001611 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1612 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1613 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001614 -D "JDK_FNAME=instrument.dll" \
1615 -D "JDK_INTERNAL_NAME=instrument" \
1616 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001617 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
erikjaf85fc42012-07-03 16:10:44 -07001618 DEBUG_SYMBOLS:=true))
1619
1620ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1621$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1622else
1623$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1624endif
1625$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1626
1627BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1628
1629##########################################################################################
1630
1631BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
ohair46fcac92012-09-18 11:29:24 -07001632 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1633 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
erikjaf85fc42012-07-03 16:10:44 -07001634
1635BUILD_LIBMANAGEMENT_EXCLUDES:=
1636
1637BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1638
1639ifneq ($(OPENJDK_TARGET_OS), windows)
1640 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1641else
1642 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1643endif
1644
1645ifneq ($(OPENJDK_TARGET_OS),solaris)
1646 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1647endif
1648
1649ifneq ($(OPENJDK_TARGET_OS),linux)
1650 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1651endif
1652
1653ifneq ($(OPENJDK_TARGET_OS),macosx)
1654 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1655endif
1656
ohair46fcac92012-09-18 11:29:24 -07001657LIBMANAGEMENT_OPTIMIZATION:=HIGH
1658ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001659 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001660 LIBMANAGEMENT_OPTIMIZATION:=LOW
1661 endif
1662endif
erikjaf85fc42012-07-03 16:10:44 -07001663
1664$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1665 LIBRARY:=management,\
1666 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1667 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1668 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1669 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001670 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001671 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1672 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1673 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1674 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07001675 LDFLAGS_solaris:=-lkstat,\
1676 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001677 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001678 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1679 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001680 -D "JDK_FNAME=management.dll" \
1681 -D "JDK_INTERNAL_NAME=management" \
1682 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001683 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1684 DEBUG_SYMBOLS:=true))
1685
1686$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1687
1688BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1689
1690##########################################################################################
1691
ohair46fcac92012-09-18 11:29:24 -07001692BUILD_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 -07001693BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1694 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001695 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001696 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1697
1698BUILD_LIBHPROF_LDFLAGS:=
1699
ohair46fcac92012-09-18 11:29:24 -07001700LIBHPROF_OPTIMIZATION:=HIGHEST
1701ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001702 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001703 LIBHPROF_OPTIMIZATION:=LOW
1704 endif
1705endif
1706
erikjaf85fc42012-07-03 16:10:44 -07001707$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1708 LIBRARY:=hprof, \
1709 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1710 SRC:=$(BUILD_LIBHPROF_SRC),\
1711 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001712 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001713 CFLAGS:=$(CFLAGS_JDKLIB) \
1714 $(BUILD_LIBHPROF_CFLAGS),\
1715 CFLAGS_debug:=-DHPROF_LOGGING,\
1716 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1717 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1718 $(call SET_SHARED_LIBRARY_ORIGIN),\
1719 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
tbell7d47bd02012-11-12 10:20:01 -08001720 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1721 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
1722 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001723 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1724 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001725 -D "JDK_FNAME=hprof.dll" \
1726 -D "JDK_INTERNAL_NAME=hprof" \
1727 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001728 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1729 DEBUG_SYMBOLS:=true))
1730
1731BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1732
1733##########################################################################################
1734
1735$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1736 LIBRARY:=java_crw_demo, \
1737 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1738 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1739 LANG:=C,\
1740 OPTIMIZATION:=LOW, \
1741 CFLAGS:=$(CFLAGS_JDKLIB) \
1742 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1743 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1744 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1745 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08001746 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001747 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1748 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001749 -D "JDK_FNAME=java_crw_demo.dll" \
1750 -D "JDK_INTERNAL_NAME=java_crw_demo" \
1751 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001752 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1753 DEBUG_SYMBOLS:=true))
1754
1755BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1756
1757##########################################################################################
1758
1759$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1760 LIBRARY:=npt, \
1761 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001762 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001763 LANG:=C,\
1764 OPTIMIZATION:=LOW, \
1765 CFLAGS:=$(CFLAGS_JDKLIB) \
1766 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001767 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001768 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1769 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1770 $(call SET_SHARED_LIBRARY_ORIGIN),\
1771 LDFLAGS_macosx:=-liconv,\
1772 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
erikj4f66f2d2012-11-03 16:27:01 -07001773 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -07001774 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1775 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001776 -D "JDK_FNAME=npt.dll" \
1777 -D "JDK_INTERNAL_NAME=npt" \
1778 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001779 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1780 DEBUG_SYMBOLS:=true))
1781
1782BUILD_LIBRARIES += $(BUILD_LIBNPT)
1783
1784##########################################################################################
1785
1786LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001787 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1788 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
ohair46fcac92012-09-18 11:29:24 -07001789 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
erikjaf85fc42012-07-03 16:10:44 -07001790
ohairb71409c2012-10-26 14:23:29 -07001791ifeq ($(OPENJDK_TARGET_OS),windows)
1792 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1793else
1794 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1795endif
1796
erikjaf85fc42012-07-03 16:10:44 -07001797LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1798
1799LIBNET_EXCLUDE_FILES:=
1800ifneq ($(OPENJDK_TARGET_OS),linux)
1801 LIBNET_EXCLUDE_FILES += linux_close.c
1802endif
1803
1804ifneq ($(OPENJDK_TARGET_OS),macosx)
1805 LIBNET_EXCLUDE_FILES += bsd_close.c
1806endif
1807
1808ifeq ($(OPENJDK_TARGET_OS),windows)
1809 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1810else
1811 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1812 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1813 NTLMAuthSequence.c NetworkInterface_winXP.c
1814endif
1815
erikjaf85fc42012-07-03 16:10:44 -07001816$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1817 LIBRARY:=net,\
1818 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1819 SRC:=$(LIBNET_SRC_DIRS),\
1820 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1821 LANG:=C,\
1822 OPTIMIZATION:=LOW, \
1823 CFLAGS:=$(CFLAGS_JDKLIB) \
1824 $(LIBNET_CFLAGS),\
1825 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1826 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1827 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001828 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
erikj4f66f2d2012-11-03 16:27:01 -07001829 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
ohair46fcac92012-09-18 11:29:24 -07001830 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
ohairb71409c2012-10-26 14:23:29 -07001831 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1832 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1833 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
ohair46fcac92012-09-18 11:29:24 -07001834 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1835 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001836 -D "JDK_FNAME=net.dll" \
1837 -D "JDK_INTERNAL_NAME=net" \
1838 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001839 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
andrew93196e42013-05-04 17:04:57 +01001840 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001841
1842$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1843
1844BUILD_LIBRARIES += $(BUILD_LIBNET)
1845
1846$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
ohairb71409c2012-10-26 14:23:29 -07001847 $(ECHO) $(LOG_INFO) Copying $(@F)
erikj10d96fb2013-04-05 09:39:10 +02001848 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07001849
1850COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1851
1852ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001853$(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 -07001854 $(ECHO) $(LOG_INFO) Copying $(@F)
erikj10d96fb2013-04-05 09:39:10 +02001855 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07001856
1857COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1858endif
1859
1860##########################################################################################
1861
1862BUILD_LIBNIO_SRC:=\
ohair46fcac92012-09-18 11:29:24 -07001863 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
1864 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1865 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
erikjaf85fc42012-07-03 16:10:44 -07001866
1867BUILD_LIBNIO_CFLAGS:=\
1868 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1869 -I$(JDK_TOPDIR)/src/share/native/java/io \
1870 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001871 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
erikjaf85fc42012-07-03 16:10:44 -07001872
1873BUILD_LIBNIO_FILES:=\
1874 DatagramChannelImpl.c \
1875 DatagramDispatcher.c \
1876 FileChannelImpl.c \
1877 FileDispatcherImpl.c \
1878 FileKey.c \
1879 IOUtil.c \
1880 MappedByteBuffer.c \
1881 Net.c \
1882 ServerSocketChannelImpl.c \
1883 SocketChannelImpl.c \
1884 SocketDispatcher.c
1885
1886ifeq ($(OPENJDK_TARGET_OS), windows)
1887 BUILD_LIBNIO_FILES += \
1888 Iocp.c \
1889 RegistryFileTypeDetector.c \
1890 WindowsAsynchronousFileChannelImpl.c \
1891 WindowsAsynchronousServerSocketChannelImpl.c \
1892 WindowsAsynchronousSocketChannelImpl.c \
1893 WindowsNativeDispatcher.c \
1894 WindowsSelectorImpl.c
1895endif
1896
1897ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -07001898 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001899 BUILD_LIBNIO_FILES += \
1900 EPoll.c \
1901 EPollArrayWrapper.c \
1902 EPollPort.c \
1903 InheritedChannel.c \
1904 NativeThread.c \
ohair46fcac92012-09-18 11:29:24 -07001905 PollArrayWrapper.c \
erikjaf85fc42012-07-03 16:10:44 -07001906 UnixAsynchronousServerSocketChannelImpl.c \
1907 UnixAsynchronousSocketChannelImpl.c \
1908 GnomeFileTypeDetector.c \
dxu20cb3702012-12-04 14:07:30 +00001909 MagicFileTypeDetector.c \
erikjaf85fc42012-07-03 16:10:44 -07001910 LinuxNativeDispatcher.c \
1911 LinuxWatchService.c \
1912 UnixCopyFile.c \
1913 UnixNativeDispatcher.c
1914endif
1915
1916ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07001917 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001918 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1919 BUILD_LIBNIO_FILES += \
1920 InheritedChannel.c \
1921 NativeThread.c \
1922 PollArrayWrapper.c \
1923 UnixAsynchronousServerSocketChannelImpl.c \
1924 UnixAsynchronousSocketChannelImpl.c \
erikjaf85fc42012-07-03 16:10:44 -07001925 BsdNativeDispatcher.c \
ohair46fcac92012-09-18 11:29:24 -07001926 MacOSXNativeDispatcher.c \
erikjaf85fc42012-07-03 16:10:44 -07001927 UnixCopyFile.c \
1928 UnixNativeDispatcher.c \
1929 KQueue.c \
1930 KQueuePort.c \
1931 KQueueArrayWrapper.c
1932endif
1933
1934ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001935 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001936 BUILD_LIBNIO_FILES += \
1937 DevPollArrayWrapper.c \
1938 InheritedChannel.c \
1939 NativeThread.c \
1940 PollArrayWrapper.c \
1941 SolarisEventPort.c \
1942 UnixAsynchronousServerSocketChannelImpl.c \
1943 UnixAsynchronousSocketChannelImpl.c \
1944 GnomeFileTypeDetector.c \
1945 SolarisNativeDispatcher.c \
1946 SolarisWatchService.c \
1947 UnixCopyFile.c \
1948 UnixNativeDispatcher.c
1949endif
1950
1951$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1952 LIBRARY:=nio,\
1953 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1954 SRC:=$(BUILD_LIBNIO_SRC),\
1955 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1956 LANG:=C,\
1957 OPTIMIZATION:=HIGH, \
1958 CFLAGS:=$(CFLAGS_JDKLIB) \
1959 $(BUILD_LIBNIO_CFLAGS),\
1960 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1961 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1962 $(call SET_SHARED_LIBRARY_ORIGIN),\
1963 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
ohair46fcac92012-09-18 11:29:24 -07001964 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
1965 -lsendfile -ljava -lnet -lc,\
ohairb71409c2012-10-26 14:23:29 -07001966 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
1967 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
ohairb71409c2012-10-26 14:23:29 -07001968 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001969 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
erikjaf85fc42012-07-03 16:10:44 -07001970 LDFLAGS_SUFFIX:=,\
ohair46fcac92012-09-18 11:29:24 -07001971 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1972 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001973 -D "JDK_FNAME=nio.dll" \
1974 -D "JDK_INTERNAL_NAME=nio" \
1975 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001976 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
andrew93196e42013-05-04 17:04:57 +01001977 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07001978
1979BUILD_LIBRARIES += $(BUILD_LIBNIO)
1980
1981$(BUILD_LIBNIO) : $(BUILD_LIBNET)
1982
1983##########################################################################################
1984
1985ifeq ($(OPENJDK_TARGET_OS_API),posix)
erikj5c99f2c2012-11-28 13:29:35 +01001986
erikjaf85fc42012-07-03 16:10:44 -07001987 ifneq ($(OPENJDK_TARGET_OS),macosx)
1988
1989 SCTP_WERROR := -Werror
1990 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
1991 SCTP_WERROR :=
1992 endif
1993
1994 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
1995 LIBRARY:=sctp,\
1996 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001997 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
erikjaf85fc42012-07-03 16:10:44 -07001998 LANG:=C,\
1999 OPTIMIZATION:=LOW, \
2000 CFLAGS:=$(CFLAGS_JDKLIB)\
2001 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
2002 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
2003 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07002004 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
2005 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
erikjaf85fc42012-07-03 16:10:44 -07002006 CFLAGS_linux:=$(SCTP_WERROR),\
2007 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
2008 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2009 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002010 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002011 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
erikj4f66f2d2012-11-03 16:27:01 -07002012 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07002013 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01002014 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp,\
2015 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002016
2017 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
2018
2019 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
2020 endif
2021endif
2022
2023##########################################################################################
2024
ohair46fcac92012-09-18 11:29:24 -07002025BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
2026LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
erikjaf85fc42012-07-03 16:10:44 -07002027
2028BUILD_LIBJLI_FILES:=\
2029 java.c \
2030 splashscreen_stubs.c \
2031 parse_manifest.c \
2032 version_comp.c \
2033 wildcard.c \
2034 jli_util.c
2035
2036ifeq ($(JVM_VARIANT_ZERO), true)
2037 ERGO_FAMILY:=zero
ohair46fcac92012-09-18 11:29:24 -07002038else
2039 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
erikjaf85fc42012-07-03 16:10:44 -07002040 ERGO_FAMILY:=i586
ohair46fcac92012-09-18 11:29:24 -07002041 else
2042 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
2043 endif
2044endif
erikjaf85fc42012-07-03 16:10:44 -07002045
2046ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002047 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
erikjaf85fc42012-07-03 16:10:44 -07002048 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
2049 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
2050
2051 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2052 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2053endif
2054
2055ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002056 BUILD_LIBJLI_FILES += java_md.c \
sla43e7de52013-06-10 11:33:50 +02002057 cmdtoargs.c
ohair46fcac92012-09-18 11:29:24 -07002058 # Staticically link with c runtime on windows.
2059 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
erikjaf85fc42012-07-03 16:10:44 -07002060else ifneq ($(OPENJDK_TARGET_OS), macosx)
2061
2062 BUILD_LIBJLI_FILES += java_md_common.c
2063 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
2064
2065 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2066
2067 # if the architecture specific ergo file exists then
2068 # use it, else use the generic definitions from ergo.c
ohair46fcac92012-09-18 11:29:24 -07002069 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
erikjaf85fc42012-07-03 16:10:44 -07002070 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2071 else # !ERGO_ARCH_FILE
ohair46fcac92012-09-18 11:29:24 -07002072 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
erikjaf85fc42012-07-03 16:10:44 -07002073 endif # ERGO_ARCH_FILE
2074endif #WINDOWS
2075
ohair46fcac92012-09-18 11:29:24 -07002076# Append defines depending on target platform
2077LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002078
2079ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002080 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
erikjaf85fc42012-07-03 16:10:44 -07002081endif
2082
2083ifneq ($(USE_EXTERNAL_LIBZ),true)
2084 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002085 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002086 BUILD_LIBJLI_FILES += \
2087 inflate.c \
2088 inftrees.c \
2089 inffast.c \
2090 zadler32.c \
2091 zcrc32.c \
2092 zutil.c
2093endif
2094
2095ifeq ($(OPENJDK_TARGET_OS), windows)
2096 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2097else
2098 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2099endif
2100
2101$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2102 LIBRARY:=jli,\
2103 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2104 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2105 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2106 LANG:=C,\
2107 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002108 CFLAGS:=$(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002109 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2110 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2111 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002112 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2113 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2114 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2115 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2116 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2117 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
erikjaf85fc42012-07-03 16:10:44 -07002118 LDFLAGS_SUFFIX_windows:=\
2119 -export:JLI_Launch \
2120 -export:JLI_ManifestIterate \
2121 -export:JLI_SetTraceLauncher \
2122 -export:JLI_ReportErrorMessage \
2123 -export:JLI_ReportErrorMessageSys \
2124 -export:JLI_ReportMessage \
2125 -export:JLI_ReportExceptionDescription \
ohair46fcac92012-09-18 11:29:24 -07002126 -export:JLI_MemAlloc \
2127 -export:JLI_CmdToArgs \
2128 -export:JLI_GetStdArgc \
2129 -export:JLI_GetStdArgs \
erikjaf85fc42012-07-03 16:10:44 -07002130 advapi32.lib \
2131 comctl32.lib \
2132 user32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002133 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2134 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07002135 -D "JDK_FNAME=jli.dll" \
2136 -D "JDK_INTERNAL_NAME=jli" \
2137 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002138 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
andrew93196e42013-05-04 17:04:57 +01002139 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002140
2141BUILD_LIBRARIES += $(BUILD_LIBJLI)
2142
2143# On windows, the static library has the same suffix as the import library created by
2144# with the shared library, so the static library is given a different name. No harm
2145# in doing it for all platform to reduce complexity.
2146ifeq ($(OPENJDK_TARGET_OS), windows)
2147 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2148 STATIC_LIBRARY:=jli_static,\
2149 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2150 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2151 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2152 LANG:=C,\
2153 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002154 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002155 ARFLAGS:=$(ARFLAGS),\
andrew93196e42013-05-04 17:04:57 +01002156 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
2157 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002158
2159BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2160
2161else ifeq ($(OPENJDK_TARGET_OS),macosx)
2162 #
2163 # On macosx they do partial (incremental) linking of libjli_static.a
2164 # code it here...rather than add support to NativeCompilation
2165 # as this is first time I see it
2166 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2167 LIBRARY:=jli_static, \
2168 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2169 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2170 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2171 LANG:=C,\
2172 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002173 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002174 LDFLAGS:=-nostdlib -r,\
andrew93196e42013-05-04 17:04:57 +01002175 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static,\
2176 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002177
2178$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
erikj10d96fb2013-04-05 09:39:10 +02002179 $(call install-file)
erikjaf85fc42012-07-03 16:10:44 -07002180
2181BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2182endif
2183
2184##########################################################################################
2185
ohairb71409c2012-10-26 14:23:29 -07002186ifndef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -07002187ifeq ($(ENABLE_JFR), true)
2188
2189$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2190 LIBRARY:=jfr,\
2191 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2192 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2193 LANG:=C,\
2194 OPTIMIZATION:=LOW, \
2195 CFLAGS:=$(CFLAGS_JDKLIB) \
2196 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2197 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2198 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2199 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikj3da9f312013-02-18 11:26:23 +01002200 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002201 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2202 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002203 -D "JDK_FNAME=jfr.dll" \
2204 -D "JDK_INTERNAL_NAME=jfr" \
2205 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002206 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
andrew93196e42013-05-04 17:04:57 +01002207 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002208
2209BUILD_LIBRARIES += $(BUILD_LIBJFR)
2210
2211endif
ohairb71409c2012-10-26 14:23:29 -07002212endif
erikjaf85fc42012-07-03 16:10:44 -07002213
2214##########################################################################################
2215
2216ifndef OPENJDK
2217
2218BUILD_LIBKCMS_EXCLUDE_FILES:=
2219ifeq ($(OPENJDK_TARGET_OS),windows)
2220 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2221else
2222 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2223endif
2224
2225BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2226
2227ifeq ($(OPENJDK_TARGET_OS),solaris)
2228 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2229 # implement it like this...since it's only used here
2230 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2231else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2232 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2233endif
2234
2235$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2236 LIBRARY:=kcms,\
2237 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2238 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2239 LANG:=C,\
2240 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2241 OPTIMIZATION:=LOW, \
2242 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2243 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2244 CFLAGS_linux:=-Wno-missing-field-initializers,\
2245 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2246 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2247 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002248 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
erikj3da9f312013-02-18 11:26:23 +01002249 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002250 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
erikj388fbde2012-12-06 12:09:33 +01002251 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002252 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
ohair46fcac92012-09-18 11:29:24 -07002253 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2254 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002255 -D "JDK_FNAME=kcms.dll" \
2256 -D "JDK_INTERNAL_NAME=kcms" \
2257 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002258 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
andrew93196e42013-05-04 17:04:57 +01002259 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002260
2261$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2262
2263BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2264
2265endif
2266
2267##########################################################################################
2268
2269ifndef OPENJDK
2270ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002271ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikjaf85fc42012-07-03 16:10:44 -07002272
2273ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2274
2275SUNWJDGA_MAPFILE:=
ohair46fcac92012-09-18 11:29:24 -07002276ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
erikjaf85fc42012-07-03 16:10:44 -07002277 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2278endif
2279
2280$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2281 LIBRARY:=sunwjdga,\
2282 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2283 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2284 LANG:=C, \
2285 OPTIMIZATION:=LOW, \
2286 CFLAGS:=$(CFLAGS_JDKLIB) \
2287 -I$(JDK_TOPDIR)/src/share/javavm/export \
ohair46fcac92012-09-18 11:29:24 -07002288 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
erikjaf85fc42012-07-03 16:10:44 -07002289 -I$(OPENWIN_HOME)/include, \
2290 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2291 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2292 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002293 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 +01002294 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga,\
2295 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002296
2297BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2298
2299endif
2300endif
2301endif
2302endif
2303
2304##########################################################################################
2305
2306ifeq ($(BUILD_HEADLESS), true)
2307ifneq ($(OPENJDK_TARGET_OS), windows)
2308
2309LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2310 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2311 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2312 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2313 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2314 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2315
jchen21981182013-05-23 12:16:17 -07002316ifeq ($(OPENJDK_TARGET_OS),macosx)
2317 LIBAWT_HEADLESS_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/font
2318endif
2319
erikjaf85fc42012-07-03 16:10:44 -07002320LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2321 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2322 $(CUPS_CFLAGS) \
2323 $(X_CFLAGS) \
2324 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -07002325 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07002326 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2327 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2328 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2329 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2330 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -07002331 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
erikjaf85fc42012-07-03 16:10:44 -07002332 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2333
jchen21981182013-05-23 12:16:17 -07002334ifeq ($(OPENJDK_TARGET_OS),macosx)
2335 LIBAWT_HEADLESS_CFLAGS+=\
2336 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2337 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
2338endif
2339
erikjaf85fc42012-07-03 16:10:44 -07002340LIBAWT_HEADLESS_FILES:=\
2341 awt_Font.c \
2342 HeadlessToolkit.c \
2343 fontpath.c \
2344 VDrawingArea.c \
2345 X11Color.c \
2346 X11Renderer.c \
2347 X11PMBlitLoops.c \
2348 X11SurfaceData.c \
2349 X11FontScaler_md.c \
2350 X11TextRenderer_md.c \
2351 OGLBlitLoops.c \
2352 OGLBufImgOps.c \
2353 OGLContext.c \
2354 OGLFuncs.c \
2355 OGLMaskBlit.c \
2356 OGLMaskFill.c \
2357 OGLPaints.c \
2358 OGLRenderQueue.c \
2359 OGLRenderer.c \
2360 OGLSurfaceData.c \
2361 OGLTextRenderer.c \
2362 OGLVertexCache.c \
2363 GLXGraphicsConfig.c \
2364 GLXSurfaceData.c \
2365 AccelGlyphCache.c \
2366 CUPSfuncs.c
2367
jchen21981182013-05-23 12:16:17 -07002368ifeq ($(OPENJDK_TARGET_OS),macosx)
2369 LIBAWT_HEADLESS_FILES+=\
2370 AWTFont.m \
2371 AWTStrike.m \
2372 CCharToGlyphMapper.m \
2373 CGGlyphImages.m \
2374 CGGlyphOutlines.m \
2375 CoreTextSupport.m
2376endif
2377
erikjaf85fc42012-07-03 16:10:44 -07002378LIBAWT_HEADLESS_REORDER:=
2379ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002380 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
2381 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07002382 endif
2383endif
2384
2385$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2386 LIBRARY:=awt_headless,\
2387 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2388 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2389 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2390 LANG:=C,\
2391 OPTIMIZATION:=LOW, \
2392 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002393 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
erikjaf85fc42012-07-03 16:10:44 -07002394 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2395 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002396 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2397 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2398 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2399 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2400 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -07002401 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
ohair46fcac92012-09-18 11:29:24 -07002402 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -08002403 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
jchen21981182013-05-23 12:16:17 -07002404 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava \
2405 -framework Accelerate \
2406 -framework ApplicationServices \
2407 -framework Cocoa \
2408 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2409 -framework JavaNativeFoundation \
2410 -framework JavaRuntimeSupport,\
andrew93196e42013-05-04 17:04:57 +01002411 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless,\
2412 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002413
2414$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2415
2416BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2417
2418endif
2419endif
2420
2421##########################################################################################
2422
2423ifndef BUILD_HEADLESS_ONLY
2424LIBSPLASHSCREEN_DIRS:=\
erikjaf85fc42012-07-03 16:10:44 -07002425 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2426 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
erikj5c99f2c2012-11-28 13:29:35 +01002427 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
2428
omajid6d3bb7b2013-04-02 14:13:13 -04002429ifeq ($(USE_EXTERNAL_LIBGIF),true)
2430 GIFLIB_LDFLAGS := -lgif
2431else
2432 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib
2433 GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
2434endif
2435
erikj5c99f2c2012-11-28 13:29:35 +01002436ifneq ($(OPENJDK_TARGET_OS), macosx)
2437 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
2438else
2439 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2440endif
2441
erikjaf85fc42012-07-03 16:10:44 -07002442LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2443 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2444
2445ifeq ($(OPENJDK_TARGET_OS), macosx)
2446 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2447 $(LIBSPLASHSCREEN_CFLAGS) \
2448 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2449 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2450 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2451
2452 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2453 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2454 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2455 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2456 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2457 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2458 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2459
2460else ifneq ($(OPENJDK_TARGET_OS), windows)
2461 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2462else
2463 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2464endif
2465
erikjaf85fc42012-07-03 16:10:44 -07002466LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2467
2468ifneq ($(USE_EXTERNAL_LIBZ),true)
2469 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002470 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002471endif
2472
2473ifeq ($(OPENJDK_TARGET_OS), macosx)
2474 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2475 -framework ApplicationServices \
2476 -framework Foundation \
2477 -framework Cocoa \
2478 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2479 -framework JavaNativeFoundation
2480else ifneq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002481 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
erikjaf85fc42012-07-03 16:10:44 -07002482else # OPENJDK_TARGET_OS
ohairb71409c2012-10-26 14:23:29 -07002483 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
erikjaf85fc42012-07-03 16:10:44 -07002484endif # OPENJDK_TARGET_OS
2485
2486$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2487 LIBRARY:=splashscreen,\
2488 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2489 SRC:=$(LIBSPLASHSCREEN_DIRS),\
erikj5c99f2c2012-11-28 13:29:35 +01002490 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\
erikjaf85fc42012-07-03 16:10:44 -07002491 LANG:=C,\
2492 OPTIMIZATION:=LOW, \
omajid6d3bb7b2013-04-02 14:13:13 -04002493 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002494 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2495 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2496 $(call SET_SHARED_LIBRARY_ORIGIN),\
omajid6d3bb7b2013-04-02 14:13:13 -04002497 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002498 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002499 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2500 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002501 -D "JDK_FNAME=splashscreen.dll" \
2502 -D "JDK_INTERNAL_NAME=splashscreen" \
2503 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002504 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
andrew93196e42013-05-04 17:04:57 +01002505 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07002506
2507BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2508
2509ifeq ($(OPENJDK_TARGET_OS),macosx)
2510$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
2511endif
2512
2513endif
2514
2515##########################################################################################
2516
2517ifndef OPENJDK
2518
2519LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002520 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2521 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2522 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2523 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2524
erikjaf85fc42012-07-03 16:10:44 -07002525LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002526 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2527
2528$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002529 LIBRARY:=dcpr,\
2530 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002531 SRC:=$(LIBDCPR_SRC_DIRS),\
2532 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002533 OPTIMIZATION:=LOW, \
2534 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002535 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002536 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002537 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002538 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002539 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002540 LDFLAGS_SUFFIX_posix:=-lm,\
ohair46fcac92012-09-18 11:29:24 -07002541 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2542 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002543 -D "JDK_FNAME=dcpr.dll" \
2544 -D "JDK_INTERNAL_NAME=dcpr" \
2545 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002546 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
andrew93196e42013-05-04 17:04:57 +01002547 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002548
erikjaf85fc42012-07-03 16:10:44 -07002549$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002550
erikjaf85fc42012-07-03 16:10:44 -07002551BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002552
2553endif
2554
2555##########################################################################################
2556
2557$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002558 LIBRARY:=j2pcsc,\
2559 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002560 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002561 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002562 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002563 CFLAGS_posix:=-D__sun_jdk,\
2564 OPTIMIZATION:=LOW, \
2565 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002566 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002567 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
2568 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
erikjaf85fc42012-07-03 16:10:44 -07002569 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002570 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2571 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002572 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2573 LDFLAGS_SUFFIX_windows:=winscard.lib,\
tbell7d47bd02012-11-12 10:20:01 -08002574 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002575 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2576 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002577 -D "JDK_FNAME=j2pcsc.dll" \
2578 -D "JDK_INTERNAL_NAME=j2pcsc" \
2579 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002580 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
andrew93196e42013-05-04 17:04:57 +01002581 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002582
erikjaf85fc42012-07-03 16:10:44 -07002583BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002584
2585##########################################################################################
2586
erikjaf85fc42012-07-03 16:10:44 -07002587ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002588$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002589 LIBRARY:=j2gss,\
2590 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002591 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002592 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002593 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002594 OPTIMIZATION:=LOW, \
2595 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002596 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002597 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002598 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002599 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2600 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002601 LDFLAGS_SUFFIX:=$(LIBDL),\
2602 LDFLAGS_SUFFIX_solaris:=-lc,\
andrew93196e42013-05-04 17:04:57 +01002603 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss,\
2604 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002605
erikjaf85fc42012-07-03 16:10:44 -07002606BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002607endif
2608
2609##########################################################################################
2610
erikj41f82602013-06-11 13:26:15 +02002611ifneq ($(BUILD_CRYPTO),no)
2612 BUILD_LIBKRB5_NAME:=
2613 ifeq ($(OPENJDK_TARGET_OS), windows)
erikjaf85fc42012-07-03 16:10:44 -07002614 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
ohair46fcac92012-09-18 11:29:24 -07002615 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
ohairb71409c2012-10-26 14:23:29 -07002616 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
2617 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
2618 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
erikj41f82602013-06-11 13:26:15 +02002619 else ifeq ($(OPENJDK_TARGET_OS), macosx)
erikjaf85fc42012-07-03 16:10:44 -07002620 BUILD_LIBKRB5_NAME:=osxkrb5
erikj5c99f2c2012-11-28 13:29:35 +01002621 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5
erikjaf85fc42012-07-03 16:10:44 -07002622 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikj41f82602013-06-11 13:26:15 +02002623 endif
erikje78df742012-06-07 20:40:50 -07002624
erikj41f82602013-06-11 13:26:15 +02002625 ifneq ($(BUILD_LIBKRB5_NAME),)
2626 $(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002627 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2628 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01002629 SRC:=$(BUILD_LIBKRB5_SRC),\
erikje78df742012-06-07 20:40:50 -07002630 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002631 OPTIMIZATION:=LOW, \
2632 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002633 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
ohair46fcac92012-09-18 11:29:24 -07002634 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002635 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2636 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002637 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
ohair46fcac92012-09-18 11:29:24 -07002638 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2639 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002640 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
2641 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
2642 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002643 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
andrew93196e42013-05-04 17:04:57 +01002644 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002645
erikj41f82602013-06-11 13:26:15 +02002646 BUILD_LIBRARIES += $(BUILD_LIBKRB5)
2647 endif
erikje78df742012-06-07 20:40:50 -07002648endif
2649
2650##########################################################################################
2651
erikjaf85fc42012-07-03 16:10:44 -07002652ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002653
2654$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002655 LIBRARY:=sunmscapi,\
2656 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohairb71409c2012-10-26 14:23:29 -07002657 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
erikje78df742012-06-07 20:40:50 -07002658 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002659 OPTIMIZATION:=LOW, \
2660 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -07002661 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
2662 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002663 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002664 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002665 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2666 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002667 -D "JDK_FNAME=sunmscapi.dll" \
2668 -D "JDK_INTERNAL_NAME=sunmscapi" \
2669 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002670 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
andrew93196e42013-05-04 17:04:57 +01002671 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002672
erikjaf85fc42012-07-03 16:10:44 -07002673BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
erikje78df742012-06-07 20:40:50 -07002674endif
2675
2676##########################################################################################
2677
erikje78df742012-06-07 20:40:50 -07002678$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002679 LIBRARY:=j2pkcs11,\
2680 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002681 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002682 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002683 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002684 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002685 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002686 OPTIMIZATION:=LOW, \
2687 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002688 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002689 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002690 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002691 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002692 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002693 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2694 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002695 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2696 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002697 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2698 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002699 -D "JDK_FNAME=j2pkcs11.dll" \
2700 -D "JDK_INTERNAL_NAME=j2pkcs11" \
2701 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002702 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
andrew93196e42013-05-04 17:04:57 +01002703 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002704
erikjaf85fc42012-07-03 16:10:44 -07002705BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002706
2707##########################################################################################
2708
omajid1a381ca2013-03-18 10:46:49 -04002709ifeq ($(ENABLE_INTREE_EC),yes)
2710
erikjaf85fc42012-07-03 16:10:44 -07002711BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2712 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2713
2714#
2715# On sol-sparc...all libraries are compiled with -xregs=no%appl
2716# (set in CFLAGS_REQUIRED_sparc)
2717#
2718# except!!! libsunec.so
2719#
2720ECC_JNI_SOLSPARC_FILTER:=
2721ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2722 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2723endif
erikje78df742012-06-07 20:40:50 -07002724
2725$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002726 LIBRARY:=sunec,\
2727 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002728 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2729 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002730 LANG:=C++, \
2731 OPTIMIZATION:=LOW, \
2732 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2733 $(BUILD_LIBSUNEC_FLAGS) \
2734 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2735 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2736 $(BUILD_LIBSUNEC_FLAGS),\
2737 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002738 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
2739 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002740 LDFLAGS_SUFFIX:=$(LIBCXX),\
ohair46fcac92012-09-18 11:29:24 -07002741 LDFLAGS_SUFFIX_linux:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002742 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002743 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2744 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002745 -D "JDK_FNAME=sunec.dll" \
2746 -D "JDK_INTERNAL_NAME=sunec" \
2747 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002748 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
andrew93196e42013-05-04 17:04:57 +01002749 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002750
erikjaf85fc42012-07-03 16:10:44 -07002751BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002752endif
2753
2754##########################################################################################
2755
erikjaf85fc42012-07-03 16:10:44 -07002756LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002757 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
ohair46fcac92012-09-18 11:29:24 -07002758 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002759
erikjaf85fc42012-07-03 16:10:44 -07002760LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002761
erikjaf85fc42012-07-03 16:10:44 -07002762LIBJSOUND_LANG:=C
2763LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002764
erikjaf85fc42012-07-03 16:10:44 -07002765EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002766
erikjaf85fc42012-07-03 16:10:44 -07002767LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002768 MidiInDevice.c \
2769 MidiInDeviceProvider.c \
2770 MidiOutDevice.c \
2771 MidiOutDeviceProvider.c \
2772 PlatformMidi.c
2773
2774# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002775LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002776 PortMixerProvider.c \
2777 PortMixer.c
2778
2779# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002780LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002781 DirectAudioDeviceProvider.c \
2782 DirectAudioDevice.c
2783
erikjaf85fc42012-07-03 16:10:44 -07002784ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002785 EXTRA_SOUND_JNI_LIBS += jsoundds
2786 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2787 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2788 -DUSE_PLATFORM_MIDI_IN=TRUE \
2789 -DUSE_PORTS=TRUE
2790 LIBJSOUND_SRC_FILES += \
2791 PLATFORM_API_WinOS_MidiIn.cpp \
2792 PLATFORM_API_WinOS_MidiOut.c \
2793 PLATFORM_API_WinOS_Util.c \
2794 PLATFORM_API_WinOS_Ports.c
2795 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2796 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002797endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002798
erikjaf85fc42012-07-03 16:10:44 -07002799ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002800 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2801 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002802endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002803
erikjaf85fc42012-07-03 16:10:44 -07002804ifeq ($(OPENJDK_TARGET_OS), macosx)
2805 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002806 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2807 -DUSE_PORTS=TRUE \
2808 -DUSE_DAUDIO=TRUE \
2809 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2810 -DUSE_PLATFORM_MIDI_IN=TRUE
2811 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2812 LIBJSOUND_SRC_FILES += \
2813 PLATFORM_API_MacOSX_Utils.cpp \
2814 PLATFORM_API_MacOSX_PCM.cpp \
2815 PLATFORM_API_MacOSX_Ports.cpp \
2816 PLATFORM_API_MacOSX_MidiIn.c \
2817 PLATFORM_API_MacOSX_MidiOut.c \
2818 PLATFORM_API_MacOSX_MidiUtils.c
2819 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2820 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2821 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002822endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002823
erikjaf85fc42012-07-03 16:10:44 -07002824ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002825 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2826 -DUSE_PORTS=TRUE \
2827 -DUSE_DAUDIO=TRUE
2828 LIBJSOUND_SRC_FILES += \
2829 PLATFORM_API_SolarisOS_Utils.c \
2830 PLATFORM_API_SolarisOS_Ports.c \
2831 PLATFORM_API_SolarisOS_PCM.c
2832 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2833 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2834 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002835endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002836
2837
2838ifeq ($(JVM_VARIANT_ZERO), true)
2839 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2840else
ohair46fcac92012-09-18 11:29:24 -07002841 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikje78df742012-06-07 20:40:50 -07002842 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
ohair46fcac92012-09-18 11:29:24 -07002843 endif
erikje78df742012-06-07 20:40:50 -07002844
ohair46fcac92012-09-18 11:29:24 -07002845 ifeq ($(OPENJDK_TARGET_CPU), sparc)
erikje78df742012-06-07 20:40:50 -07002846 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
ohair46fcac92012-09-18 11:29:24 -07002847 endif
erikje78df742012-06-07 20:40:50 -07002848
ohair46fcac92012-09-18 11:29:24 -07002849 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
erikje78df742012-06-07 20:40:50 -07002850 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
ohair46fcac92012-09-18 11:29:24 -07002851 endif
erikje78df742012-06-07 20:40:50 -07002852
ohair46fcac92012-09-18 11:29:24 -07002853 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikje78df742012-06-07 20:40:50 -07002854 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
ohair46fcac92012-09-18 11:29:24 -07002855 endif
erikje78df742012-06-07 20:40:50 -07002856
ohair46fcac92012-09-18 11:29:24 -07002857 ifeq ($(OPENJDK_TARGET_CPU), arm)
erikje78df742012-06-07 20:40:50 -07002858 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
ohair46fcac92012-09-18 11:29:24 -07002859 endif
erikje78df742012-06-07 20:40:50 -07002860
ohair46fcac92012-09-18 11:29:24 -07002861 ifeq ($(OPENJDK_TARGET_CPU), ppc)
erikje78df742012-06-07 20:40:50 -07002862 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
ohair46fcac92012-09-18 11:29:24 -07002863 endif
erikje78df742012-06-07 20:40:50 -07002864endif
2865
2866LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2867
2868$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002869 LIBRARY:=jsound,\
2870 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002871 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002872 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002873 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002874 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07002875 CFLAGS:=$(CFLAGS_JDKLIB) \
2876 $(LIBJSOUND_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002877 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2878 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002879 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2880 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002881 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
2882 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2883 -framework CoreMIDI -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -07002884 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
ohairb71409c2012-10-26 14:23:29 -07002885 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
erikje78df742012-06-07 20:40:50 -07002886 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002887 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2888 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002889 -D "JDK_FNAME=jsound.dll" \
2890 -D "JDK_INTERNAL_NAME=jsound" \
2891 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002892 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
andrew93196e42013-05-04 17:04:57 +01002893 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002894
erikjaf85fc42012-07-03 16:10:44 -07002895$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002896
erikjaf85fc42012-07-03 16:10:44 -07002897BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002898
2899##########################################################################################
2900
2901ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2902
2903$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002904 LIBRARY:=jsoundalsa,\
2905 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002906 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002907 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002908 $(LIBJSOUND_DAUDIOFILES) \
2909 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2910 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2911 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2912 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2913 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2914 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2915 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002916 LANG:=C,\
2917 OPTIMIZATION:=LOW, \
erikja88dfd32013-06-13 14:04:54 +02002918 CFLAGS:=$(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \
erikje78df742012-06-07 20:40:50 -07002919 $(LIBJSOUND_CFLAGS) \
2920 -DUSE_DAUDIO=TRUE \
2921 -DUSE_PORTS=TRUE \
2922 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2923 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07002924 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002925 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2926 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikja88dfd32013-06-13 14:04:54 +02002927 LDFLAGS_SUFFIX:=$(ALSA_LIBS) -ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01002928 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa,\
2929 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002930
erikjaf85fc42012-07-03 16:10:44 -07002931$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002932
erikjaf85fc42012-07-03 16:10:44 -07002933BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07002934
2935endif
2936
2937##########################################################################################
2938
2939ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
2940
2941$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07002942 LIBRARY:=jsoundds,\
2943 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002944 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002945 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07002946 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07002947 LANG:=C++,\
2948 OPTIMIZATION:=LOW, \
2949 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002950 $(LIBJSOUND_CFLAGS) \
erikjebad8f92013-03-06 16:15:16 +01002951 -DUSE_DAUDIO=TRUE \
2952 -I$(DXSDK_INCLUDE_PATH), \
ohair46fcac92012-09-18 11:29:24 -07002953 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002954 $(call SET_SHARED_LIBRARY_ORIGIN),\
2955 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002956 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2957 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002958 -D "JDK_FNAME=jsoundds.dll" \
2959 -D "JDK_INTERNAL_NAME=jsoundds" \
2960 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002961 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
andrew93196e42013-05-04 17:04:57 +01002962 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002963
erikjaf85fc42012-07-03 16:10:44 -07002964$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002965
erikjaf85fc42012-07-03 16:10:44 -07002966BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07002967
2968endif
2969
2970##########################################################################################
2971
erikjaf85fc42012-07-03 16:10:44 -07002972ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002973ifndef OPENJDK
2974
2975$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07002976 LIBRARY:=j2ucrypto,\
2977 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002978 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07002979 LANG:=C,\
2980 OPTIMIZATION:=LOW, \
2981 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002982 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07002983 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002984 LDFLAGS:=$(LDFLAGS_JDKLIB),\
erikje78df742012-06-07 20:40:50 -07002985 LDFLAGS_SUFFIX:=$(LIBDL),\
erikj3da9f312013-02-18 11:26:23 +01002986 LDFLAGS_SUFFIX_solaris:=-lc,\
andrew93196e42013-05-04 17:04:57 +01002987 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto,\
2988 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07002989
erikjaf85fc42012-07-03 16:10:44 -07002990$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002991
erikjaf85fc42012-07-03 16:10:44 -07002992BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07002993
2994endif
2995endif
2996
2997##########################################################################################
2998
erikjaf85fc42012-07-03 16:10:44 -07002999ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003000
erikje78df742012-06-07 20:40:50 -07003001$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07003002 LIBRARY:=AppleScriptEngine,\
3003 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003004 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07003005 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003006 OPTIMIZATION:=LOW, \
3007 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003008 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
3009 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3010 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
3011 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3012 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003013 LDFLAGS_SUFFIX:=-framework Cocoa \
3014 -framework Carbon \
3015 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3016 -framework JavaNativeFoundation \
3017 $(LDFLAGS_JDKLIB_SUFFIX),\
andrew93196e42013-05-04 17:04:57 +01003018 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine,\
3019 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003020
erikjaf85fc42012-07-03 16:10:44 -07003021$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
3022
3023BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07003024
3025endif
3026
3027##########################################################################################
3028
erikjaf85fc42012-07-03 16:10:44 -07003029ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003030
erikje78df742012-06-07 20:40:50 -07003031$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07003032 LIBRARY:=osxapp,\
3033 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003034 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07003035 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003036 OPTIMIZATION:=LOW, \
3037 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003038 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
ohairb71409c2012-10-26 14:23:29 -07003039 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
erikje78df742012-06-07 20:40:50 -07003040 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3041 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3042 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3043 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003044 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003045 -framework Accelerate \
3046 -framework ApplicationServices \
3047 -framework AudioToolbox \
3048 -framework Carbon \
3049 -framework Cocoa \
3050 -framework Security \
3051 -framework ExceptionHandling \
3052 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3053 -framework JavaNativeFoundation \
3054 -framework JavaRuntimeSupport \
3055 -framework OpenGL \
3056 -framework IOSurface \
3057 -framework QuartzCore, \
andrew93196e42013-05-04 17:04:57 +01003058 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp,\
3059 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003060
erikjaf85fc42012-07-03 16:10:44 -07003061BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003062
3063endif
3064
3065##########################################################################################
3066
erikjaf85fc42012-07-03 16:10:44 -07003067ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003068
erikjaf85fc42012-07-03 16:10:44 -07003069LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003070 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3071 $(JDK_TOPDIR)/src/macosx/native/java/util \
3072 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3073 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3074 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3075
3076$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003077 LIBRARY:=osx,\
3078 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003079 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003080 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003081 OPTIMIZATION:=LOW, \
3082 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003083 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3084 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3085 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3086 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3087 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3088 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003089 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003090 -losxapp \
3091 -framework Cocoa \
3092 -framework ApplicationServices \
3093 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3094 -framework JavaNativeFoundation \
3095 -framework JavaRuntimeSupport \
3096 -framework Security \
3097 -framework SystemConfiguration \
3098 $(LDFLAGS_JDKLIB_SUFFIX), \
andrew93196e42013-05-04 17:04:57 +01003099 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx,\
3100 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003101
erikjaf85fc42012-07-03 16:10:44 -07003102BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003103
erikjaf85fc42012-07-03 16:10:44 -07003104$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003105
erikjaf85fc42012-07-03 16:10:44 -07003106$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003107
3108endif
3109
3110##########################################################################################
3111
erikjaf85fc42012-07-03 16:10:44 -07003112ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003113
erikjaf85fc42012-07-03 16:10:44 -07003114LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003115 awt.m \
3116 ApplicationDelegate.m \
3117 CFRetainedResource.m \
3118 CGLGraphicsConfig.m \
3119 CGLSurfaceData.m \
3120 CGLLayer.m \
3121 CGraphicsConfig.m \
3122 CGraphicsDevice.m \
3123 CGraphicsEnv.m \
3124 CCharToGlyphMapper.m \
3125 CSystemColors.m \
3126 AWTFont.m \
3127 CGGlyphOutlines.m \
3128 CGGlyphImages.m \
3129 CoreTextSupport.m \
3130 AWTStrike.m \
3131 InitIDs.m \
3132 AWTEvent.m \
3133 AWTView.m \
3134 AWTWindow.m \
3135 AWTSurfaceLayers.m \
3136 CCursorManager.m \
3137 CClipboard.m \
3138 CDataTransferer.m \
3139 CDragSource.m \
3140 CDragSourceContextPeer.m \
3141 CDropTarget.m \
3142 CDropTargetContextPeer.m \
3143 CInputMethod.m \
3144 CDesktopPeer.m \
3145 OSVersion.m \
3146 DnDUtilities.m \
3147 CFileDialog.m \
3148 CImage.m \
3149 CMenu.m \
3150 CMenuBar.m \
3151 CMenuComponent.m \
3152 CMenuItem.m \
3153 CPopupMenu.m \
3154 CRobot.m \
3155 CTrayIcon.m \
3156 CWrapper.m \
3157 JavaAccessibilityAction.m \
3158 JavaAccessibilityUtilities.m \
3159 JavaComponentAccessibility.m \
3160 JavaTextAccessibility.m \
3161 LWCToolkit.m \
3162 GeomUtilities.m \
3163 CPrinterJob.m \
3164 PrintModel.m \
3165 PrinterSurfaceData.m \
3166 PrinterView.m \
3167 QuartzSurfaceData.m \
3168 QuartzRenderer.m \
3169 CTextPipe.m \
3170 ImageSurfaceData.m \
3171 awt_DrawingSurface.m \
3172 \
3173 OGLBlitLoops.c \
3174 OGLBufImgOps.c \
3175 OGLContext.c \
3176 OGLFuncs.c \
3177 OGLMaskBlit.c \
3178 OGLMaskFill.c \
3179 OGLPaints.c \
3180 OGLRenderQueue.c \
3181 OGLRenderer.c \
3182 OGLSurfaceData.c \
3183 OGLTextRenderer.c \
3184 OGLVertexCache.c \
3185 AccelGlyphCache.c \
3186 CUPSfuncs.c
3187
3188
erikjaf85fc42012-07-03 16:10:44 -07003189LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003190 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3191 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3192 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3193 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3194 $(JDK_TOPDIR)/src/share/native/sun/font \
3195 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3196
3197$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003198 LIBRARY:=awt_lwawt,\
3199 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003200 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003201 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003202 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003203 OPTIMIZATION:=LOW, \
3204 CFLAGS:=$(CFLAGS_JDKLIB) \
ohrstrom5048dab2012-10-29 13:41:38 -07003205 $(X_CFLAGS) \
3206 $(X_LIBS) \
erikje78df742012-06-07 20:40:50 -07003207 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3208 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3209 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3210 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3211 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3212 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3213 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3214 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3215 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3216 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3217 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3218 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3219 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003220 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
3221 -framework Accelerate \
3222 -framework ApplicationServices \
3223 -framework AudioToolbox \
3224 -framework Carbon \
3225 -framework Cocoa \
3226 -framework Security \
3227 -framework ExceptionHandling \
3228 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3229 -framework JavaNativeFoundation \
3230 -framework JavaRuntimeSupport \
3231 -framework OpenGL \
3232 -framework QuartzCore -ljava,\
andrew93196e42013-05-04 17:04:57 +01003233 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt,\
3234 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003235
erikjaf85fc42012-07-03 16:10:44 -07003236BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003237
erikjaf85fc42012-07-03 16:10:44 -07003238$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003239
erikjaf85fc42012-07-03 16:10:44 -07003240$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003241
erikjaf85fc42012-07-03 16:10:44 -07003242$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003243
erikjaf85fc42012-07-03 16:10:44 -07003244$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003245
3246endif
3247
3248##########################################################################################
3249
erikjaf85fc42012-07-03 16:10:44 -07003250ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003251
erikje78df742012-06-07 20:40:50 -07003252$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003253 LIBRARY:=osxui,\
3254 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003255 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003256 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003257 OPTIMIZATION:=LOW, \
3258 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003259 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3260 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3261 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3262 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3263 LDFLAGS:=$(LDFLAGS_JDKLIB)\
ohair46fcac92012-09-18 11:29:24 -07003264 $(call SET_SHARED_LIBRARY_ORIGIN) \
3265 -Xlinker -rpath -Xlinker @loader_path,\
3266 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
3267 -framework Cocoa \
3268 -framework Carbon \
3269 -framework ApplicationServices \
3270 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3271 -framework JavaNativeFoundation \
3272 -framework JavaRuntimeSupport \
3273 -ljava -ljvm,\
andrew93196e42013-05-04 17:04:57 +01003274 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui,\
3275 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikje78df742012-06-07 20:40:50 -07003276
erikjaf85fc42012-07-03 16:10:44 -07003277BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003278
erikjaf85fc42012-07-03 16:10:44 -07003279$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003280
erikjaf85fc42012-07-03 16:10:44 -07003281$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003282
erikjaf85fc42012-07-03 16:10:44 -07003283$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003284
erikjaf85fc42012-07-03 16:10:44 -07003285#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3286
3287endif
3288
3289##########################################################################################
3290
3291ifeq ($(OPENJDK_TARGET_OS), macosx)
3292
ohair46fcac92012-09-18 11:29:24 -07003293# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
3294SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
3295
3296$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\
erikjaf85fc42012-07-03 16:10:44 -07003297 LIBRARY:=JObjC,\
ohair46fcac92012-09-18 11:29:24 -07003298 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3299 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3300 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3301 LANG:=C,\
3302 OPTIMIZATION:=LOW, \
3303 CFLAGS:=-fpascal-strings \
3304 -fobjc-gc \
3305 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003306 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
ohair46fcac92012-09-18 11:29:24 -07003307 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3308 -m32,\
3309 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3310 -m32, \
3311 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3312 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3313 -framework JavaNativeFoundation \
3314 -lffi, \
andrew93196e42013-05-04 17:04:57 +01003315 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3316 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
ohair46fcac92012-09-18 11:29:24 -07003317
3318$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\
3319 LIBRARY:=JObjC,\
3320 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
erikjaf85fc42012-07-03 16:10:44 -07003321 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3322 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3323 LANG:=C,\
3324 OPTIMIZATION:=LOW, \
3325 CFLAGS:=-fpascal-strings \
3326 -fobjc-gc \
3327 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003328 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
erikjaf85fc42012-07-03 16:10:44 -07003329 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3330 , \
3331 LDFLAGS:=-fpascal-strings \
3332 -fobjc-gc \
3333 -gdwarf-2 \
3334 $(LDFLAGS_JDKLIB)\
3335 $(call SET_SHARED_LIBRARY_ORIGIN), \
3336 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3337 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3338 -framework JavaNativeFoundation \
3339 -lffi, \
andrew93196e42013-05-04 17:04:57 +01003340 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
3341 DEBUG_SYMBOLS:=$(DEBUG_ALL_BINARIES)))
erikjaf85fc42012-07-03 16:10:44 -07003342
ohair46fcac92012-09-18 11:29:24 -07003343$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3344 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3345
3346BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
erikje78df742012-06-07 20:40:50 -07003347
3348endif
3349
3350##########################################################################################
3351
raginip450da982013-01-18 11:33:31 -08003352ifndef OPENJDK
3353ifeq ($(OPENJDK_TARGET_OS), windows)
3354
3355 ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
3356
3357 define SetupAccessBridge
3358 # Parameter 1 Suffix
3359 # Parameter 2 Machine
3360 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
3361
3362 $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\
3363 LIBRARY=JAWTAccessBridge$1,\
3364 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3365 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3366 INCLUDE_FILES:=JAWTAccessBridge.cpp,\
3367 LANG:=C++,\
3368 OPTIMIZATION:=LOW,\
3369 CFLAGS:=$(CFLAGS_JDKLIB) \
3370 -DACCESSBRIDGE_ARCH_$3,\
3371 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3372 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
3373 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3374 -subsystem:windows -machine:$2 \
3375 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\
3376 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3377 RC_FLAGS:=$(RC_FLAGS),\
3378 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\
3379 DEBUG_SYMBOLS:=true)
3380
3381 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
3382
3383 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\
3384 LIBRARY=JavaAccessBridge$1,\
3385 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3386 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3387 INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
3388 AccessBridgeJavaEntryPoints.cpp \
3389 AccessBridgeMessages.cpp JavaAccessBridge.cpp,\
3390 LANG:=C++,\
3391 OPTIMIZATION:=LOW,\
3392 CFLAGS:=$(CFLAGS_JDKLIB) \
3393 -DACCESSBRIDGE_ARCH_$3,\
3394 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3395 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3396 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3397 -subsystem:windows -machine:$2 \
3398 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\
3399 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3400 RC_FLAGS:=$(RC_FLAGS),\
3401 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\
3402 DEBUG_SYMBOLS:=true)
3403
3404 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\
3405 LIBRARY=WindowsAccessBridge$1,\
3406 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3407 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3408 INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
3409 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
3410 WinAccessBridge.cpp AccessBridgeDebug.cpp \
3411 AccessBridgeEventHandler.cpp,\
3412 LANG:=C++,\
3413 OPTIMIZATION:=LOW,\
3414 CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \
3415 -DACCESSBRIDGE_ARCH_$3,\
3416 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3417 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3418 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3419 -subsystem:windows -machine:$2 \
3420 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\
3421 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3422 RC_FLAGS:=$(RC_FLAGS),\
3423 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\
3424 DEBUG_SYMBOLS:=true)
3425
3426 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
3427 $$(BUILD_WINDOWSACCESSBRIDGE$1)
3428
3429 endef
3430
3431 ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
3432 $(eval $(call SetupAccessBridge,-32,I386,32))
3433 $(eval $(call SetupAccessBridge,,I386,LEGACY))
3434 else
3435 $(eval $(call SetupAccessBridge,-64,X64,64))
3436 endif
3437endif
3438endif
3439
3440
3441##########################################################################################
3442
ohair92de5662012-04-10 08:22:03 -07003443all: $(COPY_FILES) $(BUILD_LIBRARIES)
3444
3445.PHONY: all