blob: 80193c45375db72f63676f319bacb3ea040ff33d [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, \
erikj6dce8e92012-11-28 13:49:33 +0100243 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700244 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
erikj5c99f2c2012-11-28 13:29:35 +0100908BUILD_LIBZIP_EXCLUDES :=
erikjaf85fc42012-07-03 16:10:44 -0700909ifeq ($(USE_EXTERNAL_LIBZ),true)
erikj5c99f2c2012-11-28 13:29:35 +0100910 LIBZ := -lz
911 LIBZIP_EXCLUDES += zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700912else
erikj5c99f2c2012-11-28 13:29:35 +0100913 ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikjaf85fc42012-07-03 16:10:44 -0700914endif
915
erikj5c99f2c2012-11-28 13:29:35 +0100916BUILD_LIBZIP_REORDER :=
erikjaf85fc42012-07-03 16:10:44 -0700917ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -0700918 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikj5c99f2c2012-11-28 13:29:35 +0100919 BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -0700920 endif
921endif
922
923ifeq ($(LIBZIP_CAN_USE_MMAP), true)
erikj5c99f2c2012-11-28 13:29:35 +0100924 BUILD_LIBZIP_MMAP := -DUSE_MMAP
erikjaf85fc42012-07-03 16:10:44 -0700925endif
926
927$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
928 LIBRARY:=zip,\
929 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikjaf85fc42012-07-03 16:10:44 -0700930 LANG:=C,\
931 OPTIMIZATION:=LOW, \
erikj5c99f2c2012-11-28 13:29:35 +0100932 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip,\
933 EXCLUDES:=$(LIBZIP_EXCLUDES),\
erikjaf85fc42012-07-03 16:10:44 -0700934 CFLAGS:=$(CFLAGS_JDKLIB) \
erikj5c99f2c2012-11-28 13:29:35 +0100935 $(ZLIB_CPPFLAGS) \
erikjaf85fc42012-07-03 16:10:44 -0700936 -I$(JDK_TOPDIR)/src/share/native/java/io \
ohair46fcac92012-09-18 11:29:24 -0700937 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io,\
erikjaf85fc42012-07-03 16:10:44 -0700938 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
939 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
940 REORDER:=$(BUILD_LIBZIP_REORDER), \
941 LDFLAGS:=$(LDFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -0700942 $(call SET_SHARED_LIBRARY_ORIGIN) \
erikjaf85fc42012-07-03 16:10:44 -0700943 $(EXPORT_ZIP_FUNCS), \
ohair46fcac92012-09-18 11:29:24 -0700944 LDFLAGS_windows:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
erikjaf85fc42012-07-03 16:10:44 -0700945 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
946 $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700947 LDFLAGS_SUFFIX_linux:=-ljvm -ljava $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -0800948 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava $(LIBZ) -lc,\
ohair46fcac92012-09-18 11:29:24 -0700949 LDFLAGS_SUFFIX_macosx:=$(LIBZ) -ljava -ljvm,\
950 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
951 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700952 -D "JDK_FNAME=zip.dll" \
953 -D "JDK_INTERNAL_NAME=zip" \
954 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700955 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip,\
956 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700957
958$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
959
960BUILD_LIBRARIES += $(BUILD_LIBZIP)
961
962##########################################################################################
963
964$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
965 LIBRARY:=unpack, \
966 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
967 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
968 EXCLUDE_FILES:=main.cpp,\
969 LANG:=C++,\
970 OPTIMIZATION:=LOW, \
971 CFLAGS:=$(CXXFLAGS_JDKLIB) \
972 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
973 CFLAGS_release:=-DPRODUCT,\
974 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -0700975 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -0700976 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohairb71409c2012-10-26 14:23:29 -0700977 LDFLAGS_windows:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
erikjaf85fc42012-07-03 16:10:44 -0700978 jvm.lib $(WIN_JAVA_LIB),\
ohair46fcac92012-09-18 11:29:24 -0700979 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBCXX) -ljava -lc,\
erikjaf85fc42012-07-03 16:10:44 -0700980 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
981 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
982 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -0700983 -D "JDK_FNAME=unpack.dll" \
984 -D "JDK_INTERNAL_NAME=unpack" \
985 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -0700986 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -0700987
988$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
989
990BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
991
ohair46fcac92012-09-18 11:29:24 -0700992ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -0700993 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
994 $(ECHO) Copying $(@F)
995 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
996
997 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
998 $(ECHO) Copying $(@F)
999 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
1000endif
1001
1002##########################################################################################
1003
1004LIBATTACH_EXCLUDE_FILES:=
1005ifneq ($(OPENJDK_TARGET_OS),solaris)
1006 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
1007endif
1008ifneq ($(OPENJDK_TARGET_OS),linux)
1009 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
1010endif
1011ifneq ($(OPENJDK_TARGET_OS),macosx)
1012 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
1013endif
1014
1015$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
1016 LIBRARY:=attach, \
1017 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001018 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach,\
erikjaf85fc42012-07-03 16:10:44 -07001019 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
1020 LANG:=C,\
1021 OPTIMIZATION:=LOW, \
1022 CFLAGS:=$(CFLAGS_JDKLIB),\
1023 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
ohair46fcac92012-09-18 11:29:24 -07001024 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1025 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001026 -D "JDK_FNAME=attach.dll" \
1027 -D "JDK_INTERNAL_NAME=attach" \
1028 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001029 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1030 $(call SET_SHARED_LIBRARY_ORIGIN),\
1031 LDFLAGS_solaris:=-ldoor,\
erikjaf85fc42012-07-03 16:10:44 -07001032 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001033 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib psapi.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001034 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
1035 DEBUG_SYMBOLS:=true))
1036
1037$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
1038
1039BUILD_LIBRARIES += $(BUILD_LIBATTACH)
1040
1041##########################################################################################
1042
1043$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
1044 LIBRARY:=dt_socket,\
1045 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1046 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001047 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket,\
erikjaf85fc42012-07-03 16:10:44 -07001048 LANG:=C,\
1049 OPTIMIZATION:=LOW, \
1050 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
1051 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1052 -I$(JDK_TOPDIR)/src/share/transport/socket \
ohair46fcac92012-09-18 11:29:24 -07001053 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
erikjaf85fc42012-07-03 16:10:44 -07001054 -I$(JDK_TOPDIR)/src/share/back/export \
1055 -I$(JDK_TOPDIR)/src/share/back,\
1056 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001057 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1058 $(call SET_SHARED_LIBRARY_ORIGIN), \
1059 LDFLAGS_SUFFIX_linux:=-lpthread,\
erikj4f66f2d2012-11-03 16:27:01 -07001060 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lc,\
ohair46fcac92012-09-18 11:29:24 -07001061 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
1062 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1063 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001064 -D "JDK_FNAME=dt_socket.dll" \
1065 -D "JDK_INTERNAL_NAME=dt_socket" \
1066 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001067 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
1068 DEBUG_SYMBOLS:=true))
1069
1070$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
1071
1072BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
1073
1074##########################################################################################
1075
ohair46fcac92012-09-18 11:29:24 -07001076ifeq ($(OPENJDK_TARGET_OS),windows)
erikjaf85fc42012-07-03 16:10:44 -07001077
1078 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
1079 LIBRARY:=dt_shmem,\
1080 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1081 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
1082 $(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001083 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem,\
erikjaf85fc42012-07-03 16:10:44 -07001084 LANG:=C,\
1085 OPTIMIZATION:=LOW, \
1086 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
1087 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1088 -I$(JDK_TOPDIR)/src/share/transport/shmem \
ohair46fcac92012-09-18 11:29:24 -07001089 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
erikjaf85fc42012-07-03 16:10:44 -07001090 -I$(JDK_TOPDIR)/src/share/back/export, \
1091 LDFLAGS:=$(LDFLAGS_JDKLIB),\
ohair46fcac92012-09-18 11:29:24 -07001092 LDFLAGS_windows:=-export:jdwpTransport_OnLoad,\
erikjaf85fc42012-07-03 16:10:44 -07001093 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001094 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1095 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001096 -D "JDK_FNAME=dt_shmem.dll" \
1097 -D "JDK_INTERNAL_NAME=dt_shmem" \
1098 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001099 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem,\
1100 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001101
1102 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
1103
1104endif # OPENJDK_TARGET_OS
1105
1106##########################################################################################
ohair46fcac92012-09-18 11:29:24 -07001107# JDWP_LOGGING causes log messages to be compiled into the library.
erikjaf85fc42012-07-03 16:10:44 -07001108$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
1109 LIBRARY:=jdwp, \
1110 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001111 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back,\
erikjaf85fc42012-07-03 16:10:44 -07001112 LANG:=C,\
1113 OPTIMIZATION:=LOW, \
1114 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
1115 -I$(JDK_TOPDIR)/src/share/transport/export \
1116 -I$(JDK_TOPDIR)/src/share/back/export \
1117 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001118 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001119 -I$(JDK_TOPDIR)/src/share/back \
ohair46fcac92012-09-18 11:29:24 -07001120 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
erikjaf85fc42012-07-03 16:10:44 -07001121 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
1122 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001123 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1124 $(call SET_SHARED_LIBRARY_ORIGIN),\
1125 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001126 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -lc,\
erikjaf85fc42012-07-03 16:10:44 -07001127 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001128 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1129 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001130 -D "JDK_FNAME=jdwp.dll" \
1131 -D "JDK_INTERNAL_NAME=jdwp" \
1132 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001133 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp,\
1134 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001135
1136$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
1137
1138BUILD_LIBRARIES += $(BUILD_LIBJDWP)
1139
1140##########################################################################################
1141
1142LIBJAAS_MAPFILE:=
1143ifneq ($(OPENJDK_TARGET_OS),solaris)
1144 LIBJAAS_EXCLUDE_FILES:=Solaris.c
1145else
1146 # only on solaris...wonder why
1147 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
1148endif
1149
1150LIBJAAS_NAME:=jaas_unix
1151ifeq ($(OPENJDK_TARGET_OS), windows)
1152 LIBJAAS_NAME:=jaas_nt
1153endif
1154
1155$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
1156 LIBRARY:=$(LIBJAAS_NAME),\
1157 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001158 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module,\
erikjaf85fc42012-07-03 16:10:44 -07001159 LANG:=C,\
1160 OPTIMIZATION:=LOW, \
1161 CFLAGS:=$(CFLAGS_JDKLIB),\
1162 MAPFILE:=$(LIBJAAS_MAPFILE),\
1163 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
1164 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001165 LDFLAGS_windows:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001166 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
tbell7d47bd02012-11-12 10:20:01 -08001167 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07001168 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
ohair46fcac92012-09-18 11:29:24 -07001169 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1170 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07001171 -D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
1172 -D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
1173 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001174 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas,\
1175 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001176
1177$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
1178
1179BUILD_LIBRARIES += $(BUILD_LIBJAAS)
1180
1181##########################################################################################
1182
1183$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
1184 LIBRARY:=jsdt,\
1185 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1186 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
ohair46fcac92012-09-18 11:29:24 -07001187 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace,\
erikjaf85fc42012-07-03 16:10:44 -07001188 LANG:=C,\
1189 OPTIMIZATION:=LOW, \
1190 CFLAGS:=$(CFLAGS_JDKLIB)\
1191 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
1192 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
1193 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1194 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001195 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1196 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07001197 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\
tbell7d47bd02012-11-12 10:20:01 -08001198 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001199 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1200 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001201 -D "JDK_FNAME=jsdt.dll" \
1202 -D "JDK_INTERNAL_NAME=jsdt" \
1203 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001204 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
ohair46fcac92012-09-18 11:29:24 -07001205 DEBUG_SYMBOLS:=true))
erikjaf85fc42012-07-03 16:10:44 -07001206
1207$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
1208
1209BUILD_LIBRARIES += $(BUILD_LIBJSDT)
1210
1211##########################################################################################
1212
1213ifdef OPENJDK
1214 # TODO: Update awt lib path when awt is converted
1215 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1216 LIBRARY:=lcms,\
1217 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01001218 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms,\
erikjaf85fc42012-07-03 16:10:44 -07001219 LANG:=C,\
1220 OPTIMIZATION:=LOW, \
1221 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1222 $(SHARED_LIBRARY_FLAGS) \
1223 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1224 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1225 CFLAGS_solaris:=-xc99=no_lib,\
ohair46fcac92012-09-18 11:29:24 -07001226 CFLAGS_windows:=-DCMS_IS_WINDOWS_,\
erikjaf85fc42012-07-03 16:10:44 -07001227 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001228 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1229 $(call SET_SHARED_LIBRARY_ORIGIN), \
1230 LDFLAGS_solaris:=/usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2,\
1231 LDFLAGS_windows:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
tbell7d47bd02012-11-12 10:20:01 -08001232 LDFLAGS_SUFFIX_solaris:=-lawt -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07001233 LDFLAGS_SUFFIX_macosx:=$(LIBM) -lawt -ljava -ljvm,\
1234 LDFLAGS_SUFFIX_linux:=-lm -lawt -ljava -ljvm,\
1235 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1236 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001237 -D "JDK_FNAME=lcms.dll" \
1238 -D "JDK_INTERNAL_NAME=lcms" \
1239 -D "JDK_FTYPE=0x2L",\
1240 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms,\
1241 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001242
1243 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1244
1245 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
1246endif
1247
1248##########################################################################################
1249
1250ifdef OPENJDK
1251 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1252else
1253 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1254 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1255 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1256endif
1257
1258BUILD_LIBJPEG_REORDER:=
1259ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001260 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1261 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07001262 endif
1263endif
1264
1265# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
1266# or 'vfork'": this warning indicates that some variable is placed to
1267# a register by optimized compiler and it's value might be lost on longjmp().
1268# Recommended way to avoid such warning is to declare the variable as
1269# volatile to prevent the optimization. However, this approach does not
1270# work because we have to declare all variables as volatile in result.
1271#ifndef CROSS_COMPILE_ARCH
1272# CC_43_OR_NEWER:=\
1273# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
1274# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
1275# ifeq ($(CC_43_OR_NEWER),1)
1276# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
1277# endif
1278#endif
1279
1280$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
1281 LIBRARY:=jpeg, \
1282 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1283 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
1284 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1285 LANG:=C,\
1286 OPTIMIZATION:=HIGHEST, \
1287 CFLAGS:=$(CFLAGS_JDKLIB) \
1288 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
1289 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1290 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
1291 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1292 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001293 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib,\
erikjaf85fc42012-07-03 16:10:44 -07001294 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001295 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1296 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001297 -D "JDK_FNAME=jpeg.dll" \
1298 -D "JDK_INTERNAL_NAME=jpeg" \
1299 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001300 REORDER:=$(BUILD_LIBJPEG_REORDER),\
ohair46fcac92012-09-18 11:29:24 -07001301 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg,\
1302 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001303
1304$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
1305
1306BUILD_LIBRARIES += $(BUILD_LIBJPEG)
1307
1308##########################################################################################
1309
1310ifndef OPENJDK
ohairb71409c2012-10-26 14:23:29 -07001311 FONT_HEADERS:=-I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
erikjaf85fc42012-07-03 16:10:44 -07001312 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
1313 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
1314else
1315 FONT_HEADERS:=$(FREETYPE2_CFLAGS)
1316 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
1317 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
1318endif
1319
1320LIBFONTMANAGER_OPTIMIZATION:=HIGH
1321
1322ifeq ($(OPENJDK_TARGET_OS),windows)
1323 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1324 X11TextRenderer.c
1325 LIBFONTMANAGER_OPTIMIZATION:=LOW
1326else
1327 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1328 lcdglyph.c
1329endif
1330
1331BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1332 $(X_CFLAGS) \
1333 -DLE_STANDALONE -DHEADLESS \
1334 $(FONT_HEADERS) \
1335 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1336 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1337 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001338 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001339 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1340 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1341 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001342 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001343 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1344
1345# Turn off aliasing with GCC for ExtensionSubtables.cpp
1346ifeq ($(OPENJDK_TARGET_OS), linux)
1347 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1348endif
1349
1350$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1351 LIBRARY:=fontmanager, \
1352 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1353 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
ohair46fcac92012-09-18 11:29:24 -07001354 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font,\
erikjaf85fc42012-07-03 16:10:44 -07001355 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1356 AccelGlyphCache.c,\
1357 LANG:=C++,\
1358 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1359 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1360 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
ohair46fcac92012-09-18 11:29:24 -07001361 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001362 -DCC_NOEX, \
1363 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
ohair46fcac92012-09-18 11:29:24 -07001364 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001365 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001366 LDFLAGS_SUFFIX:=$(BUILD_LIBFONTMANAGER_FONTLIB),\
1367 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc,\
1368 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm,\
ohairb71409c2012-10-26 14:23:29 -07001369 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
1370 -ljava -ljvm,\
1371 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
1372 $(WIN_AWT_LIB),\
ohair46fcac92012-09-18 11:29:24 -07001373 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1374 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001375 -D "JDK_FNAME=fontmanager.dll" \
1376 -D "JDK_INTERNAL_NAME=fontmanager" \
1377 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001378 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager,\
1379 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001380
1381$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1382
1383ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1384$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1385endif
1386
1387BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001388
1389##########################################################################################
1390
1391ifndef OPENJDK
1392
erikjaf85fc42012-07-03 16:10:44 -07001393# ifeq ($(OPENJDK_TARGET_OS), linux)
1394# ifeq ("$(CC_VER_MAJOR)", "3")
1395# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1396# endif
1397# endif
1398#
1399# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1400# the input .o files. Because of this the new build will differ in size to the old build.
1401 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1402 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1403 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1404 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
ohair46fcac92012-09-18 11:29:24 -07001405 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -07001406 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1407 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
ohair46fcac92012-09-18 11:29:24 -07001408 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07001409 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1410
1411 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1412 LIBRARY:=t2k, \
1413 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1414 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1415 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1416 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1417 EXCLUDE_FILES:=orion.c,\
1418 LANG:=C++,\
1419 OPTIMIZATION:=HIGH, \
1420 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1421 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1422 CFLAGS_windows=-DCC_NOEX, \
1423 CXXFLAGS_windows=-DCC_NOEX, \
1424 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001425 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001426 $(call SET_SHARED_LIBRARY_ORIGIN),\
1427 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
ohair46fcac92012-09-18 11:29:24 -07001428 LDFLAGS_SUFFIX_posix:=$(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc,\
1429 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt,\
1430 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1431 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001432 -D "JDK_FNAME=t2k.dll" \
1433 -D "JDK_INTERNAL_NAME=t2k" \
1434 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001435 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k,\
1436 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001437
1438 # t2k is linked against fontmanager
1439 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1440
1441 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1442endif
1443
1444##########################################################################################
1445
erikjaf85fc42012-07-03 16:10:44 -07001446ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001447 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikjaf85fc42012-07-03 16:10:44 -07001448 KERNEL32_LIB:=kernel32.lib
1449 endif
1450 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1451 LIBRARY:=jawt, \
1452 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001453 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows,\
erikjaf85fc42012-07-03 16:10:44 -07001454 INCLUDE_FILES:=jawt.cpp,\
1455 LANG:=C++,\
1456 OPTIMIZATION:=LOW, \
1457 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1458 -EHsc -DUNICODE -D_UNICODE \
ohair46fcac92012-09-18 11:29:24 -07001459 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
erikjaf85fc42012-07-03 16:10:44 -07001460 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1461 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1462 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
ohair46fcac92012-09-18 11:29:24 -07001463 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \
1464 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
erikjaf85fc42012-07-03 16:10:44 -07001465 advapi32.lib $(WIN_AWT_LIB),\
1466 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohair46fcac92012-09-18 11:29:24 -07001467 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1468 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001469 -D "JDK_FNAME=jawt.dll" \
1470 -D "JDK_INTERNAL_NAME=jawt" \
1471 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001472 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt,\
1473 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001474
1475$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1476
1477$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1478 $(ECHO) Copying $(@F)
ohair46fcac92012-09-18 11:29:24 -07001479 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
erikjaf85fc42012-07-03 16:10:44 -07001480
1481BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1482
1483else # OPENJDK_TARGET_OS not windows
1484
1485 JAWT_LIBS:=
1486 ifneq ($(OPENJDK_TARGET_OS), solaris)
1487 JAWT_LIBS += -lawt
1488 endif
1489
1490 ifndef BUILD_HEADLESS_ONLY
1491 JAWT_LIBS += -lawt_xawt
1492 else
1493 JAWT_LIBS += -lawt_headless
1494 HEADLESS_CFLAG += -DHEADLESS
1495 endif
1496
1497 JAWT_FILES:=jawt.c
1498 ifeq ($(OPENJDK_TARGET_OS), macosx)
1499 JAWT_FILES:=jawt.m
1500 JAWT_LIBS:=-lawt_lwawt
1501 endif
1502
1503 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1504 LIBRARY:=jawt, \
1505 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001506 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -07001507 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1508 INCLUDE_FILES:=$(JAWT_FILES),\
1509 LANG:=C,\
1510 OPTIMIZATION:=LOW, \
1511 CFLAGS:=$(CFLAGS_JDKLIB), \
1512 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1513 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1514 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1515 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1516 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001517 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
1518 LDFLAGS_SUFFIX_linux:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
1519 LDFLAGS_SUFFIX_solaris:=$(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender,\
1520 LDFLAGS_SUFFIX_macosx:=-Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
1521 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07001522 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
1523
1524ifndef BUILD_HEADLESS_ONLY
1525$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1526else
1527$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1528endif
1529
1530ifeq ($(OPENJDK_TARGET_OS),macosx)
1531$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1532endif
1533
1534endif # OPENJDK_TARGET_OS
1535
1536BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1537
1538##########################################################################################
1539
ohair46fcac92012-09-18 11:29:24 -07001540LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1541 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
1542 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
erikjaf85fc42012-07-03 16:10:44 -07001543
ohair46fcac92012-09-18 11:29:24 -07001544LIBINSTRUMENT_FILES :=\
erikjaf85fc42012-07-03 16:10:44 -07001545 EncodingSupport.c \
1546 EncodingSupport_md.c \
1547 FileSystemSupport_md.c \
1548 InstrumentationImplNativeMethods.c \
1549 InvocationAdapter.c \
1550 JarFacade.c \
1551 JPLISAgent.c \
1552 JPLISAssert.c \
1553 JavaExceptions.c \
1554 PathCharsValidator.c \
1555 Reentrancy.c \
1556 Utilities.c \
1557 canonicalize_md.c
1558
ohair46fcac92012-09-18 11:29:24 -07001559LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1560LIBINSTRUMENT_CFLAGS:=$(CFLAGS_JDKLIB) \
1561 -I$(JDK_TOPDIR)/src/share/instrument \
1562 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
1563 -I$(JDK_TOPDIR)/src/share/bin
erikjaf85fc42012-07-03 16:10:44 -07001564
ohair46fcac92012-09-18 11:29:24 -07001565LIBINSTRUMENT_LDFLAGS:=
1566LIBINSTRUMENT_LDFLAGS_SUFFIX:=
erikjaf85fc42012-07-03 16:10:44 -07001567
1568ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07001569 LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1570 -export:Agent_OnAttach advapi32.lib
1571 # Statically link the C runtime so that there are not dependencies on modules
1572 # not on the search patch when invoked from the Windows system directory
1573 # (or elsewhere).
1574 LIBINSTRUMENT_CFLAGS := $(filter-out -MD,$(LIBINSTRUMENT_CFLAGS))
1575 # equivalent of strcasecmp is stricmp on Windows
1576 LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
erikjaf85fc42012-07-03 16:10:44 -07001577endif
1578
1579$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1580 LIBRARY:=instrument, \
1581 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001582 SRC:=$(LIBINSTRUMENT_SRC),\
1583 INCLUDE_FILES:=$(LIBINSTRUMENT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07001584 LANG:=C,\
1585 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07001586 CFLAGS:=$(LIBINSTRUMENT_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07001587 CFLAGS_debug:=-DJPLIS_LOGGING,\
1588 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1589 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07001590 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1591 $(call SET_SHARED_LIBRARY_ORIGIN) \
1592 $(LIBINSTRUMENT_LDFLAGS),\
1593 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1594 LDFLAGS_solaris:= $(call SET_SHARED_LIBRARY_ORIGIN,/jli),\
1595 LDFLAGS_macosx:=-Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
1596 -framework Cocoa -framework Security -framework ApplicationServices,\
1597 LDFLAGS_SUFFIX:=$(LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1598 LDFLAGS_SUFFIX_macosx:=-liconv $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08001599 LDFLAGS_SUFFIX_solaris:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001600 LDFLAGS_SUFFIX_linux:=$(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL),\
1601 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1602 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001603 -D "JDK_FNAME=instrument.dll" \
1604 -D "JDK_INTERNAL_NAME=instrument" \
1605 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001606 OBJECT_DIR:=$(LIBINSTRUMENT_DIR),\
erikjaf85fc42012-07-03 16:10:44 -07001607 DEBUG_SYMBOLS:=true))
1608
1609ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1610$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1611else
1612$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1613endif
1614$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1615
1616BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1617
1618##########################################################################################
1619
1620BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
ohair46fcac92012-09-18 11:29:24 -07001621 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
1622 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
erikjaf85fc42012-07-03 16:10:44 -07001623
1624BUILD_LIBMANAGEMENT_EXCLUDES:=
1625
1626BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1627
1628ifneq ($(OPENJDK_TARGET_OS), windows)
1629 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1630else
1631 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1632endif
1633
1634ifneq ($(OPENJDK_TARGET_OS),solaris)
1635 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1636endif
1637
1638ifneq ($(OPENJDK_TARGET_OS),linux)
1639 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1640endif
1641
1642ifneq ($(OPENJDK_TARGET_OS),macosx)
1643 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1644endif
1645
ohair46fcac92012-09-18 11:29:24 -07001646LIBMANAGEMENT_OPTIMIZATION:=HIGH
1647ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
1648 ifeq ($(ENABLE_DEBUG_SYMBOLS), yes)
1649 LIBMANAGEMENT_OPTIMIZATION:=LOW
1650 endif
1651endif
erikjaf85fc42012-07-03 16:10:44 -07001652
1653$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1654 LIBRARY:=management,\
1655 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1656 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1657 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1658 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001659 OPTIMIZATION:=$(LIBMANAGEMENT_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001660 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1661 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1662 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1663 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07001664 LDFLAGS_solaris:=-lkstat,\
1665 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
ohairb71409c2012-10-26 14:23:29 -07001666 LDFLAGS_SUFFIX_windows:=jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001667 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1668 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001669 -D "JDK_FNAME=management.dll" \
1670 -D "JDK_INTERNAL_NAME=management" \
1671 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001672 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1673 DEBUG_SYMBOLS:=true))
1674
1675$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1676
1677BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1678
1679##########################################################################################
1680
ohair46fcac92012-09-18 11:29:24 -07001681BUILD_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 -07001682BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1683 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001684 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
erikjaf85fc42012-07-03 16:10:44 -07001685 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1686
1687BUILD_LIBHPROF_LDFLAGS:=
1688
ohair46fcac92012-09-18 11:29:24 -07001689LIBHPROF_OPTIMIZATION:=HIGHEST
1690ifneq ($(findstring $(OPENJDK_TARGET_OS),solaris linux),)
1691 ifeq ($(ENABLE_DEBUG_SYMBOLS), yes)
1692 LIBHPROF_OPTIMIZATION:=LOW
1693 endif
1694endif
1695
erikjaf85fc42012-07-03 16:10:44 -07001696$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1697 LIBRARY:=hprof, \
1698 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1699 SRC:=$(BUILD_LIBHPROF_SRC),\
1700 LANG:=C,\
ohair46fcac92012-09-18 11:29:24 -07001701 OPTIMIZATION:=$(LIBHPROF_OPTIMIZATION), \
erikjaf85fc42012-07-03 16:10:44 -07001702 CFLAGS:=$(CFLAGS_JDKLIB) \
1703 $(BUILD_LIBHPROF_CFLAGS),\
1704 CFLAGS_debug:=-DHPROF_LOGGING,\
1705 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1706 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1707 $(call SET_SHARED_LIBRARY_ORIGIN),\
1708 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
tbell7d47bd02012-11-12 10:20:01 -08001709 LDFLAGS_SUFFIX_linux:=$(LIBDL),\
1710 LDFLAGS_SUFFIX_macosx:=$(LIBDL),\
1711 LDFLAGS_SUFFIX_solaris:=-lsocket -lnsl $(LIBDL) -lc,\
ohair46fcac92012-09-18 11:29:24 -07001712 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1713 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001714 -D "JDK_FNAME=hprof.dll" \
1715 -D "JDK_INTERNAL_NAME=hprof" \
1716 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001717 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1718 DEBUG_SYMBOLS:=true))
1719
1720BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1721
1722##########################################################################################
1723
1724$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1725 LIBRARY:=java_crw_demo, \
1726 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1727 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1728 LANG:=C,\
1729 OPTIMIZATION:=LOW, \
1730 CFLAGS:=$(CFLAGS_JDKLIB) \
1731 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1732 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1733 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1734 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08001735 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07001736 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1737 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001738 -D "JDK_FNAME=java_crw_demo.dll" \
1739 -D "JDK_INTERNAL_NAME=java_crw_demo" \
1740 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001741 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1742 DEBUG_SYMBOLS:=true))
1743
1744BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1745
1746##########################################################################################
1747
1748$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1749 LIBRARY:=npt, \
1750 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001751 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001752 LANG:=C,\
1753 OPTIMIZATION:=LOW, \
1754 CFLAGS:=$(CFLAGS_JDKLIB) \
1755 -I$(JDK_TOPDIR)/src/share/npt \
ohair46fcac92012-09-18 11:29:24 -07001756 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt,\
erikjaf85fc42012-07-03 16:10:44 -07001757 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1758 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1759 $(call SET_SHARED_LIBRARY_ORIGIN),\
1760 LDFLAGS_macosx:=-liconv,\
1761 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
erikj4f66f2d2012-11-03 16:27:01 -07001762 LDFLAGS_SUFFIX_solaris:=-lc, \
ohair46fcac92012-09-18 11:29:24 -07001763 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1764 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001765 -D "JDK_FNAME=npt.dll" \
1766 -D "JDK_INTERNAL_NAME=npt" \
1767 -D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -07001768 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1769 DEBUG_SYMBOLS:=true))
1770
1771BUILD_LIBRARIES += $(BUILD_LIBNPT)
1772
1773##########################################################################################
1774
1775LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001776 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
1777 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
ohair46fcac92012-09-18 11:29:24 -07001778 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
erikjaf85fc42012-07-03 16:10:44 -07001779
ohairb71409c2012-10-26 14:23:29 -07001780ifeq ($(OPENJDK_TARGET_OS),windows)
1781 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
1782else
1783 LIBNET_SRC_DIRS+=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
1784endif
1785
erikjaf85fc42012-07-03 16:10:44 -07001786LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1787
1788LIBNET_EXCLUDE_FILES:=
1789ifneq ($(OPENJDK_TARGET_OS),linux)
1790 LIBNET_EXCLUDE_FILES += linux_close.c
1791endif
1792
1793ifneq ($(OPENJDK_TARGET_OS),macosx)
1794 LIBNET_EXCLUDE_FILES += bsd_close.c
1795endif
1796
1797ifeq ($(OPENJDK_TARGET_OS),windows)
1798 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1799else
1800 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1801 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1802 NTLMAuthSequence.c NetworkInterface_winXP.c
1803endif
1804
erikjaf85fc42012-07-03 16:10:44 -07001805$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1806 LIBRARY:=net,\
1807 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1808 SRC:=$(LIBNET_SRC_DIRS),\
1809 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1810 LANG:=C,\
1811 OPTIMIZATION:=LOW, \
1812 CFLAGS:=$(CFLAGS_JDKLIB) \
1813 $(LIBNET_CFLAGS),\
1814 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1815 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1816 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07001817 LDFLAGS_SUFFIX_macosx:=-ljvm -ljava,\
erikj4f66f2d2012-11-03 16:27:01 -07001818 LDFLAGS_SUFFIX_solaris:=-ljvm -ljava -lnsl -lsocket $(LIBDL) -lc ,\
ohair46fcac92012-09-18 11:29:24 -07001819 LDFLAGS_SUFFIX_linux:=$(LIBDL) -ljvm -lpthread -ljava,\
ohairb71409c2012-10-26 14:23:29 -07001820 LDFLAGS_SUFFIX_windows:=ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
1821 delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
1822 -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
ohair46fcac92012-09-18 11:29:24 -07001823 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1824 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001825 -D "JDK_FNAME=net.dll" \
1826 -D "JDK_INTERNAL_NAME=net" \
1827 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001828 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet,\
1829 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001830
1831$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1832
1833BUILD_LIBRARIES += $(BUILD_LIBNET)
1834
1835$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
ohairb71409c2012-10-26 14:23:29 -07001836 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001837 $(MKDIR) -p $(@D)
1838 $(CP) $< $@
1839
1840COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1841
1842ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001843$(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 -07001844 $(ECHO) $(LOG_INFO) Copying $(@F)
erikjaf85fc42012-07-03 16:10:44 -07001845 $(MKDIR) -p $(@D)
1846 $(CP) $< $@
1847
1848COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1849endif
1850
1851##########################################################################################
1852
1853BUILD_LIBNIO_SRC:=\
ohair46fcac92012-09-18 11:29:24 -07001854 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
1855 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1856 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
erikjaf85fc42012-07-03 16:10:44 -07001857
1858BUILD_LIBNIO_CFLAGS:=\
1859 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1860 -I$(JDK_TOPDIR)/src/share/native/java/io \
1861 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001862 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
erikjaf85fc42012-07-03 16:10:44 -07001863
1864BUILD_LIBNIO_FILES:=\
1865 DatagramChannelImpl.c \
1866 DatagramDispatcher.c \
1867 FileChannelImpl.c \
1868 FileDispatcherImpl.c \
1869 FileKey.c \
1870 IOUtil.c \
1871 MappedByteBuffer.c \
1872 Net.c \
1873 ServerSocketChannelImpl.c \
1874 SocketChannelImpl.c \
1875 SocketDispatcher.c
1876
1877ifeq ($(OPENJDK_TARGET_OS), windows)
1878 BUILD_LIBNIO_FILES += \
1879 Iocp.c \
1880 RegistryFileTypeDetector.c \
1881 WindowsAsynchronousFileChannelImpl.c \
1882 WindowsAsynchronousServerSocketChannelImpl.c \
1883 WindowsAsynchronousSocketChannelImpl.c \
1884 WindowsNativeDispatcher.c \
1885 WindowsSelectorImpl.c
1886endif
1887
1888ifeq ($(OPENJDK_TARGET_OS), linux)
ohair46fcac92012-09-18 11:29:24 -07001889 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001890 BUILD_LIBNIO_FILES += \
1891 EPoll.c \
1892 EPollArrayWrapper.c \
1893 EPollPort.c \
1894 InheritedChannel.c \
1895 NativeThread.c \
ohair46fcac92012-09-18 11:29:24 -07001896 PollArrayWrapper.c \
erikjaf85fc42012-07-03 16:10:44 -07001897 UnixAsynchronousServerSocketChannelImpl.c \
1898 UnixAsynchronousSocketChannelImpl.c \
1899 GnomeFileTypeDetector.c \
1900 LinuxNativeDispatcher.c \
1901 LinuxWatchService.c \
1902 UnixCopyFile.c \
1903 UnixNativeDispatcher.c
1904endif
1905
1906ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07001907 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001908 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1909 BUILD_LIBNIO_FILES += \
1910 InheritedChannel.c \
1911 NativeThread.c \
1912 PollArrayWrapper.c \
1913 UnixAsynchronousServerSocketChannelImpl.c \
1914 UnixAsynchronousSocketChannelImpl.c \
erikjaf85fc42012-07-03 16:10:44 -07001915 BsdNativeDispatcher.c \
ohair46fcac92012-09-18 11:29:24 -07001916 MacOSXNativeDispatcher.c \
erikjaf85fc42012-07-03 16:10:44 -07001917 UnixCopyFile.c \
1918 UnixNativeDispatcher.c \
1919 KQueue.c \
1920 KQueuePort.c \
1921 KQueueArrayWrapper.c
1922endif
1923
1924ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07001925 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
erikjaf85fc42012-07-03 16:10:44 -07001926 BUILD_LIBNIO_FILES += \
1927 DevPollArrayWrapper.c \
1928 InheritedChannel.c \
1929 NativeThread.c \
1930 PollArrayWrapper.c \
1931 SolarisEventPort.c \
1932 UnixAsynchronousServerSocketChannelImpl.c \
1933 UnixAsynchronousSocketChannelImpl.c \
1934 GnomeFileTypeDetector.c \
1935 SolarisNativeDispatcher.c \
1936 SolarisWatchService.c \
1937 UnixCopyFile.c \
1938 UnixNativeDispatcher.c
1939endif
1940
1941$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1942 LIBRARY:=nio,\
1943 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1944 SRC:=$(BUILD_LIBNIO_SRC),\
1945 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1946 LANG:=C,\
1947 OPTIMIZATION:=HIGH, \
1948 CFLAGS:=$(CFLAGS_JDKLIB) \
1949 $(BUILD_LIBNIO_CFLAGS),\
1950 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1951 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1952 $(call SET_SHARED_LIBRARY_ORIGIN),\
1953 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
ohair46fcac92012-09-18 11:29:24 -07001954 LDFLAGS_SUFFIX_solaris:=-ljvm -lsocket -lposix4 $(LIBDL) \
1955 -lsendfile -ljava -lnet -lc,\
ohairb71409c2012-10-26 14:23:29 -07001956 LDFLAGS_SUFFIX_windows:=jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
1957 $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
erikjaf85fc42012-07-03 16:10:44 -07001958 $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
ohairb71409c2012-10-26 14:23:29 -07001959 $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj \
1960 advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07001961 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread -framework CoreFoundation,\
erikjaf85fc42012-07-03 16:10:44 -07001962 LDFLAGS_SUFFIX:=,\
ohair46fcac92012-09-18 11:29:24 -07001963 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
1964 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07001965 -D "JDK_FNAME=nio.dll" \
1966 -D "JDK_INTERNAL_NAME=nio" \
1967 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07001968 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio,\
1969 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07001970
1971BUILD_LIBRARIES += $(BUILD_LIBNIO)
1972
1973$(BUILD_LIBNIO) : $(BUILD_LIBNET)
1974
1975##########################################################################################
1976
1977ifeq ($(OPENJDK_TARGET_OS_API),posix)
erikj5c99f2c2012-11-28 13:29:35 +01001978
erikjaf85fc42012-07-03 16:10:44 -07001979 ifneq ($(OPENJDK_TARGET_OS),macosx)
1980
1981 SCTP_WERROR := -Werror
1982 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
1983 SCTP_WERROR :=
1984 endif
1985
1986 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
1987 LIBRARY:=sctp,\
1988 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohair46fcac92012-09-18 11:29:24 -07001989 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp,\
erikjaf85fc42012-07-03 16:10:44 -07001990 LANG:=C,\
1991 OPTIMIZATION:=LOW, \
1992 CFLAGS:=$(CFLAGS_JDKLIB)\
1993 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1994 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
1995 -I$(JDK_TOPDIR)/src/share/native/java/net \
ohair46fcac92012-09-18 11:29:24 -07001996 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
1997 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net,\
erikjaf85fc42012-07-03 16:10:44 -07001998 CFLAGS_linux:=$(SCTP_WERROR),\
1999 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
2000 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2001 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002002 LDFLAGS_SUFFIX_linux:=-lpthread $(LIBDL) -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002003 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
erikj4f66f2d2012-11-03 16:27:01 -07002004 LDFLAGS_SUFFIX_solaris:=-lsocket -ljava -ljvm -lc,\
ohair46fcac92012-09-18 11:29:24 -07002005 LDFLAGS_SUFFIX_macosx:=-ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002006 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp))
2007
2008 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
2009
2010 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
2011 endif
2012endif
2013
2014##########################################################################################
2015
ohair46fcac92012-09-18 11:29:24 -07002016BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
2017LIBJLI_CFLAGS:=$(CFLAGS_JDKLIB) $(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
erikjaf85fc42012-07-03 16:10:44 -07002018
2019BUILD_LIBJLI_FILES:=\
2020 java.c \
2021 splashscreen_stubs.c \
2022 parse_manifest.c \
2023 version_comp.c \
2024 wildcard.c \
2025 jli_util.c
2026
2027ifeq ($(JVM_VARIANT_ZERO), true)
2028 ERGO_FAMILY:=zero
ohair46fcac92012-09-18 11:29:24 -07002029else
2030 ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
erikjaf85fc42012-07-03 16:10:44 -07002031 ERGO_FAMILY:=i586
ohair46fcac92012-09-18 11:29:24 -07002032 else
2033 ERGO_FAMILY:=$(OPENJDK_TARGET_CPU_ARCH)
2034 endif
2035endif
erikjaf85fc42012-07-03 16:10:44 -07002036
2037ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002038 LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
erikjaf85fc42012-07-03 16:10:44 -07002039 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
2040 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
2041
2042 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2043 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2044endif
2045
2046ifeq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002047 BUILD_LIBJLI_FILES += java_md.c \
2048 cmdtoargs.c
2049 # Staticically link with c runtime on windows.
2050 LIBJLI_CFLAGS:=$(filter-out -MD,$(LIBJLI_CFLAGS))
erikjaf85fc42012-07-03 16:10:44 -07002051else ifneq ($(OPENJDK_TARGET_OS), macosx)
2052
2053 BUILD_LIBJLI_FILES += java_md_common.c
2054 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
2055
2056 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2057
2058 # if the architecture specific ergo file exists then
2059 # use it, else use the generic definitions from ergo.c
ohair46fcac92012-09-18 11:29:24 -07002060 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)),)
erikjaf85fc42012-07-03 16:10:44 -07002061 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2062 else # !ERGO_ARCH_FILE
ohair46fcac92012-09-18 11:29:24 -07002063 LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
erikjaf85fc42012-07-03 16:10:44 -07002064 endif # ERGO_ARCH_FILE
2065endif #WINDOWS
2066
ohair46fcac92012-09-18 11:29:24 -07002067# Append defines depending on target platform
2068LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002069
2070ifeq ($(OPENJDK_TARGET_OS), macosx)
ohair46fcac92012-09-18 11:29:24 -07002071 LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
erikjaf85fc42012-07-03 16:10:44 -07002072endif
2073
2074ifneq ($(USE_EXTERNAL_LIBZ),true)
2075 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002076 LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002077 BUILD_LIBJLI_FILES += \
2078 inflate.c \
2079 inftrees.c \
2080 inffast.c \
2081 zadler32.c \
2082 zcrc32.c \
2083 zutil.c
2084endif
2085
2086ifeq ($(OPENJDK_TARGET_OS), windows)
2087 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2088else
2089 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2090endif
2091
2092$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2093 LIBRARY:=jli,\
2094 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2095 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2096 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2097 LANG:=C,\
2098 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002099 CFLAGS:=$(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002100 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2101 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2102 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002103 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2104 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2105 LDFLAGS_macosx:=-framework Cocoa -framework Security -framework ApplicationServices,\
2106 LDFLAGS_SUFFIX_solaris:=$(LIBZ) $(LIBDL) -lc,\
2107 LDFLAGS_SUFFIX_linux:=$(LIBZ) $(LIBDL) -lc -lpthread,\
2108 LDFLAGS_SUFFIX_macosx:=$(LIBZ),\
erikjaf85fc42012-07-03 16:10:44 -07002109 LDFLAGS_SUFFIX_windows:=\
2110 -export:JLI_Launch \
2111 -export:JLI_ManifestIterate \
2112 -export:JLI_SetTraceLauncher \
2113 -export:JLI_ReportErrorMessage \
2114 -export:JLI_ReportErrorMessageSys \
2115 -export:JLI_ReportMessage \
2116 -export:JLI_ReportExceptionDescription \
ohair46fcac92012-09-18 11:29:24 -07002117 -export:JLI_MemAlloc \
2118 -export:JLI_CmdToArgs \
2119 -export:JLI_GetStdArgc \
2120 -export:JLI_GetStdArgs \
erikjaf85fc42012-07-03 16:10:44 -07002121 advapi32.lib \
2122 comctl32.lib \
2123 user32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002124 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2125 RC_FLAGS:=$(RC_FLAGS) \
ohairb71409c2012-10-26 14:23:29 -07002126 -D "JDK_FNAME=jli.dll" \
2127 -D "JDK_INTERNAL_NAME=jli" \
2128 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002129 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli,\
2130 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002131
2132BUILD_LIBRARIES += $(BUILD_LIBJLI)
2133
2134# On windows, the static library has the same suffix as the import library created by
2135# with the shared library, so the static library is given a different name. No harm
2136# in doing it for all platform to reduce complexity.
2137ifeq ($(OPENJDK_TARGET_OS), windows)
2138 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2139 STATIC_LIBRARY:=jli_static,\
2140 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2141 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2142 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2143 LANG:=C,\
2144 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002145 CFLAGS:=$(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002146 ARFLAGS:=$(ARFLAGS),\
2147 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2148
2149BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2150
2151else ifeq ($(OPENJDK_TARGET_OS),macosx)
2152 #
2153 # On macosx they do partial (incremental) linking of libjli_static.a
2154 # code it here...rather than add support to NativeCompilation
2155 # as this is first time I see it
2156 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2157 LIBRARY:=jli_static, \
2158 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2159 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2160 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2161 LANG:=C,\
2162 OPTIMIZATION:=HIGH, \
ohair46fcac92012-09-18 11:29:24 -07002163 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -07002164 LDFLAGS:=-nostdlib -r,\
2165 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2166
2167$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
2168 $(CP) -a $< $@
2169
2170BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2171endif
2172
2173##########################################################################################
2174
ohairb71409c2012-10-26 14:23:29 -07002175ifndef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -07002176ifeq ($(ENABLE_JFR), true)
2177
2178$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2179 LIBRARY:=jfr,\
2180 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2181 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2182 LANG:=C,\
2183 OPTIMIZATION:=LOW, \
2184 CFLAGS:=$(CFLAGS_JDKLIB) \
2185 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2186 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2187 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2188 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002189 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2190 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002191 -D "JDK_FNAME=jfr.dll" \
2192 -D "JDK_INTERNAL_NAME=jfr" \
2193 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002194 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr,\
2195 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002196
2197BUILD_LIBRARIES += $(BUILD_LIBJFR)
2198
2199endif
ohairb71409c2012-10-26 14:23:29 -07002200endif
erikjaf85fc42012-07-03 16:10:44 -07002201
2202##########################################################################################
2203
2204ifndef OPENJDK
2205
2206BUILD_LIBKCMS_EXCLUDE_FILES:=
2207ifeq ($(OPENJDK_TARGET_OS),windows)
2208 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2209else
2210 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2211endif
2212
2213BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2214
2215ifeq ($(OPENJDK_TARGET_OS),solaris)
2216 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2217 # implement it like this...since it's only used here
2218 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2219else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2220 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2221endif
2222
2223$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2224 LIBRARY:=kcms,\
2225 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2226 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2227 LANG:=C,\
2228 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2229 OPTIMIZATION:=LOW, \
2230 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2231 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2232 CFLAGS_linux:=-Wno-missing-field-initializers,\
2233 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2234 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2235 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002236 LDFLAGS_SUFFIX_linux:=-lc -lpthread,\
erikjaf85fc42012-07-03 16:10:44 -07002237 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
erikj388fbde2012-12-06 12:09:33 +01002238 LDFLAGS_SUFFIX_posix:=-lm -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002239 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
ohair46fcac92012-09-18 11:29:24 -07002240 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2241 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002242 -D "JDK_FNAME=kcms.dll" \
2243 -D "JDK_INTERNAL_NAME=kcms" \
2244 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002245 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms,\
2246 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002247
2248$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2249
2250BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2251
2252endif
2253
2254##########################################################################################
2255
2256ifndef OPENJDK
2257ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002258ifneq ($(OPENJDK_TARGET_CPU), x86_64)
erikjaf85fc42012-07-03 16:10:44 -07002259
2260ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2261
2262SUNWJDGA_MAPFILE:=
ohair46fcac92012-09-18 11:29:24 -07002263ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
erikjaf85fc42012-07-03 16:10:44 -07002264 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2265endif
2266
2267$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2268 LIBRARY:=sunwjdga,\
2269 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2270 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2271 LANG:=C, \
2272 OPTIMIZATION:=LOW, \
2273 CFLAGS:=$(CFLAGS_JDKLIB) \
2274 -I$(JDK_TOPDIR)/src/share/javavm/export \
ohair46fcac92012-09-18 11:29:24 -07002275 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
erikjaf85fc42012-07-03 16:10:44 -07002276 -I$(OPENWIN_HOME)/include, \
2277 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2278 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2279 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002280 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 -07002281 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga))
2282
2283BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2284
2285endif
2286endif
2287endif
2288endif
2289
2290##########################################################################################
2291
2292ifeq ($(BUILD_HEADLESS), true)
2293ifneq ($(OPENJDK_TARGET_OS), windows)
2294
2295LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2296 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2297 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2298 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2299 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2300 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2301
2302LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2303 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2304 $(CUPS_CFLAGS) \
2305 $(X_CFLAGS) \
2306 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
ohair46fcac92012-09-18 11:29:24 -07002307 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -07002308 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2309 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2310 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2311 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2312 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
ohair46fcac92012-09-18 11:29:24 -07002313 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
erikjaf85fc42012-07-03 16:10:44 -07002314 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2315
2316LIBAWT_HEADLESS_FILES:=\
2317 awt_Font.c \
2318 HeadlessToolkit.c \
2319 fontpath.c \
2320 VDrawingArea.c \
2321 X11Color.c \
2322 X11Renderer.c \
2323 X11PMBlitLoops.c \
2324 X11SurfaceData.c \
2325 X11FontScaler_md.c \
2326 X11TextRenderer_md.c \
2327 OGLBlitLoops.c \
2328 OGLBufImgOps.c \
2329 OGLContext.c \
2330 OGLFuncs.c \
2331 OGLMaskBlit.c \
2332 OGLMaskFill.c \
2333 OGLPaints.c \
2334 OGLRenderQueue.c \
2335 OGLRenderer.c \
2336 OGLSurfaceData.c \
2337 OGLTextRenderer.c \
2338 OGLVertexCache.c \
2339 GLXGraphicsConfig.c \
2340 GLXSurfaceData.c \
2341 AccelGlyphCache.c \
2342 CUPSfuncs.c
2343
erikjaf85fc42012-07-03 16:10:44 -07002344LIBAWT_HEADLESS_REORDER:=
2345ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair46fcac92012-09-18 11:29:24 -07002346 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
2347 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
erikjaf85fc42012-07-03 16:10:44 -07002348 endif
2349endif
2350
2351$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2352 LIBRARY:=awt_headless,\
2353 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2354 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2355 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2356 LANG:=C,\
2357 OPTIMIZATION:=LOW, \
2358 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
tbell7d47bd02012-11-12 10:20:01 -08002359 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers,\
erikjaf85fc42012-07-03 16:10:44 -07002360 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2361 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002362 LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_ORIGIN,/..),\
2363 LDFLAGS_solaris:=$(call SET_SHARED_LIBRARY_ORIGIN,/..) \
2364 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
2365 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR),\
2366 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN).,\
erikjaf85fc42012-07-03 16:10:44 -07002367 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
ohair46fcac92012-09-18 11:29:24 -07002368 LDFLAGS_SUFFIX_linux:=-ljvm -lawt -lm $(LIBDL) -ljava,\
tbell7d47bd02012-11-12 10:20:01 -08002369 LDFLAGS_SUFFIX_solaris:=$(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc,\
2370 LDFLAGS_SUFFIX_macosx:=-ljvm $(LIBCXX) -lawt $(LIBDL) -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07002371 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless))
2372
2373$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2374
2375BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2376
2377endif
2378endif
2379
2380##########################################################################################
2381
2382ifndef BUILD_HEADLESS_ONLY
2383LIBSPLASHSCREEN_DIRS:=\
2384 $(JDK_TOPDIR)/src/share/native/sun/awt/giflib \
2385 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2386 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
erikj5c99f2c2012-11-28 13:29:35 +01002387 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
2388
2389ifneq ($(OPENJDK_TARGET_OS), macosx)
2390 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
2391else
2392 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2393endif
2394
erikjaf85fc42012-07-03 16:10:44 -07002395
2396LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2397 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2398
2399ifeq ($(OPENJDK_TARGET_OS), macosx)
2400 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2401 $(LIBSPLASHSCREEN_CFLAGS) \
2402 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2403 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2404 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2405
2406 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2407 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2408 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2409 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2410 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2411 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2412 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2413
2414else ifneq ($(OPENJDK_TARGET_OS), windows)
2415 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2416else
2417 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2418endif
2419
erikjaf85fc42012-07-03 16:10:44 -07002420LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2421
2422ifneq ($(USE_EXTERNAL_LIBZ),true)
2423 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
erikj5c99f2c2012-11-28 13:29:35 +01002424 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
erikjaf85fc42012-07-03 16:10:44 -07002425endif
2426
2427ifeq ($(OPENJDK_TARGET_OS), macosx)
2428 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2429 -framework ApplicationServices \
2430 -framework Foundation \
2431 -framework Cocoa \
2432 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2433 -framework JavaNativeFoundation
2434else ifneq ($(OPENJDK_TARGET_OS), windows)
ohair46fcac92012-09-18 11:29:24 -07002435 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
erikjaf85fc42012-07-03 16:10:44 -07002436else # OPENJDK_TARGET_OS
ohairb71409c2012-10-26 14:23:29 -07002437 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
erikjaf85fc42012-07-03 16:10:44 -07002438endif # OPENJDK_TARGET_OS
2439
2440$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2441 LIBRARY:=splashscreen,\
2442 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2443 SRC:=$(LIBSPLASHSCREEN_DIRS),\
erikj5c99f2c2012-11-28 13:29:35 +01002444 EXCLUDE_FILES:=imageioJPEG.c jpegdecoder.c pngtest.c,\
erikjaf85fc42012-07-03 16:10:44 -07002445 LANG:=C,\
2446 OPTIMIZATION:=LOW, \
2447 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\
2448 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2449 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2450 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002451 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
tbell7d47bd02012-11-12 10:20:01 -08002452 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002453 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2454 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002455 -D "JDK_FNAME=splashscreen.dll" \
2456 -D "JDK_INTERNAL_NAME=splashscreen" \
2457 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002458 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen,\
2459 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikjaf85fc42012-07-03 16:10:44 -07002460
2461BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2462
2463ifeq ($(OPENJDK_TARGET_OS),macosx)
2464$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
2465endif
2466
2467endif
2468
2469##########################################################################################
2470
2471ifndef OPENJDK
2472
2473LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002474 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2475 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2476 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2477 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2478
erikjaf85fc42012-07-03 16:10:44 -07002479LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002480 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2481
2482$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002483 LIBRARY:=dcpr,\
2484 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002485 SRC:=$(LIBDCPR_SRC_DIRS),\
2486 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002487 OPTIMIZATION:=LOW, \
2488 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002489 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002490 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002491 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002492 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002493 LDFLAGS_SUFFIX:=$(LIBM) $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002494 LDFLAGS_SUFFIX_posix:=-lm,\
ohair46fcac92012-09-18 11:29:24 -07002495 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2496 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002497 -D "JDK_FNAME=dcpr.dll" \
2498 -D "JDK_INTERNAL_NAME=dcpr" \
2499 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002500 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr,\
2501 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002502
erikjaf85fc42012-07-03 16:10:44 -07002503$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002504
erikjaf85fc42012-07-03 16:10:44 -07002505BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002506
2507endif
2508
2509##########################################################################################
2510
2511$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002512 LIBRARY:=j2pcsc,\
2513 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002514 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002515 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002516 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002517 CFLAGS_posix:=-D__sun_jdk,\
2518 OPTIMIZATION:=LOW, \
2519 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002520 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
ohair46fcac92012-09-18 11:29:24 -07002521 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio\
2522 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE,\
erikjaf85fc42012-07-03 16:10:44 -07002523 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002524 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2525 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002526 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2527 LDFLAGS_SUFFIX_windows:=winscard.lib,\
tbell7d47bd02012-11-12 10:20:01 -08002528 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002529 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2530 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002531 -D "JDK_FNAME=j2pcsc.dll" \
2532 -D "JDK_INTERNAL_NAME=j2pcsc" \
2533 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002534 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc,\
2535 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002536
erikjaf85fc42012-07-03 16:10:44 -07002537BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002538
2539##########################################################################################
2540
erikjaf85fc42012-07-03 16:10:44 -07002541ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002542$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002543 LIBRARY:=j2gss,\
2544 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002545 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002546 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002547 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002548 OPTIMIZATION:=LOW, \
2549 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002550 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002551 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002552 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002553 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2554 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002555 LDFLAGS_SUFFIX:=$(LIBDL),\
2556 LDFLAGS_SUFFIX_solaris:=-lc,\
erikjaf85fc42012-07-03 16:10:44 -07002557 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss))
erikje78df742012-06-07 20:40:50 -07002558
erikjaf85fc42012-07-03 16:10:44 -07002559BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002560endif
2561
2562##########################################################################################
2563
erikjaf85fc42012-07-03 16:10:44 -07002564BUILD_LIBKRB5_NAME:=
2565ifeq ($(OPENJDK_TARGET_OS), windows)
2566 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
ohair46fcac92012-09-18 11:29:24 -07002567 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
ohairb71409c2012-10-26 14:23:29 -07002568 BUILD_LIBKRB5_LIBS:=advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
2569 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
2570 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
erikjaf85fc42012-07-03 16:10:44 -07002571else ifeq ($(OPENJDK_TARGET_OS), macosx)
2572 BUILD_LIBKRB5_NAME:=osxkrb5
erikj5c99f2c2012-11-28 13:29:35 +01002573 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5
erikjaf85fc42012-07-03 16:10:44 -07002574 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikje78df742012-06-07 20:40:50 -07002575endif
2576
2577ifneq ($(BUILD_LIBKRB5_NAME),)
2578$(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002579 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2580 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikj5c99f2c2012-11-28 13:29:35 +01002581 SRC:=$(BUILD_LIBKRB5_SRC),\
erikje78df742012-06-07 20:40:50 -07002582 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002583 OPTIMIZATION:=LOW, \
2584 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002585 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
ohair46fcac92012-09-18 11:29:24 -07002586 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002587 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2588 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002589 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
ohair46fcac92012-09-18 11:29:24 -07002590 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2591 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002592 -D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
2593 -D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
2594 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002595 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5,\
2596 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002597
erikjaf85fc42012-07-03 16:10:44 -07002598BUILD_LIBRARIES += $(BUILD_LIBKRB5)
erikje78df742012-06-07 20:40:50 -07002599endif
2600
2601##########################################################################################
2602
erikjaf85fc42012-07-03 16:10:44 -07002603ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002604
2605$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002606 LIBRARY:=sunmscapi,\
2607 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
ohairb71409c2012-10-26 14:23:29 -07002608 SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
erikjaf85fc42012-07-03 16:10:44 -07002609 INCLUDE_FILES:=security.cpp, \
erikje78df742012-06-07 20:40:50 -07002610 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002611 OPTIMIZATION:=LOW, \
2612 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair46fcac92012-09-18 11:29:24 -07002613 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi ,\
2614 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002615 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002616 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002617 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2618 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002619 -D "JDK_FNAME=sunmscapi.dll" \
2620 -D "JDK_INTERNAL_NAME=sunmscapi" \
2621 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002622 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi,\
2623 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002624
erikjaf85fc42012-07-03 16:10:44 -07002625BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
erikje78df742012-06-07 20:40:50 -07002626endif
2627
2628##########################################################################################
2629
erikje78df742012-06-07 20:40:50 -07002630$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002631 LIBRARY:=j2pkcs11,\
2632 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002633 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002634 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002635 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002636 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002637 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002638 OPTIMIZATION:=LOW, \
2639 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002640 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
ohair46fcac92012-09-18 11:29:24 -07002641 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002642 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
ohair46fcac92012-09-18 11:29:24 -07002643 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper,\
erikjaf85fc42012-07-03 16:10:44 -07002644 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002645 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2646 $(call SET_SHARED_LIBRARY_ORIGIN),\
tbell7d47bd02012-11-12 10:20:01 -08002647 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2648 LDFLAGS_SUFFIX_solaris:=-lc,\
ohair46fcac92012-09-18 11:29:24 -07002649 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2650 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002651 -D "JDK_FNAME=j2pkcs11.dll" \
2652 -D "JDK_INTERNAL_NAME=j2pkcs11" \
2653 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002654 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11,\
2655 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002656
erikjaf85fc42012-07-03 16:10:44 -07002657BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002658
2659##########################################################################################
2660
2661ifndef DISABLE_INTREE_EC
2662#
2663# TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl
2664# is not present
2665#
erikjaf85fc42012-07-03 16:10:44 -07002666BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2667 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2668
2669#
2670# On sol-sparc...all libraries are compiled with -xregs=no%appl
2671# (set in CFLAGS_REQUIRED_sparc)
2672#
2673# except!!! libsunec.so
2674#
2675ECC_JNI_SOLSPARC_FILTER:=
2676ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2677 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2678endif
erikje78df742012-06-07 20:40:50 -07002679
2680$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002681 LIBRARY:=sunec,\
2682 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002683 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2684 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002685 LANG:=C++, \
2686 OPTIMIZATION:=LOW, \
2687 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2688 $(BUILD_LIBSUNEC_FLAGS) \
2689 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2690 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2691 $(BUILD_LIBSUNEC_FLAGS),\
2692 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002693 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK),\
2694 LDFLAGS_macosx:=$(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002695 LDFLAGS_SUFFIX:=$(LIBCXX),\
ohair46fcac92012-09-18 11:29:24 -07002696 LDFLAGS_SUFFIX_linux:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002697 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002698 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2699 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002700 -D "JDK_FNAME=sunec.dll" \
2701 -D "JDK_INTERNAL_NAME=sunec" \
2702 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002703 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec,\
2704 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002705
erikjaf85fc42012-07-03 16:10:44 -07002706BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002707endif
2708
2709##########################################################################################
2710
erikjaf85fc42012-07-03 16:10:44 -07002711LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002712 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
ohair46fcac92012-09-18 11:29:24 -07002713 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002714
erikjaf85fc42012-07-03 16:10:44 -07002715LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002716
erikjaf85fc42012-07-03 16:10:44 -07002717LIBJSOUND_LANG:=C
2718LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002719
erikjaf85fc42012-07-03 16:10:44 -07002720EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002721
erikjaf85fc42012-07-03 16:10:44 -07002722LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002723 MidiInDevice.c \
2724 MidiInDeviceProvider.c \
2725 MidiOutDevice.c \
2726 MidiOutDeviceProvider.c \
2727 PlatformMidi.c
2728
2729# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002730LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002731 PortMixerProvider.c \
2732 PortMixer.c
2733
2734# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002735LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002736 DirectAudioDeviceProvider.c \
2737 DirectAudioDevice.c
2738
erikjaf85fc42012-07-03 16:10:44 -07002739ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002740 EXTRA_SOUND_JNI_LIBS += jsoundds
2741 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2742 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2743 -DUSE_PLATFORM_MIDI_IN=TRUE \
2744 -DUSE_PORTS=TRUE
2745 LIBJSOUND_SRC_FILES += \
2746 PLATFORM_API_WinOS_MidiIn.cpp \
2747 PLATFORM_API_WinOS_MidiOut.c \
2748 PLATFORM_API_WinOS_Util.c \
2749 PLATFORM_API_WinOS_Ports.c
2750 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2751 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002752endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002753
erikjaf85fc42012-07-03 16:10:44 -07002754ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002755 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2756 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002757endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002758
erikjaf85fc42012-07-03 16:10:44 -07002759ifeq ($(OPENJDK_TARGET_OS), macosx)
2760 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002761 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2762 -DUSE_PORTS=TRUE \
2763 -DUSE_DAUDIO=TRUE \
2764 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2765 -DUSE_PLATFORM_MIDI_IN=TRUE
2766 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2767 LIBJSOUND_SRC_FILES += \
2768 PLATFORM_API_MacOSX_Utils.cpp \
2769 PLATFORM_API_MacOSX_PCM.cpp \
2770 PLATFORM_API_MacOSX_Ports.cpp \
2771 PLATFORM_API_MacOSX_MidiIn.c \
2772 PLATFORM_API_MacOSX_MidiOut.c \
2773 PLATFORM_API_MacOSX_MidiUtils.c
2774 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2775 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2776 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002777endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002778
erikjaf85fc42012-07-03 16:10:44 -07002779ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002780 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2781 -DUSE_PORTS=TRUE \
2782 -DUSE_DAUDIO=TRUE
2783 LIBJSOUND_SRC_FILES += \
2784 PLATFORM_API_SolarisOS_Utils.c \
2785 PLATFORM_API_SolarisOS_Ports.c \
2786 PLATFORM_API_SolarisOS_PCM.c
2787 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2788 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2789 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002790endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002791
2792
2793ifeq ($(JVM_VARIANT_ZERO), true)
2794 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2795else
ohair46fcac92012-09-18 11:29:24 -07002796 ifeq ($(OPENJDK_TARGET_CPU), x86)
erikje78df742012-06-07 20:40:50 -07002797 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
ohair46fcac92012-09-18 11:29:24 -07002798 endif
erikje78df742012-06-07 20:40:50 -07002799
ohair46fcac92012-09-18 11:29:24 -07002800 ifeq ($(OPENJDK_TARGET_CPU), sparc)
erikje78df742012-06-07 20:40:50 -07002801 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
ohair46fcac92012-09-18 11:29:24 -07002802 endif
erikje78df742012-06-07 20:40:50 -07002803
ohair46fcac92012-09-18 11:29:24 -07002804 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
erikje78df742012-06-07 20:40:50 -07002805 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
ohair46fcac92012-09-18 11:29:24 -07002806 endif
erikje78df742012-06-07 20:40:50 -07002807
ohair46fcac92012-09-18 11:29:24 -07002808 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
erikje78df742012-06-07 20:40:50 -07002809 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
ohair46fcac92012-09-18 11:29:24 -07002810 endif
erikje78df742012-06-07 20:40:50 -07002811
ohair46fcac92012-09-18 11:29:24 -07002812 ifeq ($(OPENJDK_TARGET_CPU), arm)
erikje78df742012-06-07 20:40:50 -07002813 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
ohair46fcac92012-09-18 11:29:24 -07002814 endif
erikje78df742012-06-07 20:40:50 -07002815
ohair46fcac92012-09-18 11:29:24 -07002816 ifeq ($(OPENJDK_TARGET_CPU), ppc)
erikje78df742012-06-07 20:40:50 -07002817 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
ohair46fcac92012-09-18 11:29:24 -07002818 endif
erikje78df742012-06-07 20:40:50 -07002819endif
2820
2821LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2822
2823$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002824 LIBRARY:=jsound,\
2825 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002826 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002827 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002828 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002829 OPTIMIZATION:=LOW, \
ohair46fcac92012-09-18 11:29:24 -07002830 CFLAGS:=$(CFLAGS_JDKLIB) \
2831 $(LIBJSOUND_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002832 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2833 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002834 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2835 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002836 LDFLAGS_macosx:=-framework CoreAudio -framework CoreFoundation \
2837 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2838 -framework CoreMIDI -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -07002839 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
ohairb71409c2012-10-26 14:23:29 -07002840 LDFLAGS_SUFFIX_posix:=-ljava -ljvm,\
erikje78df742012-06-07 20:40:50 -07002841 LDFLAGS_SUFFIX_solaris:=-lc ,\
ohair46fcac92012-09-18 11:29:24 -07002842 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2843 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002844 -D "JDK_FNAME=jsound.dll" \
2845 -D "JDK_INTERNAL_NAME=jsound" \
2846 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002847 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound,\
2848 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002849
erikjaf85fc42012-07-03 16:10:44 -07002850$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002851
erikjaf85fc42012-07-03 16:10:44 -07002852BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002853
2854##########################################################################################
2855
2856ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2857
2858$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002859 LIBRARY:=jsoundalsa,\
2860 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002861 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002862 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002863 $(LIBJSOUND_DAUDIOFILES) \
2864 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2865 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2866 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2867 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2868 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2869 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2870 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002871 LANG:=C,\
2872 OPTIMIZATION:=LOW, \
2873 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002874 $(LIBJSOUND_CFLAGS) \
2875 -DUSE_DAUDIO=TRUE \
2876 -DUSE_PORTS=TRUE \
2877 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2878 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07002879 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002880 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2881 $(call SET_SHARED_LIBRARY_ORIGIN),\
ohair46fcac92012-09-18 11:29:24 -07002882 LDFLAGS_SUFFIX:=-lasound -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07002883 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa))
erikje78df742012-06-07 20:40:50 -07002884
erikjaf85fc42012-07-03 16:10:44 -07002885$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002886
erikjaf85fc42012-07-03 16:10:44 -07002887BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07002888
2889endif
2890
2891##########################################################################################
2892
2893ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
2894
2895$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07002896 LIBRARY:=jsoundds,\
2897 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002898 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002899 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07002900 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07002901 LANG:=C++,\
2902 OPTIMIZATION:=LOW, \
2903 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002904 $(LIBJSOUND_CFLAGS) \
2905 -DUSE_DAUDIO=TRUE, \
ohair46fcac92012-09-18 11:29:24 -07002906 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
erikje78df742012-06-07 20:40:50 -07002907 $(call SET_SHARED_LIBRARY_ORIGIN),\
2908 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
ohair46fcac92012-09-18 11:29:24 -07002909 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
2910 RC_FLAGS:=$(RC_FLAGS)\
ohairb71409c2012-10-26 14:23:29 -07002911 -D "JDK_FNAME=jsoundds.dll" \
2912 -D "JDK_INTERNAL_NAME=jsoundds" \
2913 -D "JDK_FTYPE=0x2L",\
ohair46fcac92012-09-18 11:29:24 -07002914 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds,\
2915 DEBUG_SYMBOLS:=$(WINDOWS_ONLY)))
erikje78df742012-06-07 20:40:50 -07002916
erikjaf85fc42012-07-03 16:10:44 -07002917$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002918
erikjaf85fc42012-07-03 16:10:44 -07002919BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07002920
2921endif
2922
2923##########################################################################################
2924
erikjaf85fc42012-07-03 16:10:44 -07002925ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002926ifndef OPENJDK
2927
2928$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07002929 LIBRARY:=j2ucrypto,\
2930 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002931 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07002932 LANG:=C,\
2933 OPTIMIZATION:=LOW, \
2934 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002935 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07002936 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
ohair46fcac92012-09-18 11:29:24 -07002937 LDFLAGS:=$(LDFLAGS_JDKLIB),\
erikje78df742012-06-07 20:40:50 -07002938 LDFLAGS_SUFFIX:=$(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07002939 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto))
erikje78df742012-06-07 20:40:50 -07002940
erikjaf85fc42012-07-03 16:10:44 -07002941$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002942
erikjaf85fc42012-07-03 16:10:44 -07002943BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07002944
2945endif
2946endif
2947
2948##########################################################################################
2949
erikjaf85fc42012-07-03 16:10:44 -07002950ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002951
erikje78df742012-06-07 20:40:50 -07002952$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07002953 LIBRARY:=AppleScriptEngine,\
2954 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002955 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07002956 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002957 OPTIMIZATION:=LOW, \
2958 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002959 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
2960 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2961 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
2962 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2963 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07002964 LDFLAGS_SUFFIX:=-framework Cocoa \
2965 -framework Carbon \
2966 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2967 -framework JavaNativeFoundation \
2968 $(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002969 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine))
erikje78df742012-06-07 20:40:50 -07002970
erikjaf85fc42012-07-03 16:10:44 -07002971$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
2972
2973BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07002974
2975endif
2976
2977##########################################################################################
2978
erikjaf85fc42012-07-03 16:10:44 -07002979ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002980
erikje78df742012-06-07 20:40:50 -07002981$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07002982 LIBRARY:=osxapp,\
2983 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002984 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07002985 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002986 OPTIMIZATION:=LOW, \
2987 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002988 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
ohairb71409c2012-10-26 14:23:29 -07002989 -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
erikje78df742012-06-07 20:40:50 -07002990 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2991 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
2992 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2993 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07002994 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07002995 -framework Accelerate \
2996 -framework ApplicationServices \
2997 -framework AudioToolbox \
2998 -framework Carbon \
2999 -framework Cocoa \
3000 -framework Security \
3001 -framework ExceptionHandling \
3002 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3003 -framework JavaNativeFoundation \
3004 -framework JavaRuntimeSupport \
3005 -framework OpenGL \
3006 -framework IOSurface \
3007 -framework QuartzCore, \
erikjaf85fc42012-07-03 16:10:44 -07003008 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp))
erikje78df742012-06-07 20:40:50 -07003009
erikjaf85fc42012-07-03 16:10:44 -07003010BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003011
3012endif
3013
3014##########################################################################################
3015
erikjaf85fc42012-07-03 16:10:44 -07003016ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003017
erikjaf85fc42012-07-03 16:10:44 -07003018LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003019 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3020 $(JDK_TOPDIR)/src/macosx/native/java/util \
3021 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3022 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3023 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3024
3025$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003026 LIBRARY:=osx,\
3027 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003028 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003029 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003030 OPTIMIZATION:=LOW, \
3031 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003032 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3033 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3034 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3035 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3036 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3037 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003038 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003039 -losxapp \
3040 -framework Cocoa \
3041 -framework ApplicationServices \
3042 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3043 -framework JavaNativeFoundation \
3044 -framework JavaRuntimeSupport \
3045 -framework Security \
3046 -framework SystemConfiguration \
3047 $(LDFLAGS_JDKLIB_SUFFIX), \
erikjaf85fc42012-07-03 16:10:44 -07003048 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx))
erikje78df742012-06-07 20:40:50 -07003049
erikjaf85fc42012-07-03 16:10:44 -07003050BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003051
erikjaf85fc42012-07-03 16:10:44 -07003052$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003053
erikjaf85fc42012-07-03 16:10:44 -07003054$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003055
3056endif
3057
3058##########################################################################################
3059
erikjaf85fc42012-07-03 16:10:44 -07003060ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003061
erikjaf85fc42012-07-03 16:10:44 -07003062LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003063 awt.m \
3064 ApplicationDelegate.m \
3065 CFRetainedResource.m \
3066 CGLGraphicsConfig.m \
3067 CGLSurfaceData.m \
3068 CGLLayer.m \
3069 CGraphicsConfig.m \
3070 CGraphicsDevice.m \
3071 CGraphicsEnv.m \
3072 CCharToGlyphMapper.m \
3073 CSystemColors.m \
3074 AWTFont.m \
3075 CGGlyphOutlines.m \
3076 CGGlyphImages.m \
3077 CoreTextSupport.m \
3078 AWTStrike.m \
3079 InitIDs.m \
3080 AWTEvent.m \
3081 AWTView.m \
3082 AWTWindow.m \
3083 AWTSurfaceLayers.m \
3084 CCursorManager.m \
3085 CClipboard.m \
3086 CDataTransferer.m \
3087 CDragSource.m \
3088 CDragSourceContextPeer.m \
3089 CDropTarget.m \
3090 CDropTargetContextPeer.m \
3091 CInputMethod.m \
3092 CDesktopPeer.m \
3093 OSVersion.m \
3094 DnDUtilities.m \
3095 CFileDialog.m \
3096 CImage.m \
3097 CMenu.m \
3098 CMenuBar.m \
3099 CMenuComponent.m \
3100 CMenuItem.m \
3101 CPopupMenu.m \
3102 CRobot.m \
3103 CTrayIcon.m \
3104 CWrapper.m \
3105 JavaAccessibilityAction.m \
3106 JavaAccessibilityUtilities.m \
3107 JavaComponentAccessibility.m \
3108 JavaTextAccessibility.m \
3109 LWCToolkit.m \
3110 GeomUtilities.m \
3111 CPrinterJob.m \
3112 PrintModel.m \
3113 PrinterSurfaceData.m \
3114 PrinterView.m \
3115 QuartzSurfaceData.m \
3116 QuartzRenderer.m \
3117 CTextPipe.m \
3118 ImageSurfaceData.m \
3119 awt_DrawingSurface.m \
3120 \
3121 OGLBlitLoops.c \
3122 OGLBufImgOps.c \
3123 OGLContext.c \
3124 OGLFuncs.c \
3125 OGLMaskBlit.c \
3126 OGLMaskFill.c \
3127 OGLPaints.c \
3128 OGLRenderQueue.c \
3129 OGLRenderer.c \
3130 OGLSurfaceData.c \
3131 OGLTextRenderer.c \
3132 OGLVertexCache.c \
3133 AccelGlyphCache.c \
3134 CUPSfuncs.c
3135
3136
erikjaf85fc42012-07-03 16:10:44 -07003137LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003138 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3139 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3140 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3141 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3142 $(JDK_TOPDIR)/src/share/native/sun/font \
3143 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3144
3145$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003146 LIBRARY:=awt_lwawt,\
3147 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003148 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003149 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003150 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003151 OPTIMIZATION:=LOW, \
3152 CFLAGS:=$(CFLAGS_JDKLIB) \
ohrstrom5048dab2012-10-29 13:41:38 -07003153 $(X_CFLAGS) \
3154 $(X_LIBS) \
erikje78df742012-06-07 20:40:50 -07003155 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3156 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3157 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3158 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3159 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3160 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3161 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3162 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3163 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3164 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3165 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3166 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3167 $(call SET_SHARED_LIBRARY_ORIGIN), \
ohair46fcac92012-09-18 11:29:24 -07003168 LDFLAGS_SUFFIX_macosx:=-lawt -lmlib_image -losxapp -ljvm $(LIBM) \
3169 -framework Accelerate \
3170 -framework ApplicationServices \
3171 -framework AudioToolbox \
3172 -framework Carbon \
3173 -framework Cocoa \
3174 -framework Security \
3175 -framework ExceptionHandling \
3176 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3177 -framework JavaNativeFoundation \
3178 -framework JavaRuntimeSupport \
3179 -framework OpenGL \
3180 -framework QuartzCore -ljava,\
erikjaf85fc42012-07-03 16:10:44 -07003181 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt))
erikje78df742012-06-07 20:40:50 -07003182
erikjaf85fc42012-07-03 16:10:44 -07003183BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003184
erikjaf85fc42012-07-03 16:10:44 -07003185$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003186
erikjaf85fc42012-07-03 16:10:44 -07003187$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003188
erikjaf85fc42012-07-03 16:10:44 -07003189$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003190
erikjaf85fc42012-07-03 16:10:44 -07003191$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003192
3193endif
3194
3195##########################################################################################
3196
erikjaf85fc42012-07-03 16:10:44 -07003197ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003198
erikje78df742012-06-07 20:40:50 -07003199$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003200 LIBRARY:=osxui,\
3201 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003202 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003203 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07003204 OPTIMIZATION:=LOW, \
3205 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003206 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3207 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3208 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3209 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3210 LDFLAGS:=$(LDFLAGS_JDKLIB)\
ohair46fcac92012-09-18 11:29:24 -07003211 $(call SET_SHARED_LIBRARY_ORIGIN) \
3212 -Xlinker -rpath -Xlinker @loader_path,\
3213 LDFLAGS_SUFFIX_macosx:=-lawt -losxapp -lawt_lwawt \
3214 -framework Cocoa \
3215 -framework Carbon \
3216 -framework ApplicationServices \
3217 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3218 -framework JavaNativeFoundation \
3219 -framework JavaRuntimeSupport \
3220 -ljava -ljvm,\
erikjaf85fc42012-07-03 16:10:44 -07003221 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui))
erikje78df742012-06-07 20:40:50 -07003222
erikjaf85fc42012-07-03 16:10:44 -07003223BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003224
erikjaf85fc42012-07-03 16:10:44 -07003225$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003226
erikjaf85fc42012-07-03 16:10:44 -07003227$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003228
erikjaf85fc42012-07-03 16:10:44 -07003229$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003230
erikjaf85fc42012-07-03 16:10:44 -07003231#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3232
3233endif
3234
3235##########################################################################################
3236
3237ifeq ($(OPENJDK_TARGET_OS), macosx)
3238
ohair46fcac92012-09-18 11:29:24 -07003239# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
3240SET_SHARED_LIBRARY_NAME=-Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
3241
3242$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32,\
erikjaf85fc42012-07-03 16:10:44 -07003243 LIBRARY:=JObjC,\
ohair46fcac92012-09-18 11:29:24 -07003244 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32,\
3245 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3246 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3247 LANG:=C,\
3248 OPTIMIZATION:=LOW, \
3249 CFLAGS:=-fpascal-strings \
3250 -fobjc-gc \
3251 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003252 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
ohair46fcac92012-09-18 11:29:24 -07003253 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3254 -m32,\
3255 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3256 -m32, \
3257 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3258 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3259 -framework JavaNativeFoundation \
3260 -lffi, \
3261 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc32))
3262
3263$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64,\
3264 LIBRARY:=JObjC,\
3265 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64,\
erikjaf85fc42012-07-03 16:10:44 -07003266 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3267 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3268 LANG:=C,\
3269 OPTIMIZATION:=LOW, \
3270 CFLAGS:=-fpascal-strings \
3271 -fobjc-gc \
3272 -gdwarf-2 \
erikj4f66f2d2012-11-03 16:27:01 -07003273 $(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
erikjaf85fc42012-07-03 16:10:44 -07003274 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3275 , \
3276 LDFLAGS:=-fpascal-strings \
3277 -fobjc-gc \
3278 -gdwarf-2 \
3279 $(LDFLAGS_JDKLIB)\
3280 $(call SET_SHARED_LIBRARY_ORIGIN), \
3281 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3282 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3283 -framework JavaNativeFoundation \
3284 -lffi, \
ohair46fcac92012-09-18 11:29:24 -07003285 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc64))
erikjaf85fc42012-07-03 16:10:44 -07003286
ohair46fcac92012-09-18 11:29:24 -07003287$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3288 $(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
3289
3290BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
erikje78df742012-06-07 20:40:50 -07003291
3292endif
3293
3294##########################################################################################
3295
ohair92de5662012-04-10 08:22:03 -07003296all: $(COPY_FILES) $(BUILD_LIBRARIES)
3297
3298.PHONY: all