blob: 3e3751435a21e554f6742b5e3dcc4128bb198ce4 [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)
66 WINDOWS_ONLY := true
67endif
68
69#
70# TODO replace with X_FLAGS / X_LIBS
71# and add them to configure
72#
73OPENWIN_LIB:=$(OPENWIN_HOME)/lib
74
ohair92de5662012-04-10 08:22:03 -070075##########################################################################################
76
erikjaf85fc42012-07-03 16:10:44 -070077BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH
erikje78df742012-06-07 20:40:50 -070078
erikjaf85fc42012-07-03 16:10:44 -070079ifneq ($(OPENJDK_TARGET_OS), solaris)
80 BUILD_LIBFDLIBM_OPTIMIZATION:=NONE
erikje78df742012-06-07 20:40:50 -070081endif
82
erikjaf85fc42012-07-03 16:10:44 -070083ifneq ($(OPENJDK_TARGET_OS),macosx)
ohair92de5662012-04-10 08:22:03 -070084$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
erikjaf85fc42012-07-03 16:10:44 -070085 STATIC_LIBRARY:=fdlibm,\
86 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
ohair92de5662012-04-10 08:22:03 -070087 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
88 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -070089 OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \
90 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair92de5662012-04-10 08:22:03 -070091 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
ohair46fcac92012-09-18 11:29:24 -070092 CFLAGS_windows_debug:=-DLOGGING,\
ohair92de5662012-04-10 08:22:03 -070093 ARFLAGS:=$(ARFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -070094 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
95
erikje78df742012-06-07 20:40:50 -070096else
erikjec9918d2012-12-20 13:05:21 +010097
98# On macosx the old build does partial (incremental) linking of fdlibm instead of
99# a plain static library.
100$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC,\
erikjaf85fc42012-07-03 16:10:44 -0700101 LIBRARY:=fdlibm,\
102 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
erikje78df742012-06-07 20:40:50 -0700103 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
104 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700105 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700106 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
erikj4f38f192012-11-28 13:20:43 +0100107 LDFLAGS:=-nostdlib -r -arch x86_64,\
erikjaf85fc42012-07-03 16:10:44 -0700108 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
ohair92de5662012-04-10 08:22:03 -0700109
erikjec9918d2012-12-20 13:05:21 +0100110BUILD_LIBFDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
111$(BUILD_LIBFDLIBM) : $(BUILD_LIBFDLIBM_MAC)
erikje78df742012-06-07 20:40:50 -0700112 $(CP) -a $< $@
erikje78df742012-06-07 20:40:50 -0700113
erikjaf85fc42012-07-03 16:10:44 -0700114endif
erikjec9918d2012-12-20 13:05:21 +0100115BUILD_LIBRARIES += $(BUILD_LIBFDLIBM)
ohair92de5662012-04-10 08:22:03 -0700116
117##########################################################################################
118
erikjaf85fc42012-07-03 16:10:44 -0700119BUILD_LIBVERIFY_SRC:=check_code.c check_format.c
120
121ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700122 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
123 BUILD_LIBVERIFY_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700124 endif
ohair92de5662012-04-10 08:22:03 -0700125endif
126
ohair46fcac92012-09-18 11:29:24 -0700127LIBVERIFY_OPTIMIZATION:=HIGH
128ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +0100129 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -0700130 LIBVERIFY_OPTIMIZATION:=LOW
131 endif
132endif
133
erikjaf85fc42012-07-03 16:10:44 -0700134
135$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
136 LIBRARY:=verify, \
137 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
138 SRC:=$(JDK_TOPDIR)/src/share/native/common,\
139 INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\
ohair92de5662012-04-10 08:22:03 -0700140 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -0700141 OPTIMIZATION:=$(LIBVERIFY_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -0700142 CFLAGS:=$(CFLAGS_JDKLIB),\
143 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700144 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700145 $(call SET_SHARED_LIBRARY_ORIGIN), \
146 LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
147 LDFLAGS_SUFFIX_windows:=jvm.lib,\
ohair46fcac92012-09-18 11:29:24 -0700148 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
149 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700150 -D "JDK_FNAME=verify.dll" \
151 -D "JDK_INTERNAL_NAME=verify" \
152 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700153 REORDER:=$(BUILD_LIBVERIFY_REORDER),\
154 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libverify,\
155 DEBUG_SYMBOLS:=true))
erikje78df742012-06-07 20:40:50 -0700156
erikjaf85fc42012-07-03 16:10:44 -0700157BUILD_LIBRARIES += $(BUILD_LIBVERIFY)
ohair92de5662012-04-10 08:22:03 -0700158
159##########################################################################################
160
ohair46fcac92012-09-18 11:29:24 -0700161LIBJAVA_SRC_DIRS:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/lang \
erikjaf85fc42012-07-03 16:10:44 -0700162 $(JDK_TOPDIR)/src/share/native/java/lang \
163 $(JDK_TOPDIR)/src/share/native/java/lang/ref \
164 $(JDK_TOPDIR)/src/share/native/java/lang/reflect \
165 $(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700166 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
erikjaf85fc42012-07-03 16:10:44 -0700167 $(JDK_TOPDIR)/src/share/native/java/nio \
168 $(JDK_TOPDIR)/src/share/native/java/security \
169 $(JDK_TOPDIR)/src/share/native/common \
170 $(JDK_TOPDIR)/src/share/native/sun/misc \
171 $(JDK_TOPDIR)/src/share/native/sun/reflect \
erikjaf85fc42012-07-03 16:10:44 -0700172 $(JDK_TOPDIR)/src/share/native/java/util \
173 $(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
ohair46fcac92012-09-18 11:29:24 -0700174 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \
ohairb71409c2012-10-26 14:23:29 -0700175 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util
176
ohair46fcac92012-09-18 11:29:24 -0700177ifneq ($(OPENJDK_TARGET_OS),macosx)
178 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/util/locale/provider
179else
180 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/util/locale/provider
erikjaf85fc42012-07-03 16:10:44 -0700181endif
ohair92de5662012-04-10 08:22:03 -0700182
ohairb71409c2012-10-26 14:23:29 -0700183ifeq ($(OPENJDK_TARGET_OS),windows)
184 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/provider \
185 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/io
186endif
187
erikjaf85fc42012-07-03 16:10:44 -0700188LIBJAVA_CFLAGS:=$(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
189 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
ohair46fcac92012-09-18 11:29:24 -0700190 -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
ohair92de5662012-04-10 08:22:03 -0700191
erikjaf85fc42012-07-03 16:10:44 -0700192LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
193 -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
194 -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
195 -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"'
ohair92de5662012-04-10 08:22:03 -0700196
erikjaf85fc42012-07-03 16:10:44 -0700197ifneq (,$(JDK_UPDATE_VERSION))
198 LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
199endif
ohair92de5662012-04-10 08:22:03 -0700200
erikjaf85fc42012-07-03 16:10:44 -0700201LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.c
ohair92de5662012-04-10 08:22:03 -0700202
erikjaf85fc42012-07-03 16:10:44 -0700203ifneq ($(OPENJDK_TARGET_OS),macosx)
204 LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
erikje78df742012-06-07 20:40:50 -0700205else
erikjaf85fc42012-07-03 16:10:44 -0700206 BUILD_LIBJAVA_java_props_md.c_CFLAGS:=-x objective-c
ohair92de5662012-04-10 08:22:03 -0700207endif
208
erikjaf85fc42012-07-03 16:10:44 -0700209ifeq ($(OPENJDK_TARGET_OS),windows)
210 LIBJAVA_EXCLUDE_FILES += \
211 UNIXProcess_md.c \
212 UnixFileSystem_md.c \
213 FileSystemPreferences.c
ohair92de5662012-04-10 08:22:03 -0700214else
erikjaf85fc42012-07-03 16:10:44 -0700215 LIBJAVA_EXCLUDE_FILES += \
216 ProcessImpl_md.c \
erikjaf85fc42012-07-03 16:10:44 -0700217 WinNTFileSystem_md.c \
218 dirent_md.c \
219 WindowsPreferences.c \
220 sun/security/provider/WinCAPISeedGenerator.c \
221 sun/io/Win32ErrorMode.c
ohair92de5662012-04-10 08:22:03 -0700222endif
223
erikjaf85fc42012-07-03 16:10:44 -0700224ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700225 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
226 LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
ohair92de5662012-04-10 08:22:03 -0700227 endif
228endif
229
erikjaf85fc42012-07-03 16:10:44 -0700230$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
231 LIBRARY:=java,\
232 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
233 SRC:=$(LIBJAVA_SRC_DIRS),\
234 EXCLUDES:=fdlibm/src zip, \
235 EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \
ohair92de5662012-04-10 08:22:03 -0700236 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700237 OPTIMIZATION:=HIGH, \
238 CFLAGS:=$(CFLAGS_JDKLIB) \
239 $(LIBJAVA_CFLAGS),\
240 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700241 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700242 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -0700243 LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
erikj6dce8e92012-11-28 13:49:33 +0100244 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700245 LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
ohair46fcac92012-09-18 11:29:24 -0700246 LDFLAGS_SUFFIX_macosx:=-L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
erikjaf85fc42012-07-03 16:10:44 -0700247 -framework CoreFoundation \
248 -framework Security -framework SystemConfiguration, \
ohairb71409c2012-10-26 14:23:29 -0700249 LDFLAGS_SUFFIX_windows:=-export:winFileHandleOpen -export:handleLseek \
250 jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
251 shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
252 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -0700253 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
254 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700255 -D "JDK_FNAME=java.dll" \
256 -D "JDK_INTERNAL_NAME=java" \
257 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700258 REORDER:=$(LIBJAVA_REORDER), \
ohair46fcac92012-09-18 11:29:24 -0700259 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava,\
260 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700261
erikjaf85fc42012-07-03 16:10:44 -0700262BUILD_LIBRARIES += $(BUILD_LIBJAVA)
ohair92de5662012-04-10 08:22:03 -0700263
erikjaf85fc42012-07-03 16:10:44 -0700264$(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
265
266$(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY)
267
268$(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM)
ohair92de5662012-04-10 08:22:03 -0700269
270##########################################################################################
271
erikjaf85fc42012-07-03 16:10:44 -0700272BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib
273BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
erikje78df742012-06-07 20:40:50 -0700274 -I$(BUILD_LIBMLIB_SRC) \
ohair46fcac92012-09-18 11:29:24 -0700275 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib
erikje78df742012-06-07 20:40:50 -0700276
erikjaf85fc42012-07-03 16:10:44 -0700277BUILD_LIBMLIB_LDLIBS:=
278BUILD_LIBMLIB_IMAGE_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
erikje78df742012-06-07 20:40:50 -0700279
ohair46fcac92012-09-18 11:29:24 -0700280BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
erikje78df742012-06-07 20:40:50 -0700281
ohair46fcac92012-09-18 11:29:24 -0700282ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700283 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
284endif
285
erikjaf85fc42012-07-03 16:10:44 -0700286ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -0700287 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
288endif
289
290$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\
erikjaf85fc42012-07-03 16:10:44 -0700291 LIBRARY:=mlib_image,\
292 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
293 SRC:=$(BUILD_LIBMLIB_SRC),\
erikje78df742012-06-07 20:40:50 -0700294 EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\
295 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700296 OPTIMIZATION:=HIGHEST, \
297 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700298 $(BUILD_LIBMLIB_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -0700299 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700300 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700301 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700302 LDFLAGS_SUFFIX:=$(BUILD_LIBMLIB_LDLIBS) \
303 $(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -0800304 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -0700305 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
306 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700307 -D "JDK_FNAME=mlib_image.dll" \
308 -D "JDK_INTERNAL_NAME=mlib_image" \
309 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700310 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\
311 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700312
erikjaf85fc42012-07-03 16:10:44 -0700313$(BUILD_LIBMLIB_IMAGE) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700314
erikjaf85fc42012-07-03 16:10:44 -0700315BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -0700316
317##########################################################################################
318
ohair46fcac92012-09-18 11:29:24 -0700319ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH),solaris-sparc)
erikje78df742012-06-07 20:40:50 -0700320
erikjaf85fc42012-07-03 16:10:44 -0700321BUILD_LIBMLIB_IMAGE_V_FILES:=\
erikje78df742012-06-07 20:40:50 -0700322 mlib_v_ImageLookUp.c \
323 mlib_ImageCreate.c \
324 mlib_ImageAffine.c \
325 mlib_ImageConvMxN.c \
326 mlib_ImageConvKernelConvert.c \
327 mlib_sys.c \
328 mlib_ImageLookUp_64.c \
329 mlib_ImageLookUp_Bit.c \
330 mlib_ImageColorTrue2Index.c \
331 mlib_c_ImageThresh1_U8.c \
332 mlib_v_ImageLookUpS16S16Func.c \
333 mlib_v_ImageLookUpS16S32Func.c \
334 mlib_v_ImageLookUpS16U16Func.c \
335 mlib_v_ImageLookUpS16U8Func.c \
336 mlib_v_ImageLookUpS32S16Func.c \
337 mlib_v_ImageLookUpS32S32Func.c \
338 mlib_v_ImageLookUpS32U16Func.c \
339 mlib_v_ImageLookUpS32U8Func.c \
340 mlib_v_ImageLookUpSIS16S16Func.c \
341 mlib_v_ImageLookUpSIS16S32Func.c \
342 mlib_v_ImageLookUpSIS16U16Func.c \
343 mlib_v_ImageLookUpSIS16U8Func.c \
344 mlib_v_ImageLookUpSIS32S16Func.c \
345 mlib_v_ImageLookUpSIS32S32Func.c \
346 mlib_v_ImageLookUpSIS32U16Func.c \
347 mlib_v_ImageLookUpSIS32U8Func.c \
348 mlib_v_ImageLookUpSIU16S16Func.c \
349 mlib_v_ImageLookUpSIU16S32Func.c \
350 mlib_v_ImageLookUpSIU16U16Func.c \
351 mlib_v_ImageLookUpSIU16U8Func.c \
352 mlib_v_ImageLookUpSIU8S16Func.c \
353 mlib_v_ImageLookUpSIU8S32Func.c \
354 mlib_v_ImageLookUpSIU8U16Func.c \
355 mlib_v_ImageLookUpSIU8U8Func.c \
356 mlib_v_ImageLookUpU16S16Func.c \
357 mlib_v_ImageLookUpU16S32Func.c \
358 mlib_v_ImageLookUpU16U16Func.c \
359 mlib_v_ImageLookUpU16U8Func.c \
360 mlib_v_ImageLookUpU8S16Func.c \
361 mlib_v_ImageLookUpU8S32Func.c \
362 mlib_v_ImageLookUpU8U16Func.c \
363 mlib_v_ImageLookUpU8U8Func.c \
364 mlib_v_ImageAffineIndex_BC.c \
365 mlib_v_ImageAffine_BC.c \
366 mlib_v_ImageAffine_BC_S16.c \
367 mlib_v_ImageAffine_BC_U16.c \
368 mlib_v_ImageAffine_BL.c \
369 mlib_v_ImageAffine_BL_S16.c \
370 mlib_v_ImageAffine_BL_U16.c \
371 mlib_v_ImageAffine_NN.c \
372 mlib_v_ImageFilters.c \
373 mlib_ImageAffineEdge.c \
374 mlib_ImageAffine_BC_D64.c \
375 mlib_ImageAffine_BC_F32.c \
376 mlib_ImageAffine_BC_S32.c \
377 mlib_ImageAffine_BL_D64.c \
378 mlib_ImageAffine_BL_F32.c \
379 mlib_ImageAffine_BL_S32.c \
380 mlib_ImageAffine_NN.c \
381 mlib_ImageAffine_NN_Bit.c \
382 mlib_ImageFilters.c \
383 mlib_ImageScanPoly.c \
384 mlib_ImageConv_8nw.c \
385 mlib_ImageConv_8ext.c \
386 mlib_ImageConv_16nw.c \
387 mlib_ImageConv_16ext.c \
388 mlib_ImageConv_u16nw.c \
389 mlib_ImageConv_u16ext.c \
390 mlib_ImageConv_32nw.c \
391 mlib_ImageConv_F32nw.c \
392 mlib_ImageConvMxN_Fp.c \
393 mlib_ImageConvMxN_ext.c \
394 mlib_ImageConv_D64nw.c \
395 mlib_ImageClipping.c \
396 mlib_ImageConvCopyEdge_Bit.c \
397 mlib_ImageConvClearEdge_Bit.c \
398 mlib_ImageConv2x2_f.c \
399 mlib_ImageConvClearEdge_Fp.c \
400 mlib_v_ImageConvMxN_8.c \
401 mlib_v_ImageConvClearEdge.c \
402 mlib_v_ImageConvCopyEdge.c \
403 mlib_v_ImageConvMxN_8ext.c \
404 mlib_v_ImageConvVersion.c \
405 mlib_v_ImageConv_8nw.c \
406 mlib_ImageConvCopyEdge_Fp.c \
407 mlib_v_ImageChannelInsert_1.c \
408 mlib_v_ImageChannelExtract_43.c \
409 mlib_v_ImageChannelExtract_1.c \
410 mlib_ImageCopy_Bit.c \
411 mlib_v_ImageCopy_f.c \
412 mlib_ImageUtils.c \
413 mlib_ImageDivTables.c
414
erikjaf85fc42012-07-03 16:10:44 -0700415BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS))
erikje78df742012-06-07 20:40:50 -0700416
417$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\
erikjaf85fc42012-07-03 16:10:44 -0700418 LIBRARY:=mlib_image_v, \
419 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
420 SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
erikje78df742012-06-07 20:40:50 -0700421 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\
422 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700423 INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\
424 OPTIMIZATION:=HIGHEST, \
425 CFLAGS:=-xarch=sparcvis \
ohair46fcac92012-09-18 11:29:24 -0700426 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il\
erikjaf85fc42012-07-03 16:10:44 -0700427 $(BUILD_LIBMLIB_V_CFLAGS) \
428 $(CFLAGS_JDKLIB), \
429 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700430 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohairb71409c2012-10-26 14:23:29 -0700431 $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
erikje78df742012-06-07 20:40:50 -0700432 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -0800433 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -0700434 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v))
erikje78df742012-06-07 20:40:50 -0700435
ohairb71409c2012-10-26 14:23:29 -0700436$(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
437
erikjaf85fc42012-07-03 16:10:44 -0700438BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
erikje78df742012-06-07 20:40:50 -0700439
440endif
441
442##########################################################################################
443
erikjaf85fc42012-07-03 16:10:44 -0700444LIBAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -0700445 $(JDK_TOPDIR)/src/share/native/sun/awt \
ohair46fcac92012-09-18 11:29:24 -0700446 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikje78df742012-06-07 20:40:50 -0700447 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
448 $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
449 $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
erikje78df742012-06-07 20:40:50 -0700450 $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
451 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
452 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
453 $(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700454 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikje78df742012-06-07 20:40:50 -0700455 $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
456 $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
457 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
458 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700459 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
ohairb71409c2012-10-26 14:23:29 -0700460 $(JDK_TOPDIR)/src/share/native/sun/font
461
462ifeq ($(OPENJDK_TARGET_OS),windows)
463 LIBAWT_DIRS+=\
ohair46fcac92012-09-18 11:29:24 -0700464 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
465 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
466 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d
erikjebad8f92013-03-06 16:15:16 +0100467 LIBAWT_CFLAGS+=-I$(DXSDK_INCLUDE_PATH)
ohairb71409c2012-10-26 14:23:29 -0700468else
469 LIBAWT_DIRS+=\
470 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
471endif
erikje78df742012-06-07 20:40:50 -0700472
erikjebad8f92013-03-06 16:15:16 +0100473LIBAWT_CFLAGS+=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
erikjaf85fc42012-07-03 16:10:44 -0700474 $(X_CFLAGS) \
erikje78df742012-06-07 20:40:50 -0700475 $(foreach dir,$(LIBAWT_DIRS),-I$(dir))
476
erikjaf85fc42012-07-03 16:10:44 -0700477LIBAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -0700478 gifdecoder.c \
479 imageInitIDs.c \
480 img_globals.c \
481 SurfaceData.c \
482 Region.c \
483 BufImgSurfaceData.c \
484 Disposer.c \
485 Trace.c \
486 GraphicsPrimitiveMgr.c \
487 Blit.c \
488 BlitBg.c \
489 ScaledBlit.c \
490 FillRect.c \
491 FillSpans.c \
492 FillParallelogram.c \
493 DrawParallelogram.c \
494 DrawLine.c \
495 DrawRect.c \
496 DrawPolygons.c \
497 DrawPath.c \
498 FillPath.c \
499 ProcessPath.c \
500 MaskBlit.c \
501 MaskFill.c \
502 TransformHelper.c \
503 AlphaMath.c \
504 AlphaMacros.c \
505 AnyByte.c \
506 ByteBinary1Bit.c \
507 ByteBinary2Bit.c \
508 ByteBinary4Bit.c \
509 ByteIndexed.c \
510 ByteGray.c \
511 Index8Gray.c \
512 Index12Gray.c \
513 AnyShort.c \
514 Ushort555Rgb.c \
515 Ushort565Rgb.c \
516 Ushort4444Argb.c \
517 Ushort555Rgbx.c \
518 UshortGray.c \
519 UshortIndexed.c \
520 Any3Byte.c \
521 ThreeByteBgr.c \
522 AnyInt.c \
523 IntArgb.c \
524 IntArgbPre.c \
525 IntArgbBm.c \
526 IntRgb.c \
527 IntBgr.c \
528 IntRgbx.c \
529 Any4Byte.c \
530 FourByteAbgr.c \
531 FourByteAbgrPre.c \
532 BufferedMaskBlit.c \
533 BufferedRenderPipe.c \
534 ShapeSpanIterator.c \
535 SpanClipRenderer.c \
536 awt_ImageRep.c \
537 awt_ImagingLib.c \
538 awt_Mlib.c \
539 awt_parseImage.c \
540 DataBufferNative.c \
541 dither.c \
542 debug_assert.c \
543 debug_mem.c \
544 debug_trace.c \
545 debug_util.c
546
ohair46fcac92012-09-18 11:29:24 -0700547ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux))
erikje78df742012-06-07 20:40:50 -0700548 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
549endif
550
erikjaf85fc42012-07-03 16:10:44 -0700551ifeq ($(OPENJDK_TARGET_OS),macosx)
ohair46fcac92012-09-18 11:29:24 -0700552 LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
erikje78df742012-06-07 20:40:50 -0700553 LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
554 LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
555 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
556
erikjaf85fc42012-07-03 16:10:44 -0700557 LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
erikje78df742012-06-07 20:40:50 -0700558endif
559
erikjaf85fc42012-07-03 16:10:44 -0700560ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
561 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
562 LIBAWT_CFLAGS += -xarch=sparcvis
ohair46fcac92012-09-18 11:29:24 -0700563 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
erikjaf85fc42012-07-03 16:10:44 -0700564 LIBAWT_CFLAGS += \
565 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
566 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
567 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
erikje78df742012-06-07 20:40:50 -0700568
erikjaf85fc42012-07-03 16:10:44 -0700569 LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
570 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
571
572 LIBAWT_FILES += \
573 vis_FuncArray.c \
574 java2d_Mlib.c \
575 mlib_ImageCreate.c \
576 mlib_ImageZoom_NN.c \
577 mlib_ImageCopy_Bit.c \
578 mlib_sys.c \
579 mlib_v_ImageClear.c \
580 mlib_v_ImageClear_f.c \
581 mlib_v_ImageConstXor.c \
582 mlib_v_ImageCopy.c \
583 mlib_v_ImageCopy_f.c \
584 mlib_v_ImageXor.c \
585 mlib_v_ImageZoom_NN_f.c \
586 vis_Interp.c \
587 vis_AlphaMacros.c \
588 vis_AlphaMaskBlit.c \
589 vis_AlphaMaskFill.c \
590 vis_ByteGray.c \
591 vis_ByteGray_FromRgb.c \
592 vis_ByteGray_Mask.c \
593 vis_ByteIndexed.c \
594 vis_DrawLine.c \
595 vis_FourByteAbgr.c \
596 vis_IntArgb.c \
597 vis_IntArgbPre.c \
598 vis_IntArgbPre_Mask.c \
599 vis_IntBgr.c \
600 vis_IntRgb.c \
601 vis_IntRgbx.c \
602 vis_SrcMaskFill.c \
603 vis_SrcOverMaskBlit.c \
604 vis_SrcOverMaskFill.c \
605 vis_FourByteAbgrPre.c \
606 vis_GlyphList.c \
607 vis_GlyphListXor.c \
608 vis_IntArgbBm.c \
609 vis_ThreeByteBgr.c \
610 vis_UshortGray.c \
611 vis_UshortGray_FromRgb.c \
612 vis_XorBlit.c \
613 mlib_v_ImageCopy_blk.s
614
ohair46fcac92012-09-18 11:29:24 -0700615 ifeq ($(OPENJDK_TARGET_CPU),sparcv9)
erikjaf85fc42012-07-03 16:10:44 -0700616 LIBAWT_ASFLAGS=-P -xarch=v9a
617 else
618 LIBAWT_ASFLAGS=-P -xarch=v8plusa
619 endif
erikje78df742012-06-07 20:40:50 -0700620else
621 LIBAWT_FILES += MapAccelFunc.c
622endif
623
erikjaf85fc42012-07-03 16:10:44 -0700624ifneq ($(OPENJDK_TARGET_OS),solaris)
erikje78df742012-06-07 20:40:50 -0700625 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
626endif
627
erikjaf85fc42012-07-03 16:10:44 -0700628LIBAWT_LANG:=C
erikje78df742012-06-07 20:40:50 -0700629
erikjaf85fc42012-07-03 16:10:44 -0700630ifeq ($(OPENJDK_TARGET_OS),windows)
erikje78df742012-06-07 20:40:50 -0700631 LIBAWT_FILES += AccelGlyphCache.c \
632 ShaderList.c \
633 CmdIDList.cpp \
634 Hashtable.cpp \
635 GDIHashtable.cpp \
636 Devices.cpp \
637 ObjectList.cpp \
638 GDIBlitLoops.cpp \
639 GDIRenderer.cpp \
640 GDIWindowSurfaceData.cpp \
641 WindowsFlags.cpp \
642 WPrinterJob.cpp \
643 awt_%.cpp \
644 D3DBlitLoops.cpp \
645 D3DBufImgOps.cpp \
646 D3DContext.cpp \
647 D3DGlyphCache.cpp \
648 D3DGraphicsDevice.cpp \
649 D3DMaskBlit.cpp \
650 D3DMaskCache.cpp \
651 D3DMaskFill.cpp \
652 D3DPipelineManager.cpp \
653 D3DPaints.cpp \
654 D3DRenderer.cpp \
655 D3DRenderQueue.cpp \
656 D3DResourceManager.cpp \
657 D3DSurfaceData.cpp \
658 D3DTextRenderer.cpp \
659 D3DVertexCacher.cpp \
660 ShellFolder2.cpp \
661 ThemeReader.cpp \
662 ComCtl32Util.cpp \
663 DllUtil.cpp \
664 initIDs.cpp \
665 MouseInfo.cpp \
ohairb71409c2012-10-26 14:23:29 -0700666 rect.c \
667 OGLBlitLoops.c \
668 OGLBufImgOps.c \
669 OGLContext.c \
670 OGLFuncs.c \
671 OGLMaskBlit.c \
672 OGLMaskFill.c \
673 OGLPaints.c \
674 OGLRenderQueue.c \
675 OGLRenderer.c \
676 OGLSurfaceData.c \
677 OGLTextRenderer.c \
678 OGLVertexCache.c \
679 WGLGraphicsConfig.c \
680 WGLSurfaceData.c
erikjaf85fc42012-07-03 16:10:44 -0700681 LIBAWT_LANG:=C++
ohair46fcac92012-09-18 11:29:24 -0700682 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
683 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700684 LIBAWT_CFLAGS += -DMLIB_OS64BIT
685 endif
686
687 ifdef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -0700688 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
erikje78df742012-06-07 20:40:50 -0700689 else
erikjaf85fc42012-07-03 16:10:44 -0700690 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
erikje78df742012-06-07 20:40:50 -0700691 endif
erikjaf85fc42012-07-03 16:10:44 -0700692 LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
erikje78df742012-06-07 20:40:50 -0700693endif
694
695ifeq ($(MILESTONE), internal)
696 LIBAWT_CFLAGS += -DINTERNAL_BUILD
697endif
698
erikjaf85fc42012-07-03 16:10:44 -0700699LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
700ifeq ($(OPENJDK_TARGET_OS),linux)
701 LIBAWT_MAPFILE:=
erikje78df742012-06-07 20:40:50 -0700702endif
703
704$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
erikjaf85fc42012-07-03 16:10:44 -0700705 LIBRARY:=awt,\
706 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -0700707 SRC:=$(LIBAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -0700708 INCLUDE_FILES:=$(LIBAWT_FILES),\
erikje78df742012-06-07 20:40:50 -0700709 LANG:=$(LIBAWT_LANG),\
erikjaf85fc42012-07-03 16:10:44 -0700710 OPTIMIZATION:=LOW, \
711 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
712 ASFLAGS:=$(LIBAWT_ASFLAGS),\
713 MAPFILE:=$(LIBAWT_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700714 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700715 LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
716 LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -0800717 LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
ohair46fcac92012-09-18 11:29:24 -0700718 LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
719 -framework Cocoa \
720 -framework OpenGL \
721 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
722 -framework JavaNativeFoundation \
723 -framework JavaRuntimeSupport \
724 -framework ApplicationServices \
725 -framework AudioToolbox \
726 -ljava,\
ohairb71409c2012-10-26 14:23:29 -0700727 LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \
728 imm32.lib ole32.lib uuid.lib shell32.lib \
729 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
730 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
731 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
732 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
733 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
734 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
735 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\
erikjaf85fc42012-07-03 16:10:44 -0700736 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
737 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700738 -D "JDK_FNAME=awt.dll" \
739 -D "JDK_INTERNAL_NAME=awt" \
740 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700741 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt,\
742 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700743
erikjaf85fc42012-07-03 16:10:44 -0700744$(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700745
erikjaf85fc42012-07-03 16:10:44 -0700746ifeq ($(OPENJDK_TARGET_OS), macosx)
747$(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
748endif
749
750BUILD_LIBRARIES += $(BUILD_LIBAWT)
751
752##########################################################################################
753
754# TODO!!
755# Even though this variable as a general name, it is
756# only used on macos, in fontpath.c, as prefix for where to find fonts.
757#
758# It's used for libawt_headless _and_ libawt_xawt
759#
760X11_PATH:=/usr/X11R6
761
762ifneq ($(OPENJDK_TARGET_OS), windows)
763ifndef BUILD_HEADLESS_ONLY
764
765LIBAWT_XAWT_DIRS:=\
766 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
767 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
768 $(JDK_TOPDIR)/src/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -0700769 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -0700770 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700771 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
772 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
773 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
774 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
erikjaf85fc42012-07-03 16:10:44 -0700775
776LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
777 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
778 $(CUPS_CFLAGS) \
779 $(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
780 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700781 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -0700782 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
783 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
784 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
785 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
786 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -0700787 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
erikjaf85fc42012-07-03 16:10:44 -0700788
789ifeq ($(OPENJDK_TARGET_OS),solaris)
790 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
791endif
792
793ifeq ($(MILESTONE),internal)
794 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
795endif
796
797LIBAWT_XAWT_FILES:=\
798 XlibWrapper.c \
799 XWindow.c \
800 XToolkit.c \
801 X11Color.c \
802 X11SurfaceData.c \
803 awt_GraphicsEnv.c \
804 awt_InputMethod.c \
805 robot_common.c \
806 awt_Robot.c \
807 list.c \
808 multiVis.c \
809 initIDs.c \
810 awt_util.c \
811 awt_Desktop.c \
812 awt_UNIXToolkit.c \
813 X11FontScaler_md.c \
814 X11TextRenderer_md.c \
815 fontpath.c \
816 awt_Insets.c \
817 awt_Event.c \
818 X11Renderer.c \
819 X11PMBlitLoops.c \
820 OGLBlitLoops.c \
821 OGLBufImgOps.c \
822 OGLContext.c \
823 OGLFuncs.c \
824 OGLMaskBlit.c \
825 OGLMaskFill.c \
826 OGLPaints.c \
827 OGLRenderQueue.c \
828 OGLRenderer.c \
829 OGLSurfaceData.c \
830 OGLTextRenderer.c \
831 OGLVertexCache.c \
832 GLXGraphicsConfig.c \
833 GLXSurfaceData.c \
834 AccelGlyphCache.c \
835 awt_Font.c \
836 multi_font.c \
837 awt_AWTEvent.c \
838 awt_DrawingSurface.c \
839 jawt.c \
840 CUPSfuncs.c \
841 debug_assert.c \
842 debug_mem.c \
843 debug_trace.c \
844 debug_util.c \
845 awt_Plugin.c \
denisa8cc3242013-03-22 19:56:20 +0400846 gnome_interface.c \
erikjaf85fc42012-07-03 16:10:44 -0700847 gtk2_interface.c \
848 swing_GTKEngine.c \
849 swing_GTKStyle.c \
850 rect.c \
851 sun_awt_X11_GtkFileDialogPeer.c \
852 XRSurfaceData.c \
853 XRBackendNative.c
854
855LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
856
857ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -0700858 # To match old build, add this to LDFLAGS instead of suffix.
859 LIBAWT_XAWT_LDFLAGS += -lpthread
erikjaf85fc42012-07-03 16:10:44 -0700860endif
861
862ifeq ($(OPENJDK_TARGET_OS), macosx)
863 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
864endif
865
ohair46fcac92012-09-18 11:29:24 -0700866# On macosx, the shared library origin is set twice for this lib.
erikjaf85fc42012-07-03 16:10:44 -0700867$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
868 LIBRARY:=awt_xawt,\
869 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
870 SRC:=$(LIBAWT_XAWT_DIRS),\
871 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
872 LANG:=C,\
873 OPTIMIZATION:=LOW, \
874 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
875 $(X_CFLAGS),\
876 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
877 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700878 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\
879 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \
880 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
881 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
882 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
883 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
884 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
885 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
886 $(call SET_SHARED_LIBRARY_ORIGIN) \
887 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
888 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \
889 $(call SET_SHARED_LIBRARY_ORIGIN). \
890 $(call SET_SHARED_LIBRARY_ORIGIN) \
891 $(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -0700892 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -0700893 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
894 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700895 -D "JDK_FNAME=xawt.dll" \
896 -D "JDK_INTERNAL_NAME=xawt" \
897 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700898 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt))
899
900$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
901
902$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
903
904BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
905
906endif
907endif
908
909##########################################################################################
910
erikj5c99f2c2012-11-28 13:29:35 +0100911BUILD_LIBZIP_EXCLUDES :=
erikjaf85fc42012-07-03 16:10:44 -0700912ifeq ($(USE_EXTERNAL_LIBZ),true)
erikj5c99f2c2012-11-28 13:29:35 +0100913 LIBZ := -lz
914 LIBZIP_EXCLUDES += zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700915else
erikj5c99f2c2012-11-28 13:29:35 +0100916 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700917endif
918
erikj5c99f2c2012-11-28 13:29:35 +0100919BUILD_LIBZIP_REORDER :=
erikjaf85fc42012-07-03 16:10:44 -0700920ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700921 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikj5c99f2c2012-11-28 13:29:35 +0100922 BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700923 endif
924endif
925
926ifeq ($(LIBZIP_CAN_USE_MMAP), true)
erikj5c99f2c2012-11-28 13:29:35 +0100927 BUILD_LIBZIP_MMAP := -DUSE_MMAP
erikjaf85fc42012-07-03 16:10:44 -0700928endif
929
930$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
931 LIBRARY:=zip,\
932 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikjaf85fc42012-07-03 16:10:44 -0700933 LANG:=C,\
934 OPTIMIZATION:=LOW, \
erikj5c99f2c2012-11-28 13:29:35 +0100935 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
936 EXCLUDES:=$(LIBZIP_EXCLUDES),\
erikjaf85fc42012-07-03 16:10:44 -0700937 CFLAGS:=$(CFLAGS_JDKLIB) \
erikj5c99f2c2012-11-28 13:29:35 +0100938 $(ZLIB_CPPFLAGS) \
erikjaf85fc42012-07-03 16:10:44 -0700939 -I$(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700940 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
erikjaf85fc42012-07-03 16:10:44 -0700941 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
942 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
943 REORDER:=$(BUILD_LIBZIP_REORDER), \
944 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700945 $(call SET_SHARED_LIBRARY_ORIGIN) \
erikjaf85fc42012-07-03 16:10:44 -0700946 $(EXPORT_ZIP_FUNCS), \
ohair46fcac92012-09-18 11:29:24 -0700947 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
erikjaf85fc42012-07-03 16:10:44 -0700948 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
949 $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700950 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -0800951 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
ohair46fcac92012-09-18 11:29:24 -0700952 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
953 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
954 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700955 -D "JDK_FNAME=zip.dll" \
956 -D "JDK_INTERNAL_NAME=zip" \
957 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700958 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
959 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700960
961$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
962
963BUILD_LIBRARIES += $(BUILD_LIBZIP)
964
965##########################################################################################
966
967$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
968 LIBRARY:=unpack, \
969 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
970 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
971 EXCLUDE_FILES:=main.cpp,\
972 LANG:=C++,\
973 OPTIMIZATION:=LOW, \
974 CFLAGS:=$(CXXFLAGS_JDKLIB) \
975 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
976 CFLAGS_release:=-DPRODUCT,\
977 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -0700978 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -0700979 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohairb71409c2012-10-26 14:23:29 -0700980 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
erikjaf85fc42012-07-03 16:10:44 -0700981 jvm.lib $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700982 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700983 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
984 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
985 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700986 -D "JDK_FNAME=unpack.dll" \
987 -D "JDK_INTERNAL_NAME=unpack" \
988 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700989 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700990
991$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
992
993BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
994
ohair46fcac92012-09-18 11:29:24 -0700995ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -0700996 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
997 $(ECHO) Copying $(@F)
998 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
999
1000 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
1001 $(ECHO) Copying $(@F)
1002 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
1003endif
1004
1005##########################################################################################
1006
1007LIBATTACH_EXCLUDE_FILES:=
1008ifneq ($(OPENJDK_TARGET_OS),solaris)
1009 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1010endif
1011ifneq ($(OPENJDK_TARGET_OS),linux)
1012 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1013endif
1014ifneq ($(OPENJDK_TARGET_OS),macosx)
1015 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1016endif
1017
1018$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1019 LIBRARY:=attach, \
1020 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001021 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
erikjaf85fc42012-07-03 16:10:44 -07001022 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1023 LANG:=C,\
1024 OPTIMIZATION:=LOW, \
1025 CFLAGS:=$(CFLAGS_JDKLIB),\
1026 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
ohair46fcac92012-09-18 11:29:24 -07001027 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1028 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001029 -D "JDK_FNAME=attach.dll" \
1030 -D "JDK_INTERNAL_NAME=attach" \
1031 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001032 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1033 $(call SET_SHARED_LIBRARY_ORIGIN),\
1034 LDFLAGS_solaris:=-ldoor,\
erikjaf85fc42012-07-03 16:10:44 -07001035 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001036 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001037 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
1038 DEBUG_SYMBOLS:=true))
1039
1040$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
1041
1042BUILD_LIBRARIES += $(BUILD_LIBATTACH)
1043
1044##########################################################################################
1045
1046$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
1047 LIBRARY:=dt_socket,\
1048 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1049 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001050 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\
erikjaf85fc42012-07-03 16:10:44 -07001051 LANG:=C,\
1052 OPTIMIZATION:=LOW, \
1053 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
1054 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1055 -I$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001056 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
erikjaf85fc42012-07-03 16:10:44 -07001057 -I$(JDK_TOPDIR)/src/share/back/export \
1058 -I$(JDK_TOPDIR)/src/share/back,\
1059 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001060 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1061 $(call SET_SHARED_LIBRARY_ORIGIN), \
1062 LDFLAGS_SUFFIX_linux:=-lpthread,\
erikj4f66f2d2012-11-03 16:27:01 -07001063 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\
ohair46fcac92012-09-18 11:29:24 -07001064 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
1065 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1066 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001067 -D "JDK_FNAME=dt_socket.dll" \
1068 -D "JDK_INTERNAL_NAME=dt_socket" \
1069 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001070 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
1071 DEBUG_SYMBOLS:=true))
1072
1073$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
1074
1075BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
1076
1077##########################################################################################
1078
ohair46fcac92012-09-18 11:29:24 -07001079ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001080
1081 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
1082 LIBRARY:=dt_shmem,\
1083 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1084 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
1085 $(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001086 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\
erikjaf85fc42012-07-03 16:10:44 -07001087 LANG:=C,\
1088 OPTIMIZATION:=LOW, \
1089 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
1090 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1091 -I$(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001092 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
erikjaf85fc42012-07-03 16:10:44 -07001093 -I$(JDK_TOPDIR)/src/share/back/export, \
1094 LDFLAGS:=$(LDFLAGS_JDKLIB),\
ohair46fcac92012-09-18 11:29:24 -07001095 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\
erikjaf85fc42012-07-03 16:10:44 -07001096 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001097 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1098 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001099 -D "JDK_FNAME=dt_shmem.dll" \
1100 -D "JDK_INTERNAL_NAME=dt_shmem" \
1101 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001102 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
1103 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001104
1105 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
1106
1107endif # OPENJDK_TARGET_OS
1108
1109##########################################################################################
ohair46fcac92012-09-18 11:29:24 -07001110# JDWP_LOGGING causes log messages to be compiled into the library.
erikjaf85fc42012-07-03 16:10:44 -07001111$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
1112 LIBRARY:=jdwp, \
1113 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001114 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\
erikjaf85fc42012-07-03 16:10:44 -07001115 LANG:=C,\
1116 OPTIMIZATION:=LOW, \
1117 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
1118 -I$(JDK_TOPDIR)/src/share/transport/export \
1119 -I$(JDK_TOPDIR)/src/share/back/export \
1120 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001121 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001122 -I$(JDK_TOPDIR)/src/share/back \
ohair46fcac92012-09-18 11:29:24 -07001123 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
erikjaf85fc42012-07-03 16:10:44 -07001124 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
1125 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001126 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1127 $(call SET_SHARED_LIBRARY_ORIGIN),\
1128 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001129 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001130 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001131 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1132 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001133 -D "JDK_FNAME=jdwp.dll" \
1134 -D "JDK_INTERNAL_NAME=jdwp" \
1135 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001136 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
1137 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001138
1139$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
1140
1141BUILD_LIBRARIES += $(BUILD_LIBJDWP)
1142
1143##########################################################################################
1144
1145LIBJAAS_MAPFILE:=
1146ifneq ($(OPENJDK_TARGET_OS),solaris)
1147 LIBJAAS_EXCLUDE_FILES:=Solaris.c
1148else
1149 # only on solaris...wonder why
1150 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
1151endif
1152
1153LIBJAAS_NAME:=jaas_unix
1154ifeq ($(OPENJDK_TARGET_OS), windows)
1155 LIBJAAS_NAME:=jaas_nt
1156endif
1157
1158$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
1159 LIBRARY:=$(LIBJAAS_NAME),\
1160 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001161 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\
erikjaf85fc42012-07-03 16:10:44 -07001162 LANG:=C,\
1163 OPTIMIZATION:=LOW, \
1164 CFLAGS:=$(CFLAGS_JDKLIB),\
1165 MAPFILE:=$(LIBJAAS_MAPFILE),\
1166 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
1167 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001168 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001169 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -08001170 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07001171 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
ohair46fcac92012-09-18 11:29:24 -07001172 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1173 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001174 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
1175 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
1176 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001177 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\
1178 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001179
1180$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
1181
1182BUILD_LIBRARIES += $(BUILD_LIBJAAS)
1183
1184##########################################################################################
1185
1186$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
1187 LIBRARY:=jsdt,\
1188 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1189 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
ohair46fcac92012-09-18 11:29:24 -07001190 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\
erikjaf85fc42012-07-03 16:10:44 -07001191 LANG:=C,\
1192 OPTIMIZATION:=LOW, \
1193 CFLAGS:=$(CFLAGS_JDKLIB)\
1194 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
1195 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
1196 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1197 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001198 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1199 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07001200 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001201 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001202 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1203 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001204 -D "JDK_FNAME=jsdt.dll" \
1205 -D "JDK_INTERNAL_NAME=jsdt" \
1206 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001207 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
ohair46fcac92012-09-18 11:29:24 -07001208 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001209
1210$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
1211
1212BUILD_LIBRARIES += $(BUILD_LIBJSDT)
1213
1214##########################################################################################
1215
1216ifdef OPENJDK
1217 # TODO: Update awt lib path when awt is converted
1218 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1219 LIBRARY:=lcms,\
1220 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01001221 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
erikjaf85fc42012-07-03 16:10:44 -07001222 LANG:=C,\
baebb34c3b2013-03-07 14:05:21 +04001223 OPTIMIZATION:=HIGHEST, \
erikjaf85fc42012-07-03 16:10:44 -07001224 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1225 $(SHARED_LIBRARY_FLAGS) \
1226 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1227 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1228 CFLAGS_solaris:=-xc99=no_lib,\
ohair46fcac92012-09-18 11:29:24 -07001229 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
erikjaf85fc42012-07-03 16:10:44 -07001230 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001231 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1232 $(call SET_SHARED_LIBRARY_ORIGIN), \
1233 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1234 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
tbell7d47bd02012-11-12 10:20:01 -08001235 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07001236 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1237 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1238 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1239 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001240 -D "JDK_FNAME=lcms.dll" \
1241 -D "JDK_INTERNAL_NAME=lcms" \
1242 -D "JDK_FTYPE=0x2L",\
1243 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
1244 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001245
1246 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1247
1248 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
1249endif
1250
1251##########################################################################################
1252
1253ifdef OPENJDK
1254 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1255else
1256 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1257 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1258 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1259endif
1260
1261BUILD_LIBJPEG_REORDER:=
1262ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001263 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1264 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07001265 endif
1266endif
1267
1268# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
1269# or 'vfork'": this warning indicates that some variable is placed to
1270# a register by optimized compiler and it's value might be lost on longjmp().
1271# Recommended way to avoid such warning is to declare the variable as
1272# volatile to prevent the optimization. However, this approach does not
1273# work because we have to declare all variables as volatile in result.
1274#ifndef CROSS_COMPILE_ARCH
1275# CC_43_OR_NEWER:=\
1276# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
1277# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
1278# ifeq ($(CC_43_OR_NEWER),1)
1279# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
1280# endif
1281#endif
1282
1283$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
1284 LIBRARY:=jpeg, \
1285 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1286 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
1287 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1288 LANG:=C,\
1289 OPTIMIZATION:=HIGHEST, \
1290 CFLAGS:=$(CFLAGS_JDKLIB) \
1291 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
1292 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1293 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
1294 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1295 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001296 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001297 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001298 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1299 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001300 -D "JDK_FNAME=jpeg.dll" \
1301 -D "JDK_INTERNAL_NAME=jpeg" \
1302 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001303 REORDER:=$(BUILD_LIBJPEG_REORDER),\
ohair46fcac92012-09-18 11:29:24 -07001304 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
1305 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001306
1307$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
1308
1309BUILD_LIBRARIES += $(BUILD_LIBJPEG)
1310
1311##########################################################################################
1312
1313ifndef OPENJDK
ohairb71409c2012-10-26 14:23:29 -07001314 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
erikjaf85fc42012-07-03 16:10:44 -07001315 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
1316 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
1317else
1318 FONT_HEADERS:=$(FREETYPE2_CFLAGS)
1319 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
1320 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
1321endif
1322
1323LIBFONTMANAGER_OPTIMIZATION:=HIGH
1324
1325ifeq ($(OPENJDK_TARGET_OS),windows)
1326 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1327 X11TextRenderer.c
1328 LIBFONTMANAGER_OPTIMIZATION:=LOW
1329else
1330 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1331 lcdglyph.c
1332endif
1333
1334BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1335 $(X_CFLAGS) \
1336 -DLE_STANDALONE -DHEADLESS \
1337 $(FONT_HEADERS) \
1338 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1339 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1340 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001341 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001342 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1343 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1344 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001345 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001346 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1347
1348# Turn off aliasing with GCC for ExtensionSubtables.cpp
1349ifeq ($(OPENJDK_TARGET_OS), linux)
1350 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1351endif
1352
1353$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1354 LIBRARY:=fontmanager, \
1355 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1356 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
ohair46fcac92012-09-18 11:29:24 -07001357 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
erikjaf85fc42012-07-03 16:10:44 -07001358 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1359 AccelGlyphCache.c,\
1360 LANG:=C++,\
1361 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1362 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1363 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
ohair46fcac92012-09-18 11:29:24 -07001364 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001365 -DCC_NOEX, \
1366 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
ohair46fcac92012-09-18 11:29:24 -07001367 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001368 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001369 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1370 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1371 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
ohairb71409c2012-10-26 14:23:29 -07001372 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1373 -ljava -ljvm,\
1374 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1375 $(WIN_AWT_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001376 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1377 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001378 -D "JDK_FNAME=fontmanager.dll" \
1379 -D "JDK_INTERNAL_NAME=fontmanager" \
1380 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001381 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
1382 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001383
1384$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1385
1386ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1387$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1388endif
1389
1390BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001391
1392##########################################################################################
1393
1394ifndef OPENJDK
1395
erikjaf85fc42012-07-03 16:10:44 -07001396# ifeq ($(OPENJDK_TARGET_OS), linux)
1397# ifeq ("$(CC_VER_MAJOR)", "3")
1398# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1399# endif
1400# endif
1401#
1402# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1403# the input .o files. Because of this the new build will differ in size to the old build.
1404 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1405 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1406 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1407 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -07001408 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -07001409 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1410 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001411 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001412 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1413
1414 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1415 LIBRARY:=t2k, \
1416 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1417 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1418 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1419 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1420 EXCLUDE_FILES:=orion.c,\
1421 LANG:=C++,\
1422 OPTIMIZATION:=HIGH, \
1423 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1424 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1425 CFLAGS_windows=-DCC_NOEX, \
1426 CXXFLAGS_windows=-DCC_NOEX, \
1427 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001428 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001429 $(call SET_SHARED_LIBRARY_ORIGIN),\
1430 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
ohair46fcac92012-09-18 11:29:24 -07001431 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
1432 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
1433 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1434 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001435 -D "JDK_FNAME=t2k.dll" \
1436 -D "JDK_INTERNAL_NAME=t2k" \
1437 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001438 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
1439 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001440
1441 # t2k is linked against fontmanager
1442 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1443
1444 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1445endif
1446
1447##########################################################################################
1448
erikjaf85fc42012-07-03 16:10:44 -07001449ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001450 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikjaf85fc42012-07-03 16:10:44 -07001451 KERNEL32_LIB:=kernel32.lib
1452 endif
1453 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1454 LIBRARY:=jawt, \
1455 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001456 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
erikjaf85fc42012-07-03 16:10:44 -07001457 INCLUDE_FILES:=jawt.cpp,\
1458 LANG:=C++,\
1459 OPTIMIZATION:=LOW, \
1460 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1461 -EHsc -DUNICODE -D_UNICODE \
ohair46fcac92012-09-18 11:29:24 -07001462 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001463 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1464 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1465 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
erikjebad8f92013-03-06 16:15:16 +01001466 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
1467 -I$(DXSDK_INCLUDE_PATH), \
ohair46fcac92012-09-18 11:29:24 -07001468 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001469 advapi32.lib $(WIN_AWT_LIB),\
1470 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001471 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1472 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001473 -D "JDK_FNAME=jawt.dll" \
1474 -D "JDK_INTERNAL_NAME=jawt" \
1475 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001476 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1477 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001478
1479$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1480
1481$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1482 $(ECHO) Copying $(@F)
ohair46fcac92012-09-18 11:29:24 -07001483 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
erikjaf85fc42012-07-03 16:10:44 -07001484
1485BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1486
1487else # OPENJDK_TARGET_OS not windows
1488
1489 JAWT_LIBS:=
1490 ifneq ($(OPENJDK_TARGET_OS), solaris)
1491 JAWT_LIBS += -lawt
1492 endif
1493
1494 ifndef BUILD_HEADLESS_ONLY
1495 JAWT_LIBS += -lawt_xawt
1496 else
1497 JAWT_LIBS += -lawt_headless
1498 HEADLESS_CFLAG += -DHEADLESS
1499 endif
1500
1501 JAWT_FILES:=jawt.c
1502 ifeq ($(OPENJDK_TARGET_OS), macosx)
1503 JAWT_FILES:=jawt.m
1504 JAWT_LIBS:=-lawt_lwawt
1505 endif
1506
1507 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1508 LIBRARY:=jawt, \
1509 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001510 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001511 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1512 INCLUDE_FILES:=$(JAWT_FILES),\
1513 LANG:=C,\
1514 OPTIMIZATION:=LOW, \
1515 CFLAGS:=$(CFLAGS_JDKLIB), \
1516 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1517 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1518 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1519 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1520 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001521 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1522 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1523 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1524 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1525 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07001526 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
1527
1528ifndef BUILD_HEADLESS_ONLY
1529$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1530else
1531$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1532endif
1533
1534ifeq ($(OPENJDK_TARGET_OS),macosx)
1535$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1536endif
1537
1538endif # OPENJDK_TARGET_OS
1539
1540BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1541
1542##########################################################################################
1543
ohair46fcac92012-09-18 11:29:24 -07001544LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1545 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
1546 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
erikjaf85fc42012-07-03 16:10:44 -07001547
ohair46fcac92012-09-18 11:29:24 -07001548LIBINSTRUMENT_FILES :=\
erikjaf85fc42012-07-03 16:10:44 -07001549 EncodingSupport.c \
1550 EncodingSupport_md.c \
1551 FileSystemSupport_md.c \
1552 InstrumentationImplNativeMethods.c \
1553 InvocationAdapter.c \
1554 JarFacade.c \
1555 JPLISAgent.c \
1556 JPLISAssert.c \
1557 JavaExceptions.c \
1558 PathCharsValidator.c \
1559 Reentrancy.c \
1560 Utilities.c \
1561 canonicalize_md.c
1562
ohair46fcac92012-09-18 11:29:24 -07001563LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1564LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
1565 -I$(JDK_TOPDIR)/src/share/instrument \
1566 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
1567 -I$(JDK_TOPDIR)/src/share/bin
erikjaf85fc42012-07-03 16:10:44 -07001568
ohair46fcac92012-09-18 11:29:24 -07001569LIBINSTRUMENT_LDFLAGS:=
1570LIBINSTRUMENT_LDFLAGS_SUFFIX:=
erikjaf85fc42012-07-03 16:10:44 -07001571
1572ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001573 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1574 -export:Agent_OnAttach advapi32.lib
1575 # Statically link the C runtime so that there are not dependencies on modules
1576 # not on the search patch when invoked from the Windows system directory
1577 # (or elsewhere).
1578 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
1579 # equivalent of strcasecmp is stricmp on Windows
1580 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
erikjaf85fc42012-07-03 16:10:44 -07001581endif
1582
1583$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1584 LIBRARY:=instrument, \
1585 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001586 SRC:=$(LIBINSTRUMENT_SRC),\
1587 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07001588 LANG:=C,\
1589 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07001590 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07001591 CFLAGS_debug:=-DJPLIS_LOGGING,\
1592 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1593 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001594 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1595 $(call SET_SHARED_LIBRARY_ORIGIN) \
1596 $(LIBINSTRUMENT_LDFLAGS),\
1597 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1598 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1599 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1600 -framework Cocoa -framework Security -framework ApplicationServices,\
1601 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1602 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08001603 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001604 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1605 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1606 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001607 -D "JDK_FNAME=instrument.dll" \
1608 -D "JDK_INTERNAL_NAME=instrument" \
1609 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001610 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
erikjaf85fc42012-07-03 16:10:44 -07001611 DEBUG_SYMBOLS:=true))
1612
1613ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1614$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1615else
1616$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1617endif
1618$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1619
1620BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1621
1622##########################################################################################
1623
1624BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
ohair46fcac92012-09-18 11:29:24 -07001625 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1626 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
erikjaf85fc42012-07-03 16:10:44 -07001627
1628BUILD_LIBMANAGEMENT_EXCLUDES:=
1629
1630BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1631
1632ifneq ($(OPENJDK_TARGET_OS), windows)
1633 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1634else
1635 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1636endif
1637
1638ifneq ($(OPENJDK_TARGET_OS),solaris)
1639 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1640endif
1641
1642ifneq ($(OPENJDK_TARGET_OS),linux)
1643 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1644endif
1645
1646ifneq ($(OPENJDK_TARGET_OS),macosx)
1647 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1648endif
1649
ohair46fcac92012-09-18 11:29:24 -07001650LIBMANAGEMENT_OPTIMIZATION:=HIGH
1651ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001652 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001653 LIBMANAGEMENT_OPTIMIZATION:=LOW
1654 endif
1655endif
erikjaf85fc42012-07-03 16:10:44 -07001656
1657$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1658 LIBRARY:=management,\
1659 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1660 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1661 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1662 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001663 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001664 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1665 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1666 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1667 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07001668 LDFLAGS_solaris:=-lkstat,\
1669 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001670 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001671 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1672 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001673 -D "JDK_FNAME=management.dll" \
1674 -D "JDK_INTERNAL_NAME=management" \
1675 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001676 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1677 DEBUG_SYMBOLS:=true))
1678
1679$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1680
1681BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1682
1683##########################################################################################
1684
ohair46fcac92012-09-18 11:29:24 -07001685BUILD_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 -07001686BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1687 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001688 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001689 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1690
1691BUILD_LIBHPROF_LDFLAGS:=
1692
ohair46fcac92012-09-18 11:29:24 -07001693LIBHPROF_OPTIMIZATION:=HIGHEST
1694ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001695 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001696 LIBHPROF_OPTIMIZATION:=LOW
1697 endif
1698endif
1699
erikjaf85fc42012-07-03 16:10:44 -07001700$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1701 LIBRARY:=hprof, \
1702 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1703 SRC:=$(BUILD_LIBHPROF_SRC),\
1704 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001705 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001706 CFLAGS:=$(CFLAGS_JDKLIB) \
1707 $(BUILD_LIBHPROF_CFLAGS),\
1708 CFLAGS_debug:=-DHPROF_LOGGING,\
1709 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1710 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1711 $(call SET_SHARED_LIBRARY_ORIGIN),\
1712 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
tbell7d47bd02012-11-12 10:20:01 -08001713 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1714 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
1715 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001716 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1717 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001718 -D "JDK_FNAME=hprof.dll" \
1719 -D "JDK_INTERNAL_NAME=hprof" \
1720 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001721 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1722 DEBUG_SYMBOLS:=true))
1723
1724BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1725
1726##########################################################################################
1727
1728$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1729 LIBRARY:=java_crw_demo, \
1730 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1731 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1732 LANG:=C,\
1733 OPTIMIZATION:=LOW, \
1734 CFLAGS:=$(CFLAGS_JDKLIB) \
1735 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1736 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1737 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1738 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08001739 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001740 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1741 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001742 -D "JDK_FNAME=java_crw_demo.dll" \
1743 -D "JDK_INTERNAL_NAME=java_crw_demo" \
1744 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001745 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1746 DEBUG_SYMBOLS:=true))
1747
1748BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1749
1750##########################################################################################
1751
1752$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1753 LIBRARY:=npt, \
1754 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001755 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001756 LANG:=C,\
1757 OPTIMIZATION:=LOW, \
1758 CFLAGS:=$(CFLAGS_JDKLIB) \
1759 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001760 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001761 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1762 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1763 $(call SET_SHARED_LIBRARY_ORIGIN),\
1764 LDFLAGS_macosx:=-liconv,\
1765 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
erikj4f66f2d2012-11-03 16:27:01 -07001766 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -07001767 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1768 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001769 -D "JDK_FNAME=npt.dll" \
1770 -D "JDK_INTERNAL_NAME=npt" \
1771 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001772 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1773 DEBUG_SYMBOLS:=true))
1774
1775BUILD_LIBRARIES += $(BUILD_LIBNPT)
1776
1777##########################################################################################
1778
1779LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001780 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1781 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
ohair46fcac92012-09-18 11:29:24 -07001782 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
erikjaf85fc42012-07-03 16:10:44 -07001783
ohairb71409c2012-10-26 14:23:29 -07001784ifeq ($(OPENJDK_TARGET_OS),windows)
1785 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1786else
1787 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1788endif
1789
erikjaf85fc42012-07-03 16:10:44 -07001790LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1791
1792LIBNET_EXCLUDE_FILES:=
1793ifneq ($(OPENJDK_TARGET_OS),linux)
1794 LIBNET_EXCLUDE_FILES += linux_close.c
1795endif
1796
1797ifneq ($(OPENJDK_TARGET_OS),macosx)
1798 LIBNET_EXCLUDE_FILES += bsd_close.c
1799endif
1800
1801ifeq ($(OPENJDK_TARGET_OS),windows)
1802 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1803else
1804 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1805 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1806 NTLMAuthSequence.c NetworkInterface_winXP.c
1807endif
1808
erikjaf85fc42012-07-03 16:10:44 -07001809$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1810 LIBRARY:=net,\
1811 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1812 SRC:=$(LIBNET_SRC_DIRS),\
1813 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1814 LANG:=C,\
1815 OPTIMIZATION:=LOW, \
1816 CFLAGS:=$(CFLAGS_JDKLIB) \
1817 $(LIBNET_CFLAGS),\
1818 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1819 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1820 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001821 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
erikj4f66f2d2012-11-03 16:27:01 -07001822 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
ohair46fcac92012-09-18 11:29:24 -07001823 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
ohairb71409c2012-10-26 14:23:29 -07001824 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1825 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1826 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
ohair46fcac92012-09-18 11:29:24 -07001827 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1828 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001829 -D "JDK_FNAME=net.dll" \
1830 -D "JDK_INTERNAL_NAME=net" \
1831 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001832 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
1833 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001834
1835$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1836
1837BUILD_LIBRARIES += $(BUILD_LIBNET)
1838
1839$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
ohairb71409c2012-10-26 14:23:29 -07001840 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001841 $(MKDIR) -p $(@D)
1842 $(CP) $< $@
1843
1844COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1845
1846ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001847$(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 -07001848 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001849 $(MKDIR) -p $(@D)
1850 $(CP) $< $@
1851
1852COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1853endif
1854
1855##########################################################################################
1856
1857BUILD_LIBNIO_SRC:=\
ohair46fcac92012-09-18 11:29:24 -07001858 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
1859 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1860 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
erikjaf85fc42012-07-03 16:10:44 -07001861
1862BUILD_LIBNIO_CFLAGS:=\
1863 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1864 -I$(JDK_TOPDIR)/src/share/native/java/io \
1865 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001866 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
erikjaf85fc42012-07-03 16:10:44 -07001867
1868BUILD_LIBNIO_FILES:=\
1869 DatagramChannelImpl.c \
1870 DatagramDispatcher.c \
1871 FileChannelImpl.c \
1872 FileDispatcherImpl.c \
1873 FileKey.c \
1874 IOUtil.c \
1875 MappedByteBuffer.c \
1876 Net.c \
1877 ServerSocketChannelImpl.c \
1878 SocketChannelImpl.c \
1879 SocketDispatcher.c
1880
1881ifeq ($(OPENJDK_TARGET_OS), windows)
1882 BUILD_LIBNIO_FILES += \
1883 Iocp.c \
1884 RegistryFileTypeDetector.c \
1885 WindowsAsynchronousFileChannelImpl.c \
1886 WindowsAsynchronousServerSocketChannelImpl.c \
1887 WindowsAsynchronousSocketChannelImpl.c \
1888 WindowsNativeDispatcher.c \
1889 WindowsSelectorImpl.c
1890endif
1891
1892ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -07001893 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001894 BUILD_LIBNIO_FILES += \
1895 EPoll.c \
1896 EPollArrayWrapper.c \
1897 EPollPort.c \
1898 InheritedChannel.c \
1899 NativeThread.c \
ohair46fcac92012-09-18 11:29:24 -07001900 PollArrayWrapper.c \
erikjaf85fc42012-07-03 16:10:44 -07001901 UnixAsynchronousServerSocketChannelImpl.c \
1902 UnixAsynchronousSocketChannelImpl.c \
1903 GnomeFileTypeDetector.c \
dxu20cb3702012-12-04 14:07:30 +00001904 MagicFileTypeDetector.c \
erikjaf85fc42012-07-03 16:10:44 -07001905 LinuxNativeDispatcher.c \
1906 LinuxWatchService.c \
1907 UnixCopyFile.c \
1908 UnixNativeDispatcher.c
1909endif
1910
1911ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07001912 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001913 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1914 BUILD_LIBNIO_FILES += \
1915 InheritedChannel.c \
1916 NativeThread.c \
1917 PollArrayWrapper.c \
1918 UnixAsynchronousServerSocketChannelImpl.c \
1919 UnixAsynchronousSocketChannelImpl.c \
erikjaf85fc42012-07-03 16:10:44 -07001920 BsdNativeDispatcher.c \
ohair46fcac92012-09-18 11:29:24 -07001921 MacOSXNativeDispatcher.c \
erikjaf85fc42012-07-03 16:10:44 -07001922 UnixCopyFile.c \
1923 UnixNativeDispatcher.c \
1924 KQueue.c \
1925 KQueuePort.c \
1926 KQueueArrayWrapper.c
1927endif
1928
1929ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001930 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001931 BUILD_LIBNIO_FILES += \
1932 DevPollArrayWrapper.c \
1933 InheritedChannel.c \
1934 NativeThread.c \
1935 PollArrayWrapper.c \
1936 SolarisEventPort.c \
1937 UnixAsynchronousServerSocketChannelImpl.c \
1938 UnixAsynchronousSocketChannelImpl.c \
1939 GnomeFileTypeDetector.c \
1940 SolarisNativeDispatcher.c \
1941 SolarisWatchService.c \
1942 UnixCopyFile.c \
1943 UnixNativeDispatcher.c
1944endif
1945
1946$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1947 LIBRARY:=nio,\
1948 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1949 SRC:=$(BUILD_LIBNIO_SRC),\
1950 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1951 LANG:=C,\
1952 OPTIMIZATION:=HIGH, \
1953 CFLAGS:=$(CFLAGS_JDKLIB) \
1954 $(BUILD_LIBNIO_CFLAGS),\
1955 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1956 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1957 $(call SET_SHARED_LIBRARY_ORIGIN),\
1958 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
ohair46fcac92012-09-18 11:29:24 -07001959 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
1960 -lsendfile -ljava -lnet -lc,\
ohairb71409c2012-10-26 14:23:29 -07001961 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
1962 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
erikjaf85fc42012-07-03 16:10:44 -07001963 $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
ohairb71409c2012-10-26 14:23:29 -07001964 $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj \
1965 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001966 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
erikjaf85fc42012-07-03 16:10:44 -07001967 LDFLAGS_SUFFIX:=,\
ohair46fcac92012-09-18 11:29:24 -07001968 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1969 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001970 -D "JDK_FNAME=nio.dll" \
1971 -D "JDK_INTERNAL_NAME=nio" \
1972 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001973 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
1974 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001975
1976BUILD_LIBRARIES += $(BUILD_LIBNIO)
1977
1978$(BUILD_LIBNIO) : $(BUILD_LIBNET)
1979
1980##########################################################################################
1981
1982ifeq ($(OPENJDK_TARGET_OS_API),posix)
erikj5c99f2c2012-11-28 13:29:35 +01001983
erikjaf85fc42012-07-03 16:10:44 -07001984 ifneq ($(OPENJDK_TARGET_OS),macosx)
1985
1986 SCTP_WERROR := -Werror
1987 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
1988 SCTP_WERROR :=
1989 endif
1990
1991 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
1992 LIBRARY:=sctp,\
1993 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001994 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
erikjaf85fc42012-07-03 16:10:44 -07001995 LANG:=C,\
1996 OPTIMIZATION:=LOW, \
1997 CFLAGS:=$(CFLAGS_JDKLIB)\
1998 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1999 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
2000 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07002001 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
2002 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
erikjaf85fc42012-07-03 16:10:44 -07002003 CFLAGS_linux:=$(SCTP_WERROR),\
2004 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
2005 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2006 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002007 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002008 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
erikj4f66f2d2012-11-03 16:27:01 -07002009 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07002010 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002011 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp))
2012
2013 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
2014
2015 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
2016 endif
2017endif
2018
2019##########################################################################################
2020
ohair46fcac92012-09-18 11:29:24 -07002021BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
2022LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
erikjaf85fc42012-07-03 16:10:44 -07002023
2024BUILD_LIBJLI_FILES:=\
2025 java.c \
2026 splashscreen_stubs.c \
2027 parse_manifest.c \
2028 version_comp.c \
2029 wildcard.c \
2030 jli_util.c
2031
2032ifeq ($(JVM_VARIANT_ZERO), true)
2033 ERGO_FAMILY:=zero
ohair46fcac92012-09-18 11:29:24 -07002034else
2035 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
erikjaf85fc42012-07-03 16:10:44 -07002036 ERGO_FAMILY:=i586
ohair46fcac92012-09-18 11:29:24 -07002037 else
2038 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
2039 endif
2040endif
erikjaf85fc42012-07-03 16:10:44 -07002041
2042ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002043 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
erikjaf85fc42012-07-03 16:10:44 -07002044 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
2045 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
2046
2047 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2048 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2049endif
2050
2051ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002052 BUILD_LIBJLI_FILES += java_md.c \
2053 cmdtoargs.c
2054 # Staticically link with c runtime on windows.
2055 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
erikjaf85fc42012-07-03 16:10:44 -07002056else ifneq ($(OPENJDK_TARGET_OS), macosx)
2057
2058 BUILD_LIBJLI_FILES += java_md_common.c
2059 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
2060
2061 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2062
2063 # if the architecture specific ergo file exists then
2064 # use it, else use the generic definitions from ergo.c
ohair46fcac92012-09-18 11:29:24 -07002065 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
erikjaf85fc42012-07-03 16:10:44 -07002066 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2067 else # !ERGO_ARCH_FILE
ohair46fcac92012-09-18 11:29:24 -07002068 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
erikjaf85fc42012-07-03 16:10:44 -07002069 endif # ERGO_ARCH_FILE
2070endif #WINDOWS
2071
ohair46fcac92012-09-18 11:29:24 -07002072# Append defines depending on target platform
2073LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002074
2075ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002076 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
erikjaf85fc42012-07-03 16:10:44 -07002077endif
2078
2079ifneq ($(USE_EXTERNAL_LIBZ),true)
2080 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002081 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002082 BUILD_LIBJLI_FILES += \
2083 inflate.c \
2084 inftrees.c \
2085 inffast.c \
2086 zadler32.c \
2087 zcrc32.c \
2088 zutil.c
2089endif
2090
2091ifeq ($(OPENJDK_TARGET_OS), windows)
2092 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2093else
2094 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2095endif
2096
2097$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2098 LIBRARY:=jli,\
2099 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2100 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2101 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2102 LANG:=C,\
2103 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002104 CFLAGS:=$(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002105 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2106 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2107 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002108 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2109 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2110 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2111 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2112 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2113 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
erikjaf85fc42012-07-03 16:10:44 -07002114 LDFLAGS_SUFFIX_windows:=\
2115 -export:JLI_Launch \
2116 -export:JLI_ManifestIterate \
2117 -export:JLI_SetTraceLauncher \
2118 -export:JLI_ReportErrorMessage \
2119 -export:JLI_ReportErrorMessageSys \
2120 -export:JLI_ReportMessage \
2121 -export:JLI_ReportExceptionDescription \
ohair46fcac92012-09-18 11:29:24 -07002122 -export:JLI_MemAlloc \
2123 -export:JLI_CmdToArgs \
2124 -export:JLI_GetStdArgc \
2125 -export:JLI_GetStdArgs \
erikjaf85fc42012-07-03 16:10:44 -07002126 advapi32.lib \
2127 comctl32.lib \
2128 user32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002129 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2130 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07002131 -D "JDK_FNAME=jli.dll" \
2132 -D "JDK_INTERNAL_NAME=jli" \
2133 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002134 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
2135 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002136
2137BUILD_LIBRARIES += $(BUILD_LIBJLI)
2138
2139# On windows, the static library has the same suffix as the import library created by
2140# with the shared library, so the static library is given a different name. No harm
2141# in doing it for all platform to reduce complexity.
2142ifeq ($(OPENJDK_TARGET_OS), windows)
2143 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2144 STATIC_LIBRARY:=jli_static,\
2145 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2146 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2147 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2148 LANG:=C,\
2149 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002150 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002151 ARFLAGS:=$(ARFLAGS),\
2152 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2153
2154BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2155
2156else ifeq ($(OPENJDK_TARGET_OS),macosx)
2157 #
2158 # On macosx they do partial (incremental) linking of libjli_static.a
2159 # code it here...rather than add support to NativeCompilation
2160 # as this is first time I see it
2161 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2162 LIBRARY:=jli_static, \
2163 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2164 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2165 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2166 LANG:=C,\
2167 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002168 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002169 LDFLAGS:=-nostdlib -r,\
2170 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2171
2172$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
2173 $(CP) -a $< $@
2174
2175BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2176endif
2177
2178##########################################################################################
2179
ohairb71409c2012-10-26 14:23:29 -07002180ifndef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -07002181ifeq ($(ENABLE_JFR), true)
2182
2183$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2184 LIBRARY:=jfr,\
2185 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2186 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2187 LANG:=C,\
2188 OPTIMIZATION:=LOW, \
2189 CFLAGS:=$(CFLAGS_JDKLIB) \
2190 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2191 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2192 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2193 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikj3da9f312013-02-18 11:26:23 +01002194 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002195 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2196 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002197 -D "JDK_FNAME=jfr.dll" \
2198 -D "JDK_INTERNAL_NAME=jfr" \
2199 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002200 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
2201 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002202
2203BUILD_LIBRARIES += $(BUILD_LIBJFR)
2204
2205endif
ohairb71409c2012-10-26 14:23:29 -07002206endif
erikjaf85fc42012-07-03 16:10:44 -07002207
2208##########################################################################################
2209
2210ifndef OPENJDK
2211
2212BUILD_LIBKCMS_EXCLUDE_FILES:=
2213ifeq ($(OPENJDK_TARGET_OS),windows)
2214 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2215else
2216 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2217endif
2218
2219BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2220
2221ifeq ($(OPENJDK_TARGET_OS),solaris)
2222 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2223 # implement it like this...since it's only used here
2224 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2225else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2226 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2227endif
2228
2229$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2230 LIBRARY:=kcms,\
2231 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2232 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2233 LANG:=C,\
2234 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2235 OPTIMIZATION:=LOW, \
2236 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2237 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2238 CFLAGS_linux:=-Wno-missing-field-initializers,\
2239 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2240 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2241 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002242 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
erikj3da9f312013-02-18 11:26:23 +01002243 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002244 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
erikj388fbde2012-12-06 12:09:33 +01002245 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002246 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
ohair46fcac92012-09-18 11:29:24 -07002247 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2248 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002249 -D "JDK_FNAME=kcms.dll" \
2250 -D "JDK_INTERNAL_NAME=kcms" \
2251 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002252 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
2253 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002254
2255$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2256
2257BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2258
2259endif
2260
2261##########################################################################################
2262
2263ifndef OPENJDK
2264ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002265ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikjaf85fc42012-07-03 16:10:44 -07002266
2267ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2268
2269SUNWJDGA_MAPFILE:=
ohair46fcac92012-09-18 11:29:24 -07002270ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
erikjaf85fc42012-07-03 16:10:44 -07002271 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2272endif
2273
2274$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2275 LIBRARY:=sunwjdga,\
2276 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2277 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2278 LANG:=C, \
2279 OPTIMIZATION:=LOW, \
2280 CFLAGS:=$(CFLAGS_JDKLIB) \
2281 -I$(JDK_TOPDIR)/src/share/javavm/export \
ohair46fcac92012-09-18 11:29:24 -07002282 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
erikjaf85fc42012-07-03 16:10:44 -07002283 -I$(OPENWIN_HOME)/include, \
2284 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2285 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2286 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002287 LDFLAGS_SUFFIX:=-L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \
erikjaf85fc42012-07-03 16:10:44 -07002288 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga))
2289
2290BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2291
2292endif
2293endif
2294endif
2295endif
2296
2297##########################################################################################
2298
2299ifeq ($(BUILD_HEADLESS), true)
2300ifneq ($(OPENJDK_TARGET_OS), windows)
2301
2302LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2303 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2304 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2305 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2306 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2307 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2308
2309LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2310 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2311 $(CUPS_CFLAGS) \
2312 $(X_CFLAGS) \
2313 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -07002314 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07002315 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2316 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2317 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2318 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2319 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -07002320 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
erikjaf85fc42012-07-03 16:10:44 -07002321 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2322
2323LIBAWT_HEADLESS_FILES:=\
2324 awt_Font.c \
2325 HeadlessToolkit.c \
2326 fontpath.c \
2327 VDrawingArea.c \
2328 X11Color.c \
2329 X11Renderer.c \
2330 X11PMBlitLoops.c \
2331 X11SurfaceData.c \
2332 X11FontScaler_md.c \
2333 X11TextRenderer_md.c \
2334 OGLBlitLoops.c \
2335 OGLBufImgOps.c \
2336 OGLContext.c \
2337 OGLFuncs.c \
2338 OGLMaskBlit.c \
2339 OGLMaskFill.c \
2340 OGLPaints.c \
2341 OGLRenderQueue.c \
2342 OGLRenderer.c \
2343 OGLSurfaceData.c \
2344 OGLTextRenderer.c \
2345 OGLVertexCache.c \
2346 GLXGraphicsConfig.c \
2347 GLXSurfaceData.c \
2348 AccelGlyphCache.c \
2349 CUPSfuncs.c
2350
erikjaf85fc42012-07-03 16:10:44 -07002351LIBAWT_HEADLESS_REORDER:=
2352ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002353 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
2354 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07002355 endif
2356endif
2357
2358$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2359 LIBRARY:=awt_headless,\
2360 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2361 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2362 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2363 LANG:=C,\
2364 OPTIMIZATION:=LOW, \
2365 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002366 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
erikjaf85fc42012-07-03 16:10:44 -07002367 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2368 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002369 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2370 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2371 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2372 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2373 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -07002374 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
ohair46fcac92012-09-18 11:29:24 -07002375 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -08002376 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
2377 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07002378 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless))
2379
2380$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2381
2382BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2383
2384endif
2385endif
2386
2387##########################################################################################
2388
2389ifndef BUILD_HEADLESS_ONLY
2390LIBSPLASHSCREEN_DIRS:=\
2391 $(JDK_TOPDIR)/src/share/native/sun/awt/giflib \
2392 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2393 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
erikj5c99f2c2012-11-28 13:29:35 +01002394 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
2395
2396ifneq ($(OPENJDK_TARGET_OS), macosx)
2397 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
2398else
2399 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2400endif
2401
erikjaf85fc42012-07-03 16:10:44 -07002402
2403LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2404 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2405
2406ifeq ($(OPENJDK_TARGET_OS), macosx)
2407 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2408 $(LIBSPLASHSCREEN_CFLAGS) \
2409 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2410 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2411 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2412
2413 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2414 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2415 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2416 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2417 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2418 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2419 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2420
2421else ifneq ($(OPENJDK_TARGET_OS), windows)
2422 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2423else
2424 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2425endif
2426
erikjaf85fc42012-07-03 16:10:44 -07002427LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2428
2429ifneq ($(USE_EXTERNAL_LIBZ),true)
2430 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002431 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002432endif
2433
2434ifeq ($(OPENJDK_TARGET_OS), macosx)
2435 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2436 -framework ApplicationServices \
2437 -framework Foundation \
2438 -framework Cocoa \
2439 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2440 -framework JavaNativeFoundation
2441else ifneq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002442 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
erikjaf85fc42012-07-03 16:10:44 -07002443else # OPENJDK_TARGET_OS
ohairb71409c2012-10-26 14:23:29 -07002444 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
erikjaf85fc42012-07-03 16:10:44 -07002445endif # OPENJDK_TARGET_OS
2446
2447$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2448 LIBRARY:=splashscreen,\
2449 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2450 SRC:=$(LIBSPLASHSCREEN_DIRS),\
erikj5c99f2c2012-11-28 13:29:35 +01002451 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\
erikjaf85fc42012-07-03 16:10:44 -07002452 LANG:=C,\
2453 OPTIMIZATION:=LOW, \
2454 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\
2455 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2456 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2457 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002458 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08002459 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002460 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2461 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002462 -D "JDK_FNAME=splashscreen.dll" \
2463 -D "JDK_INTERNAL_NAME=splashscreen" \
2464 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002465 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
2466 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002467
2468BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2469
2470ifeq ($(OPENJDK_TARGET_OS),macosx)
2471$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
2472endif
2473
2474endif
2475
2476##########################################################################################
2477
2478ifndef OPENJDK
2479
2480LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002481 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2482 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2483 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2484 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2485
erikjaf85fc42012-07-03 16:10:44 -07002486LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002487 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2488
2489$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002490 LIBRARY:=dcpr,\
2491 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002492 SRC:=$(LIBDCPR_SRC_DIRS),\
2493 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002494 OPTIMIZATION:=LOW, \
2495 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002496 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002497 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002498 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002499 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002500 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002501 LDFLAGS_SUFFIX_posix:=-lm,\
ohair46fcac92012-09-18 11:29:24 -07002502 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2503 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002504 -D "JDK_FNAME=dcpr.dll" \
2505 -D "JDK_INTERNAL_NAME=dcpr" \
2506 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002507 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
2508 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002509
erikjaf85fc42012-07-03 16:10:44 -07002510$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002511
erikjaf85fc42012-07-03 16:10:44 -07002512BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002513
2514endif
2515
2516##########################################################################################
2517
2518$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002519 LIBRARY:=j2pcsc,\
2520 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002521 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002522 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002523 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002524 CFLAGS_posix:=-D__sun_jdk,\
2525 OPTIMIZATION:=LOW, \
2526 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002527 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002528 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
2529 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
erikjaf85fc42012-07-03 16:10:44 -07002530 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002531 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2532 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002533 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2534 LDFLAGS_SUFFIX_windows:=winscard.lib,\
tbell7d47bd02012-11-12 10:20:01 -08002535 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002536 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2537 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002538 -D "JDK_FNAME=j2pcsc.dll" \
2539 -D "JDK_INTERNAL_NAME=j2pcsc" \
2540 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002541 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
2542 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002543
erikjaf85fc42012-07-03 16:10:44 -07002544BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002545
2546##########################################################################################
2547
erikjaf85fc42012-07-03 16:10:44 -07002548ifneq ($(OPENJDK_TARGET_OS), windows)
weijunea39fce2012-12-13 08:11:38 +08002549ifneq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002550$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002551 LIBRARY:=j2gss,\
2552 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002553 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002554 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002555 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002556 OPTIMIZATION:=LOW, \
2557 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002558 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002559 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002560 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002561 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2562 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002563 LDFLAGS_SUFFIX:=$(LIBDL),\
2564 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002565 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss))
erikje78df742012-06-07 20:40:50 -07002566
erikjaf85fc42012-07-03 16:10:44 -07002567BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002568endif
weijunea39fce2012-12-13 08:11:38 +08002569endif
erikje78df742012-06-07 20:40:50 -07002570
2571##########################################################################################
2572
erikjaf85fc42012-07-03 16:10:44 -07002573BUILD_LIBKRB5_NAME:=
2574ifeq ($(OPENJDK_TARGET_OS), windows)
2575 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
ohair46fcac92012-09-18 11:29:24 -07002576 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
ohairb71409c2012-10-26 14:23:29 -07002577 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
2578 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
2579 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
erikjaf85fc42012-07-03 16:10:44 -07002580else ifeq ($(OPENJDK_TARGET_OS), macosx)
2581 BUILD_LIBKRB5_NAME:=osxkrb5
erikj5c99f2c2012-11-28 13:29:35 +01002582 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5
erikjaf85fc42012-07-03 16:10:44 -07002583 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikje78df742012-06-07 20:40:50 -07002584endif
2585
2586ifneq ($(BUILD_LIBKRB5_NAME),)
2587$(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002588 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2589 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01002590 SRC:=$(BUILD_LIBKRB5_SRC),\
erikje78df742012-06-07 20:40:50 -07002591 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002592 OPTIMIZATION:=LOW, \
2593 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002594 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
ohair46fcac92012-09-18 11:29:24 -07002595 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002596 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2597 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002598 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
ohair46fcac92012-09-18 11:29:24 -07002599 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2600 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002601 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
2602 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
2603 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002604 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
2605 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002606
erikjaf85fc42012-07-03 16:10:44 -07002607BUILD_LIBRARIES += $(BUILD_LIBKRB5)
erikje78df742012-06-07 20:40:50 -07002608endif
2609
2610##########################################################################################
2611
erikjaf85fc42012-07-03 16:10:44 -07002612ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002613
2614$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002615 LIBRARY:=sunmscapi,\
2616 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohairb71409c2012-10-26 14:23:29 -07002617 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
erikje78df742012-06-07 20:40:50 -07002618 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002619 OPTIMIZATION:=LOW, \
2620 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -07002621 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
2622 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002623 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002624 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002625 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2626 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002627 -D "JDK_FNAME=sunmscapi.dll" \
2628 -D "JDK_INTERNAL_NAME=sunmscapi" \
2629 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002630 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
2631 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002632
erikjaf85fc42012-07-03 16:10:44 -07002633BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
erikje78df742012-06-07 20:40:50 -07002634endif
2635
2636##########################################################################################
2637
erikje78df742012-06-07 20:40:50 -07002638$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002639 LIBRARY:=j2pkcs11,\
2640 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002641 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002642 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002643 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002644 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002645 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002646 OPTIMIZATION:=LOW, \
2647 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002648 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002649 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002650 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002651 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002652 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002653 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2654 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002655 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2656 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002657 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2658 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002659 -D "JDK_FNAME=j2pkcs11.dll" \
2660 -D "JDK_INTERNAL_NAME=j2pkcs11" \
2661 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002662 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
2663 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002664
erikjaf85fc42012-07-03 16:10:44 -07002665BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002666
2667##########################################################################################
2668
2669ifndef DISABLE_INTREE_EC
2670#
2671# TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl
2672# is not present
2673#
erikjaf85fc42012-07-03 16:10:44 -07002674BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2675 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2676
2677#
2678# On sol-sparc...all libraries are compiled with -xregs=no%appl
2679# (set in CFLAGS_REQUIRED_sparc)
2680#
2681# except!!! libsunec.so
2682#
2683ECC_JNI_SOLSPARC_FILTER:=
2684ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2685 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2686endif
erikje78df742012-06-07 20:40:50 -07002687
2688$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002689 LIBRARY:=sunec,\
2690 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002691 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2692 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002693 LANG:=C++, \
2694 OPTIMIZATION:=LOW, \
2695 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2696 $(BUILD_LIBSUNEC_FLAGS) \
2697 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2698 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2699 $(BUILD_LIBSUNEC_FLAGS),\
2700 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002701 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
2702 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002703 LDFLAGS_SUFFIX:=$(LIBCXX),\
ohair46fcac92012-09-18 11:29:24 -07002704 LDFLAGS_SUFFIX_linux:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002705 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002706 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2707 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002708 -D "JDK_FNAME=sunec.dll" \
2709 -D "JDK_INTERNAL_NAME=sunec" \
2710 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002711 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
2712 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002713
erikjaf85fc42012-07-03 16:10:44 -07002714BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002715endif
2716
2717##########################################################################################
2718
erikjaf85fc42012-07-03 16:10:44 -07002719LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002720 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
ohair46fcac92012-09-18 11:29:24 -07002721 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002722
erikjaf85fc42012-07-03 16:10:44 -07002723LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002724
erikjaf85fc42012-07-03 16:10:44 -07002725LIBJSOUND_LANG:=C
2726LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002727
erikjaf85fc42012-07-03 16:10:44 -07002728EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002729
erikjaf85fc42012-07-03 16:10:44 -07002730LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002731 MidiInDevice.c \
2732 MidiInDeviceProvider.c \
2733 MidiOutDevice.c \
2734 MidiOutDeviceProvider.c \
2735 PlatformMidi.c
2736
2737# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002738LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002739 PortMixerProvider.c \
2740 PortMixer.c
2741
2742# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002743LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002744 DirectAudioDeviceProvider.c \
2745 DirectAudioDevice.c
2746
erikjaf85fc42012-07-03 16:10:44 -07002747ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002748 EXTRA_SOUND_JNI_LIBS += jsoundds
2749 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2750 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2751 -DUSE_PLATFORM_MIDI_IN=TRUE \
2752 -DUSE_PORTS=TRUE
2753 LIBJSOUND_SRC_FILES += \
2754 PLATFORM_API_WinOS_MidiIn.cpp \
2755 PLATFORM_API_WinOS_MidiOut.c \
2756 PLATFORM_API_WinOS_Util.c \
2757 PLATFORM_API_WinOS_Ports.c
2758 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2759 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002760endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002761
erikjaf85fc42012-07-03 16:10:44 -07002762ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002763 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2764 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002765endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002766
erikjaf85fc42012-07-03 16:10:44 -07002767ifeq ($(OPENJDK_TARGET_OS), macosx)
2768 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002769 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2770 -DUSE_PORTS=TRUE \
2771 -DUSE_DAUDIO=TRUE \
2772 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2773 -DUSE_PLATFORM_MIDI_IN=TRUE
2774 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2775 LIBJSOUND_SRC_FILES += \
2776 PLATFORM_API_MacOSX_Utils.cpp \
2777 PLATFORM_API_MacOSX_PCM.cpp \
2778 PLATFORM_API_MacOSX_Ports.cpp \
2779 PLATFORM_API_MacOSX_MidiIn.c \
2780 PLATFORM_API_MacOSX_MidiOut.c \
2781 PLATFORM_API_MacOSX_MidiUtils.c
2782 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2783 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2784 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002785endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002786
erikjaf85fc42012-07-03 16:10:44 -07002787ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002788 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2789 -DUSE_PORTS=TRUE \
2790 -DUSE_DAUDIO=TRUE
2791 LIBJSOUND_SRC_FILES += \
2792 PLATFORM_API_SolarisOS_Utils.c \
2793 PLATFORM_API_SolarisOS_Ports.c \
2794 PLATFORM_API_SolarisOS_PCM.c
2795 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2796 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2797 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002798endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002799
2800
2801ifeq ($(JVM_VARIANT_ZERO), true)
2802 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2803else
ohair46fcac92012-09-18 11:29:24 -07002804 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikje78df742012-06-07 20:40:50 -07002805 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
ohair46fcac92012-09-18 11:29:24 -07002806 endif
erikje78df742012-06-07 20:40:50 -07002807
ohair46fcac92012-09-18 11:29:24 -07002808 ifeq ($(OPENJDK_TARGET_CPU), sparc)
erikje78df742012-06-07 20:40:50 -07002809 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
ohair46fcac92012-09-18 11:29:24 -07002810 endif
erikje78df742012-06-07 20:40:50 -07002811
ohair46fcac92012-09-18 11:29:24 -07002812 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
erikje78df742012-06-07 20:40:50 -07002813 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
ohair46fcac92012-09-18 11:29:24 -07002814 endif
erikje78df742012-06-07 20:40:50 -07002815
ohair46fcac92012-09-18 11:29:24 -07002816 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikje78df742012-06-07 20:40:50 -07002817 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
ohair46fcac92012-09-18 11:29:24 -07002818 endif
erikje78df742012-06-07 20:40:50 -07002819
ohair46fcac92012-09-18 11:29:24 -07002820 ifeq ($(OPENJDK_TARGET_CPU), arm)
erikje78df742012-06-07 20:40:50 -07002821 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
ohair46fcac92012-09-18 11:29:24 -07002822 endif
erikje78df742012-06-07 20:40:50 -07002823
ohair46fcac92012-09-18 11:29:24 -07002824 ifeq ($(OPENJDK_TARGET_CPU), ppc)
erikje78df742012-06-07 20:40:50 -07002825 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
ohair46fcac92012-09-18 11:29:24 -07002826 endif
erikje78df742012-06-07 20:40:50 -07002827endif
2828
2829LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2830
2831$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002832 LIBRARY:=jsound,\
2833 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002834 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002835 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002836 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002837 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07002838 CFLAGS:=$(CFLAGS_JDKLIB) \
2839 $(LIBJSOUND_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002840 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2841 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002842 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2843 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002844 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
2845 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2846 -framework CoreMIDI -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -07002847 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
ohairb71409c2012-10-26 14:23:29 -07002848 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
erikje78df742012-06-07 20:40:50 -07002849 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002850 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2851 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002852 -D "JDK_FNAME=jsound.dll" \
2853 -D "JDK_INTERNAL_NAME=jsound" \
2854 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002855 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
2856 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002857
erikjaf85fc42012-07-03 16:10:44 -07002858$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002859
erikjaf85fc42012-07-03 16:10:44 -07002860BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002861
2862##########################################################################################
2863
2864ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2865
2866$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002867 LIBRARY:=jsoundalsa,\
2868 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002869 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002870 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002871 $(LIBJSOUND_DAUDIOFILES) \
2872 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2873 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2874 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2875 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2876 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2877 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2878 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002879 LANG:=C,\
2880 OPTIMIZATION:=LOW, \
2881 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002882 $(LIBJSOUND_CFLAGS) \
2883 -DUSE_DAUDIO=TRUE \
2884 -DUSE_PORTS=TRUE \
2885 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2886 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07002887 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002888 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2889 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002890 LDFLAGS_SUFFIX:=-lasound -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002891 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa))
erikje78df742012-06-07 20:40:50 -07002892
erikjaf85fc42012-07-03 16:10:44 -07002893$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002894
erikjaf85fc42012-07-03 16:10:44 -07002895BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07002896
2897endif
2898
2899##########################################################################################
2900
2901ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
2902
2903$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07002904 LIBRARY:=jsoundds,\
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_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07002908 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07002909 LANG:=C++,\
2910 OPTIMIZATION:=LOW, \
2911 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002912 $(LIBJSOUND_CFLAGS) \
erikjebad8f92013-03-06 16:15:16 +01002913 -DUSE_DAUDIO=TRUE \
2914 -I$(DXSDK_INCLUDE_PATH), \
ohair46fcac92012-09-18 11:29:24 -07002915 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002916 $(call SET_SHARED_LIBRARY_ORIGIN),\
2917 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002918 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2919 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002920 -D "JDK_FNAME=jsoundds.dll" \
2921 -D "JDK_INTERNAL_NAME=jsoundds" \
2922 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002923 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
2924 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002925
erikjaf85fc42012-07-03 16:10:44 -07002926$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002927
erikjaf85fc42012-07-03 16:10:44 -07002928BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07002929
2930endif
2931
2932##########################################################################################
2933
erikjaf85fc42012-07-03 16:10:44 -07002934ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002935ifndef OPENJDK
2936
2937$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07002938 LIBRARY:=j2ucrypto,\
2939 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002940 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07002941 LANG:=C,\
2942 OPTIMIZATION:=LOW, \
2943 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002944 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07002945 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002946 LDFLAGS:=$(LDFLAGS_JDKLIB),\
erikje78df742012-06-07 20:40:50 -07002947 LDFLAGS_SUFFIX:=$(LIBDL),\
erikj3da9f312013-02-18 11:26:23 +01002948 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002949 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto))
erikje78df742012-06-07 20:40:50 -07002950
erikjaf85fc42012-07-03 16:10:44 -07002951$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002952
erikjaf85fc42012-07-03 16:10:44 -07002953BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07002954
2955endif
2956endif
2957
2958##########################################################################################
2959
erikjaf85fc42012-07-03 16:10:44 -07002960ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002961
erikje78df742012-06-07 20:40:50 -07002962$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07002963 LIBRARY:=AppleScriptEngine,\
2964 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002965 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07002966 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002967 OPTIMIZATION:=LOW, \
2968 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002969 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
2970 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2971 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
2972 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2973 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002974 LDFLAGS_SUFFIX:=-framework Cocoa \
2975 -framework Carbon \
2976 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2977 -framework JavaNativeFoundation \
2978 $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002979 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine))
erikje78df742012-06-07 20:40:50 -07002980
erikjaf85fc42012-07-03 16:10:44 -07002981$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
2982
2983BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07002984
2985endif
2986
2987##########################################################################################
2988
erikjaf85fc42012-07-03 16:10:44 -07002989ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002990
erikje78df742012-06-07 20:40:50 -07002991$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07002992 LIBRARY:=osxapp,\
2993 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002994 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07002995 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002996 OPTIMIZATION:=LOW, \
2997 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002998 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
ohairb71409c2012-10-26 14:23:29 -07002999 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
erikje78df742012-06-07 20:40:50 -07003000 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3001 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3002 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3003 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003004 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003005 -framework Accelerate \
3006 -framework ApplicationServices \
3007 -framework AudioToolbox \
3008 -framework Carbon \
3009 -framework Cocoa \
3010 -framework Security \
3011 -framework ExceptionHandling \
3012 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3013 -framework JavaNativeFoundation \
3014 -framework JavaRuntimeSupport \
3015 -framework OpenGL \
3016 -framework IOSurface \
3017 -framework QuartzCore, \
erikjaf85fc42012-07-03 16:10:44 -07003018 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp))
erikje78df742012-06-07 20:40:50 -07003019
erikjaf85fc42012-07-03 16:10:44 -07003020BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003021
3022endif
3023
3024##########################################################################################
3025
erikjaf85fc42012-07-03 16:10:44 -07003026ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003027
erikjaf85fc42012-07-03 16:10:44 -07003028LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003029 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3030 $(JDK_TOPDIR)/src/macosx/native/java/util \
3031 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3032 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3033 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3034
3035$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003036 LIBRARY:=osx,\
3037 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003038 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003039 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003040 OPTIMIZATION:=LOW, \
3041 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003042 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3043 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3044 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3045 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3046 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3047 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003048 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003049 -losxapp \
3050 -framework Cocoa \
3051 -framework ApplicationServices \
3052 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3053 -framework JavaNativeFoundation \
3054 -framework JavaRuntimeSupport \
3055 -framework Security \
3056 -framework SystemConfiguration \
3057 $(LDFLAGS_JDKLIB_SUFFIX), \
erikjaf85fc42012-07-03 16:10:44 -07003058 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx))
erikje78df742012-06-07 20:40:50 -07003059
erikjaf85fc42012-07-03 16:10:44 -07003060BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003061
erikjaf85fc42012-07-03 16:10:44 -07003062$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003063
erikjaf85fc42012-07-03 16:10:44 -07003064$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003065
3066endif
3067
3068##########################################################################################
3069
erikjaf85fc42012-07-03 16:10:44 -07003070ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003071
erikjaf85fc42012-07-03 16:10:44 -07003072LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003073 awt.m \
3074 ApplicationDelegate.m \
3075 CFRetainedResource.m \
3076 CGLGraphicsConfig.m \
3077 CGLSurfaceData.m \
3078 CGLLayer.m \
3079 CGraphicsConfig.m \
3080 CGraphicsDevice.m \
3081 CGraphicsEnv.m \
3082 CCharToGlyphMapper.m \
3083 CSystemColors.m \
3084 AWTFont.m \
3085 CGGlyphOutlines.m \
3086 CGGlyphImages.m \
3087 CoreTextSupport.m \
3088 AWTStrike.m \
3089 InitIDs.m \
3090 AWTEvent.m \
3091 AWTView.m \
3092 AWTWindow.m \
3093 AWTSurfaceLayers.m \
3094 CCursorManager.m \
3095 CClipboard.m \
3096 CDataTransferer.m \
3097 CDragSource.m \
3098 CDragSourceContextPeer.m \
3099 CDropTarget.m \
3100 CDropTargetContextPeer.m \
3101 CInputMethod.m \
3102 CDesktopPeer.m \
3103 OSVersion.m \
3104 DnDUtilities.m \
3105 CFileDialog.m \
3106 CImage.m \
3107 CMenu.m \
3108 CMenuBar.m \
3109 CMenuComponent.m \
3110 CMenuItem.m \
3111 CPopupMenu.m \
3112 CRobot.m \
3113 CTrayIcon.m \
3114 CWrapper.m \
3115 JavaAccessibilityAction.m \
3116 JavaAccessibilityUtilities.m \
3117 JavaComponentAccessibility.m \
3118 JavaTextAccessibility.m \
3119 LWCToolkit.m \
3120 GeomUtilities.m \
3121 CPrinterJob.m \
3122 PrintModel.m \
3123 PrinterSurfaceData.m \
3124 PrinterView.m \
3125 QuartzSurfaceData.m \
3126 QuartzRenderer.m \
3127 CTextPipe.m \
3128 ImageSurfaceData.m \
3129 awt_DrawingSurface.m \
3130 \
3131 OGLBlitLoops.c \
3132 OGLBufImgOps.c \
3133 OGLContext.c \
3134 OGLFuncs.c \
3135 OGLMaskBlit.c \
3136 OGLMaskFill.c \
3137 OGLPaints.c \
3138 OGLRenderQueue.c \
3139 OGLRenderer.c \
3140 OGLSurfaceData.c \
3141 OGLTextRenderer.c \
3142 OGLVertexCache.c \
3143 AccelGlyphCache.c \
3144 CUPSfuncs.c
3145
3146
erikjaf85fc42012-07-03 16:10:44 -07003147LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003148 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3149 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3150 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3151 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3152 $(JDK_TOPDIR)/src/share/native/sun/font \
3153 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3154
3155$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003156 LIBRARY:=awt_lwawt,\
3157 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003158 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003159 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003160 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003161 OPTIMIZATION:=LOW, \
3162 CFLAGS:=$(CFLAGS_JDKLIB) \
ohrstrom5048dab2012-10-29 13:41:38 -07003163 $(X_CFLAGS) \
3164 $(X_LIBS) \
erikje78df742012-06-07 20:40:50 -07003165 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3166 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3167 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3168 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3169 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3170 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3171 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3172 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3173 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3174 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3175 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3176 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3177 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003178 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
3179 -framework Accelerate \
3180 -framework ApplicationServices \
3181 -framework AudioToolbox \
3182 -framework Carbon \
3183 -framework Cocoa \
3184 -framework Security \
3185 -framework ExceptionHandling \
3186 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3187 -framework JavaNativeFoundation \
3188 -framework JavaRuntimeSupport \
3189 -framework OpenGL \
3190 -framework QuartzCore -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07003191 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt))
erikje78df742012-06-07 20:40:50 -07003192
erikjaf85fc42012-07-03 16:10:44 -07003193BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003194
erikjaf85fc42012-07-03 16:10:44 -07003195$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003196
erikjaf85fc42012-07-03 16:10:44 -07003197$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003198
erikjaf85fc42012-07-03 16:10:44 -07003199$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003200
erikjaf85fc42012-07-03 16:10:44 -07003201$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003202
3203endif
3204
3205##########################################################################################
3206
erikjaf85fc42012-07-03 16:10:44 -07003207ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003208
erikje78df742012-06-07 20:40:50 -07003209$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003210 LIBRARY:=osxui,\
3211 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003212 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003213 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003214 OPTIMIZATION:=LOW, \
3215 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003216 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3217 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3218 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3219 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3220 LDFLAGS:=$(LDFLAGS_JDKLIB)\
ohair46fcac92012-09-18 11:29:24 -07003221 $(call SET_SHARED_LIBRARY_ORIGIN) \
3222 -Xlinker -rpath -Xlinker @loader_path,\
3223 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
3224 -framework Cocoa \
3225 -framework Carbon \
3226 -framework ApplicationServices \
3227 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3228 -framework JavaNativeFoundation \
3229 -framework JavaRuntimeSupport \
3230 -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07003231 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui))
erikje78df742012-06-07 20:40:50 -07003232
erikjaf85fc42012-07-03 16:10:44 -07003233BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003234
erikjaf85fc42012-07-03 16:10:44 -07003235$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003236
erikjaf85fc42012-07-03 16:10:44 -07003237$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003238
erikjaf85fc42012-07-03 16:10:44 -07003239$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003240
erikjaf85fc42012-07-03 16:10:44 -07003241#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3242
3243endif
3244
3245##########################################################################################
3246
3247ifeq ($(OPENJDK_TARGET_OS), macosx)
3248
ohair46fcac92012-09-18 11:29:24 -07003249# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
3250SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
3251
3252$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\
erikjaf85fc42012-07-03 16:10:44 -07003253 LIBRARY:=JObjC,\
ohair46fcac92012-09-18 11:29:24 -07003254 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3255 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3256 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3257 LANG:=C,\
3258 OPTIMIZATION:=LOW, \
3259 CFLAGS:=-fpascal-strings \
3260 -fobjc-gc \
3261 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003262 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
ohair46fcac92012-09-18 11:29:24 -07003263 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3264 -m32,\
3265 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3266 -m32, \
3267 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3268 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3269 -framework JavaNativeFoundation \
3270 -lffi, \
3271 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32))
3272
3273$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\
3274 LIBRARY:=JObjC,\
3275 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
erikjaf85fc42012-07-03 16:10:44 -07003276 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3277 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3278 LANG:=C,\
3279 OPTIMIZATION:=LOW, \
3280 CFLAGS:=-fpascal-strings \
3281 -fobjc-gc \
3282 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003283 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
erikjaf85fc42012-07-03 16:10:44 -07003284 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3285 , \
3286 LDFLAGS:=-fpascal-strings \
3287 -fobjc-gc \
3288 -gdwarf-2 \
3289 $(LDFLAGS_JDKLIB)\
3290 $(call SET_SHARED_LIBRARY_ORIGIN), \
3291 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3292 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3293 -framework JavaNativeFoundation \
3294 -lffi, \
ohair46fcac92012-09-18 11:29:24 -07003295 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64))
erikjaf85fc42012-07-03 16:10:44 -07003296
ohair46fcac92012-09-18 11:29:24 -07003297$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3298 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3299
3300BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
erikje78df742012-06-07 20:40:50 -07003301
3302endif
3303
3304##########################################################################################
3305
raginip450da982013-01-18 11:33:31 -08003306ifndef OPENJDK
3307ifeq ($(OPENJDK_TARGET_OS), windows)
3308
3309 ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
3310
3311 define SetupAccessBridge
3312 # Parameter 1 Suffix
3313 # Parameter 2 Machine
3314 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
3315
3316 $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\
3317 LIBRARY=JAWTAccessBridge$1,\
3318 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3319 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3320 INCLUDE_FILES:=JAWTAccessBridge.cpp,\
3321 LANG:=C++,\
3322 OPTIMIZATION:=LOW,\
3323 CFLAGS:=$(CFLAGS_JDKLIB) \
3324 -DACCESSBRIDGE_ARCH_$3,\
3325 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3326 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
3327 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3328 -subsystem:windows -machine:$2 \
3329 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\
3330 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3331 RC_FLAGS:=$(RC_FLAGS),\
3332 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\
3333 DEBUG_SYMBOLS:=true)
3334
3335 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
3336
3337 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\
3338 LIBRARY=JavaAccessBridge$1,\
3339 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3340 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3341 INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
3342 AccessBridgeJavaEntryPoints.cpp \
3343 AccessBridgeMessages.cpp JavaAccessBridge.cpp,\
3344 LANG:=C++,\
3345 OPTIMIZATION:=LOW,\
3346 CFLAGS:=$(CFLAGS_JDKLIB) \
3347 -DACCESSBRIDGE_ARCH_$3,\
3348 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3349 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3350 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3351 -subsystem:windows -machine:$2 \
3352 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\
3353 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3354 RC_FLAGS:=$(RC_FLAGS),\
3355 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\
3356 DEBUG_SYMBOLS:=true)
3357
3358 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\
3359 LIBRARY=WindowsAccessBridge$1,\
3360 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3361 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3362 INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
3363 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
3364 WinAccessBridge.cpp AccessBridgeDebug.cpp \
3365 AccessBridgeEventHandler.cpp,\
3366 LANG:=C++,\
3367 OPTIMIZATION:=LOW,\
3368 CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \
3369 -DACCESSBRIDGE_ARCH_$3,\
3370 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3371 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3372 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3373 -subsystem:windows -machine:$2 \
3374 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\
3375 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3376 RC_FLAGS:=$(RC_FLAGS),\
3377 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\
3378 DEBUG_SYMBOLS:=true)
3379
3380 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
3381 $$(BUILD_WINDOWSACCESSBRIDGE$1)
3382
3383 endef
3384
3385 ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
3386 $(eval $(call SetupAccessBridge,-32,I386,32))
3387 $(eval $(call SetupAccessBridge,,I386,LEGACY))
3388 else
3389 $(eval $(call SetupAccessBridge,-64,X64,64))
3390 endif
3391endif
3392endif
3393
3394
3395##########################################################################################
3396
ohair92de5662012-04-10 08:22:03 -07003397all: $(COPY_FILES) $(BUILD_LIBRARIES)
3398
3399.PHONY: all