blob: 49a3f20f4d54478b76d396b0ba003c4e30124426 [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
erikjaf85fc42012-07-03 16:10:44 -070038# Build tools
39include Tools.gmk
40
ohair92de5662012-04-10 08:22:03 -070041# Include the javah generated headers.
42CFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
43CXXFLAGS_JDKLIB += -I$(JDK_OUTPUTDIR)/gensrc_headers
44
erikjaf85fc42012-07-03 16:10:44 -070045# Put the libraries here. Different locations for different target apis.
46ifeq ($(OPENJDK_TARGET_OS_API),posix)
ohair46fcac92012-09-18 11:29:24 -070047 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)
ohair92de5662012-04-10 08:22:03 -070048else
49 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
50endif
51
ohair92de5662012-04-10 08:22:03 -070052BUILD_LIBRARIES=
53
erikjaf85fc42012-07-03 16:10:44 -070054# Absolute paths to lib files on windows for use in LDFLAGS. Should figure out a more
55# elegant solution to this.
56WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
57WIN_JAVA_LIB := $(JDK_OUTPUTDIR)/objs/libjava/java.lib
58WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib
ohair92de5662012-04-10 08:22:03 -070059
ohair46fcac92012-09-18 11:29:24 -070060# Use this variable to set DEBUG_SYMBOLS true on windows for all libraries, but
61# not on other platforms.
62ifeq ($(OPENJDK_TARGET_OS), windows)
63 WINDOWS_ONLY := true
64endif
65
66#
67# TODO replace with X_FLAGS / X_LIBS
68# and add them to configure
69#
70OPENWIN_LIB:=$(OPENWIN_HOME)/lib
71
ohair92de5662012-04-10 08:22:03 -070072##########################################################################################
73
erikjaf85fc42012-07-03 16:10:44 -070074BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH
erikje78df742012-06-07 20:40:50 -070075
erikjaf85fc42012-07-03 16:10:44 -070076ifneq ($(OPENJDK_TARGET_OS), solaris)
77 BUILD_LIBFDLIBM_OPTIMIZATION:=NONE
erikje78df742012-06-07 20:40:50 -070078endif
79
erikjaf85fc42012-07-03 16:10:44 -070080ifneq ($(OPENJDK_TARGET_OS),macosx)
ohair92de5662012-04-10 08:22:03 -070081$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
erikjaf85fc42012-07-03 16:10:44 -070082 STATIC_LIBRARY:=fdlibm,\
83 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
ohair92de5662012-04-10 08:22:03 -070084 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
85 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -070086 OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \
87 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair92de5662012-04-10 08:22:03 -070088 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
ohair46fcac92012-09-18 11:29:24 -070089 CFLAGS_windows_debug:=-DLOGGING,\
ohair92de5662012-04-10 08:22:03 -070090 ARFLAGS:=$(ARFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -070091 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
92
93BUILD_LIBRARIES += $(BUILD_LIBFDLIBM)
94
erikje78df742012-06-07 20:40:50 -070095else
96#
97# On macosx they do partial (incremental) linking of fdlibm
98# code it here...rather than add support to NativeCompilation
99# as this is firt time I see it
100$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
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
erikjaf85fc42012-07-03 16:10:44 -0700110$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) : $(BUILD_LIBFDLIBM)
erikje78df742012-06-07 20:40:50 -0700111 $(CP) -a $< $@
erikje78df742012-06-07 20:40:50 -0700112
113BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
erikjaf85fc42012-07-03 16:10:44 -0700114endif
ohair92de5662012-04-10 08:22:03 -0700115
116##########################################################################################
117
erikjaf85fc42012-07-03 16:10:44 -0700118BUILD_LIBVERIFY_SRC:=check_code.c check_format.c
119
120ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700121 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
122 BUILD_LIBVERIFY_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700123 endif
ohair92de5662012-04-10 08:22:03 -0700124endif
125
ohair46fcac92012-09-18 11:29:24 -0700126LIBVERIFY_OPTIMIZATION:=HIGH
127ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
128 ifeq ($(ENABLE_DEBUG_SYMBOLS), yes)
129 LIBVERIFY_OPTIMIZATION:=LOW
130 endif
131endif
132
erikjaf85fc42012-07-03 16:10:44 -0700133
134$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
135 LIBRARY:=verify, \
136 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
137 SRC:=$(JDK_TOPDIR)/src/share/native/common,\
138 INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\
ohair92de5662012-04-10 08:22:03 -0700139 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -0700140 OPTIMIZATION:=$(LIBVERIFY_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -0700141 CFLAGS:=$(CFLAGS_JDKLIB),\
142 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700143 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700144 $(call SET_SHARED_LIBRARY_ORIGIN), \
145 LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
146 LDFLAGS_SUFFIX_windows:=jvm.lib,\
ohair46fcac92012-09-18 11:29:24 -0700147 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
148 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700149 -D "JDK_FNAME=verify.dll" \
150 -D "JDK_INTERNAL_NAME=verify" \
151 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700152 REORDER:=$(BUILD_LIBVERIFY_REORDER),\
153 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libverify,\
154 DEBUG_SYMBOLS:=true))
erikje78df742012-06-07 20:40:50 -0700155
erikjaf85fc42012-07-03 16:10:44 -0700156BUILD_LIBRARIES += $(BUILD_LIBVERIFY)
ohair92de5662012-04-10 08:22:03 -0700157
158##########################################################################################
159
ohair46fcac92012-09-18 11:29:24 -0700160LIBJAVA_SRC_DIRS:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/lang \
erikjaf85fc42012-07-03 16:10:44 -0700161 $(JDK_TOPDIR)/src/share/native/java/lang \
162 $(JDK_TOPDIR)/src/share/native/java/lang/ref \
163 $(JDK_TOPDIR)/src/share/native/java/lang/reflect \
164 $(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700165 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
erikjaf85fc42012-07-03 16:10:44 -0700166 $(JDK_TOPDIR)/src/share/native/java/nio \
167 $(JDK_TOPDIR)/src/share/native/java/security \
168 $(JDK_TOPDIR)/src/share/native/common \
169 $(JDK_TOPDIR)/src/share/native/sun/misc \
170 $(JDK_TOPDIR)/src/share/native/sun/reflect \
erikjaf85fc42012-07-03 16:10:44 -0700171 $(JDK_TOPDIR)/src/share/native/java/util \
172 $(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
ohair46fcac92012-09-18 11:29:24 -0700173 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \
ohairb71409c2012-10-26 14:23:29 -0700174 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util
175
ohair46fcac92012-09-18 11:29:24 -0700176ifneq ($(OPENJDK_TARGET_OS),macosx)
177 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/util/locale/provider
178else
179 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/macosx/native/sun/util/locale/provider
erikjaf85fc42012-07-03 16:10:44 -0700180endif
ohair92de5662012-04-10 08:22:03 -0700181
ohairb71409c2012-10-26 14:23:29 -0700182ifeq ($(OPENJDK_TARGET_OS),windows)
183 LIBJAVA_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/provider \
184 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/io
185endif
186
erikjaf85fc42012-07-03 16:10:44 -0700187LIBJAVA_CFLAGS:=$(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
188 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
ohair46fcac92012-09-18 11:29:24 -0700189 -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
ohair92de5662012-04-10 08:22:03 -0700190
erikjaf85fc42012-07-03 16:10:44 -0700191LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
192 -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
193 -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
194 -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"'
ohair92de5662012-04-10 08:22:03 -0700195
erikjaf85fc42012-07-03 16:10:44 -0700196ifneq (,$(JDK_UPDATE_VERSION))
197 LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
198endif
ohair92de5662012-04-10 08:22:03 -0700199
erikjaf85fc42012-07-03 16:10:44 -0700200LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.c
ohair92de5662012-04-10 08:22:03 -0700201
erikjaf85fc42012-07-03 16:10:44 -0700202ifneq ($(OPENJDK_TARGET_OS),macosx)
203 LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
erikje78df742012-06-07 20:40:50 -0700204else
erikjaf85fc42012-07-03 16:10:44 -0700205 BUILD_LIBJAVA_java_props_md.c_CFLAGS:=-x objective-c
ohair92de5662012-04-10 08:22:03 -0700206endif
207
erikjaf85fc42012-07-03 16:10:44 -0700208ifeq ($(OPENJDK_TARGET_OS),windows)
209 LIBJAVA_EXCLUDE_FILES += \
210 UNIXProcess_md.c \
211 UnixFileSystem_md.c \
212 FileSystemPreferences.c
ohair92de5662012-04-10 08:22:03 -0700213else
erikjaf85fc42012-07-03 16:10:44 -0700214 LIBJAVA_EXCLUDE_FILES += \
215 ProcessImpl_md.c \
erikjaf85fc42012-07-03 16:10:44 -0700216 WinNTFileSystem_md.c \
217 dirent_md.c \
218 WindowsPreferences.c \
219 sun/security/provider/WinCAPISeedGenerator.c \
220 sun/io/Win32ErrorMode.c
ohair92de5662012-04-10 08:22:03 -0700221endif
222
erikjaf85fc42012-07-03 16:10:44 -0700223ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700224 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
225 LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
ohair92de5662012-04-10 08:22:03 -0700226 endif
227endif
228
erikjaf85fc42012-07-03 16:10:44 -0700229$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
230 LIBRARY:=java,\
231 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
232 SRC:=$(LIBJAVA_SRC_DIRS),\
233 EXCLUDES:=fdlibm/src zip, \
234 EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \
ohair92de5662012-04-10 08:22:03 -0700235 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700236 OPTIMIZATION:=HIGH, \
237 CFLAGS:=$(CFLAGS_JDKLIB) \
238 $(LIBJAVA_CFLAGS),\
239 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700240 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700241 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -0700242 LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
243 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
244 LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
ohair46fcac92012-09-18 11:29:24 -0700245 LDFLAGS_SUFFIX_macosx:=-L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
erikjaf85fc42012-07-03 16:10:44 -0700246 -framework CoreFoundation \
247 -framework Security -framework SystemConfiguration, \
ohairb71409c2012-10-26 14:23:29 -0700248 LDFLAGS_SUFFIX_windows:=-export:winFileHandleOpen -export:handleLseek \
249 jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
250 shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
251 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -0700252 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
253 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700254 -D "JDK_FNAME=java.dll" \
255 -D "JDK_INTERNAL_NAME=java" \
256 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700257 REORDER:=$(LIBJAVA_REORDER), \
ohair46fcac92012-09-18 11:29:24 -0700258 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava,\
259 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700260
erikjaf85fc42012-07-03 16:10:44 -0700261BUILD_LIBRARIES += $(BUILD_LIBJAVA)
ohair92de5662012-04-10 08:22:03 -0700262
erikjaf85fc42012-07-03 16:10:44 -0700263$(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
264
265$(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY)
266
267$(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM)
ohair92de5662012-04-10 08:22:03 -0700268
269##########################################################################################
270
erikjaf85fc42012-07-03 16:10:44 -0700271BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib
272BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
erikje78df742012-06-07 20:40:50 -0700273 -I$(BUILD_LIBMLIB_SRC) \
ohair46fcac92012-09-18 11:29:24 -0700274 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib
erikje78df742012-06-07 20:40:50 -0700275
erikjaf85fc42012-07-03 16:10:44 -0700276BUILD_LIBMLIB_LDLIBS:=
277BUILD_LIBMLIB_IMAGE_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
erikje78df742012-06-07 20:40:50 -0700278
ohair46fcac92012-09-18 11:29:24 -0700279BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
erikje78df742012-06-07 20:40:50 -0700280
ohair46fcac92012-09-18 11:29:24 -0700281ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700282 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
283endif
284
erikjaf85fc42012-07-03 16:10:44 -0700285ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -0700286 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
287endif
288
289$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\
erikjaf85fc42012-07-03 16:10:44 -0700290 LIBRARY:=mlib_image,\
291 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
292 SRC:=$(BUILD_LIBMLIB_SRC),\
erikje78df742012-06-07 20:40:50 -0700293 EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\
294 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700295 OPTIMIZATION:=HIGHEST, \
296 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700297 $(BUILD_LIBMLIB_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -0700298 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700299 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700300 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700301 LDFLAGS_SUFFIX:=$(BUILD_LIBMLIB_LDLIBS) \
302 $(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -0800303 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -0700304 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
305 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700306 -D "JDK_FNAME=mlib_image.dll" \
307 -D "JDK_INTERNAL_NAME=mlib_image" \
308 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700309 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image,\
310 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700311
erikjaf85fc42012-07-03 16:10:44 -0700312$(BUILD_LIBMLIB_IMAGE) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700313
erikjaf85fc42012-07-03 16:10:44 -0700314BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -0700315
316##########################################################################################
317
ohair46fcac92012-09-18 11:29:24 -0700318ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH),solaris-sparc)
erikje78df742012-06-07 20:40:50 -0700319
erikjaf85fc42012-07-03 16:10:44 -0700320BUILD_LIBMLIB_IMAGE_V_FILES:=\
erikje78df742012-06-07 20:40:50 -0700321 mlib_v_ImageLookUp.c \
322 mlib_ImageCreate.c \
323 mlib_ImageAffine.c \
324 mlib_ImageConvMxN.c \
325 mlib_ImageConvKernelConvert.c \
326 mlib_sys.c \
327 mlib_ImageLookUp_64.c \
328 mlib_ImageLookUp_Bit.c \
329 mlib_ImageColorTrue2Index.c \
330 mlib_c_ImageThresh1_U8.c \
331 mlib_v_ImageLookUpS16S16Func.c \
332 mlib_v_ImageLookUpS16S32Func.c \
333 mlib_v_ImageLookUpS16U16Func.c \
334 mlib_v_ImageLookUpS16U8Func.c \
335 mlib_v_ImageLookUpS32S16Func.c \
336 mlib_v_ImageLookUpS32S32Func.c \
337 mlib_v_ImageLookUpS32U16Func.c \
338 mlib_v_ImageLookUpS32U8Func.c \
339 mlib_v_ImageLookUpSIS16S16Func.c \
340 mlib_v_ImageLookUpSIS16S32Func.c \
341 mlib_v_ImageLookUpSIS16U16Func.c \
342 mlib_v_ImageLookUpSIS16U8Func.c \
343 mlib_v_ImageLookUpSIS32S16Func.c \
344 mlib_v_ImageLookUpSIS32S32Func.c \
345 mlib_v_ImageLookUpSIS32U16Func.c \
346 mlib_v_ImageLookUpSIS32U8Func.c \
347 mlib_v_ImageLookUpSIU16S16Func.c \
348 mlib_v_ImageLookUpSIU16S32Func.c \
349 mlib_v_ImageLookUpSIU16U16Func.c \
350 mlib_v_ImageLookUpSIU16U8Func.c \
351 mlib_v_ImageLookUpSIU8S16Func.c \
352 mlib_v_ImageLookUpSIU8S32Func.c \
353 mlib_v_ImageLookUpSIU8U16Func.c \
354 mlib_v_ImageLookUpSIU8U8Func.c \
355 mlib_v_ImageLookUpU16S16Func.c \
356 mlib_v_ImageLookUpU16S32Func.c \
357 mlib_v_ImageLookUpU16U16Func.c \
358 mlib_v_ImageLookUpU16U8Func.c \
359 mlib_v_ImageLookUpU8S16Func.c \
360 mlib_v_ImageLookUpU8S32Func.c \
361 mlib_v_ImageLookUpU8U16Func.c \
362 mlib_v_ImageLookUpU8U8Func.c \
363 mlib_v_ImageAffineIndex_BC.c \
364 mlib_v_ImageAffine_BC.c \
365 mlib_v_ImageAffine_BC_S16.c \
366 mlib_v_ImageAffine_BC_U16.c \
367 mlib_v_ImageAffine_BL.c \
368 mlib_v_ImageAffine_BL_S16.c \
369 mlib_v_ImageAffine_BL_U16.c \
370 mlib_v_ImageAffine_NN.c \
371 mlib_v_ImageFilters.c \
372 mlib_ImageAffineEdge.c \
373 mlib_ImageAffine_BC_D64.c \
374 mlib_ImageAffine_BC_F32.c \
375 mlib_ImageAffine_BC_S32.c \
376 mlib_ImageAffine_BL_D64.c \
377 mlib_ImageAffine_BL_F32.c \
378 mlib_ImageAffine_BL_S32.c \
379 mlib_ImageAffine_NN.c \
380 mlib_ImageAffine_NN_Bit.c \
381 mlib_ImageFilters.c \
382 mlib_ImageScanPoly.c \
383 mlib_ImageConv_8nw.c \
384 mlib_ImageConv_8ext.c \
385 mlib_ImageConv_16nw.c \
386 mlib_ImageConv_16ext.c \
387 mlib_ImageConv_u16nw.c \
388 mlib_ImageConv_u16ext.c \
389 mlib_ImageConv_32nw.c \
390 mlib_ImageConv_F32nw.c \
391 mlib_ImageConvMxN_Fp.c \
392 mlib_ImageConvMxN_ext.c \
393 mlib_ImageConv_D64nw.c \
394 mlib_ImageClipping.c \
395 mlib_ImageConvCopyEdge_Bit.c \
396 mlib_ImageConvClearEdge_Bit.c \
397 mlib_ImageConv2x2_f.c \
398 mlib_ImageConvClearEdge_Fp.c \
399 mlib_v_ImageConvMxN_8.c \
400 mlib_v_ImageConvClearEdge.c \
401 mlib_v_ImageConvCopyEdge.c \
402 mlib_v_ImageConvMxN_8ext.c \
403 mlib_v_ImageConvVersion.c \
404 mlib_v_ImageConv_8nw.c \
405 mlib_ImageConvCopyEdge_Fp.c \
406 mlib_v_ImageChannelInsert_1.c \
407 mlib_v_ImageChannelExtract_43.c \
408 mlib_v_ImageChannelExtract_1.c \
409 mlib_ImageCopy_Bit.c \
410 mlib_v_ImageCopy_f.c \
411 mlib_ImageUtils.c \
412 mlib_ImageDivTables.c
413
erikjaf85fc42012-07-03 16:10:44 -0700414BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS))
erikje78df742012-06-07 20:40:50 -0700415
416$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\
erikjaf85fc42012-07-03 16:10:44 -0700417 LIBRARY:=mlib_image_v, \
418 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
419 SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
erikje78df742012-06-07 20:40:50 -0700420 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\
421 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700422 INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\
423 OPTIMIZATION:=HIGHEST, \
424 CFLAGS:=-xarch=sparcvis \
ohair46fcac92012-09-18 11:29:24 -0700425 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il\
erikjaf85fc42012-07-03 16:10:44 -0700426 $(BUILD_LIBMLIB_V_CFLAGS) \
427 $(CFLAGS_JDKLIB), \
428 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700429 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohairb71409c2012-10-26 14:23:29 -0700430 $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
erikje78df742012-06-07 20:40:50 -0700431 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -0800432 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -0700433 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v))
erikje78df742012-06-07 20:40:50 -0700434
ohairb71409c2012-10-26 14:23:29 -0700435$(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
436
erikjaf85fc42012-07-03 16:10:44 -0700437BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
erikje78df742012-06-07 20:40:50 -0700438
439endif
440
441##########################################################################################
442
erikjaf85fc42012-07-03 16:10:44 -0700443LIBAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -0700444 $(JDK_TOPDIR)/src/share/native/sun/awt \
ohair46fcac92012-09-18 11:29:24 -0700445 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikje78df742012-06-07 20:40:50 -0700446 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
447 $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
448 $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
erikje78df742012-06-07 20:40:50 -0700449 $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
450 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
451 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
452 $(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700453 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikje78df742012-06-07 20:40:50 -0700454 $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
455 $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
456 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
457 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700458 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
ohairb71409c2012-10-26 14:23:29 -0700459 $(JDK_TOPDIR)/src/share/native/sun/font
460
461ifeq ($(OPENJDK_TARGET_OS),windows)
462 LIBAWT_DIRS+=\
ohair46fcac92012-09-18 11:29:24 -0700463 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
464 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
465 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d
ohairb71409c2012-10-26 14:23:29 -0700466else
467 LIBAWT_DIRS+=\
468 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
469endif
erikje78df742012-06-07 20:40:50 -0700470
erikjaf85fc42012-07-03 16:10:44 -0700471LIBAWT_CFLAGS:=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
472 $(X_CFLAGS) \
erikje78df742012-06-07 20:40:50 -0700473 $(foreach dir,$(LIBAWT_DIRS),-I$(dir))
474
erikjaf85fc42012-07-03 16:10:44 -0700475LIBAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -0700476 gifdecoder.c \
477 imageInitIDs.c \
478 img_globals.c \
479 SurfaceData.c \
480 Region.c \
481 BufImgSurfaceData.c \
482 Disposer.c \
483 Trace.c \
484 GraphicsPrimitiveMgr.c \
485 Blit.c \
486 BlitBg.c \
487 ScaledBlit.c \
488 FillRect.c \
489 FillSpans.c \
490 FillParallelogram.c \
491 DrawParallelogram.c \
492 DrawLine.c \
493 DrawRect.c \
494 DrawPolygons.c \
495 DrawPath.c \
496 FillPath.c \
497 ProcessPath.c \
498 MaskBlit.c \
499 MaskFill.c \
500 TransformHelper.c \
501 AlphaMath.c \
502 AlphaMacros.c \
503 AnyByte.c \
504 ByteBinary1Bit.c \
505 ByteBinary2Bit.c \
506 ByteBinary4Bit.c \
507 ByteIndexed.c \
508 ByteGray.c \
509 Index8Gray.c \
510 Index12Gray.c \
511 AnyShort.c \
512 Ushort555Rgb.c \
513 Ushort565Rgb.c \
514 Ushort4444Argb.c \
515 Ushort555Rgbx.c \
516 UshortGray.c \
517 UshortIndexed.c \
518 Any3Byte.c \
519 ThreeByteBgr.c \
520 AnyInt.c \
521 IntArgb.c \
522 IntArgbPre.c \
523 IntArgbBm.c \
524 IntRgb.c \
525 IntBgr.c \
526 IntRgbx.c \
527 Any4Byte.c \
528 FourByteAbgr.c \
529 FourByteAbgrPre.c \
530 BufferedMaskBlit.c \
531 BufferedRenderPipe.c \
532 ShapeSpanIterator.c \
533 SpanClipRenderer.c \
534 awt_ImageRep.c \
535 awt_ImagingLib.c \
536 awt_Mlib.c \
537 awt_parseImage.c \
538 DataBufferNative.c \
539 dither.c \
540 debug_assert.c \
541 debug_mem.c \
542 debug_trace.c \
543 debug_util.c
544
ohair46fcac92012-09-18 11:29:24 -0700545ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux))
erikje78df742012-06-07 20:40:50 -0700546 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
547endif
548
erikjaf85fc42012-07-03 16:10:44 -0700549ifeq ($(OPENJDK_TARGET_OS),macosx)
ohair46fcac92012-09-18 11:29:24 -0700550 LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
erikje78df742012-06-07 20:40:50 -0700551 LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
552 LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
553 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
554
erikjaf85fc42012-07-03 16:10:44 -0700555 LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
erikje78df742012-06-07 20:40:50 -0700556endif
557
erikjaf85fc42012-07-03 16:10:44 -0700558ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
559 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
560 LIBAWT_CFLAGS += -xarch=sparcvis
ohair46fcac92012-09-18 11:29:24 -0700561 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
erikjaf85fc42012-07-03 16:10:44 -0700562 LIBAWT_CFLAGS += \
563 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
564 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
565 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
erikje78df742012-06-07 20:40:50 -0700566
erikjaf85fc42012-07-03 16:10:44 -0700567 LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
568 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
569
570 LIBAWT_FILES += \
571 vis_FuncArray.c \
572 java2d_Mlib.c \
573 mlib_ImageCreate.c \
574 mlib_ImageZoom_NN.c \
575 mlib_ImageCopy_Bit.c \
576 mlib_sys.c \
577 mlib_v_ImageClear.c \
578 mlib_v_ImageClear_f.c \
579 mlib_v_ImageConstXor.c \
580 mlib_v_ImageCopy.c \
581 mlib_v_ImageCopy_f.c \
582 mlib_v_ImageXor.c \
583 mlib_v_ImageZoom_NN_f.c \
584 vis_Interp.c \
585 vis_AlphaMacros.c \
586 vis_AlphaMaskBlit.c \
587 vis_AlphaMaskFill.c \
588 vis_ByteGray.c \
589 vis_ByteGray_FromRgb.c \
590 vis_ByteGray_Mask.c \
591 vis_ByteIndexed.c \
592 vis_DrawLine.c \
593 vis_FourByteAbgr.c \
594 vis_IntArgb.c \
595 vis_IntArgbPre.c \
596 vis_IntArgbPre_Mask.c \
597 vis_IntBgr.c \
598 vis_IntRgb.c \
599 vis_IntRgbx.c \
600 vis_SrcMaskFill.c \
601 vis_SrcOverMaskBlit.c \
602 vis_SrcOverMaskFill.c \
603 vis_FourByteAbgrPre.c \
604 vis_GlyphList.c \
605 vis_GlyphListXor.c \
606 vis_IntArgbBm.c \
607 vis_ThreeByteBgr.c \
608 vis_UshortGray.c \
609 vis_UshortGray_FromRgb.c \
610 vis_XorBlit.c \
611 mlib_v_ImageCopy_blk.s
612
ohair46fcac92012-09-18 11:29:24 -0700613 ifeq ($(OPENJDK_TARGET_CPU),sparcv9)
erikjaf85fc42012-07-03 16:10:44 -0700614 LIBAWT_ASFLAGS=-P -xarch=v9a
615 else
616 LIBAWT_ASFLAGS=-P -xarch=v8plusa
617 endif
erikje78df742012-06-07 20:40:50 -0700618else
619 LIBAWT_FILES += MapAccelFunc.c
620endif
621
erikjaf85fc42012-07-03 16:10:44 -0700622ifneq ($(OPENJDK_TARGET_OS),solaris)
erikje78df742012-06-07 20:40:50 -0700623 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
624endif
625
erikjaf85fc42012-07-03 16:10:44 -0700626LIBAWT_LANG:=C
erikje78df742012-06-07 20:40:50 -0700627
erikjaf85fc42012-07-03 16:10:44 -0700628ifeq ($(OPENJDK_TARGET_OS),windows)
erikje78df742012-06-07 20:40:50 -0700629 LIBAWT_FILES += AccelGlyphCache.c \
630 ShaderList.c \
631 CmdIDList.cpp \
632 Hashtable.cpp \
633 GDIHashtable.cpp \
634 Devices.cpp \
635 ObjectList.cpp \
636 GDIBlitLoops.cpp \
637 GDIRenderer.cpp \
638 GDIWindowSurfaceData.cpp \
639 WindowsFlags.cpp \
640 WPrinterJob.cpp \
641 awt_%.cpp \
642 D3DBlitLoops.cpp \
643 D3DBufImgOps.cpp \
644 D3DContext.cpp \
645 D3DGlyphCache.cpp \
646 D3DGraphicsDevice.cpp \
647 D3DMaskBlit.cpp \
648 D3DMaskCache.cpp \
649 D3DMaskFill.cpp \
650 D3DPipelineManager.cpp \
651 D3DPaints.cpp \
652 D3DRenderer.cpp \
653 D3DRenderQueue.cpp \
654 D3DResourceManager.cpp \
655 D3DSurfaceData.cpp \
656 D3DTextRenderer.cpp \
657 D3DVertexCacher.cpp \
658 ShellFolder2.cpp \
659 ThemeReader.cpp \
660 ComCtl32Util.cpp \
661 DllUtil.cpp \
662 initIDs.cpp \
663 MouseInfo.cpp \
ohairb71409c2012-10-26 14:23:29 -0700664 rect.c \
665 OGLBlitLoops.c \
666 OGLBufImgOps.c \
667 OGLContext.c \
668 OGLFuncs.c \
669 OGLMaskBlit.c \
670 OGLMaskFill.c \
671 OGLPaints.c \
672 OGLRenderQueue.c \
673 OGLRenderer.c \
674 OGLSurfaceData.c \
675 OGLTextRenderer.c \
676 OGLVertexCache.c \
677 WGLGraphicsConfig.c \
678 WGLSurfaceData.c
erikjaf85fc42012-07-03 16:10:44 -0700679 LIBAWT_LANG:=C++
ohair46fcac92012-09-18 11:29:24 -0700680 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
681 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
erikje78df742012-06-07 20:40:50 -0700682 LIBAWT_CFLAGS += -DMLIB_OS64BIT
683 endif
684
685 ifdef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -0700686 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
erikje78df742012-06-07 20:40:50 -0700687 else
erikjaf85fc42012-07-03 16:10:44 -0700688 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
erikje78df742012-06-07 20:40:50 -0700689 endif
erikjaf85fc42012-07-03 16:10:44 -0700690 LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
erikje78df742012-06-07 20:40:50 -0700691endif
692
693ifeq ($(MILESTONE), internal)
694 LIBAWT_CFLAGS += -DINTERNAL_BUILD
695endif
696
erikjaf85fc42012-07-03 16:10:44 -0700697LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
698ifeq ($(OPENJDK_TARGET_OS),linux)
699 LIBAWT_MAPFILE:=
erikje78df742012-06-07 20:40:50 -0700700endif
701
702$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
erikjaf85fc42012-07-03 16:10:44 -0700703 LIBRARY:=awt,\
704 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -0700705 SRC:=$(LIBAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -0700706 INCLUDE_FILES:=$(LIBAWT_FILES),\
erikje78df742012-06-07 20:40:50 -0700707 LANG:=$(LIBAWT_LANG),\
erikjaf85fc42012-07-03 16:10:44 -0700708 OPTIMIZATION:=LOW, \
709 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
710 ASFLAGS:=$(LIBAWT_ASFLAGS),\
711 MAPFILE:=$(LIBAWT_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700712 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -0700713 LDFLAGS_solaris:=-R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
714 LDFLAGS_SUFFIX_linux:=-ljvm $(LIBM) $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -0800715 LDFLAGS_SUFFIX_solaris:=-ljvm $(LIBM) $(LIBDL) -ljava -lc,\
ohair46fcac92012-09-18 11:29:24 -0700716 LDFLAGS_SUFFIX_macosx:=-lmlib_image -ljvm $(LIBM) \
717 -framework Cocoa \
718 -framework OpenGL \
719 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
720 -framework JavaNativeFoundation \
721 -framework JavaRuntimeSupport \
722 -framework ApplicationServices \
723 -framework AudioToolbox \
724 -ljava,\
ohairb71409c2012-10-26 14:23:29 -0700725 LDFLAGS_SUFFIX_windows:=kernel32.lib user32.lib gdi32.lib winspool.lib \
726 imm32.lib ole32.lib uuid.lib shell32.lib \
727 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
728 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
729 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
730 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
731 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
732 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
733 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll,\
erikjaf85fc42012-07-03 16:10:44 -0700734 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
735 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -0700736 -D "JDK_FNAME=awt.dll" \
737 -D "JDK_INTERNAL_NAME=awt" \
738 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700739 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt,\
740 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -0700741
erikjaf85fc42012-07-03 16:10:44 -0700742$(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700743
erikjaf85fc42012-07-03 16:10:44 -0700744ifeq ($(OPENJDK_TARGET_OS), macosx)
745$(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
746endif
747
748BUILD_LIBRARIES += $(BUILD_LIBAWT)
749
750##########################################################################################
751
752# TODO!!
753# Even though this variable as a general name, it is
754# only used on macos, in fontpath.c, as prefix for where to find fonts.
755#
756# It's used for libawt_headless _and_ libawt_xawt
757#
758X11_PATH:=/usr/X11R6
759
760ifneq ($(OPENJDK_TARGET_OS), windows)
761ifndef BUILD_HEADLESS_ONLY
762
763LIBAWT_XAWT_DIRS:=\
764 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
765 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
766 $(JDK_TOPDIR)/src/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -0700767 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -0700768 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
ohair46fcac92012-09-18 11:29:24 -0700769 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
770 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
771 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
772 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
erikjaf85fc42012-07-03 16:10:44 -0700773
774LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
775 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
776 $(CUPS_CFLAGS) \
777 $(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
778 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -0700779 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -0700780 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
781 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
782 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
783 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
784 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -0700785 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
erikjaf85fc42012-07-03 16:10:44 -0700786
787ifeq ($(OPENJDK_TARGET_OS),solaris)
788 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
789endif
790
791ifeq ($(MILESTONE),internal)
792 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
793endif
794
795LIBAWT_XAWT_FILES:=\
796 XlibWrapper.c \
797 XWindow.c \
798 XToolkit.c \
799 X11Color.c \
800 X11SurfaceData.c \
801 awt_GraphicsEnv.c \
802 awt_InputMethod.c \
803 robot_common.c \
804 awt_Robot.c \
805 list.c \
806 multiVis.c \
807 initIDs.c \
808 awt_util.c \
809 awt_Desktop.c \
810 awt_UNIXToolkit.c \
811 X11FontScaler_md.c \
812 X11TextRenderer_md.c \
813 fontpath.c \
814 awt_Insets.c \
815 awt_Event.c \
816 X11Renderer.c \
817 X11PMBlitLoops.c \
818 OGLBlitLoops.c \
819 OGLBufImgOps.c \
820 OGLContext.c \
821 OGLFuncs.c \
822 OGLMaskBlit.c \
823 OGLMaskFill.c \
824 OGLPaints.c \
825 OGLRenderQueue.c \
826 OGLRenderer.c \
827 OGLSurfaceData.c \
828 OGLTextRenderer.c \
829 OGLVertexCache.c \
830 GLXGraphicsConfig.c \
831 GLXSurfaceData.c \
832 AccelGlyphCache.c \
833 awt_Font.c \
834 multi_font.c \
835 awt_AWTEvent.c \
836 awt_DrawingSurface.c \
837 jawt.c \
838 CUPSfuncs.c \
839 debug_assert.c \
840 debug_mem.c \
841 debug_trace.c \
842 debug_util.c \
843 awt_Plugin.c \
844 gtk2_interface.c \
845 swing_GTKEngine.c \
846 swing_GTKStyle.c \
847 rect.c \
848 sun_awt_X11_GtkFileDialogPeer.c \
849 XRSurfaceData.c \
850 XRBackendNative.c
851
852LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
853
854ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -0700855 # To match old build, add this to LDFLAGS instead of suffix.
856 LIBAWT_XAWT_LDFLAGS += -lpthread
erikjaf85fc42012-07-03 16:10:44 -0700857endif
858
859ifeq ($(OPENJDK_TARGET_OS), macosx)
860 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
861endif
862
ohair46fcac92012-09-18 11:29:24 -0700863# On macosx, the shared library origin is set twice for this lib.
erikjaf85fc42012-07-03 16:10:44 -0700864$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
865 LIBRARY:=awt_xawt,\
866 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
867 SRC:=$(LIBAWT_XAWT_DIRS),\
868 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
869 LANG:=C,\
870 OPTIMIZATION:=LOW, \
871 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
872 $(X_CFLAGS),\
873 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
874 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700875 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS),\
876 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN) \
877 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
878 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
879 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
880 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
881 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
882 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
883 $(call SET_SHARED_LIBRARY_ORIGIN) \
884 $(call SET_SHARED_LIBRARY_ORIGIN,/..),\
885 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN) \
886 $(call SET_SHARED_LIBRARY_ORIGIN). \
887 $(call SET_SHARED_LIBRARY_ORIGIN) \
888 $(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -0700889 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -0700890 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
891 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700892 -D "JDK_FNAME=xawt.dll" \
893 -D "JDK_INTERNAL_NAME=xawt" \
894 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700895 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt))
896
897$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
898
899$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
900
901BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
902
903endif
904endif
905
906##########################################################################################
907
908BUILD_LIBZIP_FILES:=\
909 CRC32.c \
910 Adler32.c \
911 Deflater.c \
912 Inflater.c \
913 ZipFile.c \
914 zip_util.c
915
916ifeq ($(USE_EXTERNAL_LIBZ),true)
917 LIBZ:=-lz
918else
919BUILD_LIBZIP_FILES += \
920 compress.c \
921 deflate.c \
922 gzclose.c \
923 gzlib.c \
924 gzread.c \
925 gzwrite.c \
926 infback.c \
927 inffast.c \
928 inflate.c \
929 inftrees.c \
930 trees.c \
931 uncompr.c \
932 zadler32.c \
933 zcrc32.c \
934 zutil.c
935LIBZ_INCLUDE:=-I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
936endif
937
938BUILD_LIBZIP_REORDER:=
939ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700940 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
941 BUILD_LIBZIP_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700942 endif
943endif
944
945ifeq ($(LIBZIP_CAN_USE_MMAP), true)
946 BUILD_LIBZIP_MMAP:=-DUSE_MMAP
947endif
948
949$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
950 LIBRARY:=zip,\
951 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
952 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip \
953 $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
954 INCLUDE_FILES:=$(BUILD_LIBZIP_FILES), \
955 LANG:=C,\
956 OPTIMIZATION:=LOW, \
957 CFLAGS:=$(CFLAGS_JDKLIB) \
958 $(LIBZ_INCLUDE) \
959 -I$(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700960 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
erikjaf85fc42012-07-03 16:10:44 -0700961 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
962 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
963 REORDER:=$(BUILD_LIBZIP_REORDER), \
964 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700965 $(call SET_SHARED_LIBRARY_ORIGIN) \
erikjaf85fc42012-07-03 16:10:44 -0700966 $(EXPORT_ZIP_FUNCS), \
ohair46fcac92012-09-18 11:29:24 -0700967 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
erikjaf85fc42012-07-03 16:10:44 -0700968 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
969 $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700970 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -0800971 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
ohair46fcac92012-09-18 11:29:24 -0700972 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
973 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
974 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700975 -D "JDK_FNAME=zip.dll" \
976 -D "JDK_INTERNAL_NAME=zip" \
977 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700978 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
979 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700980
981$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
982
983BUILD_LIBRARIES += $(BUILD_LIBZIP)
984
985##########################################################################################
986
987$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
988 LIBRARY:=unpack, \
989 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
990 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
991 EXCLUDE_FILES:=main.cpp,\
992 LANG:=C++,\
993 OPTIMIZATION:=LOW, \
994 CFLAGS:=$(CXXFLAGS_JDKLIB) \
995 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
996 CFLAGS_release:=-DPRODUCT,\
997 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -0700998 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -0700999 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohairb71409c2012-10-26 14:23:29 -07001000 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
erikjaf85fc42012-07-03 16:10:44 -07001001 jvm.lib $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001002 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001003 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
1004 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1005 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001006 -D "JDK_FNAME=unpack.dll" \
1007 -D "JDK_INTERNAL_NAME=unpack" \
1008 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001009 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001010
1011$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
1012
1013BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
1014
ohair46fcac92012-09-18 11:29:24 -07001015ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001016 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
1017 $(ECHO) Copying $(@F)
1018 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
1019
1020 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
1021 $(ECHO) Copying $(@F)
1022 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
1023endif
1024
1025##########################################################################################
1026
1027LIBATTACH_EXCLUDE_FILES:=
1028ifneq ($(OPENJDK_TARGET_OS),solaris)
1029 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1030endif
1031ifneq ($(OPENJDK_TARGET_OS),linux)
1032 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1033endif
1034ifneq ($(OPENJDK_TARGET_OS),macosx)
1035 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1036endif
1037
1038$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1039 LIBRARY:=attach, \
1040 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001041 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
erikjaf85fc42012-07-03 16:10:44 -07001042 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1043 LANG:=C,\
1044 OPTIMIZATION:=LOW, \
1045 CFLAGS:=$(CFLAGS_JDKLIB),\
1046 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
ohair46fcac92012-09-18 11:29:24 -07001047 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1048 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001049 -D "JDK_FNAME=attach.dll" \
1050 -D "JDK_INTERNAL_NAME=attach" \
1051 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001052 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1053 $(call SET_SHARED_LIBRARY_ORIGIN),\
1054 LDFLAGS_solaris:=-ldoor,\
erikjaf85fc42012-07-03 16:10:44 -07001055 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001056 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001057 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
1058 DEBUG_SYMBOLS:=true))
1059
1060$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
1061
1062BUILD_LIBRARIES += $(BUILD_LIBATTACH)
1063
1064##########################################################################################
1065
1066$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
1067 LIBRARY:=dt_socket,\
1068 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1069 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001070 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\
erikjaf85fc42012-07-03 16:10:44 -07001071 LANG:=C,\
1072 OPTIMIZATION:=LOW, \
1073 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
1074 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1075 -I$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001076 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
erikjaf85fc42012-07-03 16:10:44 -07001077 -I$(JDK_TOPDIR)/src/share/back/export \
1078 -I$(JDK_TOPDIR)/src/share/back,\
1079 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001080 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1081 $(call SET_SHARED_LIBRARY_ORIGIN), \
1082 LDFLAGS_SUFFIX_linux:=-lpthread,\
erikj4f66f2d2012-11-03 16:27:01 -07001083 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\
ohair46fcac92012-09-18 11:29:24 -07001084 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
1085 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1086 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001087 -D "JDK_FNAME=dt_socket.dll" \
1088 -D "JDK_INTERNAL_NAME=dt_socket" \
1089 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001090 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
1091 DEBUG_SYMBOLS:=true))
1092
1093$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
1094
1095BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
1096
1097##########################################################################################
1098
ohair46fcac92012-09-18 11:29:24 -07001099ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001100
1101 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
1102 LIBRARY:=dt_shmem,\
1103 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1104 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
1105 $(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001106 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\
erikjaf85fc42012-07-03 16:10:44 -07001107 LANG:=C,\
1108 OPTIMIZATION:=LOW, \
1109 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
1110 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1111 -I$(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001112 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
erikjaf85fc42012-07-03 16:10:44 -07001113 -I$(JDK_TOPDIR)/src/share/back/export, \
1114 LDFLAGS:=$(LDFLAGS_JDKLIB),\
ohair46fcac92012-09-18 11:29:24 -07001115 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\
erikjaf85fc42012-07-03 16:10:44 -07001116 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001117 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1118 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001119 -D "JDK_FNAME=dt_shmem.dll" \
1120 -D "JDK_INTERNAL_NAME=dt_shmem" \
1121 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001122 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
1123 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001124
1125 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
1126
1127endif # OPENJDK_TARGET_OS
1128
1129##########################################################################################
ohair46fcac92012-09-18 11:29:24 -07001130# JDWP_LOGGING causes log messages to be compiled into the library.
erikjaf85fc42012-07-03 16:10:44 -07001131$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
1132 LIBRARY:=jdwp, \
1133 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001134 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\
erikjaf85fc42012-07-03 16:10:44 -07001135 LANG:=C,\
1136 OPTIMIZATION:=LOW, \
1137 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
1138 -I$(JDK_TOPDIR)/src/share/transport/export \
1139 -I$(JDK_TOPDIR)/src/share/back/export \
1140 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001141 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001142 -I$(JDK_TOPDIR)/src/share/back \
ohair46fcac92012-09-18 11:29:24 -07001143 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
erikjaf85fc42012-07-03 16:10:44 -07001144 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
1145 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001146 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1147 $(call SET_SHARED_LIBRARY_ORIGIN),\
1148 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001149 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001150 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001151 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1152 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001153 -D "JDK_FNAME=jdwp.dll" \
1154 -D "JDK_INTERNAL_NAME=jdwp" \
1155 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001156 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
1157 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001158
1159$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
1160
1161BUILD_LIBRARIES += $(BUILD_LIBJDWP)
1162
1163##########################################################################################
1164
1165LIBJAAS_MAPFILE:=
1166ifneq ($(OPENJDK_TARGET_OS),solaris)
1167 LIBJAAS_EXCLUDE_FILES:=Solaris.c
1168else
1169 # only on solaris...wonder why
1170 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
1171endif
1172
1173LIBJAAS_NAME:=jaas_unix
1174ifeq ($(OPENJDK_TARGET_OS), windows)
1175 LIBJAAS_NAME:=jaas_nt
1176endif
1177
1178$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
1179 LIBRARY:=$(LIBJAAS_NAME),\
1180 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001181 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\
erikjaf85fc42012-07-03 16:10:44 -07001182 LANG:=C,\
1183 OPTIMIZATION:=LOW, \
1184 CFLAGS:=$(CFLAGS_JDKLIB),\
1185 MAPFILE:=$(LIBJAAS_MAPFILE),\
1186 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
1187 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001188 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001189 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -08001190 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07001191 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
ohair46fcac92012-09-18 11:29:24 -07001192 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1193 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001194 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
1195 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
1196 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001197 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\
1198 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001199
1200$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
1201
1202BUILD_LIBRARIES += $(BUILD_LIBJAAS)
1203
1204##########################################################################################
1205
1206$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
1207 LIBRARY:=jsdt,\
1208 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1209 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
ohair46fcac92012-09-18 11:29:24 -07001210 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\
erikjaf85fc42012-07-03 16:10:44 -07001211 LANG:=C,\
1212 OPTIMIZATION:=LOW, \
1213 CFLAGS:=$(CFLAGS_JDKLIB)\
1214 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
1215 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
1216 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1217 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001218 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1219 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07001220 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001221 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001222 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1223 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001224 -D "JDK_FNAME=jsdt.dll" \
1225 -D "JDK_INTERNAL_NAME=jsdt" \
1226 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001227 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
ohair46fcac92012-09-18 11:29:24 -07001228 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001229
1230$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
1231
1232BUILD_LIBRARIES += $(BUILD_LIBJSDT)
1233
1234##########################################################################################
1235
1236ifdef OPENJDK
1237 # TODO: Update awt lib path when awt is converted
1238 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1239 LIBRARY:=lcms,\
1240 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1241 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms \
1242 $(JDK_TOPDIR)/src/share/native/sun/java2d/,\
1243 INCLUDE_FILES:=cmscam02.c cmscgats.c cmscnvrt.c cmserr.c \
1244 cmsgamma.c cmsgmt.c cmsintrp.c cmsio0.c \
1245 cmsio1.c cmslut.c cmsmd5.c cmsmtrx.c \
ohrstrom70c34532012-11-08 12:25:15 +01001246 cmsnamed.c cmsopt.c cmshalf.c cmspack.c cmspcs.c \
erikjaf85fc42012-07-03 16:10:44 -07001247 cmsplugin.c cmsps2.c cmssamp.c cmssm.c \
1248 cmstypes.c cmsvirt.c cmswtpnt.c cmsxform.c \
1249 LCMS.c,\
1250 LANG:=C,\
1251 OPTIMIZATION:=LOW, \
1252 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1253 $(SHARED_LIBRARY_FLAGS) \
1254 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1255 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1256 CFLAGS_solaris:=-xc99=no_lib,\
ohair46fcac92012-09-18 11:29:24 -07001257 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
erikjaf85fc42012-07-03 16:10:44 -07001258 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001259 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1260 $(call SET_SHARED_LIBRARY_ORIGIN), \
1261 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1262 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
tbell7d47bd02012-11-12 10:20:01 -08001263 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07001264 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1265 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1266 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1267 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001268 -D "JDK_FNAME=lcms.dll" \
1269 -D "JDK_INTERNAL_NAME=lcms" \
1270 -D "JDK_FTYPE=0x2L",\
1271 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
1272 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001273
1274 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1275
1276 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
1277endif
1278
1279##########################################################################################
1280
1281ifdef OPENJDK
1282 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1283else
1284 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1285 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1286 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1287endif
1288
1289BUILD_LIBJPEG_REORDER:=
1290ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001291 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1292 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07001293 endif
1294endif
1295
1296# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
1297# or 'vfork'": this warning indicates that some variable is placed to
1298# a register by optimized compiler and it's value might be lost on longjmp().
1299# Recommended way to avoid such warning is to declare the variable as
1300# volatile to prevent the optimization. However, this approach does not
1301# work because we have to declare all variables as volatile in result.
1302#ifndef CROSS_COMPILE_ARCH
1303# CC_43_OR_NEWER:=\
1304# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
1305# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
1306# ifeq ($(CC_43_OR_NEWER),1)
1307# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
1308# endif
1309#endif
1310
1311$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
1312 LIBRARY:=jpeg, \
1313 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1314 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
1315 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1316 LANG:=C,\
1317 OPTIMIZATION:=HIGHEST, \
1318 CFLAGS:=$(CFLAGS_JDKLIB) \
1319 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
1320 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1321 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
1322 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1323 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001324 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001325 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001326 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1327 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001328 -D "JDK_FNAME=jpeg.dll" \
1329 -D "JDK_INTERNAL_NAME=jpeg" \
1330 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001331 REORDER:=$(BUILD_LIBJPEG_REORDER),\
ohair46fcac92012-09-18 11:29:24 -07001332 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
1333 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001334
1335$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
1336
1337BUILD_LIBRARIES += $(BUILD_LIBJPEG)
1338
1339##########################################################################################
1340
1341ifndef OPENJDK
ohairb71409c2012-10-26 14:23:29 -07001342 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
erikjaf85fc42012-07-03 16:10:44 -07001343 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
1344 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
1345else
1346 FONT_HEADERS:=$(FREETYPE2_CFLAGS)
1347 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
1348 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
1349endif
1350
1351LIBFONTMANAGER_OPTIMIZATION:=HIGH
1352
1353ifeq ($(OPENJDK_TARGET_OS),windows)
1354 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1355 X11TextRenderer.c
1356 LIBFONTMANAGER_OPTIMIZATION:=LOW
1357else
1358 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1359 lcdglyph.c
1360endif
1361
1362BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1363 $(X_CFLAGS) \
1364 -DLE_STANDALONE -DHEADLESS \
1365 $(FONT_HEADERS) \
1366 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1367 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1368 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001369 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001370 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1371 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1372 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001373 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001374 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1375
1376# Turn off aliasing with GCC for ExtensionSubtables.cpp
1377ifeq ($(OPENJDK_TARGET_OS), linux)
1378 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1379endif
1380
1381$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1382 LIBRARY:=fontmanager, \
1383 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1384 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
ohair46fcac92012-09-18 11:29:24 -07001385 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
erikjaf85fc42012-07-03 16:10:44 -07001386 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1387 AccelGlyphCache.c,\
1388 LANG:=C++,\
1389 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1390 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1391 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
ohair46fcac92012-09-18 11:29:24 -07001392 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001393 -DCC_NOEX, \
1394 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
ohair46fcac92012-09-18 11:29:24 -07001395 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001396 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001397 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1398 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1399 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
ohairb71409c2012-10-26 14:23:29 -07001400 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1401 -ljava -ljvm,\
1402 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1403 $(WIN_AWT_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001404 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1405 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001406 -D "JDK_FNAME=fontmanager.dll" \
1407 -D "JDK_INTERNAL_NAME=fontmanager" \
1408 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001409 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
1410 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001411
1412$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1413
1414ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1415$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1416endif
1417
1418BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001419
1420##########################################################################################
1421
1422ifndef OPENJDK
1423
erikjaf85fc42012-07-03 16:10:44 -07001424# ifeq ($(OPENJDK_TARGET_OS), linux)
1425# ifeq ("$(CC_VER_MAJOR)", "3")
1426# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1427# endif
1428# endif
1429#
1430# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1431# the input .o files. Because of this the new build will differ in size to the old build.
1432 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1433 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1434 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1435 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -07001436 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -07001437 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1438 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001439 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001440 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1441
1442 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1443 LIBRARY:=t2k, \
1444 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1445 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1446 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1447 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1448 EXCLUDE_FILES:=orion.c,\
1449 LANG:=C++,\
1450 OPTIMIZATION:=HIGH, \
1451 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1452 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1453 CFLAGS_windows=-DCC_NOEX, \
1454 CXXFLAGS_windows=-DCC_NOEX, \
1455 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001456 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001457 $(call SET_SHARED_LIBRARY_ORIGIN),\
1458 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
ohair46fcac92012-09-18 11:29:24 -07001459 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
1460 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
1461 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1462 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001463 -D "JDK_FNAME=t2k.dll" \
1464 -D "JDK_INTERNAL_NAME=t2k" \
1465 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001466 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
1467 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001468
1469 # t2k is linked against fontmanager
1470 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1471
1472 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1473endif
1474
1475##########################################################################################
1476
erikjaf85fc42012-07-03 16:10:44 -07001477ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001478 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikjaf85fc42012-07-03 16:10:44 -07001479 KERNEL32_LIB:=kernel32.lib
1480 endif
1481 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1482 LIBRARY:=jawt, \
1483 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001484 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
erikjaf85fc42012-07-03 16:10:44 -07001485 INCLUDE_FILES:=jawt.cpp,\
1486 LANG:=C++,\
1487 OPTIMIZATION:=LOW, \
1488 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1489 -EHsc -DUNICODE -D_UNICODE \
ohair46fcac92012-09-18 11:29:24 -07001490 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001491 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1492 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1493 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001494 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \
1495 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001496 advapi32.lib $(WIN_AWT_LIB),\
1497 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001498 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1499 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001500 -D "JDK_FNAME=jawt.dll" \
1501 -D "JDK_INTERNAL_NAME=jawt" \
1502 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001503 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1504 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001505
1506$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1507
1508$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1509 $(ECHO) Copying $(@F)
ohair46fcac92012-09-18 11:29:24 -07001510 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
erikjaf85fc42012-07-03 16:10:44 -07001511
1512BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1513
1514else # OPENJDK_TARGET_OS not windows
1515
1516 JAWT_LIBS:=
1517 ifneq ($(OPENJDK_TARGET_OS), solaris)
1518 JAWT_LIBS += -lawt
1519 endif
1520
1521 ifndef BUILD_HEADLESS_ONLY
1522 JAWT_LIBS += -lawt_xawt
1523 else
1524 JAWT_LIBS += -lawt_headless
1525 HEADLESS_CFLAG += -DHEADLESS
1526 endif
1527
1528 JAWT_FILES:=jawt.c
1529 ifeq ($(OPENJDK_TARGET_OS), macosx)
1530 JAWT_FILES:=jawt.m
1531 JAWT_LIBS:=-lawt_lwawt
1532 endif
1533
1534 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1535 LIBRARY:=jawt, \
1536 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001537 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001538 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1539 INCLUDE_FILES:=$(JAWT_FILES),\
1540 LANG:=C,\
1541 OPTIMIZATION:=LOW, \
1542 CFLAGS:=$(CFLAGS_JDKLIB), \
1543 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1544 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1545 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1546 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1547 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001548 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1549 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1550 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1551 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1552 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07001553 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
1554
1555ifndef BUILD_HEADLESS_ONLY
1556$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1557else
1558$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1559endif
1560
1561ifeq ($(OPENJDK_TARGET_OS),macosx)
1562$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1563endif
1564
1565endif # OPENJDK_TARGET_OS
1566
1567BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1568
1569##########################################################################################
1570
ohair46fcac92012-09-18 11:29:24 -07001571LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1572 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
1573 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
erikjaf85fc42012-07-03 16:10:44 -07001574
ohair46fcac92012-09-18 11:29:24 -07001575LIBINSTRUMENT_FILES :=\
erikjaf85fc42012-07-03 16:10:44 -07001576 EncodingSupport.c \
1577 EncodingSupport_md.c \
1578 FileSystemSupport_md.c \
1579 InstrumentationImplNativeMethods.c \
1580 InvocationAdapter.c \
1581 JarFacade.c \
1582 JPLISAgent.c \
1583 JPLISAssert.c \
1584 JavaExceptions.c \
1585 PathCharsValidator.c \
1586 Reentrancy.c \
1587 Utilities.c \
1588 canonicalize_md.c
1589
ohair46fcac92012-09-18 11:29:24 -07001590LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1591LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
1592 -I$(JDK_TOPDIR)/src/share/instrument \
1593 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
1594 -I$(JDK_TOPDIR)/src/share/bin
erikjaf85fc42012-07-03 16:10:44 -07001595
ohair46fcac92012-09-18 11:29:24 -07001596LIBINSTRUMENT_LDFLAGS:=
1597LIBINSTRUMENT_LDFLAGS_SUFFIX:=
erikjaf85fc42012-07-03 16:10:44 -07001598
1599ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001600 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1601 -export:Agent_OnAttach advapi32.lib
1602 # Statically link the C runtime so that there are not dependencies on modules
1603 # not on the search patch when invoked from the Windows system directory
1604 # (or elsewhere).
1605 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
1606 # equivalent of strcasecmp is stricmp on Windows
1607 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
erikjaf85fc42012-07-03 16:10:44 -07001608endif
1609
1610$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1611 LIBRARY:=instrument, \
1612 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001613 SRC:=$(LIBINSTRUMENT_SRC),\
1614 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07001615 LANG:=C,\
1616 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07001617 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07001618 CFLAGS_debug:=-DJPLIS_LOGGING,\
1619 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1620 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001621 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1622 $(call SET_SHARED_LIBRARY_ORIGIN) \
1623 $(LIBINSTRUMENT_LDFLAGS),\
1624 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1625 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1626 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1627 -framework Cocoa -framework Security -framework ApplicationServices,\
1628 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1629 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08001630 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001631 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1632 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1633 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001634 -D "JDK_FNAME=instrument.dll" \
1635 -D "JDK_INTERNAL_NAME=instrument" \
1636 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001637 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
erikjaf85fc42012-07-03 16:10:44 -07001638 DEBUG_SYMBOLS:=true))
1639
1640ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1641$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1642else
1643$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1644endif
1645$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1646
1647BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1648
1649##########################################################################################
1650
1651BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
ohair46fcac92012-09-18 11:29:24 -07001652 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1653 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
erikjaf85fc42012-07-03 16:10:44 -07001654
1655BUILD_LIBMANAGEMENT_EXCLUDES:=
1656
1657BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1658
1659ifneq ($(OPENJDK_TARGET_OS), windows)
1660 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1661else
1662 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1663endif
1664
1665ifneq ($(OPENJDK_TARGET_OS),solaris)
1666 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1667endif
1668
1669ifneq ($(OPENJDK_TARGET_OS),linux)
1670 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1671endif
1672
1673ifneq ($(OPENJDK_TARGET_OS),macosx)
1674 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1675endif
1676
ohair46fcac92012-09-18 11:29:24 -07001677LIBMANAGEMENT_OPTIMIZATION:=HIGH
1678ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
1679 ifeq ($(ENABLE_DEBUG_SYMBOLS), yes)
1680 LIBMANAGEMENT_OPTIMIZATION:=LOW
1681 endif
1682endif
erikjaf85fc42012-07-03 16:10:44 -07001683
1684$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1685 LIBRARY:=management,\
1686 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1687 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1688 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1689 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001690 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001691 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1692 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1693 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1694 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07001695 LDFLAGS_solaris:=-lkstat,\
1696 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001697 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001698 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1699 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001700 -D "JDK_FNAME=management.dll" \
1701 -D "JDK_INTERNAL_NAME=management" \
1702 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001703 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1704 DEBUG_SYMBOLS:=true))
1705
1706$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1707
1708BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1709
1710##########################################################################################
1711
ohair46fcac92012-09-18 11:29:24 -07001712BUILD_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 -07001713BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1714 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001715 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001716 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1717
1718BUILD_LIBHPROF_LDFLAGS:=
1719
ohair46fcac92012-09-18 11:29:24 -07001720LIBHPROF_OPTIMIZATION:=HIGHEST
1721ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
1722 ifeq ($(ENABLE_DEBUG_SYMBOLS), yes)
1723 LIBHPROF_OPTIMIZATION:=LOW
1724 endif
1725endif
1726
erikjaf85fc42012-07-03 16:10:44 -07001727$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1728 LIBRARY:=hprof, \
1729 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1730 SRC:=$(BUILD_LIBHPROF_SRC),\
1731 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001732 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001733 CFLAGS:=$(CFLAGS_JDKLIB) \
1734 $(BUILD_LIBHPROF_CFLAGS),\
1735 CFLAGS_debug:=-DHPROF_LOGGING,\
1736 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1737 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1738 $(call SET_SHARED_LIBRARY_ORIGIN),\
1739 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
tbell7d47bd02012-11-12 10:20:01 -08001740 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1741 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
1742 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001743 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1744 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001745 -D "JDK_FNAME=hprof.dll" \
1746 -D "JDK_INTERNAL_NAME=hprof" \
1747 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001748 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1749 DEBUG_SYMBOLS:=true))
1750
1751BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1752
1753##########################################################################################
1754
1755$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1756 LIBRARY:=java_crw_demo, \
1757 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1758 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1759 LANG:=C,\
1760 OPTIMIZATION:=LOW, \
1761 CFLAGS:=$(CFLAGS_JDKLIB) \
1762 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1763 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1764 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1765 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08001766 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001767 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1768 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001769 -D "JDK_FNAME=java_crw_demo.dll" \
1770 -D "JDK_INTERNAL_NAME=java_crw_demo" \
1771 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001772 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1773 DEBUG_SYMBOLS:=true))
1774
1775BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1776
1777##########################################################################################
1778
1779$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1780 LIBRARY:=npt, \
1781 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001782 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001783 LANG:=C,\
1784 OPTIMIZATION:=LOW, \
1785 CFLAGS:=$(CFLAGS_JDKLIB) \
1786 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001787 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001788 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1789 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1790 $(call SET_SHARED_LIBRARY_ORIGIN),\
1791 LDFLAGS_macosx:=-liconv,\
1792 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
erikj4f66f2d2012-11-03 16:27:01 -07001793 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -07001794 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1795 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001796 -D "JDK_FNAME=npt.dll" \
1797 -D "JDK_INTERNAL_NAME=npt" \
1798 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001799 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1800 DEBUG_SYMBOLS:=true))
1801
1802BUILD_LIBRARIES += $(BUILD_LIBNPT)
1803
1804##########################################################################################
1805
1806LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001807 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1808 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
ohair46fcac92012-09-18 11:29:24 -07001809 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
erikjaf85fc42012-07-03 16:10:44 -07001810
ohairb71409c2012-10-26 14:23:29 -07001811ifeq ($(OPENJDK_TARGET_OS),windows)
1812 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1813else
1814 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1815endif
1816
erikjaf85fc42012-07-03 16:10:44 -07001817LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1818
1819LIBNET_EXCLUDE_FILES:=
1820ifneq ($(OPENJDK_TARGET_OS),linux)
1821 LIBNET_EXCLUDE_FILES += linux_close.c
1822endif
1823
1824ifneq ($(OPENJDK_TARGET_OS),macosx)
1825 LIBNET_EXCLUDE_FILES += bsd_close.c
1826endif
1827
1828ifeq ($(OPENJDK_TARGET_OS),windows)
1829 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1830else
1831 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1832 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1833 NTLMAuthSequence.c NetworkInterface_winXP.c
1834endif
1835
erikjaf85fc42012-07-03 16:10:44 -07001836$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1837 LIBRARY:=net,\
1838 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1839 SRC:=$(LIBNET_SRC_DIRS),\
1840 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1841 LANG:=C,\
1842 OPTIMIZATION:=LOW, \
1843 CFLAGS:=$(CFLAGS_JDKLIB) \
1844 $(LIBNET_CFLAGS),\
1845 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1846 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1847 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001848 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
erikj4f66f2d2012-11-03 16:27:01 -07001849 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
ohair46fcac92012-09-18 11:29:24 -07001850 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
ohairb71409c2012-10-26 14:23:29 -07001851 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1852 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1853 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
ohair46fcac92012-09-18 11:29:24 -07001854 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1855 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001856 -D "JDK_FNAME=net.dll" \
1857 -D "JDK_INTERNAL_NAME=net" \
1858 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001859 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
1860 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001861
1862$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1863
1864BUILD_LIBRARIES += $(BUILD_LIBNET)
1865
1866$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
ohairb71409c2012-10-26 14:23:29 -07001867 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001868 $(MKDIR) -p $(@D)
1869 $(CP) $< $@
1870
1871COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1872
1873ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001874$(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 -07001875 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001876 $(MKDIR) -p $(@D)
1877 $(CP) $< $@
1878
1879COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1880endif
1881
1882##########################################################################################
1883
1884BUILD_LIBNIO_SRC:=\
ohair46fcac92012-09-18 11:29:24 -07001885 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
1886 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1887 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
erikjaf85fc42012-07-03 16:10:44 -07001888
1889BUILD_LIBNIO_CFLAGS:=\
1890 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1891 -I$(JDK_TOPDIR)/src/share/native/java/io \
1892 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001893 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
erikjaf85fc42012-07-03 16:10:44 -07001894
1895BUILD_LIBNIO_FILES:=\
1896 DatagramChannelImpl.c \
1897 DatagramDispatcher.c \
1898 FileChannelImpl.c \
1899 FileDispatcherImpl.c \
1900 FileKey.c \
1901 IOUtil.c \
1902 MappedByteBuffer.c \
1903 Net.c \
1904 ServerSocketChannelImpl.c \
1905 SocketChannelImpl.c \
1906 SocketDispatcher.c
1907
1908ifeq ($(OPENJDK_TARGET_OS), windows)
1909 BUILD_LIBNIO_FILES += \
1910 Iocp.c \
1911 RegistryFileTypeDetector.c \
1912 WindowsAsynchronousFileChannelImpl.c \
1913 WindowsAsynchronousServerSocketChannelImpl.c \
1914 WindowsAsynchronousSocketChannelImpl.c \
1915 WindowsNativeDispatcher.c \
1916 WindowsSelectorImpl.c
1917endif
1918
1919ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -07001920 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001921 BUILD_LIBNIO_FILES += \
1922 EPoll.c \
1923 EPollArrayWrapper.c \
1924 EPollPort.c \
1925 InheritedChannel.c \
1926 NativeThread.c \
ohair46fcac92012-09-18 11:29:24 -07001927 PollArrayWrapper.c \
erikjaf85fc42012-07-03 16:10:44 -07001928 UnixAsynchronousServerSocketChannelImpl.c \
1929 UnixAsynchronousSocketChannelImpl.c \
1930 GnomeFileTypeDetector.c \
1931 LinuxNativeDispatcher.c \
1932 LinuxWatchService.c \
1933 UnixCopyFile.c \
1934 UnixNativeDispatcher.c
1935endif
1936
1937ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07001938 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001939 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1940 BUILD_LIBNIO_FILES += \
1941 InheritedChannel.c \
1942 NativeThread.c \
1943 PollArrayWrapper.c \
1944 UnixAsynchronousServerSocketChannelImpl.c \
1945 UnixAsynchronousSocketChannelImpl.c \
erikjaf85fc42012-07-03 16:10:44 -07001946 BsdNativeDispatcher.c \
ohair46fcac92012-09-18 11:29:24 -07001947 MacOSXNativeDispatcher.c \
erikjaf85fc42012-07-03 16:10:44 -07001948 UnixCopyFile.c \
1949 UnixNativeDispatcher.c \
1950 KQueue.c \
1951 KQueuePort.c \
1952 KQueueArrayWrapper.c
1953endif
1954
1955ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001956 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001957 BUILD_LIBNIO_FILES += \
1958 DevPollArrayWrapper.c \
1959 InheritedChannel.c \
1960 NativeThread.c \
1961 PollArrayWrapper.c \
1962 SolarisEventPort.c \
1963 UnixAsynchronousServerSocketChannelImpl.c \
1964 UnixAsynchronousSocketChannelImpl.c \
1965 GnomeFileTypeDetector.c \
1966 SolarisNativeDispatcher.c \
1967 SolarisWatchService.c \
1968 UnixCopyFile.c \
1969 UnixNativeDispatcher.c
1970endif
1971
1972$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1973 LIBRARY:=nio,\
1974 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1975 SRC:=$(BUILD_LIBNIO_SRC),\
1976 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1977 LANG:=C,\
1978 OPTIMIZATION:=HIGH, \
1979 CFLAGS:=$(CFLAGS_JDKLIB) \
1980 $(BUILD_LIBNIO_CFLAGS),\
1981 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1982 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1983 $(call SET_SHARED_LIBRARY_ORIGIN),\
1984 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
ohair46fcac92012-09-18 11:29:24 -07001985 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
1986 -lsendfile -ljava -lnet -lc,\
ohairb71409c2012-10-26 14:23:29 -07001987 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
1988 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
erikjaf85fc42012-07-03 16:10:44 -07001989 $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
ohairb71409c2012-10-26 14:23:29 -07001990 $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj \
1991 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001992 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
erikjaf85fc42012-07-03 16:10:44 -07001993 LDFLAGS_SUFFIX:=,\
ohair46fcac92012-09-18 11:29:24 -07001994 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1995 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001996 -D "JDK_FNAME=nio.dll" \
1997 -D "JDK_INTERNAL_NAME=nio" \
1998 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001999 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
2000 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002001
2002BUILD_LIBRARIES += $(BUILD_LIBNIO)
2003
2004$(BUILD_LIBNIO) : $(BUILD_LIBNET)
2005
2006##########################################################################################
2007
2008ifeq ($(OPENJDK_TARGET_OS_API),posix)
2009 # TODO make this work on macosx
2010 ifneq ($(OPENJDK_TARGET_OS),macosx)
2011
2012 SCTP_WERROR := -Werror
2013 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2014 SCTP_WERROR :=
2015 endif
2016
2017 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
2018 LIBRARY:=sctp,\
2019 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07002020 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
erikjaf85fc42012-07-03 16:10:44 -07002021 LANG:=C,\
2022 OPTIMIZATION:=LOW, \
2023 CFLAGS:=$(CFLAGS_JDKLIB)\
2024 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
2025 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
2026 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07002027 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
2028 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
erikjaf85fc42012-07-03 16:10:44 -07002029 CFLAGS_linux:=$(SCTP_WERROR),\
2030 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
2031 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2032 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002033 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002034 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
erikj4f66f2d2012-11-03 16:27:01 -07002035 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07002036 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002037 INCLUDE_FILES:=SctpNet.c SctpChannelImpl.c SctpServerChannelImpl.c,\
2038 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp))
2039
2040 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
2041
2042 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
2043 endif
2044endif
2045
2046##########################################################################################
2047
ohair46fcac92012-09-18 11:29:24 -07002048BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
2049LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
erikjaf85fc42012-07-03 16:10:44 -07002050
2051BUILD_LIBJLI_FILES:=\
2052 java.c \
2053 splashscreen_stubs.c \
2054 parse_manifest.c \
2055 version_comp.c \
2056 wildcard.c \
2057 jli_util.c
2058
2059ifeq ($(JVM_VARIANT_ZERO), true)
2060 ERGO_FAMILY:=zero
ohair46fcac92012-09-18 11:29:24 -07002061else
2062 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
erikjaf85fc42012-07-03 16:10:44 -07002063 ERGO_FAMILY:=i586
ohair46fcac92012-09-18 11:29:24 -07002064 else
2065 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
2066 endif
2067endif
erikjaf85fc42012-07-03 16:10:44 -07002068
2069ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002070 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
erikjaf85fc42012-07-03 16:10:44 -07002071 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
2072 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
2073
2074 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2075 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2076endif
2077
2078ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002079 BUILD_LIBJLI_FILES += java_md.c \
2080 cmdtoargs.c
2081 # Staticically link with c runtime on windows.
2082 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
erikjaf85fc42012-07-03 16:10:44 -07002083else ifneq ($(OPENJDK_TARGET_OS), macosx)
2084
2085 BUILD_LIBJLI_FILES += java_md_common.c
2086 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
2087
2088 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2089
2090 # if the architecture specific ergo file exists then
2091 # use it, else use the generic definitions from ergo.c
ohair46fcac92012-09-18 11:29:24 -07002092 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
erikjaf85fc42012-07-03 16:10:44 -07002093 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2094 else # !ERGO_ARCH_FILE
ohair46fcac92012-09-18 11:29:24 -07002095 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
erikjaf85fc42012-07-03 16:10:44 -07002096 endif # ERGO_ARCH_FILE
2097endif #WINDOWS
2098
ohair46fcac92012-09-18 11:29:24 -07002099# Append defines depending on target platform
2100LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002101
2102ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002103 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
erikjaf85fc42012-07-03 16:10:44 -07002104endif
2105
2106ifneq ($(USE_EXTERNAL_LIBZ),true)
2107 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
ohair46fcac92012-09-18 11:29:24 -07002108 LIBJLI_CFLAGS += $(LIBZ_INCLUDE)
erikjaf85fc42012-07-03 16:10:44 -07002109 BUILD_LIBJLI_FILES += \
2110 inflate.c \
2111 inftrees.c \
2112 inffast.c \
2113 zadler32.c \
2114 zcrc32.c \
2115 zutil.c
2116endif
2117
2118ifeq ($(OPENJDK_TARGET_OS), windows)
2119 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2120else
2121 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2122endif
2123
2124$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2125 LIBRARY:=jli,\
2126 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2127 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2128 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2129 LANG:=C,\
2130 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002131 CFLAGS:=$(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002132 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2133 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2134 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002135 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2136 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2137 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2138 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2139 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2140 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
erikjaf85fc42012-07-03 16:10:44 -07002141 LDFLAGS_SUFFIX_windows:=\
2142 -export:JLI_Launch \
2143 -export:JLI_ManifestIterate \
2144 -export:JLI_SetTraceLauncher \
2145 -export:JLI_ReportErrorMessage \
2146 -export:JLI_ReportErrorMessageSys \
2147 -export:JLI_ReportMessage \
2148 -export:JLI_ReportExceptionDescription \
ohair46fcac92012-09-18 11:29:24 -07002149 -export:JLI_MemAlloc \
2150 -export:JLI_CmdToArgs \
2151 -export:JLI_GetStdArgc \
2152 -export:JLI_GetStdArgs \
erikjaf85fc42012-07-03 16:10:44 -07002153 advapi32.lib \
2154 comctl32.lib \
2155 user32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002156 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2157 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07002158 -D "JDK_FNAME=jli.dll" \
2159 -D "JDK_INTERNAL_NAME=jli" \
2160 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002161 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
2162 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002163
2164BUILD_LIBRARIES += $(BUILD_LIBJLI)
2165
2166# On windows, the static library has the same suffix as the import library created by
2167# with the shared library, so the static library is given a different name. No harm
2168# in doing it for all platform to reduce complexity.
2169ifeq ($(OPENJDK_TARGET_OS), windows)
2170 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2171 STATIC_LIBRARY:=jli_static,\
2172 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2173 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2174 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2175 LANG:=C,\
2176 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002177 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002178 ARFLAGS:=$(ARFLAGS),\
2179 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2180
2181BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2182
2183else ifeq ($(OPENJDK_TARGET_OS),macosx)
2184 #
2185 # On macosx they do partial (incremental) linking of libjli_static.a
2186 # code it here...rather than add support to NativeCompilation
2187 # as this is first time I see it
2188 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2189 LIBRARY:=jli_static, \
2190 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2191 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2192 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2193 LANG:=C,\
2194 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002195 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002196 LDFLAGS:=-nostdlib -r,\
2197 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2198
2199$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
2200 $(CP) -a $< $@
2201
2202BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2203endif
2204
2205##########################################################################################
2206
ohairb71409c2012-10-26 14:23:29 -07002207ifndef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -07002208ifeq ($(ENABLE_JFR), true)
2209
2210$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2211 LIBRARY:=jfr,\
2212 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2213 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2214 LANG:=C,\
2215 OPTIMIZATION:=LOW, \
2216 CFLAGS:=$(CFLAGS_JDKLIB) \
2217 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2218 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2219 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2220 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002221 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2222 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002223 -D "JDK_FNAME=jfr.dll" \
2224 -D "JDK_INTERNAL_NAME=jfr" \
2225 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002226 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
2227 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002228
2229BUILD_LIBRARIES += $(BUILD_LIBJFR)
2230
2231endif
ohairb71409c2012-10-26 14:23:29 -07002232endif
erikjaf85fc42012-07-03 16:10:44 -07002233
2234##########################################################################################
2235
2236ifndef OPENJDK
2237
2238BUILD_LIBKCMS_EXCLUDE_FILES:=
2239ifeq ($(OPENJDK_TARGET_OS),windows)
2240 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2241else
2242 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2243endif
2244
2245BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2246
2247ifeq ($(OPENJDK_TARGET_OS),solaris)
2248 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2249 # implement it like this...since it's only used here
2250 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2251else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2252 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2253endif
2254
2255$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2256 LIBRARY:=kcms,\
2257 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2258 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2259 LANG:=C,\
2260 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2261 OPTIMIZATION:=LOW, \
2262 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2263 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2264 CFLAGS_linux:=-Wno-missing-field-initializers,\
2265 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2266 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2267 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002268 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
erikjaf85fc42012-07-03 16:10:44 -07002269 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
2270 LDFLAGS_SUFFIX:=-lm $(LDFLAGS_JDKLIB_SUFFIX),\
2271 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
ohair46fcac92012-09-18 11:29:24 -07002272 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2273 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002274 -D "JDK_FNAME=kcms.dll" \
2275 -D "JDK_INTERNAL_NAME=kcms" \
2276 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002277 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
2278 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002279
2280$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2281
2282BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2283
2284endif
2285
2286##########################################################################################
2287
2288ifndef OPENJDK
2289ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002290ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikjaf85fc42012-07-03 16:10:44 -07002291
2292ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2293
2294SUNWJDGA_MAPFILE:=
ohair46fcac92012-09-18 11:29:24 -07002295ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
erikjaf85fc42012-07-03 16:10:44 -07002296 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2297endif
2298
2299$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2300 LIBRARY:=sunwjdga,\
2301 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2302 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2303 LANG:=C, \
2304 OPTIMIZATION:=LOW, \
2305 CFLAGS:=$(CFLAGS_JDKLIB) \
2306 -I$(JDK_TOPDIR)/src/share/javavm/export \
ohair46fcac92012-09-18 11:29:24 -07002307 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
erikjaf85fc42012-07-03 16:10:44 -07002308 -I$(OPENWIN_HOME)/include, \
2309 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2310 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2311 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002312 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 -07002313 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga))
2314
2315BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2316
2317endif
2318endif
2319endif
2320endif
2321
2322##########################################################################################
2323
2324ifeq ($(BUILD_HEADLESS), true)
2325ifneq ($(OPENJDK_TARGET_OS), windows)
2326
2327LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2328 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2329 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2330 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2331 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2332 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2333
2334LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2335 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2336 $(CUPS_CFLAGS) \
2337 $(X_CFLAGS) \
2338 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -07002339 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07002340 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2341 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2342 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2343 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2344 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -07002345 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
erikjaf85fc42012-07-03 16:10:44 -07002346 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2347
2348LIBAWT_HEADLESS_FILES:=\
2349 awt_Font.c \
2350 HeadlessToolkit.c \
2351 fontpath.c \
2352 VDrawingArea.c \
2353 X11Color.c \
2354 X11Renderer.c \
2355 X11PMBlitLoops.c \
2356 X11SurfaceData.c \
2357 X11FontScaler_md.c \
2358 X11TextRenderer_md.c \
2359 OGLBlitLoops.c \
2360 OGLBufImgOps.c \
2361 OGLContext.c \
2362 OGLFuncs.c \
2363 OGLMaskBlit.c \
2364 OGLMaskFill.c \
2365 OGLPaints.c \
2366 OGLRenderQueue.c \
2367 OGLRenderer.c \
2368 OGLSurfaceData.c \
2369 OGLTextRenderer.c \
2370 OGLVertexCache.c \
2371 GLXGraphicsConfig.c \
2372 GLXSurfaceData.c \
2373 AccelGlyphCache.c \
2374 CUPSfuncs.c
2375
erikjaf85fc42012-07-03 16:10:44 -07002376LIBAWT_HEADLESS_REORDER:=
2377ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002378 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
2379 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07002380 endif
2381endif
2382
2383$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2384 LIBRARY:=awt_headless,\
2385 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2386 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2387 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2388 LANG:=C,\
2389 OPTIMIZATION:=LOW, \
2390 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002391 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
erikjaf85fc42012-07-03 16:10:44 -07002392 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2393 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002394 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2395 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2396 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2397 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2398 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -07002399 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
ohair46fcac92012-09-18 11:29:24 -07002400 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -08002401 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
2402 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07002403 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless))
2404
2405$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2406
2407BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2408
2409endif
2410endif
2411
2412##########################################################################################
2413
2414ifndef BUILD_HEADLESS_ONLY
2415LIBSPLASHSCREEN_DIRS:=\
2416 $(JDK_TOPDIR)/src/share/native/sun/awt/giflib \
2417 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2418 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
2419 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen \
ohair46fcac92012-09-18 11:29:24 -07002420 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
erikjaf85fc42012-07-03 16:10:44 -07002421
2422LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2423 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2424
2425ifeq ($(OPENJDK_TARGET_OS), macosx)
2426 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2427 $(LIBSPLASHSCREEN_CFLAGS) \
2428 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2429 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2430 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2431
2432 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2433 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2434 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2435 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2436 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2437 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2438 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2439
2440else ifneq ($(OPENJDK_TARGET_OS), windows)
2441 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2442else
2443 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2444endif
2445
2446LIBSPLASHSCREEN_FILES:=\
2447 java_awt_SplashScreen.c \
2448 splashscreen_gfx_impl.c \
2449 splashscreen_gif.c \
2450 splashscreen_impl.c \
2451 splashscreen_jpeg.c \
2452 splashscreen_png.c \
2453 png.c \
2454 pngerror.c \
2455 pngget.c \
2456 pngmem.c \
2457 pngpread.c \
2458 pngread.c \
2459 pngrio.c \
2460 pngrtran.c \
2461 pngrutil.c \
2462 pngset.c \
2463 pngtrans.c \
2464 pngwio.c \
2465 pngwrite.c \
2466 pngwtran.c \
2467 pngwutil.c \
2468 dgif_lib.c \
2469 gif_err.c \
2470 gifalloc.c \
2471 jcomapi.c \
2472 jdapimin.c \
2473 jdapistd.c \
2474 jdcoefct.c \
2475 jdcolor.c \
2476 jddctmgr.c \
2477 jdhuff.c \
2478 jdinput.c \
2479 jdmainct.c \
2480 jdmarker.c \
2481 jdmaster.c \
2482 jdmerge.c \
2483 jdphuff.c \
2484 jdpostct.c \
2485 jdsample.c \
2486 jerror.c \
2487 jidctflt.c \
2488 jidctfst.c \
2489 jidctint.c \
2490 jidctred.c \
2491 jmemmgr.c \
2492 jmemnobs.c \
2493 jquant1.c \
2494 jquant2.c \
2495 jutils.c \
2496 jcapimin.c \
2497 jcapistd.c \
2498 jccoefct.c \
2499 jccolor.c \
2500 jcdctmgr.c \
2501 jchuff.c \
2502 jcinit.c \
2503 jcmainct.c \
2504 jcmarker.c \
2505 jcmaster.c \
2506 jcparam.c \
2507 jcphuff.c \
2508 jcprepct.c \
2509 jcsample.c \
2510 jctrans.c \
2511 jdtrans.c \
2512 jfdctflt.c \
2513 jfdctfst.c \
2514 jfdctint.c
2515
2516ifneq ($(OPENJDK_TARGET_OS), macosx)
2517LIBSPLASHSCREEN_FILES += splashscreen_sys.c
2518else
2519LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2520LIBSPLASHSCREEN_FILES += splashscreen_sys.m
2521endif
2522
2523LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2524
2525ifneq ($(USE_EXTERNAL_LIBZ),true)
2526 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
2527 LIBSPLASHSCREEN_CFLAGS += $(LIBZ_INCLUDE)
2528 LIBSPLASHSCREEN_FILES += \
2529 compress.c \
2530 deflate.c \
2531 gzclose.c \
2532 gzlib.c \
2533 gzread.c \
2534 gzwrite.c \
2535 infback.c \
2536 inffast.c \
2537 inflate.c \
2538 inftrees.c \
2539 trees.c \
2540 uncompr.c \
2541 zadler32.c \
2542 zcrc32.c \
2543 zutil.c
2544endif
2545
2546ifeq ($(OPENJDK_TARGET_OS), macosx)
2547 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2548 -framework ApplicationServices \
2549 -framework Foundation \
2550 -framework Cocoa \
2551 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2552 -framework JavaNativeFoundation
2553else ifneq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002554 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
erikjaf85fc42012-07-03 16:10:44 -07002555else # OPENJDK_TARGET_OS
ohairb71409c2012-10-26 14:23:29 -07002556 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
erikjaf85fc42012-07-03 16:10:44 -07002557endif # OPENJDK_TARGET_OS
2558
2559$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2560 LIBRARY:=splashscreen,\
2561 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2562 SRC:=$(LIBSPLASHSCREEN_DIRS),\
2563 INCLUDE_FILES:=$(LIBSPLASHSCREEN_FILES),\
2564 LANG:=C,\
2565 OPTIMIZATION:=LOW, \
2566 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\
2567 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2568 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2569 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002570 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08002571 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002572 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2573 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002574 -D "JDK_FNAME=splashscreen.dll" \
2575 -D "JDK_INTERNAL_NAME=splashscreen" \
2576 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002577 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
2578 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002579
2580BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2581
2582ifeq ($(OPENJDK_TARGET_OS),macosx)
2583$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
2584endif
2585
2586endif
2587
2588##########################################################################################
2589
2590ifndef OPENJDK
2591
2592LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002593 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2594 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2595 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2596 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2597
erikjaf85fc42012-07-03 16:10:44 -07002598LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002599 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2600
2601$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002602 LIBRARY:=dcpr,\
2603 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002604 SRC:=$(LIBDCPR_SRC_DIRS),\
2605 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002606 OPTIMIZATION:=LOW, \
2607 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002608 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002609 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002610 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002611 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002612 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002613 LDFLAGS_SUFFIX_posix:=-lm,\
ohair46fcac92012-09-18 11:29:24 -07002614 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2615 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002616 -D "JDK_FNAME=dcpr.dll" \
2617 -D "JDK_INTERNAL_NAME=dcpr" \
2618 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002619 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
2620 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002621
erikjaf85fc42012-07-03 16:10:44 -07002622$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002623
erikjaf85fc42012-07-03 16:10:44 -07002624BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002625
2626endif
2627
2628##########################################################################################
2629
2630$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002631 LIBRARY:=j2pcsc,\
2632 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002633 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002634 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002635 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002636 CFLAGS_posix:=-D__sun_jdk,\
2637 OPTIMIZATION:=LOW, \
2638 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002639 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002640 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
2641 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
erikjaf85fc42012-07-03 16:10:44 -07002642 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002643 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2644 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002645 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2646 LDFLAGS_SUFFIX_windows:=winscard.lib,\
tbell7d47bd02012-11-12 10:20:01 -08002647 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002648 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2649 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002650 -D "JDK_FNAME=j2pcsc.dll" \
2651 -D "JDK_INTERNAL_NAME=j2pcsc" \
2652 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002653 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
2654 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002655
erikjaf85fc42012-07-03 16:10:44 -07002656BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002657
2658##########################################################################################
2659
erikjaf85fc42012-07-03 16:10:44 -07002660ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002661$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002662 LIBRARY:=j2gss,\
2663 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002664 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002665 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002666 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002667 OPTIMIZATION:=LOW, \
2668 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002669 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002670 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002671 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002672 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2673 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002674 LDFLAGS_SUFFIX:=$(LIBDL),\
2675 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002676 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss))
erikje78df742012-06-07 20:40:50 -07002677
erikjaf85fc42012-07-03 16:10:44 -07002678BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002679endif
2680
2681##########################################################################################
2682
erikjaf85fc42012-07-03 16:10:44 -07002683BUILD_LIBKRB5_NAME:=
2684ifeq ($(OPENJDK_TARGET_OS), windows)
2685 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
2686 BUILD_LIBKRB5_FILES:=NativeCreds.c WindowsDirectory.c
ohair46fcac92012-09-18 11:29:24 -07002687 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
ohairb71409c2012-10-26 14:23:29 -07002688 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
2689 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
2690 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
erikjaf85fc42012-07-03 16:10:44 -07002691else ifeq ($(OPENJDK_TARGET_OS), macosx)
2692 BUILD_LIBKRB5_NAME:=osxkrb5
2693 BUILD_LIBKRB5_FILES:=nativeccache.c
2694 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikje78df742012-06-07 20:40:50 -07002695endif
2696
2697ifneq ($(BUILD_LIBKRB5_NAME),)
2698$(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002699 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2700 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002701 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
2702 $(BUILD_LIBKRB5_SRC) ,\
erikjaf85fc42012-07-03 16:10:44 -07002703 INCLUDE_FILES:=$(BUILD_LIBKRB5_FILES),\
erikje78df742012-06-07 20:40:50 -07002704 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002705 OPTIMIZATION:=LOW, \
2706 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002707 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
ohair46fcac92012-09-18 11:29:24 -07002708 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002709 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2710 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002711 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
ohair46fcac92012-09-18 11:29:24 -07002712 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2713 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002714 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
2715 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
2716 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002717 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
2718 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002719
erikjaf85fc42012-07-03 16:10:44 -07002720BUILD_LIBRARIES += $(BUILD_LIBKRB5)
erikje78df742012-06-07 20:40:50 -07002721endif
2722
2723##########################################################################################
2724
erikjaf85fc42012-07-03 16:10:44 -07002725ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002726
2727$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002728 LIBRARY:=sunmscapi,\
2729 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohairb71409c2012-10-26 14:23:29 -07002730 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
erikjaf85fc42012-07-03 16:10:44 -07002731 INCLUDE_FILES:=security.cpp, \
erikje78df742012-06-07 20:40:50 -07002732 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002733 OPTIMIZATION:=LOW, \
2734 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -07002735 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
2736 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002737 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002738 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002739 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2740 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002741 -D "JDK_FNAME=sunmscapi.dll" \
2742 -D "JDK_INTERNAL_NAME=sunmscapi" \
2743 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002744 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
2745 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002746
erikjaf85fc42012-07-03 16:10:44 -07002747BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
erikje78df742012-06-07 20:40:50 -07002748endif
2749
2750##########################################################################################
2751
erikje78df742012-06-07 20:40:50 -07002752$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002753 LIBRARY:=j2pkcs11,\
2754 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002755 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002756 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002757 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002758 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002759 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002760 OPTIMIZATION:=LOW, \
2761 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002762 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002763 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002764 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002765 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002766 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002767 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2768 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002769 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2770 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002771 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2772 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002773 -D "JDK_FNAME=j2pkcs11.dll" \
2774 -D "JDK_INTERNAL_NAME=j2pkcs11" \
2775 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002776 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
2777 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002778
erikjaf85fc42012-07-03 16:10:44 -07002779BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002780
2781##########################################################################################
2782
2783ifndef DISABLE_INTREE_EC
2784#
2785# TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl
2786# is not present
2787#
erikjaf85fc42012-07-03 16:10:44 -07002788BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2789 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2790
2791#
2792# On sol-sparc...all libraries are compiled with -xregs=no%appl
2793# (set in CFLAGS_REQUIRED_sparc)
2794#
2795# except!!! libsunec.so
2796#
2797ECC_JNI_SOLSPARC_FILTER:=
2798ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2799 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2800endif
erikje78df742012-06-07 20:40:50 -07002801
2802$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002803 LIBRARY:=sunec,\
2804 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002805 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2806 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002807 LANG:=C++, \
2808 OPTIMIZATION:=LOW, \
2809 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2810 $(BUILD_LIBSUNEC_FLAGS) \
2811 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2812 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2813 $(BUILD_LIBSUNEC_FLAGS),\
2814 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002815 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
2816 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002817 LDFLAGS_SUFFIX:=$(LIBCXX),\
ohair46fcac92012-09-18 11:29:24 -07002818 LDFLAGS_SUFFIX_linux:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002819 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002820 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2821 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002822 -D "JDK_FNAME=sunec.dll" \
2823 -D "JDK_INTERNAL_NAME=sunec" \
2824 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002825 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
2826 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002827
erikjaf85fc42012-07-03 16:10:44 -07002828BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002829endif
2830
2831##########################################################################################
2832
erikjaf85fc42012-07-03 16:10:44 -07002833LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002834 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
ohair46fcac92012-09-18 11:29:24 -07002835 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002836
erikjaf85fc42012-07-03 16:10:44 -07002837LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002838
erikjaf85fc42012-07-03 16:10:44 -07002839LIBJSOUND_LANG:=C
2840LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002841
erikjaf85fc42012-07-03 16:10:44 -07002842EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002843
erikjaf85fc42012-07-03 16:10:44 -07002844LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002845 MidiInDevice.c \
2846 MidiInDeviceProvider.c \
2847 MidiOutDevice.c \
2848 MidiOutDeviceProvider.c \
2849 PlatformMidi.c
2850
2851# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002852LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002853 PortMixerProvider.c \
2854 PortMixer.c
2855
2856# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002857LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002858 DirectAudioDeviceProvider.c \
2859 DirectAudioDevice.c
2860
erikjaf85fc42012-07-03 16:10:44 -07002861ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002862 EXTRA_SOUND_JNI_LIBS += jsoundds
2863 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2864 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2865 -DUSE_PLATFORM_MIDI_IN=TRUE \
2866 -DUSE_PORTS=TRUE
2867 LIBJSOUND_SRC_FILES += \
2868 PLATFORM_API_WinOS_MidiIn.cpp \
2869 PLATFORM_API_WinOS_MidiOut.c \
2870 PLATFORM_API_WinOS_Util.c \
2871 PLATFORM_API_WinOS_Ports.c
2872 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2873 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002874endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002875
erikjaf85fc42012-07-03 16:10:44 -07002876ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002877 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2878 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002879endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002880
erikjaf85fc42012-07-03 16:10:44 -07002881ifeq ($(OPENJDK_TARGET_OS), macosx)
2882 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002883 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2884 -DUSE_PORTS=TRUE \
2885 -DUSE_DAUDIO=TRUE \
2886 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2887 -DUSE_PLATFORM_MIDI_IN=TRUE
2888 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2889 LIBJSOUND_SRC_FILES += \
2890 PLATFORM_API_MacOSX_Utils.cpp \
2891 PLATFORM_API_MacOSX_PCM.cpp \
2892 PLATFORM_API_MacOSX_Ports.cpp \
2893 PLATFORM_API_MacOSX_MidiIn.c \
2894 PLATFORM_API_MacOSX_MidiOut.c \
2895 PLATFORM_API_MacOSX_MidiUtils.c
2896 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2897 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2898 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002899endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002900
erikjaf85fc42012-07-03 16:10:44 -07002901ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002902 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2903 -DUSE_PORTS=TRUE \
2904 -DUSE_DAUDIO=TRUE
2905 LIBJSOUND_SRC_FILES += \
2906 PLATFORM_API_SolarisOS_Utils.c \
2907 PLATFORM_API_SolarisOS_Ports.c \
2908 PLATFORM_API_SolarisOS_PCM.c
2909 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2910 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2911 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002912endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002913
2914
2915ifeq ($(JVM_VARIANT_ZERO), true)
2916 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2917else
ohair46fcac92012-09-18 11:29:24 -07002918 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikje78df742012-06-07 20:40:50 -07002919 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
ohair46fcac92012-09-18 11:29:24 -07002920 endif
erikje78df742012-06-07 20:40:50 -07002921
ohair46fcac92012-09-18 11:29:24 -07002922 ifeq ($(OPENJDK_TARGET_CPU), sparc)
erikje78df742012-06-07 20:40:50 -07002923 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
ohair46fcac92012-09-18 11:29:24 -07002924 endif
erikje78df742012-06-07 20:40:50 -07002925
ohair46fcac92012-09-18 11:29:24 -07002926 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
erikje78df742012-06-07 20:40:50 -07002927 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
ohair46fcac92012-09-18 11:29:24 -07002928 endif
erikje78df742012-06-07 20:40:50 -07002929
ohair46fcac92012-09-18 11:29:24 -07002930 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikje78df742012-06-07 20:40:50 -07002931 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
ohair46fcac92012-09-18 11:29:24 -07002932 endif
erikje78df742012-06-07 20:40:50 -07002933
ohair46fcac92012-09-18 11:29:24 -07002934 ifeq ($(OPENJDK_TARGET_CPU), arm)
erikje78df742012-06-07 20:40:50 -07002935 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
ohair46fcac92012-09-18 11:29:24 -07002936 endif
erikje78df742012-06-07 20:40:50 -07002937
ohair46fcac92012-09-18 11:29:24 -07002938 ifeq ($(OPENJDK_TARGET_CPU), ppc)
erikje78df742012-06-07 20:40:50 -07002939 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
ohair46fcac92012-09-18 11:29:24 -07002940 endif
erikje78df742012-06-07 20:40:50 -07002941endif
2942
2943LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2944
2945$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002946 LIBRARY:=jsound,\
2947 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002948 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002949 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002950 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002951 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07002952 CFLAGS:=$(CFLAGS_JDKLIB) \
2953 $(LIBJSOUND_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002954 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2955 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002956 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2957 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002958 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
2959 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2960 -framework CoreMIDI -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -07002961 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
ohairb71409c2012-10-26 14:23:29 -07002962 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
erikje78df742012-06-07 20:40:50 -07002963 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002964 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2965 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002966 -D "JDK_FNAME=jsound.dll" \
2967 -D "JDK_INTERNAL_NAME=jsound" \
2968 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002969 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
2970 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002971
erikjaf85fc42012-07-03 16:10:44 -07002972$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002973
erikjaf85fc42012-07-03 16:10:44 -07002974BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002975
2976##########################################################################################
2977
2978ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2979
2980$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002981 LIBRARY:=jsoundalsa,\
2982 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002983 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002984 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002985 $(LIBJSOUND_DAUDIOFILES) \
2986 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2987 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2988 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2989 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2990 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2991 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2992 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002993 LANG:=C,\
2994 OPTIMIZATION:=LOW, \
2995 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002996 $(LIBJSOUND_CFLAGS) \
2997 -DUSE_DAUDIO=TRUE \
2998 -DUSE_PORTS=TRUE \
2999 -DUSE_PLATFORM_MIDI_OUT=TRUE \
3000 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07003001 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07003002 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3003 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07003004 LDFLAGS_SUFFIX:=-lasound -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07003005 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa))
erikje78df742012-06-07 20:40:50 -07003006
erikjaf85fc42012-07-03 16:10:44 -07003007$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003008
erikjaf85fc42012-07-03 16:10:44 -07003009BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07003010
3011endif
3012
3013##########################################################################################
3014
3015ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
3016
3017$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07003018 LIBRARY:=jsoundds,\
3019 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003020 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003021 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07003022 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07003023 LANG:=C++,\
3024 OPTIMIZATION:=LOW, \
3025 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003026 $(LIBJSOUND_CFLAGS) \
3027 -DUSE_DAUDIO=TRUE, \
ohair46fcac92012-09-18 11:29:24 -07003028 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07003029 $(call SET_SHARED_LIBRARY_ORIGIN),\
3030 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
ohair46fcac92012-09-18 11:29:24 -07003031 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
3032 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07003033 -D "JDK_FNAME=jsoundds.dll" \
3034 -D "JDK_INTERNAL_NAME=jsoundds" \
3035 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07003036 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
3037 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07003038
erikjaf85fc42012-07-03 16:10:44 -07003039$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003040
erikjaf85fc42012-07-03 16:10:44 -07003041BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07003042
3043endif
3044
3045##########################################################################################
3046
erikjaf85fc42012-07-03 16:10:44 -07003047ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07003048ifndef OPENJDK
3049
3050$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07003051 LIBRARY:=j2ucrypto,\
3052 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003053 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07003054 LANG:=C,\
3055 OPTIMIZATION:=LOW, \
3056 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003057 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07003058 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07003059 LDFLAGS:=$(LDFLAGS_JDKLIB),\
erikje78df742012-06-07 20:40:50 -07003060 LDFLAGS_SUFFIX:=$(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07003061 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto))
erikje78df742012-06-07 20:40:50 -07003062
erikjaf85fc42012-07-03 16:10:44 -07003063$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003064
erikjaf85fc42012-07-03 16:10:44 -07003065BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07003066
3067endif
3068endif
3069
3070##########################################################################################
3071
erikjaf85fc42012-07-03 16:10:44 -07003072ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003073
erikjaf85fc42012-07-03 16:10:44 -07003074LIBAPPLESCRIPTENGINE_FILES:=\
erikje78df742012-06-07 20:40:50 -07003075 AppleScriptEngine.m \
3076 AppleScriptExecutionContext.m \
3077 AS_NS_ConversionUtils.m \
3078 NS_Java_ConversionUtils.m
3079
3080$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07003081 LIBRARY:=AppleScriptEngine,\
3082 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003083 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07003084 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003085 INCLUDE_FILES:=$(LIBAPPLESCRIPTENGINE_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003086 OPTIMIZATION:=LOW, \
3087 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003088 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
3089 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3090 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
3091 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3092 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003093 LDFLAGS_SUFFIX:=-framework Cocoa \
3094 -framework Carbon \
3095 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3096 -framework JavaNativeFoundation \
3097 $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07003098 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine))
erikje78df742012-06-07 20:40:50 -07003099
erikjaf85fc42012-07-03 16:10:44 -07003100$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
3101
3102BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07003103
3104endif
3105
3106##########################################################################################
3107
erikjaf85fc42012-07-03 16:10:44 -07003108ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003109
erikjaf85fc42012-07-03 16:10:44 -07003110LIBOSXAPP_FILES:=\
erikje78df742012-06-07 20:40:50 -07003111 NSApplicationAWT.m \
3112 QueuingApplicationDelegate.m \
3113 PropertiesUtilities.m \
3114 ThreadUtilities.m
3115
3116$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07003117 LIBRARY:=osxapp,\
3118 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003119 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07003120 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003121 INCLUDE_FILES:=$(LIBOSXAPP_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003122 OPTIMIZATION:=LOW, \
3123 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003124 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
ohairb71409c2012-10-26 14:23:29 -07003125 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
erikje78df742012-06-07 20:40:50 -07003126 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3127 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3128 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3129 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003130 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003131 -framework Accelerate \
3132 -framework ApplicationServices \
3133 -framework AudioToolbox \
3134 -framework Carbon \
3135 -framework Cocoa \
3136 -framework Security \
3137 -framework ExceptionHandling \
3138 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3139 -framework JavaNativeFoundation \
3140 -framework JavaRuntimeSupport \
3141 -framework OpenGL \
3142 -framework IOSurface \
3143 -framework QuartzCore, \
erikjaf85fc42012-07-03 16:10:44 -07003144 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp))
erikje78df742012-06-07 20:40:50 -07003145
erikjaf85fc42012-07-03 16:10:44 -07003146BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003147
3148endif
3149
3150##########################################################################################
3151
erikjaf85fc42012-07-03 16:10:44 -07003152ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003153
erikjaf85fc42012-07-03 16:10:44 -07003154LIBOSX_FILES:=\
erikje78df742012-06-07 20:40:50 -07003155 Dispatch.m \
3156 CFileManager.m \
3157 KeystoreImpl.m \
3158 JavaAppLauncher.m \
3159 MacOSXPreferencesFile.m \
3160 SCDynamicStoreConfig.m
3161
erikjaf85fc42012-07-03 16:10:44 -07003162LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003163 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3164 $(JDK_TOPDIR)/src/macosx/native/java/util \
3165 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3166 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3167 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3168
3169$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003170 LIBRARY:=osx,\
3171 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003172 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003173 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003174 INCLUDE_FILES:=$(LIBOSX_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003175 OPTIMIZATION:=LOW, \
3176 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003177 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3178 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3179 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3180 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3181 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3182 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003183 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003184 -losxapp \
3185 -framework Cocoa \
3186 -framework ApplicationServices \
3187 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3188 -framework JavaNativeFoundation \
3189 -framework JavaRuntimeSupport \
3190 -framework Security \
3191 -framework SystemConfiguration \
3192 $(LDFLAGS_JDKLIB_SUFFIX), \
erikjaf85fc42012-07-03 16:10:44 -07003193 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx))
erikje78df742012-06-07 20:40:50 -07003194
erikjaf85fc42012-07-03 16:10:44 -07003195BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003196
erikjaf85fc42012-07-03 16:10:44 -07003197$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003198
erikjaf85fc42012-07-03 16:10:44 -07003199$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003200
3201endif
3202
3203##########################################################################################
3204
erikjaf85fc42012-07-03 16:10:44 -07003205ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003206
erikjaf85fc42012-07-03 16:10:44 -07003207LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003208 awt.m \
3209 ApplicationDelegate.m \
3210 CFRetainedResource.m \
3211 CGLGraphicsConfig.m \
3212 CGLSurfaceData.m \
3213 CGLLayer.m \
3214 CGraphicsConfig.m \
3215 CGraphicsDevice.m \
3216 CGraphicsEnv.m \
3217 CCharToGlyphMapper.m \
3218 CSystemColors.m \
3219 AWTFont.m \
3220 CGGlyphOutlines.m \
3221 CGGlyphImages.m \
3222 CoreTextSupport.m \
3223 AWTStrike.m \
3224 InitIDs.m \
3225 AWTEvent.m \
3226 AWTView.m \
3227 AWTWindow.m \
3228 AWTSurfaceLayers.m \
3229 CCursorManager.m \
3230 CClipboard.m \
3231 CDataTransferer.m \
3232 CDragSource.m \
3233 CDragSourceContextPeer.m \
3234 CDropTarget.m \
3235 CDropTargetContextPeer.m \
3236 CInputMethod.m \
3237 CDesktopPeer.m \
3238 OSVersion.m \
3239 DnDUtilities.m \
3240 CFileDialog.m \
3241 CImage.m \
3242 CMenu.m \
3243 CMenuBar.m \
3244 CMenuComponent.m \
3245 CMenuItem.m \
3246 CPopupMenu.m \
3247 CRobot.m \
3248 CTrayIcon.m \
3249 CWrapper.m \
3250 JavaAccessibilityAction.m \
3251 JavaAccessibilityUtilities.m \
3252 JavaComponentAccessibility.m \
3253 JavaTextAccessibility.m \
3254 LWCToolkit.m \
3255 GeomUtilities.m \
3256 CPrinterJob.m \
3257 PrintModel.m \
3258 PrinterSurfaceData.m \
3259 PrinterView.m \
3260 QuartzSurfaceData.m \
3261 QuartzRenderer.m \
3262 CTextPipe.m \
3263 ImageSurfaceData.m \
3264 awt_DrawingSurface.m \
3265 \
3266 OGLBlitLoops.c \
3267 OGLBufImgOps.c \
3268 OGLContext.c \
3269 OGLFuncs.c \
3270 OGLMaskBlit.c \
3271 OGLMaskFill.c \
3272 OGLPaints.c \
3273 OGLRenderQueue.c \
3274 OGLRenderer.c \
3275 OGLSurfaceData.c \
3276 OGLTextRenderer.c \
3277 OGLVertexCache.c \
3278 AccelGlyphCache.c \
3279 CUPSfuncs.c
3280
3281
erikjaf85fc42012-07-03 16:10:44 -07003282LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003283 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3284 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3285 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3286 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3287 $(JDK_TOPDIR)/src/share/native/sun/font \
3288 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3289
3290$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003291 LIBRARY:=awt_lwawt,\
3292 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003293 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003294 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003295 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003296 OPTIMIZATION:=LOW, \
3297 CFLAGS:=$(CFLAGS_JDKLIB) \
ohrstrom5048dab2012-10-29 13:41:38 -07003298 $(X_CFLAGS) \
3299 $(X_LIBS) \
erikje78df742012-06-07 20:40:50 -07003300 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3301 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3302 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3303 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3304 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3305 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3306 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3307 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3308 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3309 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3310 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3311 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3312 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003313 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
3314 -framework Accelerate \
3315 -framework ApplicationServices \
3316 -framework AudioToolbox \
3317 -framework Carbon \
3318 -framework Cocoa \
3319 -framework Security \
3320 -framework ExceptionHandling \
3321 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3322 -framework JavaNativeFoundation \
3323 -framework JavaRuntimeSupport \
3324 -framework OpenGL \
3325 -framework QuartzCore -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07003326 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt))
erikje78df742012-06-07 20:40:50 -07003327
erikjaf85fc42012-07-03 16:10:44 -07003328BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003329
erikjaf85fc42012-07-03 16:10:44 -07003330$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003331
erikjaf85fc42012-07-03 16:10:44 -07003332$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003333
erikjaf85fc42012-07-03 16:10:44 -07003334$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003335
erikjaf85fc42012-07-03 16:10:44 -07003336$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003337
3338endif
3339
3340##########################################################################################
3341
erikjaf85fc42012-07-03 16:10:44 -07003342ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003343
erikjaf85fc42012-07-03 16:10:44 -07003344LIBOSXUI_FILES:=\
erikje78df742012-06-07 20:40:50 -07003345 AquaFileView.m \
3346 AquaLookAndFeel.m \
3347 AquaNativeResources.m \
3348 JRSUIConstantSync.m \
3349 JRSUIController.m \
3350 JRSUIFocus.m \
3351 ScreenPopupFactory.m \
3352 ScreenMenu.m
3353
3354$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003355 LIBRARY:=osxui,\
3356 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003357 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003358 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003359 INCLUDE_FILES:=$(LIBOSXUI_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003360 OPTIMIZATION:=LOW, \
3361 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003362 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3363 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3364 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3365 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3366 LDFLAGS:=$(LDFLAGS_JDKLIB)\
ohair46fcac92012-09-18 11:29:24 -07003367 $(call SET_SHARED_LIBRARY_ORIGIN) \
3368 -Xlinker -rpath -Xlinker @loader_path,\
3369 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
3370 -framework Cocoa \
3371 -framework Carbon \
3372 -framework ApplicationServices \
3373 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3374 -framework JavaNativeFoundation \
3375 -framework JavaRuntimeSupport \
3376 -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07003377 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui))
erikje78df742012-06-07 20:40:50 -07003378
erikjaf85fc42012-07-03 16:10:44 -07003379BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003380
erikjaf85fc42012-07-03 16:10:44 -07003381$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003382
erikjaf85fc42012-07-03 16:10:44 -07003383$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003384
erikjaf85fc42012-07-03 16:10:44 -07003385$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003386
erikjaf85fc42012-07-03 16:10:44 -07003387#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3388
3389endif
3390
3391##########################################################################################
3392
3393ifeq ($(OPENJDK_TARGET_OS), macosx)
3394
ohair46fcac92012-09-18 11:29:24 -07003395# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
3396SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
3397
3398$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\
erikjaf85fc42012-07-03 16:10:44 -07003399 LIBRARY:=JObjC,\
ohair46fcac92012-09-18 11:29:24 -07003400 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3401 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3402 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3403 LANG:=C,\
3404 OPTIMIZATION:=LOW, \
3405 CFLAGS:=-fpascal-strings \
3406 -fobjc-gc \
3407 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003408 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
ohair46fcac92012-09-18 11:29:24 -07003409 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3410 -m32,\
3411 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3412 -m32, \
3413 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3414 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3415 -framework JavaNativeFoundation \
3416 -lffi, \
3417 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32))
3418
3419$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\
3420 LIBRARY:=JObjC,\
3421 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
erikjaf85fc42012-07-03 16:10:44 -07003422 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3423 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3424 LANG:=C,\
3425 OPTIMIZATION:=LOW, \
3426 CFLAGS:=-fpascal-strings \
3427 -fobjc-gc \
3428 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003429 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
erikjaf85fc42012-07-03 16:10:44 -07003430 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3431 , \
3432 LDFLAGS:=-fpascal-strings \
3433 -fobjc-gc \
3434 -gdwarf-2 \
3435 $(LDFLAGS_JDKLIB)\
3436 $(call SET_SHARED_LIBRARY_ORIGIN), \
3437 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3438 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3439 -framework JavaNativeFoundation \
3440 -lffi, \
ohair46fcac92012-09-18 11:29:24 -07003441 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64))
erikjaf85fc42012-07-03 16:10:44 -07003442
ohair46fcac92012-09-18 11:29:24 -07003443$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3444 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3445
3446BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
erikje78df742012-06-07 20:40:50 -07003447
3448endif
3449
3450##########################################################################################
3451
ohair92de5662012-04-10 08:22:03 -07003452all: $(COPY_FILES) $(BUILD_LIBRARIES)
3453
3454.PHONY: all