blob: 01dbc2ba41719bc45d2226524741a0dfff0c5f80 [file] [log] [blame]
ohair92de5662012-04-10 08:22:03 -07001#
2# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
3# 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
ohairb71409c2012-10-26 14:23:29 -0700467else
468 LIBAWT_DIRS+=\
469 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
470endif
erikje78df742012-06-07 20:40:50 -0700471
erikjaf85fc42012-07-03 16:10:44 -0700472LIBAWT_CFLAGS:=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
473 $(X_CFLAGS) \
erikje78df742012-06-07 20:40:50 -0700474 $(foreach dir,$(LIBAWT_DIRS),-I$(dir))
475
erikjaf85fc42012-07-03 16:10:44 -0700476LIBAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -0700477 gifdecoder.c \
478 imageInitIDs.c \
479 img_globals.c \
480 SurfaceData.c \
481 Region.c \
482 BufImgSurfaceData.c \
483 Disposer.c \
484 Trace.c \
485 GraphicsPrimitiveMgr.c \
486 Blit.c \
487 BlitBg.c \
488 ScaledBlit.c \
489 FillRect.c \
490 FillSpans.c \
491 FillParallelogram.c \
492 DrawParallelogram.c \
493 DrawLine.c \
494 DrawRect.c \
495 DrawPolygons.c \
496 DrawPath.c \
497 FillPath.c \
498 ProcessPath.c \
499 MaskBlit.c \
500 MaskFill.c \
501 TransformHelper.c \
502 AlphaMath.c \
503 AlphaMacros.c \
504 AnyByte.c \
505 ByteBinary1Bit.c \
506 ByteBinary2Bit.c \
507 ByteBinary4Bit.c \
508 ByteIndexed.c \
509 ByteGray.c \
510 Index8Gray.c \
511 Index12Gray.c \
512 AnyShort.c \
513 Ushort555Rgb.c \
514 Ushort565Rgb.c \
515 Ushort4444Argb.c \
516 Ushort555Rgbx.c \
517 UshortGray.c \
518 UshortIndexed.c \
519 Any3Byte.c \
520 ThreeByteBgr.c \
521 AnyInt.c \
522 IntArgb.c \
523 IntArgbPre.c \
524 IntArgbBm.c \
525 IntRgb.c \
526 IntBgr.c \
527 IntRgbx.c \
528 Any4Byte.c \
529 FourByteAbgr.c \
530 FourByteAbgrPre.c \
531 BufferedMaskBlit.c \
532 BufferedRenderPipe.c \
533 ShapeSpanIterator.c \
534 SpanClipRenderer.c \
535 awt_ImageRep.c \
536 awt_ImagingLib.c \
537 awt_Mlib.c \
538 awt_parseImage.c \
539 DataBufferNative.c \
540 dither.c \
541 debug_assert.c \
542 debug_mem.c \
543 debug_trace.c \
544 debug_util.c
545
ohair46fcac92012-09-18 11:29:24 -0700546ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux))
erikje78df742012-06-07 20:40:50 -0700547 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
548endif
549
erikjaf85fc42012-07-03 16:10:44 -0700550ifeq ($(OPENJDK_TARGET_OS),macosx)
ohair46fcac92012-09-18 11:29:24 -0700551 LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
erikje78df742012-06-07 20:40:50 -0700552 LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
553 LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
554 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
555
erikjaf85fc42012-07-03 16:10:44 -0700556 LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
erikje78df742012-06-07 20:40:50 -0700557endif
558
erikjaf85fc42012-07-03 16:10:44 -0700559ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
560 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
561 LIBAWT_CFLAGS += -xarch=sparcvis
ohair46fcac92012-09-18 11:29:24 -0700562 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
erikjaf85fc42012-07-03 16:10:44 -0700563 LIBAWT_CFLAGS += \
564 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
565 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
566 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
erikje78df742012-06-07 20:40:50 -0700567
erikjaf85fc42012-07-03 16:10:44 -0700568 LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
569 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
570
571 LIBAWT_FILES += \
572 vis_FuncArray.c \
573 java2d_Mlib.c \
574 mlib_ImageCreate.c \
575 mlib_ImageZoom_NN.c \
576 mlib_ImageCopy_Bit.c \
577 mlib_sys.c \
578 mlib_v_ImageClear.c \
579 mlib_v_ImageClear_f.c \
580 mlib_v_ImageConstXor.c \
581 mlib_v_ImageCopy.c \
582 mlib_v_ImageCopy_f.c \
583 mlib_v_ImageXor.c \
584 mlib_v_ImageZoom_NN_f.c \
585 vis_Interp.c \
586 vis_AlphaMacros.c \
587 vis_AlphaMaskBlit.c \
588 vis_AlphaMaskFill.c \
589 vis_ByteGray.c \
590 vis_ByteGray_FromRgb.c \
591 vis_ByteGray_Mask.c \
592 vis_ByteIndexed.c \
593 vis_DrawLine.c \
594 vis_FourByteAbgr.c \
595 vis_IntArgb.c \
596 vis_IntArgbPre.c \
597 vis_IntArgbPre_Mask.c \
598 vis_IntBgr.c \
599 vis_IntRgb.c \
600 vis_IntRgbx.c \
601 vis_SrcMaskFill.c \
602 vis_SrcOverMaskBlit.c \
603 vis_SrcOverMaskFill.c \
604 vis_FourByteAbgrPre.c \
605 vis_GlyphList.c \
606 vis_GlyphListXor.c \
607 vis_IntArgbBm.c \
608 vis_ThreeByteBgr.c \
609 vis_UshortGray.c \
610 vis_UshortGray_FromRgb.c \
611 vis_XorBlit.c \
612 mlib_v_ImageCopy_blk.s
613
ohair46fcac92012-09-18 11:29:24 -0700614 ifeq ($(OPENJDK_TARGET_CPU),sparcv9)
erikjaf85fc42012-07-03 16:10:44 -0700615 LIBAWT_ASFLAGS=-P -xarch=v9a
616 else
617 LIBAWT_ASFLAGS=-P -xarch=v8plusa
618 endif
erikje78df742012-06-07 20:40:50 -0700619else
620 LIBAWT_FILES += MapAccelFunc.c
621endif
622
erikjaf85fc42012-07-03 16:10:44 -0700623ifneq ($(OPENJDK_TARGET_OS),solaris)
erikje78df742012-06-07 20:40:50 -0700624 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
625endif
626
erikjaf85fc42012-07-03 16:10:44 -0700627LIBAWT_LANG:=C
erikje78df742012-06-07 20:40:50 -0700628
erikjaf85fc42012-07-03 16:10:44 -0700629ifeq ($(OPENJDK_TARGET_OS),windows)
erikje78df742012-06-07 20:40:50 -0700630 LIBAWT_FILES += AccelGlyphCache.c \
631 ShaderList.c \
632 CmdIDList.cpp \
633 Hashtable.cpp \
634 GDIHashtable.cpp \
635 Devices.cpp \
636 ObjectList.cpp \
637 GDIBlitLoops.cpp \
638 GDIRenderer.cpp \
639 GDIWindowSurfaceData.cpp \
640 WindowsFlags.cpp \
641 WPrinterJob.cpp \
642 awt_%.cpp \
643 D3DBlitLoops.cpp \
644 D3DBufImgOps.cpp \
645 D3DContext.cpp \
646 D3DGlyphCache.cpp \
647 D3DGraphicsDevice.cpp \
648 D3DMaskBlit.cpp \
649 D3DMaskCache.cpp \
650 D3DMaskFill.cpp \
651 D3DPipelineManager.cpp \
652 D3DPaints.cpp \
653 D3DRenderer.cpp \
654 D3DRenderQueue.cpp \
655 D3DResourceManager.cpp \
656 D3DSurfaceData.cpp \
657 D3DTextRenderer.cpp \
658 D3DVertexCacher.cpp \
659 ShellFolder2.cpp \
660 ThemeReader.cpp \
661 ComCtl32Util.cpp \
662 DllUtil.cpp \
663 initIDs.cpp \
664 MouseInfo.cpp \
ohairb71409c2012-10-26 14:23:29 -0700665 rect.c \
666 OGLBlitLoops.c \
667 OGLBufImgOps.c \
668 OGLContext.c \
669 OGLFuncs.c \
670 OGLMaskBlit.c \
671 OGLMaskFill.c \
672 OGLPaints.c \
673 OGLRenderQueue.c \
674 OGLRenderer.c \
675 OGLSurfaceData.c \
676 OGLTextRenderer.c \
677 OGLVertexCache.c \
678 WGLGraphicsConfig.c \
679 WGLSurfaceData.c
erikjaf85fc42012-07-03 16:10:44 -0700680 LIBAWT_LANG:=C++
ohair46fcac92012-09-18 11:29:24 -0700681 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
682 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700683 LIBAWT_CFLAGS += -DMLIB_OS64BIT
684 endif
685
686 ifdef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -0700687 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
erikje78df742012-06-07 20:40:50 -0700688 else
erikjaf85fc42012-07-03 16:10:44 -0700689 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
erikje78df742012-06-07 20:40:50 -0700690 endif
erikjaf85fc42012-07-03 16:10:44 -0700691 LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
erikje78df742012-06-07 20:40:50 -0700692endif
693
694ifeq ($(MILESTONE), internal)
695 LIBAWT_CFLAGS += -DINTERNAL_BUILD
696endif
697
erikjaf85fc42012-07-03 16:10:44 -0700698LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
699ifeq ($(OPENJDK_TARGET_OS),linux)
700 LIBAWT_MAPFILE:=
erikje78df742012-06-07 20:40:50 -0700701endif
702
703$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
erikjaf85fc42012-07-03 16:10:44 -0700704 LIBRARY:=awt,\
705 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -0700706 SRC:=$(LIBAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -0700707 INCLUDE_FILES:=$(LIBAWT_FILES),\
erikje78df742012-06-07 20:40:50 -0700708 LANG:=$(LIBAWT_LANG),\
erikjaf85fc42012-07-03 16:10:44 -0700709 OPTIMIZATION:=LOW, \
710 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
711 ASFLAGS:=$(LIBAWT_ASFLAGS),\
712 MAPFILE:=$(LIBAWT_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700713 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700714 LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
715 LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -0800716 LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
ohair46fcac92012-09-18 11:29:24 -0700717 LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
718 -framework Cocoa \
719 -framework OpenGL \
720 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
721 -framework JavaNativeFoundation \
722 -framework JavaRuntimeSupport \
723 -framework ApplicationServices \
724 -framework AudioToolbox \
725 -ljava,\
ohairb71409c2012-10-26 14:23:29 -0700726 LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \
727 imm32.lib ole32.lib uuid.lib shell32.lib \
728 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
729 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
730 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
731 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
732 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
733 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
734 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\
erikjaf85fc42012-07-03 16:10:44 -0700735 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
736 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700737 -D "JDK_FNAME=awt.dll" \
738 -D "JDK_INTERNAL_NAME=awt" \
739 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700740 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt,\
741 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700742
erikjaf85fc42012-07-03 16:10:44 -0700743$(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700744
erikjaf85fc42012-07-03 16:10:44 -0700745ifeq ($(OPENJDK_TARGET_OS), macosx)
746$(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
747endif
748
749BUILD_LIBRARIES += $(BUILD_LIBAWT)
750
751##########################################################################################
752
753# TODO!!
754# Even though this variable as a general name, it is
755# only used on macos, in fontpath.c, as prefix for where to find fonts.
756#
757# It's used for libawt_headless _and_ libawt_xawt
758#
759X11_PATH:=/usr/X11R6
760
761ifneq ($(OPENJDK_TARGET_OS), windows)
762ifndef BUILD_HEADLESS_ONLY
763
764LIBAWT_XAWT_DIRS:=\
765 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
766 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
767 $(JDK_TOPDIR)/src/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -0700768 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -0700769 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700770 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
771 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
772 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
773 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
erikjaf85fc42012-07-03 16:10:44 -0700774
775LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
776 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
777 $(CUPS_CFLAGS) \
778 $(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
779 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700780 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -0700781 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
782 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
783 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
784 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
785 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -0700786 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
erikjaf85fc42012-07-03 16:10:44 -0700787
788ifeq ($(OPENJDK_TARGET_OS),solaris)
789 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
790endif
791
792ifeq ($(MILESTONE),internal)
793 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
794endif
795
796LIBAWT_XAWT_FILES:=\
797 XlibWrapper.c \
798 XWindow.c \
799 XToolkit.c \
800 X11Color.c \
801 X11SurfaceData.c \
802 awt_GraphicsEnv.c \
803 awt_InputMethod.c \
804 robot_common.c \
805 awt_Robot.c \
806 list.c \
807 multiVis.c \
808 initIDs.c \
809 awt_util.c \
810 awt_Desktop.c \
811 awt_UNIXToolkit.c \
812 X11FontScaler_md.c \
813 X11TextRenderer_md.c \
814 fontpath.c \
815 awt_Insets.c \
816 awt_Event.c \
817 X11Renderer.c \
818 X11PMBlitLoops.c \
819 OGLBlitLoops.c \
820 OGLBufImgOps.c \
821 OGLContext.c \
822 OGLFuncs.c \
823 OGLMaskBlit.c \
824 OGLMaskFill.c \
825 OGLPaints.c \
826 OGLRenderQueue.c \
827 OGLRenderer.c \
828 OGLSurfaceData.c \
829 OGLTextRenderer.c \
830 OGLVertexCache.c \
831 GLXGraphicsConfig.c \
832 GLXSurfaceData.c \
833 AccelGlyphCache.c \
834 awt_Font.c \
835 multi_font.c \
836 awt_AWTEvent.c \
837 awt_DrawingSurface.c \
838 jawt.c \
839 CUPSfuncs.c \
840 debug_assert.c \
841 debug_mem.c \
842 debug_trace.c \
843 debug_util.c \
844 awt_Plugin.c \
845 gtk2_interface.c \
846 swing_GTKEngine.c \
847 swing_GTKStyle.c \
848 rect.c \
849 sun_awt_X11_GtkFileDialogPeer.c \
850 XRSurfaceData.c \
851 XRBackendNative.c
852
853LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
854
855ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -0700856 # To match old build, add this to LDFLAGS instead of suffix.
857 LIBAWT_XAWT_LDFLAGS += -lpthread
erikjaf85fc42012-07-03 16:10:44 -0700858endif
859
860ifeq ($(OPENJDK_TARGET_OS), macosx)
861 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
862endif
863
ohair46fcac92012-09-18 11:29:24 -0700864# On macosx, the shared library origin is set twice for this lib.
erikjaf85fc42012-07-03 16:10:44 -0700865$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
866 LIBRARY:=awt_xawt,\
867 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
868 SRC:=$(LIBAWT_XAWT_DIRS),\
869 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
870 LANG:=C,\
871 OPTIMIZATION:=LOW, \
872 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
873 $(X_CFLAGS),\
874 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
875 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700876 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\
877 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \
878 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
879 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
880 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
881 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
882 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
883 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
884 $(call SET_SHARED_LIBRARY_ORIGIN) \
885 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
886 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \
887 $(call SET_SHARED_LIBRARY_ORIGIN). \
888 $(call SET_SHARED_LIBRARY_ORIGIN) \
889 $(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -0700890 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -0700891 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
892 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700893 -D "JDK_FNAME=xawt.dll" \
894 -D "JDK_INTERNAL_NAME=xawt" \
895 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700896 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt))
897
898$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
899
900$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
901
902BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
903
904endif
905endif
906
907##########################################################################################
908
erikj5c99f2c2012-11-28 13:29:35 +0100909BUILD_LIBZIP_EXCLUDES :=
erikjaf85fc42012-07-03 16:10:44 -0700910ifeq ($(USE_EXTERNAL_LIBZ),true)
erikj5c99f2c2012-11-28 13:29:35 +0100911 LIBZ := -lz
912 LIBZIP_EXCLUDES += zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700913else
erikj5c99f2c2012-11-28 13:29:35 +0100914 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700915endif
916
erikj5c99f2c2012-11-28 13:29:35 +0100917BUILD_LIBZIP_REORDER :=
erikjaf85fc42012-07-03 16:10:44 -0700918ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700919 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikj5c99f2c2012-11-28 13:29:35 +0100920 BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700921 endif
922endif
923
924ifeq ($(LIBZIP_CAN_USE_MMAP), true)
erikj5c99f2c2012-11-28 13:29:35 +0100925 BUILD_LIBZIP_MMAP := -DUSE_MMAP
erikjaf85fc42012-07-03 16:10:44 -0700926endif
927
928$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
929 LIBRARY:=zip,\
930 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikjaf85fc42012-07-03 16:10:44 -0700931 LANG:=C,\
932 OPTIMIZATION:=LOW, \
erikj5c99f2c2012-11-28 13:29:35 +0100933 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
934 EXCLUDES:=$(LIBZIP_EXCLUDES),\
erikjaf85fc42012-07-03 16:10:44 -0700935 CFLAGS:=$(CFLAGS_JDKLIB) \
erikj5c99f2c2012-11-28 13:29:35 +0100936 $(ZLIB_CPPFLAGS) \
erikjaf85fc42012-07-03 16:10:44 -0700937 -I$(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700938 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
erikjaf85fc42012-07-03 16:10:44 -0700939 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
940 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
941 REORDER:=$(BUILD_LIBZIP_REORDER), \
942 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700943 $(call SET_SHARED_LIBRARY_ORIGIN) \
erikjaf85fc42012-07-03 16:10:44 -0700944 $(EXPORT_ZIP_FUNCS), \
ohair46fcac92012-09-18 11:29:24 -0700945 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
erikjaf85fc42012-07-03 16:10:44 -0700946 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
947 $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700948 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -0800949 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
ohair46fcac92012-09-18 11:29:24 -0700950 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
951 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
952 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700953 -D "JDK_FNAME=zip.dll" \
954 -D "JDK_INTERNAL_NAME=zip" \
955 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700956 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
957 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700958
959$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
960
961BUILD_LIBRARIES += $(BUILD_LIBZIP)
962
963##########################################################################################
964
965$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
966 LIBRARY:=unpack, \
967 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
968 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
969 EXCLUDE_FILES:=main.cpp,\
970 LANG:=C++,\
971 OPTIMIZATION:=LOW, \
972 CFLAGS:=$(CXXFLAGS_JDKLIB) \
973 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
974 CFLAGS_release:=-DPRODUCT,\
975 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -0700976 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -0700977 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohairb71409c2012-10-26 14:23:29 -0700978 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
erikjaf85fc42012-07-03 16:10:44 -0700979 jvm.lib $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700980 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700981 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
982 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
983 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700984 -D "JDK_FNAME=unpack.dll" \
985 -D "JDK_INTERNAL_NAME=unpack" \
986 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700987 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700988
989$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
990
991BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
992
ohair46fcac92012-09-18 11:29:24 -0700993ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -0700994 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
995 $(ECHO) Copying $(@F)
996 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
997
998 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
999 $(ECHO) Copying $(@F)
1000 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
1001endif
1002
1003##########################################################################################
1004
1005LIBATTACH_EXCLUDE_FILES:=
1006ifneq ($(OPENJDK_TARGET_OS),solaris)
1007 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1008endif
1009ifneq ($(OPENJDK_TARGET_OS),linux)
1010 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1011endif
1012ifneq ($(OPENJDK_TARGET_OS),macosx)
1013 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1014endif
1015
1016$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1017 LIBRARY:=attach, \
1018 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001019 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
erikjaf85fc42012-07-03 16:10:44 -07001020 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1021 LANG:=C,\
1022 OPTIMIZATION:=LOW, \
1023 CFLAGS:=$(CFLAGS_JDKLIB),\
1024 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
ohair46fcac92012-09-18 11:29:24 -07001025 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1026 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001027 -D "JDK_FNAME=attach.dll" \
1028 -D "JDK_INTERNAL_NAME=attach" \
1029 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001030 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1031 $(call SET_SHARED_LIBRARY_ORIGIN),\
1032 LDFLAGS_solaris:=-ldoor,\
erikjaf85fc42012-07-03 16:10:44 -07001033 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001034 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001035 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
1036 DEBUG_SYMBOLS:=true))
1037
1038$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
1039
1040BUILD_LIBRARIES += $(BUILD_LIBATTACH)
1041
1042##########################################################################################
1043
1044$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
1045 LIBRARY:=dt_socket,\
1046 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1047 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001048 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\
erikjaf85fc42012-07-03 16:10:44 -07001049 LANG:=C,\
1050 OPTIMIZATION:=LOW, \
1051 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
1052 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1053 -I$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001054 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
erikjaf85fc42012-07-03 16:10:44 -07001055 -I$(JDK_TOPDIR)/src/share/back/export \
1056 -I$(JDK_TOPDIR)/src/share/back,\
1057 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001058 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1059 $(call SET_SHARED_LIBRARY_ORIGIN), \
1060 LDFLAGS_SUFFIX_linux:=-lpthread,\
erikj4f66f2d2012-11-03 16:27:01 -07001061 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\
ohair46fcac92012-09-18 11:29:24 -07001062 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
1063 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1064 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001065 -D "JDK_FNAME=dt_socket.dll" \
1066 -D "JDK_INTERNAL_NAME=dt_socket" \
1067 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001068 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
1069 DEBUG_SYMBOLS:=true))
1070
1071$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
1072
1073BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
1074
1075##########################################################################################
1076
ohair46fcac92012-09-18 11:29:24 -07001077ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001078
1079 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
1080 LIBRARY:=dt_shmem,\
1081 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1082 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
1083 $(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001084 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\
erikjaf85fc42012-07-03 16:10:44 -07001085 LANG:=C,\
1086 OPTIMIZATION:=LOW, \
1087 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
1088 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1089 -I$(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001090 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
erikjaf85fc42012-07-03 16:10:44 -07001091 -I$(JDK_TOPDIR)/src/share/back/export, \
1092 LDFLAGS:=$(LDFLAGS_JDKLIB),\
ohair46fcac92012-09-18 11:29:24 -07001093 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\
erikjaf85fc42012-07-03 16:10:44 -07001094 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001095 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1096 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001097 -D "JDK_FNAME=dt_shmem.dll" \
1098 -D "JDK_INTERNAL_NAME=dt_shmem" \
1099 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001100 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
1101 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001102
1103 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
1104
1105endif # OPENJDK_TARGET_OS
1106
1107##########################################################################################
ohair46fcac92012-09-18 11:29:24 -07001108# JDWP_LOGGING causes log messages to be compiled into the library.
erikjaf85fc42012-07-03 16:10:44 -07001109$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
1110 LIBRARY:=jdwp, \
1111 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001112 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\
erikjaf85fc42012-07-03 16:10:44 -07001113 LANG:=C,\
1114 OPTIMIZATION:=LOW, \
1115 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
1116 -I$(JDK_TOPDIR)/src/share/transport/export \
1117 -I$(JDK_TOPDIR)/src/share/back/export \
1118 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001119 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001120 -I$(JDK_TOPDIR)/src/share/back \
ohair46fcac92012-09-18 11:29:24 -07001121 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
erikjaf85fc42012-07-03 16:10:44 -07001122 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
1123 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001124 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1125 $(call SET_SHARED_LIBRARY_ORIGIN),\
1126 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001127 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001128 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001129 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1130 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001131 -D "JDK_FNAME=jdwp.dll" \
1132 -D "JDK_INTERNAL_NAME=jdwp" \
1133 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001134 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
1135 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001136
1137$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
1138
1139BUILD_LIBRARIES += $(BUILD_LIBJDWP)
1140
1141##########################################################################################
1142
1143LIBJAAS_MAPFILE:=
1144ifneq ($(OPENJDK_TARGET_OS),solaris)
1145 LIBJAAS_EXCLUDE_FILES:=Solaris.c
1146else
1147 # only on solaris...wonder why
1148 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
1149endif
1150
1151LIBJAAS_NAME:=jaas_unix
1152ifeq ($(OPENJDK_TARGET_OS), windows)
1153 LIBJAAS_NAME:=jaas_nt
1154endif
1155
1156$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
1157 LIBRARY:=$(LIBJAAS_NAME),\
1158 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001159 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\
erikjaf85fc42012-07-03 16:10:44 -07001160 LANG:=C,\
1161 OPTIMIZATION:=LOW, \
1162 CFLAGS:=$(CFLAGS_JDKLIB),\
1163 MAPFILE:=$(LIBJAAS_MAPFILE),\
1164 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
1165 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001166 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001167 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -08001168 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07001169 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
ohair46fcac92012-09-18 11:29:24 -07001170 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1171 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001172 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
1173 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
1174 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001175 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\
1176 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001177
1178$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
1179
1180BUILD_LIBRARIES += $(BUILD_LIBJAAS)
1181
1182##########################################################################################
1183
1184$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
1185 LIBRARY:=jsdt,\
1186 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1187 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
ohair46fcac92012-09-18 11:29:24 -07001188 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\
erikjaf85fc42012-07-03 16:10:44 -07001189 LANG:=C,\
1190 OPTIMIZATION:=LOW, \
1191 CFLAGS:=$(CFLAGS_JDKLIB)\
1192 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
1193 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
1194 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1195 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001196 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1197 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07001198 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001199 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001200 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1201 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001202 -D "JDK_FNAME=jsdt.dll" \
1203 -D "JDK_INTERNAL_NAME=jsdt" \
1204 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001205 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
ohair46fcac92012-09-18 11:29:24 -07001206 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001207
1208$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
1209
1210BUILD_LIBRARIES += $(BUILD_LIBJSDT)
1211
1212##########################################################################################
1213
1214ifdef OPENJDK
1215 # TODO: Update awt lib path when awt is converted
1216 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1217 LIBRARY:=lcms,\
1218 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01001219 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
erikjaf85fc42012-07-03 16:10:44 -07001220 LANG:=C,\
1221 OPTIMIZATION:=LOW, \
1222 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1223 $(SHARED_LIBRARY_FLAGS) \
1224 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1225 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1226 CFLAGS_solaris:=-xc99=no_lib,\
ohair46fcac92012-09-18 11:29:24 -07001227 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
erikjaf85fc42012-07-03 16:10:44 -07001228 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001229 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1230 $(call SET_SHARED_LIBRARY_ORIGIN), \
1231 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1232 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
tbell7d47bd02012-11-12 10:20:01 -08001233 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07001234 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1235 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1236 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1237 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001238 -D "JDK_FNAME=lcms.dll" \
1239 -D "JDK_INTERNAL_NAME=lcms" \
1240 -D "JDK_FTYPE=0x2L",\
1241 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
1242 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001243
1244 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1245
1246 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
1247endif
1248
1249##########################################################################################
1250
1251ifdef OPENJDK
1252 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1253else
1254 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1255 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1256 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1257endif
1258
1259BUILD_LIBJPEG_REORDER:=
1260ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001261 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1262 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07001263 endif
1264endif
1265
1266# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
1267# or 'vfork'": this warning indicates that some variable is placed to
1268# a register by optimized compiler and it's value might be lost on longjmp().
1269# Recommended way to avoid such warning is to declare the variable as
1270# volatile to prevent the optimization. However, this approach does not
1271# work because we have to declare all variables as volatile in result.
1272#ifndef CROSS_COMPILE_ARCH
1273# CC_43_OR_NEWER:=\
1274# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
1275# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
1276# ifeq ($(CC_43_OR_NEWER),1)
1277# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
1278# endif
1279#endif
1280
1281$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
1282 LIBRARY:=jpeg, \
1283 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1284 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
1285 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1286 LANG:=C,\
1287 OPTIMIZATION:=HIGHEST, \
1288 CFLAGS:=$(CFLAGS_JDKLIB) \
1289 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
1290 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1291 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
1292 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1293 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001294 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001295 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001296 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1297 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001298 -D "JDK_FNAME=jpeg.dll" \
1299 -D "JDK_INTERNAL_NAME=jpeg" \
1300 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001301 REORDER:=$(BUILD_LIBJPEG_REORDER),\
ohair46fcac92012-09-18 11:29:24 -07001302 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
1303 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001304
1305$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
1306
1307BUILD_LIBRARIES += $(BUILD_LIBJPEG)
1308
1309##########################################################################################
1310
1311ifndef OPENJDK
ohairb71409c2012-10-26 14:23:29 -07001312 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
erikjaf85fc42012-07-03 16:10:44 -07001313 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
1314 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
1315else
1316 FONT_HEADERS:=$(FREETYPE2_CFLAGS)
1317 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
1318 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
1319endif
1320
1321LIBFONTMANAGER_OPTIMIZATION:=HIGH
1322
1323ifeq ($(OPENJDK_TARGET_OS),windows)
1324 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1325 X11TextRenderer.c
1326 LIBFONTMANAGER_OPTIMIZATION:=LOW
1327else
1328 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1329 lcdglyph.c
1330endif
1331
1332BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1333 $(X_CFLAGS) \
1334 -DLE_STANDALONE -DHEADLESS \
1335 $(FONT_HEADERS) \
1336 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1337 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1338 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001339 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001340 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1341 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1342 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001343 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001344 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1345
1346# Turn off aliasing with GCC for ExtensionSubtables.cpp
1347ifeq ($(OPENJDK_TARGET_OS), linux)
1348 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1349endif
1350
1351$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1352 LIBRARY:=fontmanager, \
1353 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1354 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
ohair46fcac92012-09-18 11:29:24 -07001355 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
erikjaf85fc42012-07-03 16:10:44 -07001356 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1357 AccelGlyphCache.c,\
1358 LANG:=C++,\
1359 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1360 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1361 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
ohair46fcac92012-09-18 11:29:24 -07001362 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001363 -DCC_NOEX, \
1364 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
ohair46fcac92012-09-18 11:29:24 -07001365 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001366 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001367 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1368 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1369 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
ohairb71409c2012-10-26 14:23:29 -07001370 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1371 -ljava -ljvm,\
1372 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1373 $(WIN_AWT_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001374 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1375 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001376 -D "JDK_FNAME=fontmanager.dll" \
1377 -D "JDK_INTERNAL_NAME=fontmanager" \
1378 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001379 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
1380 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001381
1382$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1383
1384ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1385$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1386endif
1387
1388BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001389
1390##########################################################################################
1391
1392ifndef OPENJDK
1393
erikjaf85fc42012-07-03 16:10:44 -07001394# ifeq ($(OPENJDK_TARGET_OS), linux)
1395# ifeq ("$(CC_VER_MAJOR)", "3")
1396# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1397# endif
1398# endif
1399#
1400# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1401# the input .o files. Because of this the new build will differ in size to the old build.
1402 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1403 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1404 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1405 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -07001406 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -07001407 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1408 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001409 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001410 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1411
1412 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1413 LIBRARY:=t2k, \
1414 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1415 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1416 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1417 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1418 EXCLUDE_FILES:=orion.c,\
1419 LANG:=C++,\
1420 OPTIMIZATION:=HIGH, \
1421 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1422 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1423 CFLAGS_windows=-DCC_NOEX, \
1424 CXXFLAGS_windows=-DCC_NOEX, \
1425 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001426 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001427 $(call SET_SHARED_LIBRARY_ORIGIN),\
1428 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
ohair46fcac92012-09-18 11:29:24 -07001429 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
1430 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
1431 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1432 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001433 -D "JDK_FNAME=t2k.dll" \
1434 -D "JDK_INTERNAL_NAME=t2k" \
1435 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001436 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
1437 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001438
1439 # t2k is linked against fontmanager
1440 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1441
1442 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1443endif
1444
1445##########################################################################################
1446
erikjaf85fc42012-07-03 16:10:44 -07001447ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001448 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikjaf85fc42012-07-03 16:10:44 -07001449 KERNEL32_LIB:=kernel32.lib
1450 endif
1451 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1452 LIBRARY:=jawt, \
1453 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001454 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
erikjaf85fc42012-07-03 16:10:44 -07001455 INCLUDE_FILES:=jawt.cpp,\
1456 LANG:=C++,\
1457 OPTIMIZATION:=LOW, \
1458 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1459 -EHsc -DUNICODE -D_UNICODE \
ohair46fcac92012-09-18 11:29:24 -07001460 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001461 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1462 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1463 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001464 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \
1465 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001466 advapi32.lib $(WIN_AWT_LIB),\
1467 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001468 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1469 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001470 -D "JDK_FNAME=jawt.dll" \
1471 -D "JDK_INTERNAL_NAME=jawt" \
1472 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001473 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1474 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001475
1476$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1477
1478$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1479 $(ECHO) Copying $(@F)
ohair46fcac92012-09-18 11:29:24 -07001480 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
erikjaf85fc42012-07-03 16:10:44 -07001481
1482BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1483
1484else # OPENJDK_TARGET_OS not windows
1485
1486 JAWT_LIBS:=
1487 ifneq ($(OPENJDK_TARGET_OS), solaris)
1488 JAWT_LIBS += -lawt
1489 endif
1490
1491 ifndef BUILD_HEADLESS_ONLY
1492 JAWT_LIBS += -lawt_xawt
1493 else
1494 JAWT_LIBS += -lawt_headless
1495 HEADLESS_CFLAG += -DHEADLESS
1496 endif
1497
1498 JAWT_FILES:=jawt.c
1499 ifeq ($(OPENJDK_TARGET_OS), macosx)
1500 JAWT_FILES:=jawt.m
1501 JAWT_LIBS:=-lawt_lwawt
1502 endif
1503
1504 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1505 LIBRARY:=jawt, \
1506 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001507 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001508 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1509 INCLUDE_FILES:=$(JAWT_FILES),\
1510 LANG:=C,\
1511 OPTIMIZATION:=LOW, \
1512 CFLAGS:=$(CFLAGS_JDKLIB), \
1513 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1514 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1515 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1516 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1517 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001518 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1519 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1520 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1521 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1522 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07001523 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
1524
1525ifndef BUILD_HEADLESS_ONLY
1526$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1527else
1528$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1529endif
1530
1531ifeq ($(OPENJDK_TARGET_OS),macosx)
1532$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1533endif
1534
1535endif # OPENJDK_TARGET_OS
1536
1537BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1538
1539##########################################################################################
1540
ohair46fcac92012-09-18 11:29:24 -07001541LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1542 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
1543 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
erikjaf85fc42012-07-03 16:10:44 -07001544
ohair46fcac92012-09-18 11:29:24 -07001545LIBINSTRUMENT_FILES :=\
erikjaf85fc42012-07-03 16:10:44 -07001546 EncodingSupport.c \
1547 EncodingSupport_md.c \
1548 FileSystemSupport_md.c \
1549 InstrumentationImplNativeMethods.c \
1550 InvocationAdapter.c \
1551 JarFacade.c \
1552 JPLISAgent.c \
1553 JPLISAssert.c \
1554 JavaExceptions.c \
1555 PathCharsValidator.c \
1556 Reentrancy.c \
1557 Utilities.c \
1558 canonicalize_md.c
1559
ohair46fcac92012-09-18 11:29:24 -07001560LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1561LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
1562 -I$(JDK_TOPDIR)/src/share/instrument \
1563 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
1564 -I$(JDK_TOPDIR)/src/share/bin
erikjaf85fc42012-07-03 16:10:44 -07001565
ohair46fcac92012-09-18 11:29:24 -07001566LIBINSTRUMENT_LDFLAGS:=
1567LIBINSTRUMENT_LDFLAGS_SUFFIX:=
erikjaf85fc42012-07-03 16:10:44 -07001568
1569ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001570 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1571 -export:Agent_OnAttach advapi32.lib
1572 # Statically link the C runtime so that there are not dependencies on modules
1573 # not on the search patch when invoked from the Windows system directory
1574 # (or elsewhere).
1575 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
1576 # equivalent of strcasecmp is stricmp on Windows
1577 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
erikjaf85fc42012-07-03 16:10:44 -07001578endif
1579
1580$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1581 LIBRARY:=instrument, \
1582 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001583 SRC:=$(LIBINSTRUMENT_SRC),\
1584 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07001585 LANG:=C,\
1586 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07001587 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07001588 CFLAGS_debug:=-DJPLIS_LOGGING,\
1589 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1590 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001591 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1592 $(call SET_SHARED_LIBRARY_ORIGIN) \
1593 $(LIBINSTRUMENT_LDFLAGS),\
1594 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1595 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1596 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1597 -framework Cocoa -framework Security -framework ApplicationServices,\
1598 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1599 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08001600 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001601 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1602 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1603 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001604 -D "JDK_FNAME=instrument.dll" \
1605 -D "JDK_INTERNAL_NAME=instrument" \
1606 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001607 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
erikjaf85fc42012-07-03 16:10:44 -07001608 DEBUG_SYMBOLS:=true))
1609
1610ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1611$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1612else
1613$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1614endif
1615$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1616
1617BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1618
1619##########################################################################################
1620
1621BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
ohair46fcac92012-09-18 11:29:24 -07001622 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1623 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
erikjaf85fc42012-07-03 16:10:44 -07001624
1625BUILD_LIBMANAGEMENT_EXCLUDES:=
1626
1627BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1628
1629ifneq ($(OPENJDK_TARGET_OS), windows)
1630 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1631else
1632 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1633endif
1634
1635ifneq ($(OPENJDK_TARGET_OS),solaris)
1636 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1637endif
1638
1639ifneq ($(OPENJDK_TARGET_OS),linux)
1640 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1641endif
1642
1643ifneq ($(OPENJDK_TARGET_OS),macosx)
1644 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1645endif
1646
ohair46fcac92012-09-18 11:29:24 -07001647LIBMANAGEMENT_OPTIMIZATION:=HIGH
1648ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001649 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001650 LIBMANAGEMENT_OPTIMIZATION:=LOW
1651 endif
1652endif
erikjaf85fc42012-07-03 16:10:44 -07001653
1654$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1655 LIBRARY:=management,\
1656 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1657 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1658 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1659 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001660 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001661 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1662 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1663 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1664 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07001665 LDFLAGS_solaris:=-lkstat,\
1666 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001667 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001668 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1669 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001670 -D "JDK_FNAME=management.dll" \
1671 -D "JDK_INTERNAL_NAME=management" \
1672 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001673 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1674 DEBUG_SYMBOLS:=true))
1675
1676$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1677
1678BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1679
1680##########################################################################################
1681
ohair46fcac92012-09-18 11:29:24 -07001682BUILD_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 -07001683BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1684 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001685 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001686 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1687
1688BUILD_LIBHPROF_LDFLAGS:=
1689
ohair46fcac92012-09-18 11:29:24 -07001690LIBHPROF_OPTIMIZATION:=HIGHEST
1691ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001692 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001693 LIBHPROF_OPTIMIZATION:=LOW
1694 endif
1695endif
1696
erikjaf85fc42012-07-03 16:10:44 -07001697$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1698 LIBRARY:=hprof, \
1699 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1700 SRC:=$(BUILD_LIBHPROF_SRC),\
1701 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001702 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001703 CFLAGS:=$(CFLAGS_JDKLIB) \
1704 $(BUILD_LIBHPROF_CFLAGS),\
1705 CFLAGS_debug:=-DHPROF_LOGGING,\
1706 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1707 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1708 $(call SET_SHARED_LIBRARY_ORIGIN),\
1709 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
tbell7d47bd02012-11-12 10:20:01 -08001710 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1711 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
1712 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001713 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1714 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001715 -D "JDK_FNAME=hprof.dll" \
1716 -D "JDK_INTERNAL_NAME=hprof" \
1717 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001718 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1719 DEBUG_SYMBOLS:=true))
1720
1721BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1722
1723##########################################################################################
1724
1725$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1726 LIBRARY:=java_crw_demo, \
1727 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1728 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1729 LANG:=C,\
1730 OPTIMIZATION:=LOW, \
1731 CFLAGS:=$(CFLAGS_JDKLIB) \
1732 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1733 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1734 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1735 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08001736 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001737 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1738 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001739 -D "JDK_FNAME=java_crw_demo.dll" \
1740 -D "JDK_INTERNAL_NAME=java_crw_demo" \
1741 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001742 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1743 DEBUG_SYMBOLS:=true))
1744
1745BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1746
1747##########################################################################################
1748
1749$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1750 LIBRARY:=npt, \
1751 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001752 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001753 LANG:=C,\
1754 OPTIMIZATION:=LOW, \
1755 CFLAGS:=$(CFLAGS_JDKLIB) \
1756 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001757 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001758 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1759 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1760 $(call SET_SHARED_LIBRARY_ORIGIN),\
1761 LDFLAGS_macosx:=-liconv,\
1762 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
erikj4f66f2d2012-11-03 16:27:01 -07001763 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -07001764 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1765 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001766 -D "JDK_FNAME=npt.dll" \
1767 -D "JDK_INTERNAL_NAME=npt" \
1768 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001769 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1770 DEBUG_SYMBOLS:=true))
1771
1772BUILD_LIBRARIES += $(BUILD_LIBNPT)
1773
1774##########################################################################################
1775
1776LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001777 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1778 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
ohair46fcac92012-09-18 11:29:24 -07001779 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
erikjaf85fc42012-07-03 16:10:44 -07001780
ohairb71409c2012-10-26 14:23:29 -07001781ifeq ($(OPENJDK_TARGET_OS),windows)
1782 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1783else
1784 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1785endif
1786
erikjaf85fc42012-07-03 16:10:44 -07001787LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1788
1789LIBNET_EXCLUDE_FILES:=
1790ifneq ($(OPENJDK_TARGET_OS),linux)
1791 LIBNET_EXCLUDE_FILES += linux_close.c
1792endif
1793
1794ifneq ($(OPENJDK_TARGET_OS),macosx)
1795 LIBNET_EXCLUDE_FILES += bsd_close.c
1796endif
1797
1798ifeq ($(OPENJDK_TARGET_OS),windows)
1799 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1800else
1801 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1802 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1803 NTLMAuthSequence.c NetworkInterface_winXP.c
1804endif
1805
erikjaf85fc42012-07-03 16:10:44 -07001806$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1807 LIBRARY:=net,\
1808 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1809 SRC:=$(LIBNET_SRC_DIRS),\
1810 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1811 LANG:=C,\
1812 OPTIMIZATION:=LOW, \
1813 CFLAGS:=$(CFLAGS_JDKLIB) \
1814 $(LIBNET_CFLAGS),\
1815 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1816 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1817 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001818 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
erikj4f66f2d2012-11-03 16:27:01 -07001819 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
ohair46fcac92012-09-18 11:29:24 -07001820 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
ohairb71409c2012-10-26 14:23:29 -07001821 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1822 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1823 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
ohair46fcac92012-09-18 11:29:24 -07001824 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1825 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001826 -D "JDK_FNAME=net.dll" \
1827 -D "JDK_INTERNAL_NAME=net" \
1828 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001829 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
1830 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001831
1832$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1833
1834BUILD_LIBRARIES += $(BUILD_LIBNET)
1835
1836$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
ohairb71409c2012-10-26 14:23:29 -07001837 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001838 $(MKDIR) -p $(@D)
1839 $(CP) $< $@
1840
1841COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1842
1843ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001844$(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 -07001845 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001846 $(MKDIR) -p $(@D)
1847 $(CP) $< $@
1848
1849COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1850endif
1851
1852##########################################################################################
1853
1854BUILD_LIBNIO_SRC:=\
ohair46fcac92012-09-18 11:29:24 -07001855 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
1856 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1857 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
erikjaf85fc42012-07-03 16:10:44 -07001858
1859BUILD_LIBNIO_CFLAGS:=\
1860 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1861 -I$(JDK_TOPDIR)/src/share/native/java/io \
1862 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001863 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
erikjaf85fc42012-07-03 16:10:44 -07001864
1865BUILD_LIBNIO_FILES:=\
1866 DatagramChannelImpl.c \
1867 DatagramDispatcher.c \
1868 FileChannelImpl.c \
1869 FileDispatcherImpl.c \
1870 FileKey.c \
1871 IOUtil.c \
1872 MappedByteBuffer.c \
1873 Net.c \
1874 ServerSocketChannelImpl.c \
1875 SocketChannelImpl.c \
1876 SocketDispatcher.c
1877
1878ifeq ($(OPENJDK_TARGET_OS), windows)
1879 BUILD_LIBNIO_FILES += \
1880 Iocp.c \
1881 RegistryFileTypeDetector.c \
1882 WindowsAsynchronousFileChannelImpl.c \
1883 WindowsAsynchronousServerSocketChannelImpl.c \
1884 WindowsAsynchronousSocketChannelImpl.c \
1885 WindowsNativeDispatcher.c \
1886 WindowsSelectorImpl.c
1887endif
1888
1889ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -07001890 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001891 BUILD_LIBNIO_FILES += \
1892 EPoll.c \
1893 EPollArrayWrapper.c \
1894 EPollPort.c \
1895 InheritedChannel.c \
1896 NativeThread.c \
ohair46fcac92012-09-18 11:29:24 -07001897 PollArrayWrapper.c \
erikjaf85fc42012-07-03 16:10:44 -07001898 UnixAsynchronousServerSocketChannelImpl.c \
1899 UnixAsynchronousSocketChannelImpl.c \
1900 GnomeFileTypeDetector.c \
dxu20cb3702012-12-04 14:07:30 +00001901 MagicFileTypeDetector.c \
erikjaf85fc42012-07-03 16:10:44 -07001902 LinuxNativeDispatcher.c \
1903 LinuxWatchService.c \
1904 UnixCopyFile.c \
1905 UnixNativeDispatcher.c
1906endif
1907
1908ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07001909 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001910 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1911 BUILD_LIBNIO_FILES += \
1912 InheritedChannel.c \
1913 NativeThread.c \
1914 PollArrayWrapper.c \
1915 UnixAsynchronousServerSocketChannelImpl.c \
1916 UnixAsynchronousSocketChannelImpl.c \
erikjaf85fc42012-07-03 16:10:44 -07001917 BsdNativeDispatcher.c \
ohair46fcac92012-09-18 11:29:24 -07001918 MacOSXNativeDispatcher.c \
erikjaf85fc42012-07-03 16:10:44 -07001919 UnixCopyFile.c \
1920 UnixNativeDispatcher.c \
1921 KQueue.c \
1922 KQueuePort.c \
1923 KQueueArrayWrapper.c
1924endif
1925
1926ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001927 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001928 BUILD_LIBNIO_FILES += \
1929 DevPollArrayWrapper.c \
1930 InheritedChannel.c \
1931 NativeThread.c \
1932 PollArrayWrapper.c \
1933 SolarisEventPort.c \
1934 UnixAsynchronousServerSocketChannelImpl.c \
1935 UnixAsynchronousSocketChannelImpl.c \
1936 GnomeFileTypeDetector.c \
1937 SolarisNativeDispatcher.c \
1938 SolarisWatchService.c \
1939 UnixCopyFile.c \
1940 UnixNativeDispatcher.c
1941endif
1942
1943$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1944 LIBRARY:=nio,\
1945 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1946 SRC:=$(BUILD_LIBNIO_SRC),\
1947 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1948 LANG:=C,\
1949 OPTIMIZATION:=HIGH, \
1950 CFLAGS:=$(CFLAGS_JDKLIB) \
1951 $(BUILD_LIBNIO_CFLAGS),\
1952 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1953 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1954 $(call SET_SHARED_LIBRARY_ORIGIN),\
1955 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
ohair46fcac92012-09-18 11:29:24 -07001956 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
1957 -lsendfile -ljava -lnet -lc,\
ohairb71409c2012-10-26 14:23:29 -07001958 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
1959 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
erikjaf85fc42012-07-03 16:10:44 -07001960 $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
ohairb71409c2012-10-26 14:23:29 -07001961 $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj \
1962 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001963 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
erikjaf85fc42012-07-03 16:10:44 -07001964 LDFLAGS_SUFFIX:=,\
ohair46fcac92012-09-18 11:29:24 -07001965 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1966 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001967 -D "JDK_FNAME=nio.dll" \
1968 -D "JDK_INTERNAL_NAME=nio" \
1969 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001970 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
1971 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001972
1973BUILD_LIBRARIES += $(BUILD_LIBNIO)
1974
1975$(BUILD_LIBNIO) : $(BUILD_LIBNET)
1976
1977##########################################################################################
1978
1979ifeq ($(OPENJDK_TARGET_OS_API),posix)
erikj5c99f2c2012-11-28 13:29:35 +01001980
erikjaf85fc42012-07-03 16:10:44 -07001981 ifneq ($(OPENJDK_TARGET_OS),macosx)
1982
1983 SCTP_WERROR := -Werror
1984 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
1985 SCTP_WERROR :=
1986 endif
1987
1988 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
1989 LIBRARY:=sctp,\
1990 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001991 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
erikjaf85fc42012-07-03 16:10:44 -07001992 LANG:=C,\
1993 OPTIMIZATION:=LOW, \
1994 CFLAGS:=$(CFLAGS_JDKLIB)\
1995 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1996 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
1997 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001998 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1999 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
erikjaf85fc42012-07-03 16:10:44 -07002000 CFLAGS_linux:=$(SCTP_WERROR),\
2001 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
2002 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2003 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002004 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002005 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
erikj4f66f2d2012-11-03 16:27:01 -07002006 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07002007 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002008 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp))
2009
2010 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
2011
2012 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
2013 endif
2014endif
2015
2016##########################################################################################
2017
ohair46fcac92012-09-18 11:29:24 -07002018BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
2019LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
erikjaf85fc42012-07-03 16:10:44 -07002020
2021BUILD_LIBJLI_FILES:=\
2022 java.c \
2023 splashscreen_stubs.c \
2024 parse_manifest.c \
2025 version_comp.c \
2026 wildcard.c \
2027 jli_util.c
2028
2029ifeq ($(JVM_VARIANT_ZERO), true)
2030 ERGO_FAMILY:=zero
ohair46fcac92012-09-18 11:29:24 -07002031else
2032 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
erikjaf85fc42012-07-03 16:10:44 -07002033 ERGO_FAMILY:=i586
ohair46fcac92012-09-18 11:29:24 -07002034 else
2035 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
2036 endif
2037endif
erikjaf85fc42012-07-03 16:10:44 -07002038
2039ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002040 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
erikjaf85fc42012-07-03 16:10:44 -07002041 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
2042 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
2043
2044 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2045 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2046endif
2047
2048ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002049 BUILD_LIBJLI_FILES += java_md.c \
2050 cmdtoargs.c
2051 # Staticically link with c runtime on windows.
2052 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
erikjaf85fc42012-07-03 16:10:44 -07002053else ifneq ($(OPENJDK_TARGET_OS), macosx)
2054
2055 BUILD_LIBJLI_FILES += java_md_common.c
2056 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
2057
2058 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2059
2060 # if the architecture specific ergo file exists then
2061 # use it, else use the generic definitions from ergo.c
ohair46fcac92012-09-18 11:29:24 -07002062 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
erikjaf85fc42012-07-03 16:10:44 -07002063 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2064 else # !ERGO_ARCH_FILE
ohair46fcac92012-09-18 11:29:24 -07002065 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
erikjaf85fc42012-07-03 16:10:44 -07002066 endif # ERGO_ARCH_FILE
2067endif #WINDOWS
2068
ohair46fcac92012-09-18 11:29:24 -07002069# Append defines depending on target platform
2070LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002071
2072ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002073 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
erikjaf85fc42012-07-03 16:10:44 -07002074endif
2075
2076ifneq ($(USE_EXTERNAL_LIBZ),true)
2077 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002078 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002079 BUILD_LIBJLI_FILES += \
2080 inflate.c \
2081 inftrees.c \
2082 inffast.c \
2083 zadler32.c \
2084 zcrc32.c \
2085 zutil.c
2086endif
2087
2088ifeq ($(OPENJDK_TARGET_OS), windows)
2089 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2090else
2091 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2092endif
2093
2094$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2095 LIBRARY:=jli,\
2096 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2097 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2098 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2099 LANG:=C,\
2100 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002101 CFLAGS:=$(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002102 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2103 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2104 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002105 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2106 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2107 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2108 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2109 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2110 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
erikjaf85fc42012-07-03 16:10:44 -07002111 LDFLAGS_SUFFIX_windows:=\
2112 -export:JLI_Launch \
2113 -export:JLI_ManifestIterate \
2114 -export:JLI_SetTraceLauncher \
2115 -export:JLI_ReportErrorMessage \
2116 -export:JLI_ReportErrorMessageSys \
2117 -export:JLI_ReportMessage \
2118 -export:JLI_ReportExceptionDescription \
ohair46fcac92012-09-18 11:29:24 -07002119 -export:JLI_MemAlloc \
2120 -export:JLI_CmdToArgs \
2121 -export:JLI_GetStdArgc \
2122 -export:JLI_GetStdArgs \
erikjaf85fc42012-07-03 16:10:44 -07002123 advapi32.lib \
2124 comctl32.lib \
2125 user32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002126 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2127 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07002128 -D "JDK_FNAME=jli.dll" \
2129 -D "JDK_INTERNAL_NAME=jli" \
2130 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002131 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
2132 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002133
2134BUILD_LIBRARIES += $(BUILD_LIBJLI)
2135
2136# On windows, the static library has the same suffix as the import library created by
2137# with the shared library, so the static library is given a different name. No harm
2138# in doing it for all platform to reduce complexity.
2139ifeq ($(OPENJDK_TARGET_OS), windows)
2140 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2141 STATIC_LIBRARY:=jli_static,\
2142 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2143 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2144 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2145 LANG:=C,\
2146 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002147 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002148 ARFLAGS:=$(ARFLAGS),\
2149 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2150
2151BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2152
2153else ifeq ($(OPENJDK_TARGET_OS),macosx)
2154 #
2155 # On macosx they do partial (incremental) linking of libjli_static.a
2156 # code it here...rather than add support to NativeCompilation
2157 # as this is first time I see it
2158 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2159 LIBRARY:=jli_static, \
2160 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2161 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2162 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2163 LANG:=C,\
2164 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002165 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002166 LDFLAGS:=-nostdlib -r,\
2167 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2168
2169$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
2170 $(CP) -a $< $@
2171
2172BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2173endif
2174
2175##########################################################################################
2176
ohairb71409c2012-10-26 14:23:29 -07002177ifndef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -07002178ifeq ($(ENABLE_JFR), true)
2179
2180$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2181 LIBRARY:=jfr,\
2182 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2183 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2184 LANG:=C,\
2185 OPTIMIZATION:=LOW, \
2186 CFLAGS:=$(CFLAGS_JDKLIB) \
2187 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2188 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2189 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2190 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikj3da9f312013-02-18 11:26:23 +01002191 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002192 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2193 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002194 -D "JDK_FNAME=jfr.dll" \
2195 -D "JDK_INTERNAL_NAME=jfr" \
2196 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002197 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
2198 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002199
2200BUILD_LIBRARIES += $(BUILD_LIBJFR)
2201
2202endif
ohairb71409c2012-10-26 14:23:29 -07002203endif
erikjaf85fc42012-07-03 16:10:44 -07002204
2205##########################################################################################
2206
2207ifndef OPENJDK
2208
2209BUILD_LIBKCMS_EXCLUDE_FILES:=
2210ifeq ($(OPENJDK_TARGET_OS),windows)
2211 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2212else
2213 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2214endif
2215
2216BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2217
2218ifeq ($(OPENJDK_TARGET_OS),solaris)
2219 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2220 # implement it like this...since it's only used here
2221 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2222else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2223 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2224endif
2225
2226$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2227 LIBRARY:=kcms,\
2228 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2229 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2230 LANG:=C,\
2231 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2232 OPTIMIZATION:=LOW, \
2233 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2234 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2235 CFLAGS_linux:=-Wno-missing-field-initializers,\
2236 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2237 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2238 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002239 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
erikj3da9f312013-02-18 11:26:23 +01002240 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002241 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
erikj388fbde2012-12-06 12:09:33 +01002242 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002243 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
ohair46fcac92012-09-18 11:29:24 -07002244 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2245 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002246 -D "JDK_FNAME=kcms.dll" \
2247 -D "JDK_INTERNAL_NAME=kcms" \
2248 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002249 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
2250 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002251
2252$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2253
2254BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2255
2256endif
2257
2258##########################################################################################
2259
2260ifndef OPENJDK
2261ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002262ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikjaf85fc42012-07-03 16:10:44 -07002263
2264ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2265
2266SUNWJDGA_MAPFILE:=
ohair46fcac92012-09-18 11:29:24 -07002267ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
erikjaf85fc42012-07-03 16:10:44 -07002268 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2269endif
2270
2271$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2272 LIBRARY:=sunwjdga,\
2273 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2274 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2275 LANG:=C, \
2276 OPTIMIZATION:=LOW, \
2277 CFLAGS:=$(CFLAGS_JDKLIB) \
2278 -I$(JDK_TOPDIR)/src/share/javavm/export \
ohair46fcac92012-09-18 11:29:24 -07002279 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
erikjaf85fc42012-07-03 16:10:44 -07002280 -I$(OPENWIN_HOME)/include, \
2281 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2282 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2283 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002284 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 -07002285 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga))
2286
2287BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2288
2289endif
2290endif
2291endif
2292endif
2293
2294##########################################################################################
2295
2296ifeq ($(BUILD_HEADLESS), true)
2297ifneq ($(OPENJDK_TARGET_OS), windows)
2298
2299LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2300 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2301 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2302 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2303 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2304 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2305
2306LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2307 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2308 $(CUPS_CFLAGS) \
2309 $(X_CFLAGS) \
2310 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -07002311 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07002312 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2313 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2314 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2315 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2316 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -07002317 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
erikjaf85fc42012-07-03 16:10:44 -07002318 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2319
2320LIBAWT_HEADLESS_FILES:=\
2321 awt_Font.c \
2322 HeadlessToolkit.c \
2323 fontpath.c \
2324 VDrawingArea.c \
2325 X11Color.c \
2326 X11Renderer.c \
2327 X11PMBlitLoops.c \
2328 X11SurfaceData.c \
2329 X11FontScaler_md.c \
2330 X11TextRenderer_md.c \
2331 OGLBlitLoops.c \
2332 OGLBufImgOps.c \
2333 OGLContext.c \
2334 OGLFuncs.c \
2335 OGLMaskBlit.c \
2336 OGLMaskFill.c \
2337 OGLPaints.c \
2338 OGLRenderQueue.c \
2339 OGLRenderer.c \
2340 OGLSurfaceData.c \
2341 OGLTextRenderer.c \
2342 OGLVertexCache.c \
2343 GLXGraphicsConfig.c \
2344 GLXSurfaceData.c \
2345 AccelGlyphCache.c \
2346 CUPSfuncs.c
2347
erikjaf85fc42012-07-03 16:10:44 -07002348LIBAWT_HEADLESS_REORDER:=
2349ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002350 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
2351 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07002352 endif
2353endif
2354
2355$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2356 LIBRARY:=awt_headless,\
2357 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2358 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2359 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2360 LANG:=C,\
2361 OPTIMIZATION:=LOW, \
2362 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002363 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
erikjaf85fc42012-07-03 16:10:44 -07002364 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2365 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002366 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2367 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2368 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2369 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2370 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -07002371 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
ohair46fcac92012-09-18 11:29:24 -07002372 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -08002373 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
2374 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07002375 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless))
2376
2377$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2378
2379BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2380
2381endif
2382endif
2383
2384##########################################################################################
2385
2386ifndef BUILD_HEADLESS_ONLY
2387LIBSPLASHSCREEN_DIRS:=\
2388 $(JDK_TOPDIR)/src/share/native/sun/awt/giflib \
2389 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2390 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
erikj5c99f2c2012-11-28 13:29:35 +01002391 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
2392
2393ifneq ($(OPENJDK_TARGET_OS), macosx)
2394 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
2395else
2396 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2397endif
2398
erikjaf85fc42012-07-03 16:10:44 -07002399
2400LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2401 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2402
2403ifeq ($(OPENJDK_TARGET_OS), macosx)
2404 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2405 $(LIBSPLASHSCREEN_CFLAGS) \
2406 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2407 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2408 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2409
2410 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2411 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2412 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2413 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2414 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2415 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2416 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2417
2418else ifneq ($(OPENJDK_TARGET_OS), windows)
2419 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2420else
2421 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2422endif
2423
erikjaf85fc42012-07-03 16:10:44 -07002424LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2425
2426ifneq ($(USE_EXTERNAL_LIBZ),true)
2427 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002428 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002429endif
2430
2431ifeq ($(OPENJDK_TARGET_OS), macosx)
2432 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2433 -framework ApplicationServices \
2434 -framework Foundation \
2435 -framework Cocoa \
2436 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2437 -framework JavaNativeFoundation
2438else ifneq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002439 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
erikjaf85fc42012-07-03 16:10:44 -07002440else # OPENJDK_TARGET_OS
ohairb71409c2012-10-26 14:23:29 -07002441 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
erikjaf85fc42012-07-03 16:10:44 -07002442endif # OPENJDK_TARGET_OS
2443
2444$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2445 LIBRARY:=splashscreen,\
2446 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2447 SRC:=$(LIBSPLASHSCREEN_DIRS),\
erikj5c99f2c2012-11-28 13:29:35 +01002448 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\
erikjaf85fc42012-07-03 16:10:44 -07002449 LANG:=C,\
2450 OPTIMIZATION:=LOW, \
2451 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\
2452 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2453 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2454 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002455 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08002456 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002457 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2458 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002459 -D "JDK_FNAME=splashscreen.dll" \
2460 -D "JDK_INTERNAL_NAME=splashscreen" \
2461 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002462 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
2463 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002464
2465BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2466
2467ifeq ($(OPENJDK_TARGET_OS),macosx)
2468$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
2469endif
2470
2471endif
2472
2473##########################################################################################
2474
2475ifndef OPENJDK
2476
2477LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002478 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2479 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2480 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2481 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2482
erikjaf85fc42012-07-03 16:10:44 -07002483LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002484 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2485
2486$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002487 LIBRARY:=dcpr,\
2488 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002489 SRC:=$(LIBDCPR_SRC_DIRS),\
2490 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002491 OPTIMIZATION:=LOW, \
2492 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002493 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002494 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002495 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002496 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002497 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002498 LDFLAGS_SUFFIX_posix:=-lm,\
ohair46fcac92012-09-18 11:29:24 -07002499 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2500 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002501 -D "JDK_FNAME=dcpr.dll" \
2502 -D "JDK_INTERNAL_NAME=dcpr" \
2503 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002504 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
2505 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002506
erikjaf85fc42012-07-03 16:10:44 -07002507$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002508
erikjaf85fc42012-07-03 16:10:44 -07002509BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002510
2511endif
2512
2513##########################################################################################
2514
2515$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002516 LIBRARY:=j2pcsc,\
2517 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002518 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002519 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002520 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002521 CFLAGS_posix:=-D__sun_jdk,\
2522 OPTIMIZATION:=LOW, \
2523 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002524 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002525 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
2526 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
erikjaf85fc42012-07-03 16:10:44 -07002527 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002528 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2529 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002530 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2531 LDFLAGS_SUFFIX_windows:=winscard.lib,\
tbell7d47bd02012-11-12 10:20:01 -08002532 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002533 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2534 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002535 -D "JDK_FNAME=j2pcsc.dll" \
2536 -D "JDK_INTERNAL_NAME=j2pcsc" \
2537 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002538 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
2539 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002540
erikjaf85fc42012-07-03 16:10:44 -07002541BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002542
2543##########################################################################################
2544
erikjaf85fc42012-07-03 16:10:44 -07002545ifneq ($(OPENJDK_TARGET_OS), windows)
weijunea39fce2012-12-13 08:11:38 +08002546ifneq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002547$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002548 LIBRARY:=j2gss,\
2549 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002550 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002551 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002552 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002553 OPTIMIZATION:=LOW, \
2554 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002555 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002556 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002557 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002558 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2559 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002560 LDFLAGS_SUFFIX:=$(LIBDL),\
2561 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002562 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss))
erikje78df742012-06-07 20:40:50 -07002563
erikjaf85fc42012-07-03 16:10:44 -07002564BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002565endif
weijunea39fce2012-12-13 08:11:38 +08002566endif
erikje78df742012-06-07 20:40:50 -07002567
2568##########################################################################################
2569
erikjaf85fc42012-07-03 16:10:44 -07002570BUILD_LIBKRB5_NAME:=
2571ifeq ($(OPENJDK_TARGET_OS), windows)
2572 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
ohair46fcac92012-09-18 11:29:24 -07002573 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
ohairb71409c2012-10-26 14:23:29 -07002574 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
2575 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
2576 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
erikjaf85fc42012-07-03 16:10:44 -07002577else ifeq ($(OPENJDK_TARGET_OS), macosx)
2578 BUILD_LIBKRB5_NAME:=osxkrb5
erikj5c99f2c2012-11-28 13:29:35 +01002579 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5
erikjaf85fc42012-07-03 16:10:44 -07002580 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikje78df742012-06-07 20:40:50 -07002581endif
2582
2583ifneq ($(BUILD_LIBKRB5_NAME),)
2584$(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002585 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2586 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01002587 SRC:=$(BUILD_LIBKRB5_SRC),\
erikje78df742012-06-07 20:40:50 -07002588 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002589 OPTIMIZATION:=LOW, \
2590 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002591 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
ohair46fcac92012-09-18 11:29:24 -07002592 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002593 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2594 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002595 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
ohair46fcac92012-09-18 11:29:24 -07002596 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2597 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002598 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
2599 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
2600 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002601 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
2602 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002603
erikjaf85fc42012-07-03 16:10:44 -07002604BUILD_LIBRARIES += $(BUILD_LIBKRB5)
erikje78df742012-06-07 20:40:50 -07002605endif
2606
2607##########################################################################################
2608
erikjaf85fc42012-07-03 16:10:44 -07002609ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002610
2611$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002612 LIBRARY:=sunmscapi,\
2613 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohairb71409c2012-10-26 14:23:29 -07002614 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
erikje78df742012-06-07 20:40:50 -07002615 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002616 OPTIMIZATION:=LOW, \
2617 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -07002618 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
2619 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002620 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002621 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002622 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2623 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002624 -D "JDK_FNAME=sunmscapi.dll" \
2625 -D "JDK_INTERNAL_NAME=sunmscapi" \
2626 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002627 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
2628 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002629
erikjaf85fc42012-07-03 16:10:44 -07002630BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
erikje78df742012-06-07 20:40:50 -07002631endif
2632
2633##########################################################################################
2634
erikje78df742012-06-07 20:40:50 -07002635$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002636 LIBRARY:=j2pkcs11,\
2637 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002638 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002639 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002640 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002641 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002642 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002643 OPTIMIZATION:=LOW, \
2644 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002645 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002646 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002647 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002648 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002649 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002650 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2651 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002652 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2653 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002654 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2655 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002656 -D "JDK_FNAME=j2pkcs11.dll" \
2657 -D "JDK_INTERNAL_NAME=j2pkcs11" \
2658 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002659 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
2660 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002661
erikjaf85fc42012-07-03 16:10:44 -07002662BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002663
2664##########################################################################################
2665
2666ifndef DISABLE_INTREE_EC
2667#
2668# TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl
2669# is not present
2670#
erikjaf85fc42012-07-03 16:10:44 -07002671BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2672 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2673
2674#
2675# On sol-sparc...all libraries are compiled with -xregs=no%appl
2676# (set in CFLAGS_REQUIRED_sparc)
2677#
2678# except!!! libsunec.so
2679#
2680ECC_JNI_SOLSPARC_FILTER:=
2681ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2682 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2683endif
erikje78df742012-06-07 20:40:50 -07002684
2685$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002686 LIBRARY:=sunec,\
2687 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002688 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2689 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002690 LANG:=C++, \
2691 OPTIMIZATION:=LOW, \
2692 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2693 $(BUILD_LIBSUNEC_FLAGS) \
2694 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2695 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2696 $(BUILD_LIBSUNEC_FLAGS),\
2697 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002698 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
2699 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002700 LDFLAGS_SUFFIX:=$(LIBCXX),\
ohair46fcac92012-09-18 11:29:24 -07002701 LDFLAGS_SUFFIX_linux:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002702 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002703 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2704 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002705 -D "JDK_FNAME=sunec.dll" \
2706 -D "JDK_INTERNAL_NAME=sunec" \
2707 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002708 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
2709 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002710
erikjaf85fc42012-07-03 16:10:44 -07002711BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002712endif
2713
2714##########################################################################################
2715
erikjaf85fc42012-07-03 16:10:44 -07002716LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002717 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
ohair46fcac92012-09-18 11:29:24 -07002718 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002719
erikjaf85fc42012-07-03 16:10:44 -07002720LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002721
erikjaf85fc42012-07-03 16:10:44 -07002722LIBJSOUND_LANG:=C
2723LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002724
erikjaf85fc42012-07-03 16:10:44 -07002725EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002726
erikjaf85fc42012-07-03 16:10:44 -07002727LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002728 MidiInDevice.c \
2729 MidiInDeviceProvider.c \
2730 MidiOutDevice.c \
2731 MidiOutDeviceProvider.c \
2732 PlatformMidi.c
2733
2734# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002735LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002736 PortMixerProvider.c \
2737 PortMixer.c
2738
2739# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002740LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002741 DirectAudioDeviceProvider.c \
2742 DirectAudioDevice.c
2743
erikjaf85fc42012-07-03 16:10:44 -07002744ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002745 EXTRA_SOUND_JNI_LIBS += jsoundds
2746 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2747 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2748 -DUSE_PLATFORM_MIDI_IN=TRUE \
2749 -DUSE_PORTS=TRUE
2750 LIBJSOUND_SRC_FILES += \
2751 PLATFORM_API_WinOS_MidiIn.cpp \
2752 PLATFORM_API_WinOS_MidiOut.c \
2753 PLATFORM_API_WinOS_Util.c \
2754 PLATFORM_API_WinOS_Ports.c
2755 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2756 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002757endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002758
erikjaf85fc42012-07-03 16:10:44 -07002759ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002760 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2761 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002762endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002763
erikjaf85fc42012-07-03 16:10:44 -07002764ifeq ($(OPENJDK_TARGET_OS), macosx)
2765 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002766 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2767 -DUSE_PORTS=TRUE \
2768 -DUSE_DAUDIO=TRUE \
2769 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2770 -DUSE_PLATFORM_MIDI_IN=TRUE
2771 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2772 LIBJSOUND_SRC_FILES += \
2773 PLATFORM_API_MacOSX_Utils.cpp \
2774 PLATFORM_API_MacOSX_PCM.cpp \
2775 PLATFORM_API_MacOSX_Ports.cpp \
2776 PLATFORM_API_MacOSX_MidiIn.c \
2777 PLATFORM_API_MacOSX_MidiOut.c \
2778 PLATFORM_API_MacOSX_MidiUtils.c
2779 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2780 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2781 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002782endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002783
erikjaf85fc42012-07-03 16:10:44 -07002784ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002785 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2786 -DUSE_PORTS=TRUE \
2787 -DUSE_DAUDIO=TRUE
2788 LIBJSOUND_SRC_FILES += \
2789 PLATFORM_API_SolarisOS_Utils.c \
2790 PLATFORM_API_SolarisOS_Ports.c \
2791 PLATFORM_API_SolarisOS_PCM.c
2792 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2793 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2794 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002795endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002796
2797
2798ifeq ($(JVM_VARIANT_ZERO), true)
2799 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2800else
ohair46fcac92012-09-18 11:29:24 -07002801 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikje78df742012-06-07 20:40:50 -07002802 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
ohair46fcac92012-09-18 11:29:24 -07002803 endif
erikje78df742012-06-07 20:40:50 -07002804
ohair46fcac92012-09-18 11:29:24 -07002805 ifeq ($(OPENJDK_TARGET_CPU), sparc)
erikje78df742012-06-07 20:40:50 -07002806 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
ohair46fcac92012-09-18 11:29:24 -07002807 endif
erikje78df742012-06-07 20:40:50 -07002808
ohair46fcac92012-09-18 11:29:24 -07002809 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
erikje78df742012-06-07 20:40:50 -07002810 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
ohair46fcac92012-09-18 11:29:24 -07002811 endif
erikje78df742012-06-07 20:40:50 -07002812
ohair46fcac92012-09-18 11:29:24 -07002813 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikje78df742012-06-07 20:40:50 -07002814 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
ohair46fcac92012-09-18 11:29:24 -07002815 endif
erikje78df742012-06-07 20:40:50 -07002816
ohair46fcac92012-09-18 11:29:24 -07002817 ifeq ($(OPENJDK_TARGET_CPU), arm)
erikje78df742012-06-07 20:40:50 -07002818 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
ohair46fcac92012-09-18 11:29:24 -07002819 endif
erikje78df742012-06-07 20:40:50 -07002820
ohair46fcac92012-09-18 11:29:24 -07002821 ifeq ($(OPENJDK_TARGET_CPU), ppc)
erikje78df742012-06-07 20:40:50 -07002822 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
ohair46fcac92012-09-18 11:29:24 -07002823 endif
erikje78df742012-06-07 20:40:50 -07002824endif
2825
2826LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2827
2828$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002829 LIBRARY:=jsound,\
2830 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002831 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002832 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002833 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002834 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07002835 CFLAGS:=$(CFLAGS_JDKLIB) \
2836 $(LIBJSOUND_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002837 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2838 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002839 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2840 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002841 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
2842 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2843 -framework CoreMIDI -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -07002844 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
ohairb71409c2012-10-26 14:23:29 -07002845 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
erikje78df742012-06-07 20:40:50 -07002846 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002847 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2848 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002849 -D "JDK_FNAME=jsound.dll" \
2850 -D "JDK_INTERNAL_NAME=jsound" \
2851 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002852 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
2853 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002854
erikjaf85fc42012-07-03 16:10:44 -07002855$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002856
erikjaf85fc42012-07-03 16:10:44 -07002857BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002858
2859##########################################################################################
2860
2861ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2862
2863$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002864 LIBRARY:=jsoundalsa,\
2865 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002866 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002867 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002868 $(LIBJSOUND_DAUDIOFILES) \
2869 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2870 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2871 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2872 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2873 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2874 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2875 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002876 LANG:=C,\
2877 OPTIMIZATION:=LOW, \
2878 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002879 $(LIBJSOUND_CFLAGS) \
2880 -DUSE_DAUDIO=TRUE \
2881 -DUSE_PORTS=TRUE \
2882 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2883 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07002884 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002885 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2886 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002887 LDFLAGS_SUFFIX:=-lasound -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002888 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa))
erikje78df742012-06-07 20:40:50 -07002889
erikjaf85fc42012-07-03 16:10:44 -07002890$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002891
erikjaf85fc42012-07-03 16:10:44 -07002892BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07002893
2894endif
2895
2896##########################################################################################
2897
2898ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
2899
2900$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07002901 LIBRARY:=jsoundds,\
2902 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002903 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002904 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07002905 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07002906 LANG:=C++,\
2907 OPTIMIZATION:=LOW, \
2908 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002909 $(LIBJSOUND_CFLAGS) \
2910 -DUSE_DAUDIO=TRUE, \
ohair46fcac92012-09-18 11:29:24 -07002911 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002912 $(call SET_SHARED_LIBRARY_ORIGIN),\
2913 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002914 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2915 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002916 -D "JDK_FNAME=jsoundds.dll" \
2917 -D "JDK_INTERNAL_NAME=jsoundds" \
2918 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002919 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
2920 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002921
erikjaf85fc42012-07-03 16:10:44 -07002922$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002923
erikjaf85fc42012-07-03 16:10:44 -07002924BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07002925
2926endif
2927
2928##########################################################################################
2929
erikjaf85fc42012-07-03 16:10:44 -07002930ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002931ifndef OPENJDK
2932
2933$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07002934 LIBRARY:=j2ucrypto,\
2935 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002936 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07002937 LANG:=C,\
2938 OPTIMIZATION:=LOW, \
2939 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002940 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07002941 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002942 LDFLAGS:=$(LDFLAGS_JDKLIB),\
erikje78df742012-06-07 20:40:50 -07002943 LDFLAGS_SUFFIX:=$(LIBDL),\
erikj3da9f312013-02-18 11:26:23 +01002944 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002945 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto))
erikje78df742012-06-07 20:40:50 -07002946
erikjaf85fc42012-07-03 16:10:44 -07002947$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002948
erikjaf85fc42012-07-03 16:10:44 -07002949BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07002950
2951endif
2952endif
2953
2954##########################################################################################
2955
erikjaf85fc42012-07-03 16:10:44 -07002956ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002957
erikje78df742012-06-07 20:40:50 -07002958$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07002959 LIBRARY:=AppleScriptEngine,\
2960 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002961 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07002962 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002963 OPTIMIZATION:=LOW, \
2964 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002965 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
2966 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2967 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
2968 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2969 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002970 LDFLAGS_SUFFIX:=-framework Cocoa \
2971 -framework Carbon \
2972 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2973 -framework JavaNativeFoundation \
2974 $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002975 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine))
erikje78df742012-06-07 20:40:50 -07002976
erikjaf85fc42012-07-03 16:10:44 -07002977$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
2978
2979BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07002980
2981endif
2982
2983##########################################################################################
2984
erikjaf85fc42012-07-03 16:10:44 -07002985ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002986
erikje78df742012-06-07 20:40:50 -07002987$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07002988 LIBRARY:=osxapp,\
2989 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002990 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07002991 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002992 OPTIMIZATION:=LOW, \
2993 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002994 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
ohairb71409c2012-10-26 14:23:29 -07002995 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
erikje78df742012-06-07 20:40:50 -07002996 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2997 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
2998 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2999 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003000 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003001 -framework Accelerate \
3002 -framework ApplicationServices \
3003 -framework AudioToolbox \
3004 -framework Carbon \
3005 -framework Cocoa \
3006 -framework Security \
3007 -framework ExceptionHandling \
3008 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3009 -framework JavaNativeFoundation \
3010 -framework JavaRuntimeSupport \
3011 -framework OpenGL \
3012 -framework IOSurface \
3013 -framework QuartzCore, \
erikjaf85fc42012-07-03 16:10:44 -07003014 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp))
erikje78df742012-06-07 20:40:50 -07003015
erikjaf85fc42012-07-03 16:10:44 -07003016BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003017
3018endif
3019
3020##########################################################################################
3021
erikjaf85fc42012-07-03 16:10:44 -07003022ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003023
erikjaf85fc42012-07-03 16:10:44 -07003024LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003025 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3026 $(JDK_TOPDIR)/src/macosx/native/java/util \
3027 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3028 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3029 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3030
3031$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003032 LIBRARY:=osx,\
3033 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003034 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003035 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003036 OPTIMIZATION:=LOW, \
3037 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003038 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3039 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3040 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3041 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3042 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3043 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003044 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003045 -losxapp \
3046 -framework Cocoa \
3047 -framework ApplicationServices \
3048 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3049 -framework JavaNativeFoundation \
3050 -framework JavaRuntimeSupport \
3051 -framework Security \
3052 -framework SystemConfiguration \
3053 $(LDFLAGS_JDKLIB_SUFFIX), \
erikjaf85fc42012-07-03 16:10:44 -07003054 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx))
erikje78df742012-06-07 20:40:50 -07003055
erikjaf85fc42012-07-03 16:10:44 -07003056BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003057
erikjaf85fc42012-07-03 16:10:44 -07003058$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003059
erikjaf85fc42012-07-03 16:10:44 -07003060$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003061
3062endif
3063
3064##########################################################################################
3065
erikjaf85fc42012-07-03 16:10:44 -07003066ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003067
erikjaf85fc42012-07-03 16:10:44 -07003068LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003069 awt.m \
3070 ApplicationDelegate.m \
3071 CFRetainedResource.m \
3072 CGLGraphicsConfig.m \
3073 CGLSurfaceData.m \
3074 CGLLayer.m \
3075 CGraphicsConfig.m \
3076 CGraphicsDevice.m \
3077 CGraphicsEnv.m \
3078 CCharToGlyphMapper.m \
3079 CSystemColors.m \
3080 AWTFont.m \
3081 CGGlyphOutlines.m \
3082 CGGlyphImages.m \
3083 CoreTextSupport.m \
3084 AWTStrike.m \
3085 InitIDs.m \
3086 AWTEvent.m \
3087 AWTView.m \
3088 AWTWindow.m \
3089 AWTSurfaceLayers.m \
3090 CCursorManager.m \
3091 CClipboard.m \
3092 CDataTransferer.m \
3093 CDragSource.m \
3094 CDragSourceContextPeer.m \
3095 CDropTarget.m \
3096 CDropTargetContextPeer.m \
3097 CInputMethod.m \
3098 CDesktopPeer.m \
3099 OSVersion.m \
3100 DnDUtilities.m \
3101 CFileDialog.m \
3102 CImage.m \
3103 CMenu.m \
3104 CMenuBar.m \
3105 CMenuComponent.m \
3106 CMenuItem.m \
3107 CPopupMenu.m \
3108 CRobot.m \
3109 CTrayIcon.m \
3110 CWrapper.m \
3111 JavaAccessibilityAction.m \
3112 JavaAccessibilityUtilities.m \
3113 JavaComponentAccessibility.m \
3114 JavaTextAccessibility.m \
3115 LWCToolkit.m \
3116 GeomUtilities.m \
3117 CPrinterJob.m \
3118 PrintModel.m \
3119 PrinterSurfaceData.m \
3120 PrinterView.m \
3121 QuartzSurfaceData.m \
3122 QuartzRenderer.m \
3123 CTextPipe.m \
3124 ImageSurfaceData.m \
3125 awt_DrawingSurface.m \
3126 \
3127 OGLBlitLoops.c \
3128 OGLBufImgOps.c \
3129 OGLContext.c \
3130 OGLFuncs.c \
3131 OGLMaskBlit.c \
3132 OGLMaskFill.c \
3133 OGLPaints.c \
3134 OGLRenderQueue.c \
3135 OGLRenderer.c \
3136 OGLSurfaceData.c \
3137 OGLTextRenderer.c \
3138 OGLVertexCache.c \
3139 AccelGlyphCache.c \
3140 CUPSfuncs.c
3141
3142
erikjaf85fc42012-07-03 16:10:44 -07003143LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003144 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3145 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3146 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3147 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3148 $(JDK_TOPDIR)/src/share/native/sun/font \
3149 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3150
3151$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003152 LIBRARY:=awt_lwawt,\
3153 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003154 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003155 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003156 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003157 OPTIMIZATION:=LOW, \
3158 CFLAGS:=$(CFLAGS_JDKLIB) \
ohrstrom5048dab2012-10-29 13:41:38 -07003159 $(X_CFLAGS) \
3160 $(X_LIBS) \
erikje78df742012-06-07 20:40:50 -07003161 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3162 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3163 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3164 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3165 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3166 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3167 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3168 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3169 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3170 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3171 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3172 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3173 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003174 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
3175 -framework Accelerate \
3176 -framework ApplicationServices \
3177 -framework AudioToolbox \
3178 -framework Carbon \
3179 -framework Cocoa \
3180 -framework Security \
3181 -framework ExceptionHandling \
3182 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3183 -framework JavaNativeFoundation \
3184 -framework JavaRuntimeSupport \
3185 -framework OpenGL \
3186 -framework QuartzCore -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07003187 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt))
erikje78df742012-06-07 20:40:50 -07003188
erikjaf85fc42012-07-03 16:10:44 -07003189BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003190
erikjaf85fc42012-07-03 16:10:44 -07003191$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003192
erikjaf85fc42012-07-03 16:10:44 -07003193$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003194
erikjaf85fc42012-07-03 16:10:44 -07003195$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003196
erikjaf85fc42012-07-03 16:10:44 -07003197$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003198
3199endif
3200
3201##########################################################################################
3202
erikjaf85fc42012-07-03 16:10:44 -07003203ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003204
erikje78df742012-06-07 20:40:50 -07003205$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003206 LIBRARY:=osxui,\
3207 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003208 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003209 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003210 OPTIMIZATION:=LOW, \
3211 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003212 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3213 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3214 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3215 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3216 LDFLAGS:=$(LDFLAGS_JDKLIB)\
ohair46fcac92012-09-18 11:29:24 -07003217 $(call SET_SHARED_LIBRARY_ORIGIN) \
3218 -Xlinker -rpath -Xlinker @loader_path,\
3219 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
3220 -framework Cocoa \
3221 -framework Carbon \
3222 -framework ApplicationServices \
3223 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3224 -framework JavaNativeFoundation \
3225 -framework JavaRuntimeSupport \
3226 -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07003227 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui))
erikje78df742012-06-07 20:40:50 -07003228
erikjaf85fc42012-07-03 16:10:44 -07003229BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003230
erikjaf85fc42012-07-03 16:10:44 -07003231$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003232
erikjaf85fc42012-07-03 16:10:44 -07003233$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003234
erikjaf85fc42012-07-03 16:10:44 -07003235$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003236
erikjaf85fc42012-07-03 16:10:44 -07003237#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3238
3239endif
3240
3241##########################################################################################
3242
3243ifeq ($(OPENJDK_TARGET_OS), macosx)
3244
ohair46fcac92012-09-18 11:29:24 -07003245# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
3246SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
3247
3248$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\
erikjaf85fc42012-07-03 16:10:44 -07003249 LIBRARY:=JObjC,\
ohair46fcac92012-09-18 11:29:24 -07003250 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3251 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3252 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3253 LANG:=C,\
3254 OPTIMIZATION:=LOW, \
3255 CFLAGS:=-fpascal-strings \
3256 -fobjc-gc \
3257 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003258 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
ohair46fcac92012-09-18 11:29:24 -07003259 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3260 -m32,\
3261 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3262 -m32, \
3263 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3264 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3265 -framework JavaNativeFoundation \
3266 -lffi, \
3267 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32))
3268
3269$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\
3270 LIBRARY:=JObjC,\
3271 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
erikjaf85fc42012-07-03 16:10:44 -07003272 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3273 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3274 LANG:=C,\
3275 OPTIMIZATION:=LOW, \
3276 CFLAGS:=-fpascal-strings \
3277 -fobjc-gc \
3278 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003279 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
erikjaf85fc42012-07-03 16:10:44 -07003280 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3281 , \
3282 LDFLAGS:=-fpascal-strings \
3283 -fobjc-gc \
3284 -gdwarf-2 \
3285 $(LDFLAGS_JDKLIB)\
3286 $(call SET_SHARED_LIBRARY_ORIGIN), \
3287 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3288 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3289 -framework JavaNativeFoundation \
3290 -lffi, \
ohair46fcac92012-09-18 11:29:24 -07003291 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64))
erikjaf85fc42012-07-03 16:10:44 -07003292
ohair46fcac92012-09-18 11:29:24 -07003293$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3294 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3295
3296BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
erikje78df742012-06-07 20:40:50 -07003297
3298endif
3299
3300##########################################################################################
3301
raginip450da982013-01-18 11:33:31 -08003302ifndef OPENJDK
3303ifeq ($(OPENJDK_TARGET_OS), windows)
3304
3305 ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
3306
3307 define SetupAccessBridge
3308 # Parameter 1 Suffix
3309 # Parameter 2 Machine
3310 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
3311
3312 $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\
3313 LIBRARY=JAWTAccessBridge$1,\
3314 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3315 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3316 INCLUDE_FILES:=JAWTAccessBridge.cpp,\
3317 LANG:=C++,\
3318 OPTIMIZATION:=LOW,\
3319 CFLAGS:=$(CFLAGS_JDKLIB) \
3320 -DACCESSBRIDGE_ARCH_$3,\
3321 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3322 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
3323 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3324 -subsystem:windows -machine:$2 \
3325 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\
3326 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3327 RC_FLAGS:=$(RC_FLAGS),\
3328 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\
3329 DEBUG_SYMBOLS:=true)
3330
3331 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
3332
3333 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\
3334 LIBRARY=JavaAccessBridge$1,\
3335 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3336 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3337 INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
3338 AccessBridgeJavaEntryPoints.cpp \
3339 AccessBridgeMessages.cpp JavaAccessBridge.cpp,\
3340 LANG:=C++,\
3341 OPTIMIZATION:=LOW,\
3342 CFLAGS:=$(CFLAGS_JDKLIB) \
3343 -DACCESSBRIDGE_ARCH_$3,\
3344 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3345 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3346 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3347 -subsystem:windows -machine:$2 \
3348 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\
3349 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3350 RC_FLAGS:=$(RC_FLAGS),\
3351 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\
3352 DEBUG_SYMBOLS:=true)
3353
3354 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\
3355 LIBRARY=WindowsAccessBridge$1,\
3356 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3357 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3358 INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
3359 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
3360 WinAccessBridge.cpp AccessBridgeDebug.cpp \
3361 AccessBridgeEventHandler.cpp,\
3362 LANG:=C++,\
3363 OPTIMIZATION:=LOW,\
3364 CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \
3365 -DACCESSBRIDGE_ARCH_$3,\
3366 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3367 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3368 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3369 -subsystem:windows -machine:$2 \
3370 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\
3371 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3372 RC_FLAGS:=$(RC_FLAGS),\
3373 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\
3374 DEBUG_SYMBOLS:=true)
3375
3376 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
3377 $$(BUILD_WINDOWSACCESSBRIDGE$1)
3378
3379 endef
3380
3381 ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
3382 $(eval $(call SetupAccessBridge,-32,I386,32))
3383 $(eval $(call SetupAccessBridge,,I386,LEGACY))
3384 else
3385 $(eval $(call SetupAccessBridge,-64,X64,64))
3386 endif
3387endif
3388endif
3389
3390
3391##########################################################################################
3392
ohair92de5662012-04-10 08:22:03 -07003393all: $(COPY_FILES) $(BUILD_LIBRARIES)
3394
3395.PHONY: all