blob: 9b38b5aba798138981b45384af9b5fe4d9c621e1 [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
erikjebad8f92013-03-06 16:15:16 +0100467 LIBAWT_CFLAGS+=-I$(DXSDK_INCLUDE_PATH)
ohairb71409c2012-10-26 14:23:29 -0700468else
469 LIBAWT_DIRS+=\
470 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
471endif
erikje78df742012-06-07 20:40:50 -0700472
erikjebad8f92013-03-06 16:15:16 +0100473LIBAWT_CFLAGS+=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
erikjaf85fc42012-07-03 16:10:44 -0700474 $(X_CFLAGS) \
erikje78df742012-06-07 20:40:50 -0700475 $(foreach dir,$(LIBAWT_DIRS),-I$(dir))
476
erikjaf85fc42012-07-03 16:10:44 -0700477LIBAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -0700478 gifdecoder.c \
479 imageInitIDs.c \
480 img_globals.c \
481 SurfaceData.c \
482 Region.c \
483 BufImgSurfaceData.c \
484 Disposer.c \
485 Trace.c \
486 GraphicsPrimitiveMgr.c \
487 Blit.c \
488 BlitBg.c \
489 ScaledBlit.c \
490 FillRect.c \
491 FillSpans.c \
492 FillParallelogram.c \
493 DrawParallelogram.c \
494 DrawLine.c \
495 DrawRect.c \
496 DrawPolygons.c \
497 DrawPath.c \
498 FillPath.c \
499 ProcessPath.c \
500 MaskBlit.c \
501 MaskFill.c \
502 TransformHelper.c \
503 AlphaMath.c \
504 AlphaMacros.c \
505 AnyByte.c \
506 ByteBinary1Bit.c \
507 ByteBinary2Bit.c \
508 ByteBinary4Bit.c \
509 ByteIndexed.c \
510 ByteGray.c \
511 Index8Gray.c \
512 Index12Gray.c \
513 AnyShort.c \
514 Ushort555Rgb.c \
515 Ushort565Rgb.c \
516 Ushort4444Argb.c \
517 Ushort555Rgbx.c \
518 UshortGray.c \
519 UshortIndexed.c \
520 Any3Byte.c \
521 ThreeByteBgr.c \
522 AnyInt.c \
523 IntArgb.c \
524 IntArgbPre.c \
525 IntArgbBm.c \
526 IntRgb.c \
527 IntBgr.c \
528 IntRgbx.c \
529 Any4Byte.c \
530 FourByteAbgr.c \
531 FourByteAbgrPre.c \
532 BufferedMaskBlit.c \
533 BufferedRenderPipe.c \
534 ShapeSpanIterator.c \
535 SpanClipRenderer.c \
536 awt_ImageRep.c \
537 awt_ImagingLib.c \
538 awt_Mlib.c \
539 awt_parseImage.c \
540 DataBufferNative.c \
541 dither.c \
542 debug_assert.c \
543 debug_mem.c \
544 debug_trace.c \
545 debug_util.c
546
ohair46fcac92012-09-18 11:29:24 -0700547ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux))
erikje78df742012-06-07 20:40:50 -0700548 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
549endif
550
erikjaf85fc42012-07-03 16:10:44 -0700551ifeq ($(OPENJDK_TARGET_OS),macosx)
ohair46fcac92012-09-18 11:29:24 -0700552 LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
erikje78df742012-06-07 20:40:50 -0700553 LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
554 LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
555 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
556
erikjaf85fc42012-07-03 16:10:44 -0700557 LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
erikje78df742012-06-07 20:40:50 -0700558endif
559
erikjaf85fc42012-07-03 16:10:44 -0700560ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
561 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
562 LIBAWT_CFLAGS += -xarch=sparcvis
ohair46fcac92012-09-18 11:29:24 -0700563 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
erikjaf85fc42012-07-03 16:10:44 -0700564 LIBAWT_CFLAGS += \
565 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
566 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
567 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
erikje78df742012-06-07 20:40:50 -0700568
erikjaf85fc42012-07-03 16:10:44 -0700569 LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
570 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
571
572 LIBAWT_FILES += \
573 vis_FuncArray.c \
574 java2d_Mlib.c \
575 mlib_ImageCreate.c \
576 mlib_ImageZoom_NN.c \
577 mlib_ImageCopy_Bit.c \
578 mlib_sys.c \
579 mlib_v_ImageClear.c \
580 mlib_v_ImageClear_f.c \
581 mlib_v_ImageConstXor.c \
582 mlib_v_ImageCopy.c \
583 mlib_v_ImageCopy_f.c \
584 mlib_v_ImageXor.c \
585 mlib_v_ImageZoom_NN_f.c \
586 vis_Interp.c \
587 vis_AlphaMacros.c \
588 vis_AlphaMaskBlit.c \
589 vis_AlphaMaskFill.c \
590 vis_ByteGray.c \
591 vis_ByteGray_FromRgb.c \
592 vis_ByteGray_Mask.c \
593 vis_ByteIndexed.c \
594 vis_DrawLine.c \
595 vis_FourByteAbgr.c \
596 vis_IntArgb.c \
597 vis_IntArgbPre.c \
598 vis_IntArgbPre_Mask.c \
599 vis_IntBgr.c \
600 vis_IntRgb.c \
601 vis_IntRgbx.c \
602 vis_SrcMaskFill.c \
603 vis_SrcOverMaskBlit.c \
604 vis_SrcOverMaskFill.c \
605 vis_FourByteAbgrPre.c \
606 vis_GlyphList.c \
607 vis_GlyphListXor.c \
608 vis_IntArgbBm.c \
609 vis_ThreeByteBgr.c \
610 vis_UshortGray.c \
611 vis_UshortGray_FromRgb.c \
612 vis_XorBlit.c \
613 mlib_v_ImageCopy_blk.s
614
ohair46fcac92012-09-18 11:29:24 -0700615 ifeq ($(OPENJDK_TARGET_CPU),sparcv9)
erikjaf85fc42012-07-03 16:10:44 -0700616 LIBAWT_ASFLAGS=-P -xarch=v9a
617 else
618 LIBAWT_ASFLAGS=-P -xarch=v8plusa
619 endif
erikje78df742012-06-07 20:40:50 -0700620else
621 LIBAWT_FILES += MapAccelFunc.c
622endif
623
erikjaf85fc42012-07-03 16:10:44 -0700624ifneq ($(OPENJDK_TARGET_OS),solaris)
erikje78df742012-06-07 20:40:50 -0700625 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
626endif
627
erikjaf85fc42012-07-03 16:10:44 -0700628LIBAWT_LANG:=C
erikje78df742012-06-07 20:40:50 -0700629
erikjaf85fc42012-07-03 16:10:44 -0700630ifeq ($(OPENJDK_TARGET_OS),windows)
erikje78df742012-06-07 20:40:50 -0700631 LIBAWT_FILES += AccelGlyphCache.c \
632 ShaderList.c \
633 CmdIDList.cpp \
634 Hashtable.cpp \
635 GDIHashtable.cpp \
636 Devices.cpp \
637 ObjectList.cpp \
638 GDIBlitLoops.cpp \
639 GDIRenderer.cpp \
640 GDIWindowSurfaceData.cpp \
641 WindowsFlags.cpp \
642 WPrinterJob.cpp \
643 awt_%.cpp \
644 D3DBlitLoops.cpp \
645 D3DBufImgOps.cpp \
646 D3DContext.cpp \
647 D3DGlyphCache.cpp \
648 D3DGraphicsDevice.cpp \
649 D3DMaskBlit.cpp \
650 D3DMaskCache.cpp \
651 D3DMaskFill.cpp \
652 D3DPipelineManager.cpp \
653 D3DPaints.cpp \
654 D3DRenderer.cpp \
655 D3DRenderQueue.cpp \
656 D3DResourceManager.cpp \
657 D3DSurfaceData.cpp \
658 D3DTextRenderer.cpp \
659 D3DVertexCacher.cpp \
660 ShellFolder2.cpp \
661 ThemeReader.cpp \
662 ComCtl32Util.cpp \
663 DllUtil.cpp \
664 initIDs.cpp \
665 MouseInfo.cpp \
ohairb71409c2012-10-26 14:23:29 -0700666 rect.c \
667 OGLBlitLoops.c \
668 OGLBufImgOps.c \
669 OGLContext.c \
670 OGLFuncs.c \
671 OGLMaskBlit.c \
672 OGLMaskFill.c \
673 OGLPaints.c \
674 OGLRenderQueue.c \
675 OGLRenderer.c \
676 OGLSurfaceData.c \
677 OGLTextRenderer.c \
678 OGLVertexCache.c \
679 WGLGraphicsConfig.c \
680 WGLSurfaceData.c
erikjaf85fc42012-07-03 16:10:44 -0700681 LIBAWT_LANG:=C++
ohair46fcac92012-09-18 11:29:24 -0700682 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
683 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700684 LIBAWT_CFLAGS += -DMLIB_OS64BIT
685 endif
686
687 ifdef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -0700688 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
erikje78df742012-06-07 20:40:50 -0700689 else
erikjaf85fc42012-07-03 16:10:44 -0700690 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
erikje78df742012-06-07 20:40:50 -0700691 endif
erikjaf85fc42012-07-03 16:10:44 -0700692 LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
erikje78df742012-06-07 20:40:50 -0700693endif
694
695ifeq ($(MILESTONE), internal)
696 LIBAWT_CFLAGS += -DINTERNAL_BUILD
697endif
698
erikjaf85fc42012-07-03 16:10:44 -0700699LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
700ifeq ($(OPENJDK_TARGET_OS),linux)
701 LIBAWT_MAPFILE:=
erikje78df742012-06-07 20:40:50 -0700702endif
703
704$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
erikjaf85fc42012-07-03 16:10:44 -0700705 LIBRARY:=awt,\
706 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -0700707 SRC:=$(LIBAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -0700708 INCLUDE_FILES:=$(LIBAWT_FILES),\
erikje78df742012-06-07 20:40:50 -0700709 LANG:=$(LIBAWT_LANG),\
erikjaf85fc42012-07-03 16:10:44 -0700710 OPTIMIZATION:=LOW, \
711 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
712 ASFLAGS:=$(LIBAWT_ASFLAGS),\
713 MAPFILE:=$(LIBAWT_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700714 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700715 LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
716 LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -0800717 LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
ohair46fcac92012-09-18 11:29:24 -0700718 LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
719 -framework Cocoa \
720 -framework OpenGL \
721 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
722 -framework JavaNativeFoundation \
723 -framework JavaRuntimeSupport \
724 -framework ApplicationServices \
725 -framework AudioToolbox \
726 -ljava,\
ohairb71409c2012-10-26 14:23:29 -0700727 LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \
728 imm32.lib ole32.lib uuid.lib shell32.lib \
729 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
730 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
731 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
732 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
733 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
734 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
735 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\
erikjaf85fc42012-07-03 16:10:44 -0700736 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
737 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700738 -D "JDK_FNAME=awt.dll" \
739 -D "JDK_INTERNAL_NAME=awt" \
740 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700741 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt,\
742 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700743
erikjaf85fc42012-07-03 16:10:44 -0700744$(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700745
erikjaf85fc42012-07-03 16:10:44 -0700746ifeq ($(OPENJDK_TARGET_OS), macosx)
747$(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
748endif
749
750BUILD_LIBRARIES += $(BUILD_LIBAWT)
751
752##########################################################################################
753
754# TODO!!
755# Even though this variable as a general name, it is
756# only used on macos, in fontpath.c, as prefix for where to find fonts.
757#
758# It's used for libawt_headless _and_ libawt_xawt
759#
760X11_PATH:=/usr/X11R6
761
762ifneq ($(OPENJDK_TARGET_OS), windows)
763ifndef BUILD_HEADLESS_ONLY
764
765LIBAWT_XAWT_DIRS:=\
766 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
767 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
768 $(JDK_TOPDIR)/src/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -0700769 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -0700770 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700771 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
772 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
773 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
774 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
erikjaf85fc42012-07-03 16:10:44 -0700775
776LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
777 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
778 $(CUPS_CFLAGS) \
779 $(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
780 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700781 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -0700782 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
783 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
784 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
785 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
786 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -0700787 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
erikjaf85fc42012-07-03 16:10:44 -0700788
789ifeq ($(OPENJDK_TARGET_OS),solaris)
790 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
791endif
792
793ifeq ($(MILESTONE),internal)
794 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
795endif
796
797LIBAWT_XAWT_FILES:=\
798 XlibWrapper.c \
799 XWindow.c \
800 XToolkit.c \
801 X11Color.c \
802 X11SurfaceData.c \
803 awt_GraphicsEnv.c \
804 awt_InputMethod.c \
805 robot_common.c \
806 awt_Robot.c \
807 list.c \
808 multiVis.c \
809 initIDs.c \
810 awt_util.c \
811 awt_Desktop.c \
812 awt_UNIXToolkit.c \
813 X11FontScaler_md.c \
814 X11TextRenderer_md.c \
815 fontpath.c \
816 awt_Insets.c \
817 awt_Event.c \
818 X11Renderer.c \
819 X11PMBlitLoops.c \
820 OGLBlitLoops.c \
821 OGLBufImgOps.c \
822 OGLContext.c \
823 OGLFuncs.c \
824 OGLMaskBlit.c \
825 OGLMaskFill.c \
826 OGLPaints.c \
827 OGLRenderQueue.c \
828 OGLRenderer.c \
829 OGLSurfaceData.c \
830 OGLTextRenderer.c \
831 OGLVertexCache.c \
832 GLXGraphicsConfig.c \
833 GLXSurfaceData.c \
834 AccelGlyphCache.c \
835 awt_Font.c \
836 multi_font.c \
837 awt_AWTEvent.c \
838 awt_DrawingSurface.c \
839 jawt.c \
840 CUPSfuncs.c \
841 debug_assert.c \
842 debug_mem.c \
843 debug_trace.c \
844 debug_util.c \
845 awt_Plugin.c \
846 gtk2_interface.c \
847 swing_GTKEngine.c \
848 swing_GTKStyle.c \
849 rect.c \
850 sun_awt_X11_GtkFileDialogPeer.c \
851 XRSurfaceData.c \
852 XRBackendNative.c
853
854LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
855
856ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -0700857 # To match old build, add this to LDFLAGS instead of suffix.
858 LIBAWT_XAWT_LDFLAGS += -lpthread
erikjaf85fc42012-07-03 16:10:44 -0700859endif
860
861ifeq ($(OPENJDK_TARGET_OS), macosx)
862 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
863endif
864
ohair46fcac92012-09-18 11:29:24 -0700865# On macosx, the shared library origin is set twice for this lib.
erikjaf85fc42012-07-03 16:10:44 -0700866$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
867 LIBRARY:=awt_xawt,\
868 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
869 SRC:=$(LIBAWT_XAWT_DIRS),\
870 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
871 LANG:=C,\
872 OPTIMIZATION:=LOW, \
873 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
874 $(X_CFLAGS),\
875 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
876 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700877 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\
878 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \
879 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
880 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
881 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
882 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
883 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
884 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
885 $(call SET_SHARED_LIBRARY_ORIGIN) \
886 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
887 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \
888 $(call SET_SHARED_LIBRARY_ORIGIN). \
889 $(call SET_SHARED_LIBRARY_ORIGIN) \
890 $(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -0700891 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -0700892 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
893 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700894 -D "JDK_FNAME=xawt.dll" \
895 -D "JDK_INTERNAL_NAME=xawt" \
896 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700897 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt))
898
899$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
900
901$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
902
903BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
904
905endif
906endif
907
908##########################################################################################
909
erikj5c99f2c2012-11-28 13:29:35 +0100910BUILD_LIBZIP_EXCLUDES :=
erikjaf85fc42012-07-03 16:10:44 -0700911ifeq ($(USE_EXTERNAL_LIBZ),true)
erikj5c99f2c2012-11-28 13:29:35 +0100912 LIBZ := -lz
913 LIBZIP_EXCLUDES += zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700914else
erikj5c99f2c2012-11-28 13:29:35 +0100915 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700916endif
917
erikj5c99f2c2012-11-28 13:29:35 +0100918BUILD_LIBZIP_REORDER :=
erikjaf85fc42012-07-03 16:10:44 -0700919ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700920 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikj5c99f2c2012-11-28 13:29:35 +0100921 BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700922 endif
923endif
924
925ifeq ($(LIBZIP_CAN_USE_MMAP), true)
erikj5c99f2c2012-11-28 13:29:35 +0100926 BUILD_LIBZIP_MMAP := -DUSE_MMAP
erikjaf85fc42012-07-03 16:10:44 -0700927endif
928
929$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
930 LIBRARY:=zip,\
931 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikjaf85fc42012-07-03 16:10:44 -0700932 LANG:=C,\
933 OPTIMIZATION:=LOW, \
erikj5c99f2c2012-11-28 13:29:35 +0100934 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
935 EXCLUDES:=$(LIBZIP_EXCLUDES),\
erikjaf85fc42012-07-03 16:10:44 -0700936 CFLAGS:=$(CFLAGS_JDKLIB) \
erikj5c99f2c2012-11-28 13:29:35 +0100937 $(ZLIB_CPPFLAGS) \
erikjaf85fc42012-07-03 16:10:44 -0700938 -I$(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700939 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
erikjaf85fc42012-07-03 16:10:44 -0700940 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
941 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
942 REORDER:=$(BUILD_LIBZIP_REORDER), \
943 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700944 $(call SET_SHARED_LIBRARY_ORIGIN) \
erikjaf85fc42012-07-03 16:10:44 -0700945 $(EXPORT_ZIP_FUNCS), \
ohair46fcac92012-09-18 11:29:24 -0700946 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
erikjaf85fc42012-07-03 16:10:44 -0700947 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
948 $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700949 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -0800950 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
ohair46fcac92012-09-18 11:29:24 -0700951 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
952 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
953 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700954 -D "JDK_FNAME=zip.dll" \
955 -D "JDK_INTERNAL_NAME=zip" \
956 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700957 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
958 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700959
960$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
961
962BUILD_LIBRARIES += $(BUILD_LIBZIP)
963
964##########################################################################################
965
966$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
967 LIBRARY:=unpack, \
968 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
969 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
970 EXCLUDE_FILES:=main.cpp,\
971 LANG:=C++,\
972 OPTIMIZATION:=LOW, \
973 CFLAGS:=$(CXXFLAGS_JDKLIB) \
974 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
975 CFLAGS_release:=-DPRODUCT,\
976 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -0700977 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -0700978 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohairb71409c2012-10-26 14:23:29 -0700979 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
erikjaf85fc42012-07-03 16:10:44 -0700980 jvm.lib $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700981 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700982 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
983 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
984 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700985 -D "JDK_FNAME=unpack.dll" \
986 -D "JDK_INTERNAL_NAME=unpack" \
987 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700988 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700989
990$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
991
992BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
993
ohair46fcac92012-09-18 11:29:24 -0700994ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -0700995 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
996 $(ECHO) Copying $(@F)
997 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
998
999 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
1000 $(ECHO) Copying $(@F)
1001 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
1002endif
1003
1004##########################################################################################
1005
1006LIBATTACH_EXCLUDE_FILES:=
1007ifneq ($(OPENJDK_TARGET_OS),solaris)
1008 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1009endif
1010ifneq ($(OPENJDK_TARGET_OS),linux)
1011 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1012endif
1013ifneq ($(OPENJDK_TARGET_OS),macosx)
1014 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1015endif
1016
1017$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1018 LIBRARY:=attach, \
1019 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001020 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
erikjaf85fc42012-07-03 16:10:44 -07001021 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1022 LANG:=C,\
1023 OPTIMIZATION:=LOW, \
1024 CFLAGS:=$(CFLAGS_JDKLIB),\
1025 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
ohair46fcac92012-09-18 11:29:24 -07001026 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1027 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001028 -D "JDK_FNAME=attach.dll" \
1029 -D "JDK_INTERNAL_NAME=attach" \
1030 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001031 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1032 $(call SET_SHARED_LIBRARY_ORIGIN),\
1033 LDFLAGS_solaris:=-ldoor,\
erikjaf85fc42012-07-03 16:10:44 -07001034 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001035 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001036 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
1037 DEBUG_SYMBOLS:=true))
1038
1039$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
1040
1041BUILD_LIBRARIES += $(BUILD_LIBATTACH)
1042
1043##########################################################################################
1044
1045$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
1046 LIBRARY:=dt_socket,\
1047 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1048 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001049 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\
erikjaf85fc42012-07-03 16:10:44 -07001050 LANG:=C,\
1051 OPTIMIZATION:=LOW, \
1052 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
1053 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1054 -I$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001055 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
erikjaf85fc42012-07-03 16:10:44 -07001056 -I$(JDK_TOPDIR)/src/share/back/export \
1057 -I$(JDK_TOPDIR)/src/share/back,\
1058 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001059 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1060 $(call SET_SHARED_LIBRARY_ORIGIN), \
1061 LDFLAGS_SUFFIX_linux:=-lpthread,\
erikj4f66f2d2012-11-03 16:27:01 -07001062 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\
ohair46fcac92012-09-18 11:29:24 -07001063 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
1064 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1065 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001066 -D "JDK_FNAME=dt_socket.dll" \
1067 -D "JDK_INTERNAL_NAME=dt_socket" \
1068 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001069 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
1070 DEBUG_SYMBOLS:=true))
1071
1072$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
1073
1074BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
1075
1076##########################################################################################
1077
ohair46fcac92012-09-18 11:29:24 -07001078ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001079
1080 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
1081 LIBRARY:=dt_shmem,\
1082 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1083 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
1084 $(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001085 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\
erikjaf85fc42012-07-03 16:10:44 -07001086 LANG:=C,\
1087 OPTIMIZATION:=LOW, \
1088 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
1089 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1090 -I$(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001091 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
erikjaf85fc42012-07-03 16:10:44 -07001092 -I$(JDK_TOPDIR)/src/share/back/export, \
1093 LDFLAGS:=$(LDFLAGS_JDKLIB),\
ohair46fcac92012-09-18 11:29:24 -07001094 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\
erikjaf85fc42012-07-03 16:10:44 -07001095 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001096 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1097 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001098 -D "JDK_FNAME=dt_shmem.dll" \
1099 -D "JDK_INTERNAL_NAME=dt_shmem" \
1100 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001101 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
1102 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001103
1104 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
1105
1106endif # OPENJDK_TARGET_OS
1107
1108##########################################################################################
ohair46fcac92012-09-18 11:29:24 -07001109# JDWP_LOGGING causes log messages to be compiled into the library.
erikjaf85fc42012-07-03 16:10:44 -07001110$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
1111 LIBRARY:=jdwp, \
1112 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001113 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\
erikjaf85fc42012-07-03 16:10:44 -07001114 LANG:=C,\
1115 OPTIMIZATION:=LOW, \
1116 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
1117 -I$(JDK_TOPDIR)/src/share/transport/export \
1118 -I$(JDK_TOPDIR)/src/share/back/export \
1119 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001120 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001121 -I$(JDK_TOPDIR)/src/share/back \
ohair46fcac92012-09-18 11:29:24 -07001122 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
erikjaf85fc42012-07-03 16:10:44 -07001123 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
1124 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001125 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1126 $(call SET_SHARED_LIBRARY_ORIGIN),\
1127 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001128 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001129 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001130 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1131 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001132 -D "JDK_FNAME=jdwp.dll" \
1133 -D "JDK_INTERNAL_NAME=jdwp" \
1134 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001135 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
1136 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001137
1138$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
1139
1140BUILD_LIBRARIES += $(BUILD_LIBJDWP)
1141
1142##########################################################################################
1143
1144LIBJAAS_MAPFILE:=
1145ifneq ($(OPENJDK_TARGET_OS),solaris)
1146 LIBJAAS_EXCLUDE_FILES:=Solaris.c
1147else
1148 # only on solaris...wonder why
1149 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
1150endif
1151
1152LIBJAAS_NAME:=jaas_unix
1153ifeq ($(OPENJDK_TARGET_OS), windows)
1154 LIBJAAS_NAME:=jaas_nt
1155endif
1156
1157$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
1158 LIBRARY:=$(LIBJAAS_NAME),\
1159 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001160 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\
erikjaf85fc42012-07-03 16:10:44 -07001161 LANG:=C,\
1162 OPTIMIZATION:=LOW, \
1163 CFLAGS:=$(CFLAGS_JDKLIB),\
1164 MAPFILE:=$(LIBJAAS_MAPFILE),\
1165 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
1166 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001167 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001168 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -08001169 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07001170 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
ohair46fcac92012-09-18 11:29:24 -07001171 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1172 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001173 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
1174 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
1175 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001176 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\
1177 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001178
1179$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
1180
1181BUILD_LIBRARIES += $(BUILD_LIBJAAS)
1182
1183##########################################################################################
1184
1185$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
1186 LIBRARY:=jsdt,\
1187 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1188 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
ohair46fcac92012-09-18 11:29:24 -07001189 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\
erikjaf85fc42012-07-03 16:10:44 -07001190 LANG:=C,\
1191 OPTIMIZATION:=LOW, \
1192 CFLAGS:=$(CFLAGS_JDKLIB)\
1193 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
1194 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
1195 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1196 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001197 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1198 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07001199 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001200 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001201 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1202 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001203 -D "JDK_FNAME=jsdt.dll" \
1204 -D "JDK_INTERNAL_NAME=jsdt" \
1205 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001206 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
ohair46fcac92012-09-18 11:29:24 -07001207 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001208
1209$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
1210
1211BUILD_LIBRARIES += $(BUILD_LIBJSDT)
1212
1213##########################################################################################
1214
1215ifdef OPENJDK
1216 # TODO: Update awt lib path when awt is converted
1217 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1218 LIBRARY:=lcms,\
1219 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01001220 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
erikjaf85fc42012-07-03 16:10:44 -07001221 LANG:=C,\
1222 OPTIMIZATION:=LOW, \
1223 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1224 $(SHARED_LIBRARY_FLAGS) \
1225 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1226 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1227 CFLAGS_solaris:=-xc99=no_lib,\
ohair46fcac92012-09-18 11:29:24 -07001228 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
erikjaf85fc42012-07-03 16:10:44 -07001229 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001230 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1231 $(call SET_SHARED_LIBRARY_ORIGIN), \
1232 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1233 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
tbell7d47bd02012-11-12 10:20:01 -08001234 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07001235 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1236 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1237 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1238 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001239 -D "JDK_FNAME=lcms.dll" \
1240 -D "JDK_INTERNAL_NAME=lcms" \
1241 -D "JDK_FTYPE=0x2L",\
1242 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
1243 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001244
1245 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1246
1247 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
1248endif
1249
1250##########################################################################################
1251
1252ifdef OPENJDK
1253 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1254else
1255 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1256 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1257 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1258endif
1259
1260BUILD_LIBJPEG_REORDER:=
1261ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001262 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1263 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07001264 endif
1265endif
1266
1267# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
1268# or 'vfork'": this warning indicates that some variable is placed to
1269# a register by optimized compiler and it's value might be lost on longjmp().
1270# Recommended way to avoid such warning is to declare the variable as
1271# volatile to prevent the optimization. However, this approach does not
1272# work because we have to declare all variables as volatile in result.
1273#ifndef CROSS_COMPILE_ARCH
1274# CC_43_OR_NEWER:=\
1275# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
1276# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
1277# ifeq ($(CC_43_OR_NEWER),1)
1278# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
1279# endif
1280#endif
1281
1282$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
1283 LIBRARY:=jpeg, \
1284 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1285 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
1286 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1287 LANG:=C,\
1288 OPTIMIZATION:=HIGHEST, \
1289 CFLAGS:=$(CFLAGS_JDKLIB) \
1290 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
1291 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1292 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
1293 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1294 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001295 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001296 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001297 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1298 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001299 -D "JDK_FNAME=jpeg.dll" \
1300 -D "JDK_INTERNAL_NAME=jpeg" \
1301 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001302 REORDER:=$(BUILD_LIBJPEG_REORDER),\
ohair46fcac92012-09-18 11:29:24 -07001303 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
1304 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001305
1306$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
1307
1308BUILD_LIBRARIES += $(BUILD_LIBJPEG)
1309
1310##########################################################################################
1311
1312ifndef OPENJDK
ohairb71409c2012-10-26 14:23:29 -07001313 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
erikjaf85fc42012-07-03 16:10:44 -07001314 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
1315 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
1316else
1317 FONT_HEADERS:=$(FREETYPE2_CFLAGS)
1318 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
1319 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
1320endif
1321
1322LIBFONTMANAGER_OPTIMIZATION:=HIGH
1323
1324ifeq ($(OPENJDK_TARGET_OS),windows)
1325 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1326 X11TextRenderer.c
1327 LIBFONTMANAGER_OPTIMIZATION:=LOW
1328else
1329 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1330 lcdglyph.c
1331endif
1332
1333BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1334 $(X_CFLAGS) \
1335 -DLE_STANDALONE -DHEADLESS \
1336 $(FONT_HEADERS) \
1337 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1338 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1339 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001340 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001341 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1342 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1343 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001344 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001345 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1346
1347# Turn off aliasing with GCC for ExtensionSubtables.cpp
1348ifeq ($(OPENJDK_TARGET_OS), linux)
1349 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1350endif
1351
1352$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1353 LIBRARY:=fontmanager, \
1354 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1355 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
ohair46fcac92012-09-18 11:29:24 -07001356 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
erikjaf85fc42012-07-03 16:10:44 -07001357 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1358 AccelGlyphCache.c,\
1359 LANG:=C++,\
1360 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1361 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1362 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
ohair46fcac92012-09-18 11:29:24 -07001363 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001364 -DCC_NOEX, \
1365 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
ohair46fcac92012-09-18 11:29:24 -07001366 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001367 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001368 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1369 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1370 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
ohairb71409c2012-10-26 14:23:29 -07001371 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1372 -ljava -ljvm,\
1373 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1374 $(WIN_AWT_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001375 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1376 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001377 -D "JDK_FNAME=fontmanager.dll" \
1378 -D "JDK_INTERNAL_NAME=fontmanager" \
1379 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001380 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
1381 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001382
1383$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1384
1385ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1386$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1387endif
1388
1389BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001390
1391##########################################################################################
1392
1393ifndef OPENJDK
1394
erikjaf85fc42012-07-03 16:10:44 -07001395# ifeq ($(OPENJDK_TARGET_OS), linux)
1396# ifeq ("$(CC_VER_MAJOR)", "3")
1397# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1398# endif
1399# endif
1400#
1401# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1402# the input .o files. Because of this the new build will differ in size to the old build.
1403 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1404 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1405 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1406 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -07001407 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -07001408 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1409 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001410 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001411 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1412
1413 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1414 LIBRARY:=t2k, \
1415 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1416 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1417 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1418 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1419 EXCLUDE_FILES:=orion.c,\
1420 LANG:=C++,\
1421 OPTIMIZATION:=HIGH, \
1422 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1423 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1424 CFLAGS_windows=-DCC_NOEX, \
1425 CXXFLAGS_windows=-DCC_NOEX, \
1426 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001427 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001428 $(call SET_SHARED_LIBRARY_ORIGIN),\
1429 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
ohair46fcac92012-09-18 11:29:24 -07001430 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
1431 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
1432 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1433 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001434 -D "JDK_FNAME=t2k.dll" \
1435 -D "JDK_INTERNAL_NAME=t2k" \
1436 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001437 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
1438 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001439
1440 # t2k is linked against fontmanager
1441 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1442
1443 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1444endif
1445
1446##########################################################################################
1447
erikjaf85fc42012-07-03 16:10:44 -07001448ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001449 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikjaf85fc42012-07-03 16:10:44 -07001450 KERNEL32_LIB:=kernel32.lib
1451 endif
1452 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1453 LIBRARY:=jawt, \
1454 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001455 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
erikjaf85fc42012-07-03 16:10:44 -07001456 INCLUDE_FILES:=jawt.cpp,\
1457 LANG:=C++,\
1458 OPTIMIZATION:=LOW, \
1459 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1460 -EHsc -DUNICODE -D_UNICODE \
ohair46fcac92012-09-18 11:29:24 -07001461 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001462 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1463 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1464 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
erikjebad8f92013-03-06 16:15:16 +01001465 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
1466 -I$(DXSDK_INCLUDE_PATH), \
ohair46fcac92012-09-18 11:29:24 -07001467 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001468 advapi32.lib $(WIN_AWT_LIB),\
1469 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001470 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1471 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001472 -D "JDK_FNAME=jawt.dll" \
1473 -D "JDK_INTERNAL_NAME=jawt" \
1474 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001475 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1476 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001477
1478$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1479
1480$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1481 $(ECHO) Copying $(@F)
ohair46fcac92012-09-18 11:29:24 -07001482 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
erikjaf85fc42012-07-03 16:10:44 -07001483
1484BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1485
1486else # OPENJDK_TARGET_OS not windows
1487
1488 JAWT_LIBS:=
1489 ifneq ($(OPENJDK_TARGET_OS), solaris)
1490 JAWT_LIBS += -lawt
1491 endif
1492
1493 ifndef BUILD_HEADLESS_ONLY
1494 JAWT_LIBS += -lawt_xawt
1495 else
1496 JAWT_LIBS += -lawt_headless
1497 HEADLESS_CFLAG += -DHEADLESS
1498 endif
1499
1500 JAWT_FILES:=jawt.c
1501 ifeq ($(OPENJDK_TARGET_OS), macosx)
1502 JAWT_FILES:=jawt.m
1503 JAWT_LIBS:=-lawt_lwawt
1504 endif
1505
1506 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1507 LIBRARY:=jawt, \
1508 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001509 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001510 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1511 INCLUDE_FILES:=$(JAWT_FILES),\
1512 LANG:=C,\
1513 OPTIMIZATION:=LOW, \
1514 CFLAGS:=$(CFLAGS_JDKLIB), \
1515 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1516 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1517 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1518 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1519 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001520 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1521 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1522 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1523 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1524 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07001525 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
1526
1527ifndef BUILD_HEADLESS_ONLY
1528$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1529else
1530$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1531endif
1532
1533ifeq ($(OPENJDK_TARGET_OS),macosx)
1534$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1535endif
1536
1537endif # OPENJDK_TARGET_OS
1538
1539BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1540
1541##########################################################################################
1542
ohair46fcac92012-09-18 11:29:24 -07001543LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1544 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
1545 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
erikjaf85fc42012-07-03 16:10:44 -07001546
ohair46fcac92012-09-18 11:29:24 -07001547LIBINSTRUMENT_FILES :=\
erikjaf85fc42012-07-03 16:10:44 -07001548 EncodingSupport.c \
1549 EncodingSupport_md.c \
1550 FileSystemSupport_md.c \
1551 InstrumentationImplNativeMethods.c \
1552 InvocationAdapter.c \
1553 JarFacade.c \
1554 JPLISAgent.c \
1555 JPLISAssert.c \
1556 JavaExceptions.c \
1557 PathCharsValidator.c \
1558 Reentrancy.c \
1559 Utilities.c \
1560 canonicalize_md.c
1561
ohair46fcac92012-09-18 11:29:24 -07001562LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1563LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
1564 -I$(JDK_TOPDIR)/src/share/instrument \
1565 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
1566 -I$(JDK_TOPDIR)/src/share/bin
erikjaf85fc42012-07-03 16:10:44 -07001567
ohair46fcac92012-09-18 11:29:24 -07001568LIBINSTRUMENT_LDFLAGS:=
1569LIBINSTRUMENT_LDFLAGS_SUFFIX:=
erikjaf85fc42012-07-03 16:10:44 -07001570
1571ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001572 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1573 -export:Agent_OnAttach advapi32.lib
1574 # Statically link the C runtime so that there are not dependencies on modules
1575 # not on the search patch when invoked from the Windows system directory
1576 # (or elsewhere).
1577 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
1578 # equivalent of strcasecmp is stricmp on Windows
1579 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
erikjaf85fc42012-07-03 16:10:44 -07001580endif
1581
1582$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1583 LIBRARY:=instrument, \
1584 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001585 SRC:=$(LIBINSTRUMENT_SRC),\
1586 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07001587 LANG:=C,\
1588 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07001589 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07001590 CFLAGS_debug:=-DJPLIS_LOGGING,\
1591 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1592 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001593 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1594 $(call SET_SHARED_LIBRARY_ORIGIN) \
1595 $(LIBINSTRUMENT_LDFLAGS),\
1596 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1597 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1598 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1599 -framework Cocoa -framework Security -framework ApplicationServices,\
1600 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1601 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08001602 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001603 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1604 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1605 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001606 -D "JDK_FNAME=instrument.dll" \
1607 -D "JDK_INTERNAL_NAME=instrument" \
1608 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001609 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
erikjaf85fc42012-07-03 16:10:44 -07001610 DEBUG_SYMBOLS:=true))
1611
1612ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1613$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1614else
1615$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1616endif
1617$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1618
1619BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1620
1621##########################################################################################
1622
1623BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
ohair46fcac92012-09-18 11:29:24 -07001624 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1625 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
erikjaf85fc42012-07-03 16:10:44 -07001626
1627BUILD_LIBMANAGEMENT_EXCLUDES:=
1628
1629BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1630
1631ifneq ($(OPENJDK_TARGET_OS), windows)
1632 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1633else
1634 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1635endif
1636
1637ifneq ($(OPENJDK_TARGET_OS),solaris)
1638 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1639endif
1640
1641ifneq ($(OPENJDK_TARGET_OS),linux)
1642 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1643endif
1644
1645ifneq ($(OPENJDK_TARGET_OS),macosx)
1646 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1647endif
1648
ohair46fcac92012-09-18 11:29:24 -07001649LIBMANAGEMENT_OPTIMIZATION:=HIGH
1650ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001651 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001652 LIBMANAGEMENT_OPTIMIZATION:=LOW
1653 endif
1654endif
erikjaf85fc42012-07-03 16:10:44 -07001655
1656$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1657 LIBRARY:=management,\
1658 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1659 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1660 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1661 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001662 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001663 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1664 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1665 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1666 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07001667 LDFLAGS_solaris:=-lkstat,\
1668 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001669 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001670 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1671 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001672 -D "JDK_FNAME=management.dll" \
1673 -D "JDK_INTERNAL_NAME=management" \
1674 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001675 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1676 DEBUG_SYMBOLS:=true))
1677
1678$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1679
1680BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1681
1682##########################################################################################
1683
ohair46fcac92012-09-18 11:29:24 -07001684BUILD_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 -07001685BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1686 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001687 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001688 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1689
1690BUILD_LIBHPROF_LDFLAGS:=
1691
ohair46fcac92012-09-18 11:29:24 -07001692LIBHPROF_OPTIMIZATION:=HIGHEST
1693ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
erikj0f4675a2012-12-11 12:27:34 +01001694 ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
ohair46fcac92012-09-18 11:29:24 -07001695 LIBHPROF_OPTIMIZATION:=LOW
1696 endif
1697endif
1698
erikjaf85fc42012-07-03 16:10:44 -07001699$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1700 LIBRARY:=hprof, \
1701 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1702 SRC:=$(BUILD_LIBHPROF_SRC),\
1703 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001704 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001705 CFLAGS:=$(CFLAGS_JDKLIB) \
1706 $(BUILD_LIBHPROF_CFLAGS),\
1707 CFLAGS_debug:=-DHPROF_LOGGING,\
1708 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1709 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1710 $(call SET_SHARED_LIBRARY_ORIGIN),\
1711 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
tbell7d47bd02012-11-12 10:20:01 -08001712 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1713 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
1714 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001715 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1716 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001717 -D "JDK_FNAME=hprof.dll" \
1718 -D "JDK_INTERNAL_NAME=hprof" \
1719 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001720 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1721 DEBUG_SYMBOLS:=true))
1722
1723BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1724
1725##########################################################################################
1726
1727$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1728 LIBRARY:=java_crw_demo, \
1729 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1730 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1731 LANG:=C,\
1732 OPTIMIZATION:=LOW, \
1733 CFLAGS:=$(CFLAGS_JDKLIB) \
1734 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1735 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1736 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1737 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08001738 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001739 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1740 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001741 -D "JDK_FNAME=java_crw_demo.dll" \
1742 -D "JDK_INTERNAL_NAME=java_crw_demo" \
1743 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001744 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1745 DEBUG_SYMBOLS:=true))
1746
1747BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1748
1749##########################################################################################
1750
1751$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1752 LIBRARY:=npt, \
1753 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001754 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001755 LANG:=C,\
1756 OPTIMIZATION:=LOW, \
1757 CFLAGS:=$(CFLAGS_JDKLIB) \
1758 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001759 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001760 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1761 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1762 $(call SET_SHARED_LIBRARY_ORIGIN),\
1763 LDFLAGS_macosx:=-liconv,\
1764 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
erikj4f66f2d2012-11-03 16:27:01 -07001765 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -07001766 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1767 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001768 -D "JDK_FNAME=npt.dll" \
1769 -D "JDK_INTERNAL_NAME=npt" \
1770 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001771 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1772 DEBUG_SYMBOLS:=true))
1773
1774BUILD_LIBRARIES += $(BUILD_LIBNPT)
1775
1776##########################################################################################
1777
1778LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001779 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1780 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
ohair46fcac92012-09-18 11:29:24 -07001781 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
erikjaf85fc42012-07-03 16:10:44 -07001782
ohairb71409c2012-10-26 14:23:29 -07001783ifeq ($(OPENJDK_TARGET_OS),windows)
1784 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1785else
1786 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1787endif
1788
erikjaf85fc42012-07-03 16:10:44 -07001789LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1790
1791LIBNET_EXCLUDE_FILES:=
1792ifneq ($(OPENJDK_TARGET_OS),linux)
1793 LIBNET_EXCLUDE_FILES += linux_close.c
1794endif
1795
1796ifneq ($(OPENJDK_TARGET_OS),macosx)
1797 LIBNET_EXCLUDE_FILES += bsd_close.c
1798endif
1799
1800ifeq ($(OPENJDK_TARGET_OS),windows)
1801 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1802else
1803 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1804 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1805 NTLMAuthSequence.c NetworkInterface_winXP.c
1806endif
1807
erikjaf85fc42012-07-03 16:10:44 -07001808$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1809 LIBRARY:=net,\
1810 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1811 SRC:=$(LIBNET_SRC_DIRS),\
1812 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1813 LANG:=C,\
1814 OPTIMIZATION:=LOW, \
1815 CFLAGS:=$(CFLAGS_JDKLIB) \
1816 $(LIBNET_CFLAGS),\
1817 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1818 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1819 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001820 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
erikj4f66f2d2012-11-03 16:27:01 -07001821 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
ohair46fcac92012-09-18 11:29:24 -07001822 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
ohairb71409c2012-10-26 14:23:29 -07001823 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1824 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1825 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
ohair46fcac92012-09-18 11:29:24 -07001826 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1827 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001828 -D "JDK_FNAME=net.dll" \
1829 -D "JDK_INTERNAL_NAME=net" \
1830 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001831 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
1832 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001833
1834$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1835
1836BUILD_LIBRARIES += $(BUILD_LIBNET)
1837
1838$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
ohairb71409c2012-10-26 14:23:29 -07001839 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001840 $(MKDIR) -p $(@D)
1841 $(CP) $< $@
1842
1843COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1844
1845ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001846$(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 -07001847 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001848 $(MKDIR) -p $(@D)
1849 $(CP) $< $@
1850
1851COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1852endif
1853
1854##########################################################################################
1855
1856BUILD_LIBNIO_SRC:=\
ohair46fcac92012-09-18 11:29:24 -07001857 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
1858 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1859 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
erikjaf85fc42012-07-03 16:10:44 -07001860
1861BUILD_LIBNIO_CFLAGS:=\
1862 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1863 -I$(JDK_TOPDIR)/src/share/native/java/io \
1864 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001865 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
erikjaf85fc42012-07-03 16:10:44 -07001866
1867BUILD_LIBNIO_FILES:=\
1868 DatagramChannelImpl.c \
1869 DatagramDispatcher.c \
1870 FileChannelImpl.c \
1871 FileDispatcherImpl.c \
1872 FileKey.c \
1873 IOUtil.c \
1874 MappedByteBuffer.c \
1875 Net.c \
1876 ServerSocketChannelImpl.c \
1877 SocketChannelImpl.c \
1878 SocketDispatcher.c
1879
1880ifeq ($(OPENJDK_TARGET_OS), windows)
1881 BUILD_LIBNIO_FILES += \
1882 Iocp.c \
1883 RegistryFileTypeDetector.c \
1884 WindowsAsynchronousFileChannelImpl.c \
1885 WindowsAsynchronousServerSocketChannelImpl.c \
1886 WindowsAsynchronousSocketChannelImpl.c \
1887 WindowsNativeDispatcher.c \
1888 WindowsSelectorImpl.c
1889endif
1890
1891ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -07001892 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001893 BUILD_LIBNIO_FILES += \
1894 EPoll.c \
1895 EPollArrayWrapper.c \
1896 EPollPort.c \
1897 InheritedChannel.c \
1898 NativeThread.c \
ohair46fcac92012-09-18 11:29:24 -07001899 PollArrayWrapper.c \
erikjaf85fc42012-07-03 16:10:44 -07001900 UnixAsynchronousServerSocketChannelImpl.c \
1901 UnixAsynchronousSocketChannelImpl.c \
1902 GnomeFileTypeDetector.c \
dxu20cb3702012-12-04 14:07:30 +00001903 MagicFileTypeDetector.c \
erikjaf85fc42012-07-03 16:10:44 -07001904 LinuxNativeDispatcher.c \
1905 LinuxWatchService.c \
1906 UnixCopyFile.c \
1907 UnixNativeDispatcher.c
1908endif
1909
1910ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07001911 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001912 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1913 BUILD_LIBNIO_FILES += \
1914 InheritedChannel.c \
1915 NativeThread.c \
1916 PollArrayWrapper.c \
1917 UnixAsynchronousServerSocketChannelImpl.c \
1918 UnixAsynchronousSocketChannelImpl.c \
erikjaf85fc42012-07-03 16:10:44 -07001919 BsdNativeDispatcher.c \
ohair46fcac92012-09-18 11:29:24 -07001920 MacOSXNativeDispatcher.c \
erikjaf85fc42012-07-03 16:10:44 -07001921 UnixCopyFile.c \
1922 UnixNativeDispatcher.c \
1923 KQueue.c \
1924 KQueuePort.c \
1925 KQueueArrayWrapper.c
1926endif
1927
1928ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001929 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001930 BUILD_LIBNIO_FILES += \
1931 DevPollArrayWrapper.c \
1932 InheritedChannel.c \
1933 NativeThread.c \
1934 PollArrayWrapper.c \
1935 SolarisEventPort.c \
1936 UnixAsynchronousServerSocketChannelImpl.c \
1937 UnixAsynchronousSocketChannelImpl.c \
1938 GnomeFileTypeDetector.c \
1939 SolarisNativeDispatcher.c \
1940 SolarisWatchService.c \
1941 UnixCopyFile.c \
1942 UnixNativeDispatcher.c
1943endif
1944
1945$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1946 LIBRARY:=nio,\
1947 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1948 SRC:=$(BUILD_LIBNIO_SRC),\
1949 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1950 LANG:=C,\
1951 OPTIMIZATION:=HIGH, \
1952 CFLAGS:=$(CFLAGS_JDKLIB) \
1953 $(BUILD_LIBNIO_CFLAGS),\
1954 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1955 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1956 $(call SET_SHARED_LIBRARY_ORIGIN),\
1957 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
ohair46fcac92012-09-18 11:29:24 -07001958 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
1959 -lsendfile -ljava -lnet -lc,\
ohairb71409c2012-10-26 14:23:29 -07001960 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
1961 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
erikjaf85fc42012-07-03 16:10:44 -07001962 $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
ohairb71409c2012-10-26 14:23:29 -07001963 $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj \
1964 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001965 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
erikjaf85fc42012-07-03 16:10:44 -07001966 LDFLAGS_SUFFIX:=,\
ohair46fcac92012-09-18 11:29:24 -07001967 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1968 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001969 -D "JDK_FNAME=nio.dll" \
1970 -D "JDK_INTERNAL_NAME=nio" \
1971 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001972 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
1973 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001974
1975BUILD_LIBRARIES += $(BUILD_LIBNIO)
1976
1977$(BUILD_LIBNIO) : $(BUILD_LIBNET)
1978
1979##########################################################################################
1980
1981ifeq ($(OPENJDK_TARGET_OS_API),posix)
erikj5c99f2c2012-11-28 13:29:35 +01001982
erikjaf85fc42012-07-03 16:10:44 -07001983 ifneq ($(OPENJDK_TARGET_OS),macosx)
1984
1985 SCTP_WERROR := -Werror
1986 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
1987 SCTP_WERROR :=
1988 endif
1989
1990 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
1991 LIBRARY:=sctp,\
1992 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001993 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
erikjaf85fc42012-07-03 16:10:44 -07001994 LANG:=C,\
1995 OPTIMIZATION:=LOW, \
1996 CFLAGS:=$(CFLAGS_JDKLIB)\
1997 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1998 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
1999 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07002000 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
2001 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
erikjaf85fc42012-07-03 16:10:44 -07002002 CFLAGS_linux:=$(SCTP_WERROR),\
2003 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
2004 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2005 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002006 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002007 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
erikj4f66f2d2012-11-03 16:27:01 -07002008 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07002009 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002010 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp))
2011
2012 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
2013
2014 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
2015 endif
2016endif
2017
2018##########################################################################################
2019
ohair46fcac92012-09-18 11:29:24 -07002020BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
2021LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
erikjaf85fc42012-07-03 16:10:44 -07002022
2023BUILD_LIBJLI_FILES:=\
2024 java.c \
2025 splashscreen_stubs.c \
2026 parse_manifest.c \
2027 version_comp.c \
2028 wildcard.c \
2029 jli_util.c
2030
2031ifeq ($(JVM_VARIANT_ZERO), true)
2032 ERGO_FAMILY:=zero
ohair46fcac92012-09-18 11:29:24 -07002033else
2034 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
erikjaf85fc42012-07-03 16:10:44 -07002035 ERGO_FAMILY:=i586
ohair46fcac92012-09-18 11:29:24 -07002036 else
2037 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
2038 endif
2039endif
erikjaf85fc42012-07-03 16:10:44 -07002040
2041ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002042 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
erikjaf85fc42012-07-03 16:10:44 -07002043 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
2044 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
2045
2046 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2047 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2048endif
2049
2050ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002051 BUILD_LIBJLI_FILES += java_md.c \
2052 cmdtoargs.c
2053 # Staticically link with c runtime on windows.
2054 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
erikjaf85fc42012-07-03 16:10:44 -07002055else ifneq ($(OPENJDK_TARGET_OS), macosx)
2056
2057 BUILD_LIBJLI_FILES += java_md_common.c
2058 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
2059
2060 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2061
2062 # if the architecture specific ergo file exists then
2063 # use it, else use the generic definitions from ergo.c
ohair46fcac92012-09-18 11:29:24 -07002064 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
erikjaf85fc42012-07-03 16:10:44 -07002065 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2066 else # !ERGO_ARCH_FILE
ohair46fcac92012-09-18 11:29:24 -07002067 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
erikjaf85fc42012-07-03 16:10:44 -07002068 endif # ERGO_ARCH_FILE
2069endif #WINDOWS
2070
ohair46fcac92012-09-18 11:29:24 -07002071# Append defines depending on target platform
2072LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002073
2074ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002075 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
erikjaf85fc42012-07-03 16:10:44 -07002076endif
2077
2078ifneq ($(USE_EXTERNAL_LIBZ),true)
2079 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002080 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002081 BUILD_LIBJLI_FILES += \
2082 inflate.c \
2083 inftrees.c \
2084 inffast.c \
2085 zadler32.c \
2086 zcrc32.c \
2087 zutil.c
2088endif
2089
2090ifeq ($(OPENJDK_TARGET_OS), windows)
2091 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2092else
2093 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2094endif
2095
2096$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2097 LIBRARY:=jli,\
2098 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2099 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2100 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2101 LANG:=C,\
2102 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002103 CFLAGS:=$(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002104 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2105 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2106 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002107 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2108 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2109 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2110 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2111 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2112 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
erikjaf85fc42012-07-03 16:10:44 -07002113 LDFLAGS_SUFFIX_windows:=\
2114 -export:JLI_Launch \
2115 -export:JLI_ManifestIterate \
2116 -export:JLI_SetTraceLauncher \
2117 -export:JLI_ReportErrorMessage \
2118 -export:JLI_ReportErrorMessageSys \
2119 -export:JLI_ReportMessage \
2120 -export:JLI_ReportExceptionDescription \
ohair46fcac92012-09-18 11:29:24 -07002121 -export:JLI_MemAlloc \
2122 -export:JLI_CmdToArgs \
2123 -export:JLI_GetStdArgc \
2124 -export:JLI_GetStdArgs \
erikjaf85fc42012-07-03 16:10:44 -07002125 advapi32.lib \
2126 comctl32.lib \
2127 user32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002128 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2129 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07002130 -D "JDK_FNAME=jli.dll" \
2131 -D "JDK_INTERNAL_NAME=jli" \
2132 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002133 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
2134 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002135
2136BUILD_LIBRARIES += $(BUILD_LIBJLI)
2137
2138# On windows, the static library has the same suffix as the import library created by
2139# with the shared library, so the static library is given a different name. No harm
2140# in doing it for all platform to reduce complexity.
2141ifeq ($(OPENJDK_TARGET_OS), windows)
2142 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2143 STATIC_LIBRARY:=jli_static,\
2144 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2145 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2146 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2147 LANG:=C,\
2148 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002149 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002150 ARFLAGS:=$(ARFLAGS),\
2151 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2152
2153BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2154
2155else ifeq ($(OPENJDK_TARGET_OS),macosx)
2156 #
2157 # On macosx they do partial (incremental) linking of libjli_static.a
2158 # code it here...rather than add support to NativeCompilation
2159 # as this is first time I see it
2160 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2161 LIBRARY:=jli_static, \
2162 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2163 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2164 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2165 LANG:=C,\
2166 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002167 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002168 LDFLAGS:=-nostdlib -r,\
2169 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2170
2171$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
2172 $(CP) -a $< $@
2173
2174BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2175endif
2176
2177##########################################################################################
2178
ohairb71409c2012-10-26 14:23:29 -07002179ifndef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -07002180ifeq ($(ENABLE_JFR), true)
2181
2182$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2183 LIBRARY:=jfr,\
2184 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2185 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2186 LANG:=C,\
2187 OPTIMIZATION:=LOW, \
2188 CFLAGS:=$(CFLAGS_JDKLIB) \
2189 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2190 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2191 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2192 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikj3da9f312013-02-18 11:26:23 +01002193 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002194 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2195 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002196 -D "JDK_FNAME=jfr.dll" \
2197 -D "JDK_INTERNAL_NAME=jfr" \
2198 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002199 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
2200 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002201
2202BUILD_LIBRARIES += $(BUILD_LIBJFR)
2203
2204endif
ohairb71409c2012-10-26 14:23:29 -07002205endif
erikjaf85fc42012-07-03 16:10:44 -07002206
2207##########################################################################################
2208
2209ifndef OPENJDK
2210
2211BUILD_LIBKCMS_EXCLUDE_FILES:=
2212ifeq ($(OPENJDK_TARGET_OS),windows)
2213 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2214else
2215 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2216endif
2217
2218BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2219
2220ifeq ($(OPENJDK_TARGET_OS),solaris)
2221 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2222 # implement it like this...since it's only used here
2223 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2224else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2225 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2226endif
2227
2228$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2229 LIBRARY:=kcms,\
2230 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2231 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2232 LANG:=C,\
2233 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2234 OPTIMIZATION:=LOW, \
2235 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2236 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2237 CFLAGS_linux:=-Wno-missing-field-initializers,\
2238 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2239 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2240 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002241 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
erikj3da9f312013-02-18 11:26:23 +01002242 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002243 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
erikj388fbde2012-12-06 12:09:33 +01002244 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002245 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
ohair46fcac92012-09-18 11:29:24 -07002246 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2247 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002248 -D "JDK_FNAME=kcms.dll" \
2249 -D "JDK_INTERNAL_NAME=kcms" \
2250 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002251 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
2252 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002253
2254$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2255
2256BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2257
2258endif
2259
2260##########################################################################################
2261
2262ifndef OPENJDK
2263ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002264ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikjaf85fc42012-07-03 16:10:44 -07002265
2266ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2267
2268SUNWJDGA_MAPFILE:=
ohair46fcac92012-09-18 11:29:24 -07002269ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
erikjaf85fc42012-07-03 16:10:44 -07002270 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2271endif
2272
2273$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2274 LIBRARY:=sunwjdga,\
2275 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2276 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2277 LANG:=C, \
2278 OPTIMIZATION:=LOW, \
2279 CFLAGS:=$(CFLAGS_JDKLIB) \
2280 -I$(JDK_TOPDIR)/src/share/javavm/export \
ohair46fcac92012-09-18 11:29:24 -07002281 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
erikjaf85fc42012-07-03 16:10:44 -07002282 -I$(OPENWIN_HOME)/include, \
2283 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2284 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2285 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002286 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 -07002287 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga))
2288
2289BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2290
2291endif
2292endif
2293endif
2294endif
2295
2296##########################################################################################
2297
2298ifeq ($(BUILD_HEADLESS), true)
2299ifneq ($(OPENJDK_TARGET_OS), windows)
2300
2301LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2302 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2303 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2304 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2305 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2306 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2307
2308LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2309 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2310 $(CUPS_CFLAGS) \
2311 $(X_CFLAGS) \
2312 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -07002313 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07002314 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2315 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2316 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2317 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2318 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -07002319 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
erikjaf85fc42012-07-03 16:10:44 -07002320 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2321
2322LIBAWT_HEADLESS_FILES:=\
2323 awt_Font.c \
2324 HeadlessToolkit.c \
2325 fontpath.c \
2326 VDrawingArea.c \
2327 X11Color.c \
2328 X11Renderer.c \
2329 X11PMBlitLoops.c \
2330 X11SurfaceData.c \
2331 X11FontScaler_md.c \
2332 X11TextRenderer_md.c \
2333 OGLBlitLoops.c \
2334 OGLBufImgOps.c \
2335 OGLContext.c \
2336 OGLFuncs.c \
2337 OGLMaskBlit.c \
2338 OGLMaskFill.c \
2339 OGLPaints.c \
2340 OGLRenderQueue.c \
2341 OGLRenderer.c \
2342 OGLSurfaceData.c \
2343 OGLTextRenderer.c \
2344 OGLVertexCache.c \
2345 GLXGraphicsConfig.c \
2346 GLXSurfaceData.c \
2347 AccelGlyphCache.c \
2348 CUPSfuncs.c
2349
erikjaf85fc42012-07-03 16:10:44 -07002350LIBAWT_HEADLESS_REORDER:=
2351ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002352 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
2353 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07002354 endif
2355endif
2356
2357$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2358 LIBRARY:=awt_headless,\
2359 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2360 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2361 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2362 LANG:=C,\
2363 OPTIMIZATION:=LOW, \
2364 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002365 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
erikjaf85fc42012-07-03 16:10:44 -07002366 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2367 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002368 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2369 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2370 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2371 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2372 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -07002373 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
ohair46fcac92012-09-18 11:29:24 -07002374 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -08002375 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
2376 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07002377 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless))
2378
2379$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2380
2381BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2382
2383endif
2384endif
2385
2386##########################################################################################
2387
2388ifndef BUILD_HEADLESS_ONLY
2389LIBSPLASHSCREEN_DIRS:=\
2390 $(JDK_TOPDIR)/src/share/native/sun/awt/giflib \
2391 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2392 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
erikj5c99f2c2012-11-28 13:29:35 +01002393 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
2394
2395ifneq ($(OPENJDK_TARGET_OS), macosx)
2396 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
2397else
2398 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2399endif
2400
erikjaf85fc42012-07-03 16:10:44 -07002401
2402LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2403 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2404
2405ifeq ($(OPENJDK_TARGET_OS), macosx)
2406 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2407 $(LIBSPLASHSCREEN_CFLAGS) \
2408 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2409 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2410 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2411
2412 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2413 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2414 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2415 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2416 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2417 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2418 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2419
2420else ifneq ($(OPENJDK_TARGET_OS), windows)
2421 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2422else
2423 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2424endif
2425
erikjaf85fc42012-07-03 16:10:44 -07002426LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2427
2428ifneq ($(USE_EXTERNAL_LIBZ),true)
2429 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002430 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002431endif
2432
2433ifeq ($(OPENJDK_TARGET_OS), macosx)
2434 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2435 -framework ApplicationServices \
2436 -framework Foundation \
2437 -framework Cocoa \
2438 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2439 -framework JavaNativeFoundation
2440else ifneq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002441 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
erikjaf85fc42012-07-03 16:10:44 -07002442else # OPENJDK_TARGET_OS
ohairb71409c2012-10-26 14:23:29 -07002443 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
erikjaf85fc42012-07-03 16:10:44 -07002444endif # OPENJDK_TARGET_OS
2445
2446$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2447 LIBRARY:=splashscreen,\
2448 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2449 SRC:=$(LIBSPLASHSCREEN_DIRS),\
erikj5c99f2c2012-11-28 13:29:35 +01002450 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\
erikjaf85fc42012-07-03 16:10:44 -07002451 LANG:=C,\
2452 OPTIMIZATION:=LOW, \
2453 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\
2454 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2455 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2456 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002457 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08002458 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002459 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2460 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002461 -D "JDK_FNAME=splashscreen.dll" \
2462 -D "JDK_INTERNAL_NAME=splashscreen" \
2463 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002464 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
2465 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002466
2467BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2468
2469ifeq ($(OPENJDK_TARGET_OS),macosx)
2470$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
2471endif
2472
2473endif
2474
2475##########################################################################################
2476
2477ifndef OPENJDK
2478
2479LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002480 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2481 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2482 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2483 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2484
erikjaf85fc42012-07-03 16:10:44 -07002485LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002486 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2487
2488$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002489 LIBRARY:=dcpr,\
2490 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002491 SRC:=$(LIBDCPR_SRC_DIRS),\
2492 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002493 OPTIMIZATION:=LOW, \
2494 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002495 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002496 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002497 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002498 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002499 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002500 LDFLAGS_SUFFIX_posix:=-lm,\
ohair46fcac92012-09-18 11:29:24 -07002501 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2502 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002503 -D "JDK_FNAME=dcpr.dll" \
2504 -D "JDK_INTERNAL_NAME=dcpr" \
2505 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002506 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
2507 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002508
erikjaf85fc42012-07-03 16:10:44 -07002509$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002510
erikjaf85fc42012-07-03 16:10:44 -07002511BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002512
2513endif
2514
2515##########################################################################################
2516
2517$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002518 LIBRARY:=j2pcsc,\
2519 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002520 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002521 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002522 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002523 CFLAGS_posix:=-D__sun_jdk,\
2524 OPTIMIZATION:=LOW, \
2525 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002526 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002527 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
2528 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
erikjaf85fc42012-07-03 16:10:44 -07002529 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002530 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2531 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002532 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2533 LDFLAGS_SUFFIX_windows:=winscard.lib,\
tbell7d47bd02012-11-12 10:20:01 -08002534 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002535 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2536 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002537 -D "JDK_FNAME=j2pcsc.dll" \
2538 -D "JDK_INTERNAL_NAME=j2pcsc" \
2539 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002540 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
2541 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002542
erikjaf85fc42012-07-03 16:10:44 -07002543BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002544
2545##########################################################################################
2546
erikjaf85fc42012-07-03 16:10:44 -07002547ifneq ($(OPENJDK_TARGET_OS), windows)
weijunea39fce2012-12-13 08:11:38 +08002548ifneq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002549$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002550 LIBRARY:=j2gss,\
2551 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002552 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002553 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002554 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002555 OPTIMIZATION:=LOW, \
2556 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002557 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002558 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002559 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002560 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2561 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002562 LDFLAGS_SUFFIX:=$(LIBDL),\
2563 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002564 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss))
erikje78df742012-06-07 20:40:50 -07002565
erikjaf85fc42012-07-03 16:10:44 -07002566BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002567endif
weijunea39fce2012-12-13 08:11:38 +08002568endif
erikje78df742012-06-07 20:40:50 -07002569
2570##########################################################################################
2571
erikjaf85fc42012-07-03 16:10:44 -07002572BUILD_LIBKRB5_NAME:=
2573ifeq ($(OPENJDK_TARGET_OS), windows)
2574 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
ohair46fcac92012-09-18 11:29:24 -07002575 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
ohairb71409c2012-10-26 14:23:29 -07002576 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
2577 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
2578 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
erikjaf85fc42012-07-03 16:10:44 -07002579else ifeq ($(OPENJDK_TARGET_OS), macosx)
2580 BUILD_LIBKRB5_NAME:=osxkrb5
erikj5c99f2c2012-11-28 13:29:35 +01002581 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5
erikjaf85fc42012-07-03 16:10:44 -07002582 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikje78df742012-06-07 20:40:50 -07002583endif
2584
2585ifneq ($(BUILD_LIBKRB5_NAME),)
2586$(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002587 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2588 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01002589 SRC:=$(BUILD_LIBKRB5_SRC),\
erikje78df742012-06-07 20:40:50 -07002590 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002591 OPTIMIZATION:=LOW, \
2592 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002593 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
ohair46fcac92012-09-18 11:29:24 -07002594 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002595 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2596 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002597 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
ohair46fcac92012-09-18 11:29:24 -07002598 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2599 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002600 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
2601 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
2602 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002603 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
2604 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002605
erikjaf85fc42012-07-03 16:10:44 -07002606BUILD_LIBRARIES += $(BUILD_LIBKRB5)
erikje78df742012-06-07 20:40:50 -07002607endif
2608
2609##########################################################################################
2610
erikjaf85fc42012-07-03 16:10:44 -07002611ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002612
2613$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002614 LIBRARY:=sunmscapi,\
2615 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohairb71409c2012-10-26 14:23:29 -07002616 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
erikje78df742012-06-07 20:40:50 -07002617 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002618 OPTIMIZATION:=LOW, \
2619 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -07002620 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
2621 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002622 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002623 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002624 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2625 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002626 -D "JDK_FNAME=sunmscapi.dll" \
2627 -D "JDK_INTERNAL_NAME=sunmscapi" \
2628 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002629 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
2630 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002631
erikjaf85fc42012-07-03 16:10:44 -07002632BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
erikje78df742012-06-07 20:40:50 -07002633endif
2634
2635##########################################################################################
2636
erikje78df742012-06-07 20:40:50 -07002637$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002638 LIBRARY:=j2pkcs11,\
2639 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002640 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002641 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002642 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002643 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002644 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002645 OPTIMIZATION:=LOW, \
2646 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002647 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002648 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002649 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002650 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002651 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002652 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2653 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002654 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2655 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002656 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2657 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002658 -D "JDK_FNAME=j2pkcs11.dll" \
2659 -D "JDK_INTERNAL_NAME=j2pkcs11" \
2660 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002661 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
2662 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002663
erikjaf85fc42012-07-03 16:10:44 -07002664BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002665
2666##########################################################################################
2667
2668ifndef DISABLE_INTREE_EC
2669#
2670# TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl
2671# is not present
2672#
erikjaf85fc42012-07-03 16:10:44 -07002673BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2674 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2675
2676#
2677# On sol-sparc...all libraries are compiled with -xregs=no%appl
2678# (set in CFLAGS_REQUIRED_sparc)
2679#
2680# except!!! libsunec.so
2681#
2682ECC_JNI_SOLSPARC_FILTER:=
2683ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2684 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2685endif
erikje78df742012-06-07 20:40:50 -07002686
2687$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002688 LIBRARY:=sunec,\
2689 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002690 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2691 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002692 LANG:=C++, \
2693 OPTIMIZATION:=LOW, \
2694 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2695 $(BUILD_LIBSUNEC_FLAGS) \
2696 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2697 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2698 $(BUILD_LIBSUNEC_FLAGS),\
2699 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002700 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
2701 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002702 LDFLAGS_SUFFIX:=$(LIBCXX),\
ohair46fcac92012-09-18 11:29:24 -07002703 LDFLAGS_SUFFIX_linux:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002704 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002705 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2706 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002707 -D "JDK_FNAME=sunec.dll" \
2708 -D "JDK_INTERNAL_NAME=sunec" \
2709 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002710 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
2711 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002712
erikjaf85fc42012-07-03 16:10:44 -07002713BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002714endif
2715
2716##########################################################################################
2717
erikjaf85fc42012-07-03 16:10:44 -07002718LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002719 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
ohair46fcac92012-09-18 11:29:24 -07002720 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002721
erikjaf85fc42012-07-03 16:10:44 -07002722LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002723
erikjaf85fc42012-07-03 16:10:44 -07002724LIBJSOUND_LANG:=C
2725LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002726
erikjaf85fc42012-07-03 16:10:44 -07002727EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002728
erikjaf85fc42012-07-03 16:10:44 -07002729LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002730 MidiInDevice.c \
2731 MidiInDeviceProvider.c \
2732 MidiOutDevice.c \
2733 MidiOutDeviceProvider.c \
2734 PlatformMidi.c
2735
2736# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002737LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002738 PortMixerProvider.c \
2739 PortMixer.c
2740
2741# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002742LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002743 DirectAudioDeviceProvider.c \
2744 DirectAudioDevice.c
2745
erikjaf85fc42012-07-03 16:10:44 -07002746ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002747 EXTRA_SOUND_JNI_LIBS += jsoundds
2748 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2749 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2750 -DUSE_PLATFORM_MIDI_IN=TRUE \
2751 -DUSE_PORTS=TRUE
2752 LIBJSOUND_SRC_FILES += \
2753 PLATFORM_API_WinOS_MidiIn.cpp \
2754 PLATFORM_API_WinOS_MidiOut.c \
2755 PLATFORM_API_WinOS_Util.c \
2756 PLATFORM_API_WinOS_Ports.c
2757 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2758 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002759endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002760
erikjaf85fc42012-07-03 16:10:44 -07002761ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002762 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2763 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002764endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002765
erikjaf85fc42012-07-03 16:10:44 -07002766ifeq ($(OPENJDK_TARGET_OS), macosx)
2767 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002768 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2769 -DUSE_PORTS=TRUE \
2770 -DUSE_DAUDIO=TRUE \
2771 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2772 -DUSE_PLATFORM_MIDI_IN=TRUE
2773 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2774 LIBJSOUND_SRC_FILES += \
2775 PLATFORM_API_MacOSX_Utils.cpp \
2776 PLATFORM_API_MacOSX_PCM.cpp \
2777 PLATFORM_API_MacOSX_Ports.cpp \
2778 PLATFORM_API_MacOSX_MidiIn.c \
2779 PLATFORM_API_MacOSX_MidiOut.c \
2780 PLATFORM_API_MacOSX_MidiUtils.c
2781 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2782 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2783 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002784endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002785
erikjaf85fc42012-07-03 16:10:44 -07002786ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002787 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2788 -DUSE_PORTS=TRUE \
2789 -DUSE_DAUDIO=TRUE
2790 LIBJSOUND_SRC_FILES += \
2791 PLATFORM_API_SolarisOS_Utils.c \
2792 PLATFORM_API_SolarisOS_Ports.c \
2793 PLATFORM_API_SolarisOS_PCM.c
2794 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2795 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2796 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002797endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002798
2799
2800ifeq ($(JVM_VARIANT_ZERO), true)
2801 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2802else
ohair46fcac92012-09-18 11:29:24 -07002803 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikje78df742012-06-07 20:40:50 -07002804 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
ohair46fcac92012-09-18 11:29:24 -07002805 endif
erikje78df742012-06-07 20:40:50 -07002806
ohair46fcac92012-09-18 11:29:24 -07002807 ifeq ($(OPENJDK_TARGET_CPU), sparc)
erikje78df742012-06-07 20:40:50 -07002808 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
ohair46fcac92012-09-18 11:29:24 -07002809 endif
erikje78df742012-06-07 20:40:50 -07002810
ohair46fcac92012-09-18 11:29:24 -07002811 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
erikje78df742012-06-07 20:40:50 -07002812 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
ohair46fcac92012-09-18 11:29:24 -07002813 endif
erikje78df742012-06-07 20:40:50 -07002814
ohair46fcac92012-09-18 11:29:24 -07002815 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikje78df742012-06-07 20:40:50 -07002816 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
ohair46fcac92012-09-18 11:29:24 -07002817 endif
erikje78df742012-06-07 20:40:50 -07002818
ohair46fcac92012-09-18 11:29:24 -07002819 ifeq ($(OPENJDK_TARGET_CPU), arm)
erikje78df742012-06-07 20:40:50 -07002820 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
ohair46fcac92012-09-18 11:29:24 -07002821 endif
erikje78df742012-06-07 20:40:50 -07002822
ohair46fcac92012-09-18 11:29:24 -07002823 ifeq ($(OPENJDK_TARGET_CPU), ppc)
erikje78df742012-06-07 20:40:50 -07002824 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
ohair46fcac92012-09-18 11:29:24 -07002825 endif
erikje78df742012-06-07 20:40:50 -07002826endif
2827
2828LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2829
2830$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002831 LIBRARY:=jsound,\
2832 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002833 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002834 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002835 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002836 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07002837 CFLAGS:=$(CFLAGS_JDKLIB) \
2838 $(LIBJSOUND_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002839 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2840 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002841 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2842 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002843 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
2844 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2845 -framework CoreMIDI -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -07002846 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
ohairb71409c2012-10-26 14:23:29 -07002847 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
erikje78df742012-06-07 20:40:50 -07002848 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002849 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2850 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002851 -D "JDK_FNAME=jsound.dll" \
2852 -D "JDK_INTERNAL_NAME=jsound" \
2853 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002854 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
2855 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002856
erikjaf85fc42012-07-03 16:10:44 -07002857$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002858
erikjaf85fc42012-07-03 16:10:44 -07002859BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002860
2861##########################################################################################
2862
2863ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2864
2865$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002866 LIBRARY:=jsoundalsa,\
2867 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002868 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002869 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002870 $(LIBJSOUND_DAUDIOFILES) \
2871 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2872 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2873 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2874 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2875 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2876 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2877 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002878 LANG:=C,\
2879 OPTIMIZATION:=LOW, \
2880 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002881 $(LIBJSOUND_CFLAGS) \
2882 -DUSE_DAUDIO=TRUE \
2883 -DUSE_PORTS=TRUE \
2884 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2885 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07002886 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002887 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2888 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002889 LDFLAGS_SUFFIX:=-lasound -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002890 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa))
erikje78df742012-06-07 20:40:50 -07002891
erikjaf85fc42012-07-03 16:10:44 -07002892$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002893
erikjaf85fc42012-07-03 16:10:44 -07002894BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07002895
2896endif
2897
2898##########################################################################################
2899
2900ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
2901
2902$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07002903 LIBRARY:=jsoundds,\
2904 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002905 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002906 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07002907 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07002908 LANG:=C++,\
2909 OPTIMIZATION:=LOW, \
2910 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002911 $(LIBJSOUND_CFLAGS) \
erikjebad8f92013-03-06 16:15:16 +01002912 -DUSE_DAUDIO=TRUE \
2913 -I$(DXSDK_INCLUDE_PATH), \
ohair46fcac92012-09-18 11:29:24 -07002914 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002915 $(call SET_SHARED_LIBRARY_ORIGIN),\
2916 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002917 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2918 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002919 -D "JDK_FNAME=jsoundds.dll" \
2920 -D "JDK_INTERNAL_NAME=jsoundds" \
2921 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002922 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
2923 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002924
erikjaf85fc42012-07-03 16:10:44 -07002925$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002926
erikjaf85fc42012-07-03 16:10:44 -07002927BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07002928
2929endif
2930
2931##########################################################################################
2932
erikjaf85fc42012-07-03 16:10:44 -07002933ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002934ifndef OPENJDK
2935
2936$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07002937 LIBRARY:=j2ucrypto,\
2938 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002939 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07002940 LANG:=C,\
2941 OPTIMIZATION:=LOW, \
2942 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002943 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07002944 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002945 LDFLAGS:=$(LDFLAGS_JDKLIB),\
erikje78df742012-06-07 20:40:50 -07002946 LDFLAGS_SUFFIX:=$(LIBDL),\
erikj3da9f312013-02-18 11:26:23 +01002947 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002948 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto))
erikje78df742012-06-07 20:40:50 -07002949
erikjaf85fc42012-07-03 16:10:44 -07002950$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002951
erikjaf85fc42012-07-03 16:10:44 -07002952BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07002953
2954endif
2955endif
2956
2957##########################################################################################
2958
erikjaf85fc42012-07-03 16:10:44 -07002959ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002960
erikje78df742012-06-07 20:40:50 -07002961$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07002962 LIBRARY:=AppleScriptEngine,\
2963 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002964 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07002965 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002966 OPTIMIZATION:=LOW, \
2967 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002968 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
2969 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2970 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
2971 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2972 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002973 LDFLAGS_SUFFIX:=-framework Cocoa \
2974 -framework Carbon \
2975 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2976 -framework JavaNativeFoundation \
2977 $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002978 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine))
erikje78df742012-06-07 20:40:50 -07002979
erikjaf85fc42012-07-03 16:10:44 -07002980$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
2981
2982BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07002983
2984endif
2985
2986##########################################################################################
2987
erikjaf85fc42012-07-03 16:10:44 -07002988ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002989
erikje78df742012-06-07 20:40:50 -07002990$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07002991 LIBRARY:=osxapp,\
2992 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002993 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07002994 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002995 OPTIMIZATION:=LOW, \
2996 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002997 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
ohairb71409c2012-10-26 14:23:29 -07002998 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
erikje78df742012-06-07 20:40:50 -07002999 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3000 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3001 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3002 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003003 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003004 -framework Accelerate \
3005 -framework ApplicationServices \
3006 -framework AudioToolbox \
3007 -framework Carbon \
3008 -framework Cocoa \
3009 -framework Security \
3010 -framework ExceptionHandling \
3011 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3012 -framework JavaNativeFoundation \
3013 -framework JavaRuntimeSupport \
3014 -framework OpenGL \
3015 -framework IOSurface \
3016 -framework QuartzCore, \
erikjaf85fc42012-07-03 16:10:44 -07003017 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp))
erikje78df742012-06-07 20:40:50 -07003018
erikjaf85fc42012-07-03 16:10:44 -07003019BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003020
3021endif
3022
3023##########################################################################################
3024
erikjaf85fc42012-07-03 16:10:44 -07003025ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003026
erikjaf85fc42012-07-03 16:10:44 -07003027LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003028 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3029 $(JDK_TOPDIR)/src/macosx/native/java/util \
3030 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3031 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3032 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3033
3034$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003035 LIBRARY:=osx,\
3036 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003037 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003038 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003039 OPTIMIZATION:=LOW, \
3040 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003041 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3042 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3043 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3044 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3045 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3046 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003047 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003048 -losxapp \
3049 -framework Cocoa \
3050 -framework ApplicationServices \
3051 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3052 -framework JavaNativeFoundation \
3053 -framework JavaRuntimeSupport \
3054 -framework Security \
3055 -framework SystemConfiguration \
3056 $(LDFLAGS_JDKLIB_SUFFIX), \
erikjaf85fc42012-07-03 16:10:44 -07003057 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx))
erikje78df742012-06-07 20:40:50 -07003058
erikjaf85fc42012-07-03 16:10:44 -07003059BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003060
erikjaf85fc42012-07-03 16:10:44 -07003061$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003062
erikjaf85fc42012-07-03 16:10:44 -07003063$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003064
3065endif
3066
3067##########################################################################################
3068
erikjaf85fc42012-07-03 16:10:44 -07003069ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003070
erikjaf85fc42012-07-03 16:10:44 -07003071LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003072 awt.m \
3073 ApplicationDelegate.m \
3074 CFRetainedResource.m \
3075 CGLGraphicsConfig.m \
3076 CGLSurfaceData.m \
3077 CGLLayer.m \
3078 CGraphicsConfig.m \
3079 CGraphicsDevice.m \
3080 CGraphicsEnv.m \
3081 CCharToGlyphMapper.m \
3082 CSystemColors.m \
3083 AWTFont.m \
3084 CGGlyphOutlines.m \
3085 CGGlyphImages.m \
3086 CoreTextSupport.m \
3087 AWTStrike.m \
3088 InitIDs.m \
3089 AWTEvent.m \
3090 AWTView.m \
3091 AWTWindow.m \
3092 AWTSurfaceLayers.m \
3093 CCursorManager.m \
3094 CClipboard.m \
3095 CDataTransferer.m \
3096 CDragSource.m \
3097 CDragSourceContextPeer.m \
3098 CDropTarget.m \
3099 CDropTargetContextPeer.m \
3100 CInputMethod.m \
3101 CDesktopPeer.m \
3102 OSVersion.m \
3103 DnDUtilities.m \
3104 CFileDialog.m \
3105 CImage.m \
3106 CMenu.m \
3107 CMenuBar.m \
3108 CMenuComponent.m \
3109 CMenuItem.m \
3110 CPopupMenu.m \
3111 CRobot.m \
3112 CTrayIcon.m \
3113 CWrapper.m \
3114 JavaAccessibilityAction.m \
3115 JavaAccessibilityUtilities.m \
3116 JavaComponentAccessibility.m \
3117 JavaTextAccessibility.m \
3118 LWCToolkit.m \
3119 GeomUtilities.m \
3120 CPrinterJob.m \
3121 PrintModel.m \
3122 PrinterSurfaceData.m \
3123 PrinterView.m \
3124 QuartzSurfaceData.m \
3125 QuartzRenderer.m \
3126 CTextPipe.m \
3127 ImageSurfaceData.m \
3128 awt_DrawingSurface.m \
3129 \
3130 OGLBlitLoops.c \
3131 OGLBufImgOps.c \
3132 OGLContext.c \
3133 OGLFuncs.c \
3134 OGLMaskBlit.c \
3135 OGLMaskFill.c \
3136 OGLPaints.c \
3137 OGLRenderQueue.c \
3138 OGLRenderer.c \
3139 OGLSurfaceData.c \
3140 OGLTextRenderer.c \
3141 OGLVertexCache.c \
3142 AccelGlyphCache.c \
3143 CUPSfuncs.c
3144
3145
erikjaf85fc42012-07-03 16:10:44 -07003146LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003147 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3148 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3149 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3150 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3151 $(JDK_TOPDIR)/src/share/native/sun/font \
3152 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3153
3154$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003155 LIBRARY:=awt_lwawt,\
3156 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003157 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003158 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003159 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003160 OPTIMIZATION:=LOW, \
3161 CFLAGS:=$(CFLAGS_JDKLIB) \
ohrstrom5048dab2012-10-29 13:41:38 -07003162 $(X_CFLAGS) \
3163 $(X_LIBS) \
erikje78df742012-06-07 20:40:50 -07003164 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3165 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3166 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3167 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3168 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3169 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3170 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3171 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3172 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3173 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3174 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3175 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3176 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003177 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
3178 -framework Accelerate \
3179 -framework ApplicationServices \
3180 -framework AudioToolbox \
3181 -framework Carbon \
3182 -framework Cocoa \
3183 -framework Security \
3184 -framework ExceptionHandling \
3185 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3186 -framework JavaNativeFoundation \
3187 -framework JavaRuntimeSupport \
3188 -framework OpenGL \
3189 -framework QuartzCore -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07003190 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt))
erikje78df742012-06-07 20:40:50 -07003191
erikjaf85fc42012-07-03 16:10:44 -07003192BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003193
erikjaf85fc42012-07-03 16:10:44 -07003194$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003195
erikjaf85fc42012-07-03 16:10:44 -07003196$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003197
erikjaf85fc42012-07-03 16:10:44 -07003198$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003199
erikjaf85fc42012-07-03 16:10:44 -07003200$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003201
3202endif
3203
3204##########################################################################################
3205
erikjaf85fc42012-07-03 16:10:44 -07003206ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003207
erikje78df742012-06-07 20:40:50 -07003208$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003209 LIBRARY:=osxui,\
3210 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003211 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003212 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003213 OPTIMIZATION:=LOW, \
3214 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003215 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3216 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3217 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3218 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3219 LDFLAGS:=$(LDFLAGS_JDKLIB)\
ohair46fcac92012-09-18 11:29:24 -07003220 $(call SET_SHARED_LIBRARY_ORIGIN) \
3221 -Xlinker -rpath -Xlinker @loader_path,\
3222 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
3223 -framework Cocoa \
3224 -framework Carbon \
3225 -framework ApplicationServices \
3226 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3227 -framework JavaNativeFoundation \
3228 -framework JavaRuntimeSupport \
3229 -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07003230 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui))
erikje78df742012-06-07 20:40:50 -07003231
erikjaf85fc42012-07-03 16:10:44 -07003232BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003233
erikjaf85fc42012-07-03 16:10:44 -07003234$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003235
erikjaf85fc42012-07-03 16:10:44 -07003236$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003237
erikjaf85fc42012-07-03 16:10:44 -07003238$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003239
erikjaf85fc42012-07-03 16:10:44 -07003240#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3241
3242endif
3243
3244##########################################################################################
3245
3246ifeq ($(OPENJDK_TARGET_OS), macosx)
3247
ohair46fcac92012-09-18 11:29:24 -07003248# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
3249SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
3250
3251$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\
erikjaf85fc42012-07-03 16:10:44 -07003252 LIBRARY:=JObjC,\
ohair46fcac92012-09-18 11:29:24 -07003253 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3254 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3255 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3256 LANG:=C,\
3257 OPTIMIZATION:=LOW, \
3258 CFLAGS:=-fpascal-strings \
3259 -fobjc-gc \
3260 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003261 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
ohair46fcac92012-09-18 11:29:24 -07003262 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3263 -m32,\
3264 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3265 -m32, \
3266 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3267 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3268 -framework JavaNativeFoundation \
3269 -lffi, \
3270 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32))
3271
3272$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\
3273 LIBRARY:=JObjC,\
3274 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
erikjaf85fc42012-07-03 16:10:44 -07003275 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3276 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3277 LANG:=C,\
3278 OPTIMIZATION:=LOW, \
3279 CFLAGS:=-fpascal-strings \
3280 -fobjc-gc \
3281 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003282 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
erikjaf85fc42012-07-03 16:10:44 -07003283 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3284 , \
3285 LDFLAGS:=-fpascal-strings \
3286 -fobjc-gc \
3287 -gdwarf-2 \
3288 $(LDFLAGS_JDKLIB)\
3289 $(call SET_SHARED_LIBRARY_ORIGIN), \
3290 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3291 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3292 -framework JavaNativeFoundation \
3293 -lffi, \
ohair46fcac92012-09-18 11:29:24 -07003294 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64))
erikjaf85fc42012-07-03 16:10:44 -07003295
ohair46fcac92012-09-18 11:29:24 -07003296$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3297 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3298
3299BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
erikje78df742012-06-07 20:40:50 -07003300
3301endif
3302
3303##########################################################################################
3304
raginip450da982013-01-18 11:33:31 -08003305ifndef OPENJDK
3306ifeq ($(OPENJDK_TARGET_OS), windows)
3307
3308 ACCESSBRIDGE_SRCDIR:=$(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
3309
3310 define SetupAccessBridge
3311 # Parameter 1 Suffix
3312 # Parameter 2 Machine
3313 # Parameter 3 ACCESSBRIDGE_ARCH_ suffix
3314
3315 $(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1,\
3316 LIBRARY=JAWTAccessBridge$1,\
3317 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3318 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3319 INCLUDE_FILES:=JAWTAccessBridge.cpp,\
3320 LANG:=C++,\
3321 OPTIMIZATION:=LOW,\
3322 CFLAGS:=$(CFLAGS_JDKLIB) \
3323 -DACCESSBRIDGE_ARCH_$3,\
3324 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3325 winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
3326 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3327 -subsystem:windows -machine:$2 \
3328 -def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF,\
3329 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3330 RC_FLAGS:=$(RC_FLAGS),\
3331 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1,\
3332 DEBUG_SYMBOLS:=true)
3333
3334 $$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
3335
3336 $(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1,\
3337 LIBRARY=JavaAccessBridge$1,\
3338 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3339 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3340 INCLUDE_FILES:=AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
3341 AccessBridgeJavaEntryPoints.cpp \
3342 AccessBridgeMessages.cpp JavaAccessBridge.cpp,\
3343 LANG:=C++,\
3344 OPTIMIZATION:=LOW,\
3345 CFLAGS:=$(CFLAGS_JDKLIB) \
3346 -DACCESSBRIDGE_ARCH_$3,\
3347 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3348 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3349 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3350 -subsystem:windows -machine:$2 \
3351 -def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF,\
3352 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3353 RC_FLAGS:=$(RC_FLAGS),\
3354 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1,\
3355 DEBUG_SYMBOLS:=true)
3356
3357 $(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1,\
3358 LIBRARY=WindowsAccessBridge$1,\
3359 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3360 SRC:=$(ACCESSBRIDGE_SRCDIR),\
3361 INCLUDE_FILES:=AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
3362 AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
3363 WinAccessBridge.cpp AccessBridgeDebug.cpp \
3364 AccessBridgeEventHandler.cpp,\
3365 LANG:=C++,\
3366 OPTIMIZATION:=LOW,\
3367 CFLAGS:=$(filter-out -MD,$(CFLAGS_JDKLIB)) -MT \
3368 -DACCESSBRIDGE_ARCH_$3,\
3369 LDFLAGS:=$(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
3370 winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3371 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
3372 -subsystem:windows -machine:$2 \
3373 -def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF,\
3374 VERSIONINFO_RESOURCE:=$(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc,\
3375 RC_FLAGS:=$(RC_FLAGS),\
3376 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1,\
3377 DEBUG_SYMBOLS:=true)
3378
3379 BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
3380 $$(BUILD_WINDOWSACCESSBRIDGE$1)
3381
3382 endef
3383
3384 ifeq ($(OPENJDK_TARGET_CPU_BITS),32)
3385 $(eval $(call SetupAccessBridge,-32,I386,32))
3386 $(eval $(call SetupAccessBridge,,I386,LEGACY))
3387 else
3388 $(eval $(call SetupAccessBridge,-64,X64,64))
3389 endif
3390endif
3391endif
3392
3393
3394##########################################################################################
3395
ohair92de5662012-04-10 08:22:03 -07003396all: $(COPY_FILES) $(BUILD_LIBRARIES)
3397
3398.PHONY: all