blob: be5235447125701d0d6a507790a0e5a700388f65 [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)
47 ifneq ($(OPENJDK_TARGET_OS),macosx)
ohair92de5662012-04-10 08:22:03 -070048 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib/$(LIBARCH)
49 LIBARCHDIR=$(LIBARCH)/
50 else
51 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/lib
52 LIBARCHDIR=/
53 endif
54else
55 INSTALL_LIBRARIES_HERE:=$(JDK_OUTPUTDIR)/bin
56endif
57
ohair92de5662012-04-10 08:22:03 -070058BUILD_LIBRARIES=
59
erikjaf85fc42012-07-03 16:10:44 -070060# Absolute paths to lib files on windows for use in LDFLAGS. Should figure out a more
61# elegant solution to this.
62WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
63WIN_JAVA_LIB := $(JDK_OUTPUTDIR)/objs/libjava/java.lib
64WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib
ohair92de5662012-04-10 08:22:03 -070065
66##########################################################################################
67
erikjaf85fc42012-07-03 16:10:44 -070068BUILD_LIBFDLIBM_OPTIMIZATION:=HIGH
erikje78df742012-06-07 20:40:50 -070069
erikjaf85fc42012-07-03 16:10:44 -070070ifneq ($(OPENJDK_TARGET_OS), solaris)
71 BUILD_LIBFDLIBM_OPTIMIZATION:=NONE
erikje78df742012-06-07 20:40:50 -070072endif
73
erikjaf85fc42012-07-03 16:10:44 -070074ifneq ($(OPENJDK_TARGET_OS),macosx)
ohair92de5662012-04-10 08:22:03 -070075$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
erikjaf85fc42012-07-03 16:10:44 -070076 STATIC_LIBRARY:=fdlibm,\
77 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
ohair92de5662012-04-10 08:22:03 -070078 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
79 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -070080 OPTIMIZATION:=$(BUILD_LIBFDLIBM_OPTIMIZATION), \
81 CFLAGS:=$(CFLAGS_JDKLIB) \
ohair92de5662012-04-10 08:22:03 -070082 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
83 CFLAGS_winapi_debug:=-DLOGGING,\
84 ARFLAGS:=$(ARFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -070085 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
86
87BUILD_LIBRARIES += $(BUILD_LIBFDLIBM)
88
erikje78df742012-06-07 20:40:50 -070089else
90#
91# On macosx they do partial (incremental) linking of fdlibm
92# code it here...rather than add support to NativeCompilation
93# as this is firt time I see it
94$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM,\
erikjaf85fc42012-07-03 16:10:44 -070095 LIBRARY:=fdlibm,\
96 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm,\
erikje78df742012-06-07 20:40:50 -070097 SRC:=$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src,\
98 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -070099 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700100 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include,\
erikjaf85fc42012-07-03 16:10:44 -0700101 LDFLAGS:=-nostdlib -r,\
102 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfdlibm))
ohair92de5662012-04-10 08:22:03 -0700103
erikjaf85fc42012-07-03 16:10:44 -0700104$(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) : $(BUILD_LIBFDLIBM)
erikje78df742012-06-07 20:40:50 -0700105 $(CP) -a $< $@
erikje78df742012-06-07 20:40:50 -0700106
107BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
erikjaf85fc42012-07-03 16:10:44 -0700108endif
ohair92de5662012-04-10 08:22:03 -0700109
110##########################################################################################
111
erikjaf85fc42012-07-03 16:10:44 -0700112BUILD_LIBVERIFY_SRC:=check_code.c check_format.c
113
114ifeq ($(OPENJDK_TARGET_OS), solaris)
115 ifneq ($(ARCH), amd64)
116 BUILD_LIBVERIFY_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(ARCH)
117 endif
ohair92de5662012-04-10 08:22:03 -0700118endif
119
erikjaf85fc42012-07-03 16:10:44 -0700120
121$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY,\
122 LIBRARY:=verify, \
123 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
124 SRC:=$(JDK_TOPDIR)/src/share/native/common,\
125 INCLUDE_FILES:=$(BUILD_LIBVERIFY_SRC),\
ohair92de5662012-04-10 08:22:03 -0700126 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700127 OPTIMIZATION:=HIGH, \
128 CFLAGS:=$(CFLAGS_JDKLIB),\
129 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700130 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700131 $(call SET_SHARED_LIBRARY_ORIGIN), \
132 LDFLAGS_SUFFIX_posix:=-ljvm -lc,\
133 LDFLAGS_SUFFIX_windows:=jvm.lib,\
134 REORDER:=$(BUILD_LIBVERIFY_REORDER),\
135 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libverify,\
136 DEBUG_SYMBOLS:=true))
erikje78df742012-06-07 20:40:50 -0700137
erikjaf85fc42012-07-03 16:10:44 -0700138BUILD_LIBRARIES += $(BUILD_LIBVERIFY)
ohair92de5662012-04-10 08:22:03 -0700139
140##########################################################################################
141
erikjaf85fc42012-07-03 16:10:44 -0700142LIBJAVA_SRC_DIRS:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/lang \
143 $(JDK_TOPDIR)/src/share/native/java/lang \
144 $(JDK_TOPDIR)/src/share/native/java/lang/ref \
145 $(JDK_TOPDIR)/src/share/native/java/lang/reflect \
146 $(JDK_TOPDIR)/src/share/native/java/io \
147 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/io \
148 $(JDK_TOPDIR)/src/share/native/java/nio \
149 $(JDK_TOPDIR)/src/share/native/java/security \
150 $(JDK_TOPDIR)/src/share/native/common \
151 $(JDK_TOPDIR)/src/share/native/sun/misc \
152 $(JDK_TOPDIR)/src/share/native/sun/reflect \
153 $(JDK_TOPDIR)/src/share/native/java/sql \
154 $(JDK_TOPDIR)/src/share/native/java/util \
155 $(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
156 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/common \
157 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/util \
158 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/provider \
159 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/io
erikje78df742012-06-07 20:40:50 -0700160
erikjaf85fc42012-07-03 16:10:44 -0700161#
162# TODO
163#
164ARCHPROPNAME:=$(LIBARCH)
165ifeq ($(OPENJDK_TARGET_OS)-$(ARCH), solaris-i586)
166 ARCHPROPNAME:=x86
167else ifeq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL), windows-32)
168 ARCHPROPNAME:=x86
169else ifeq ($(OPENJDK_TARGET_OS), macosx)
170 ARCHPROPNAME:=$(ARCH)
171endif
ohair92de5662012-04-10 08:22:03 -0700172
erikjaf85fc42012-07-03 16:10:44 -0700173LIBJAVA_CFLAGS:=$(foreach dir,$(LIBJAVA_SRC_DIRS),-I$(dir)) \
174 -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
175 -DARCHPROPNAME='"$(ARCHPROPNAME)"'
ohair92de5662012-04-10 08:22:03 -0700176
erikjaf85fc42012-07-03 16:10:44 -0700177LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
178 -DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
179 -DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
180 -DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"'
ohair92de5662012-04-10 08:22:03 -0700181
erikjaf85fc42012-07-03 16:10:44 -0700182ifneq (,$(JDK_UPDATE_VERSION))
183 LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
184endif
ohair92de5662012-04-10 08:22:03 -0700185
erikjaf85fc42012-07-03 16:10:44 -0700186LIBJAVA_EXCLUDE_FILES:=check_code.c check_format.c
ohair92de5662012-04-10 08:22:03 -0700187
erikjaf85fc42012-07-03 16:10:44 -0700188ifneq ($(OPENJDK_TARGET_OS),macosx)
189 LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
erikje78df742012-06-07 20:40:50 -0700190else
erikjaf85fc42012-07-03 16:10:44 -0700191 BUILD_LIBJAVA_java_props_md.c_CFLAGS:=-x objective-c
ohair92de5662012-04-10 08:22:03 -0700192endif
193
erikjaf85fc42012-07-03 16:10:44 -0700194ifeq ($(OPENJDK_TARGET_OS),windows)
195 LIBJAVA_EXCLUDE_FILES += \
196 UNIXProcess_md.c \
197 UnixFileSystem_md.c \
198 FileSystemPreferences.c
ohair92de5662012-04-10 08:22:03 -0700199else
erikjaf85fc42012-07-03 16:10:44 -0700200 LIBJAVA_EXCLUDE_FILES += \
201 ProcessImpl_md.c \
202 Win32FileSystem_md.c \
203 WinNTFileSystem_md.c \
204 dirent_md.c \
205 WindowsPreferences.c \
206 sun/security/provider/WinCAPISeedGenerator.c \
207 sun/io/Win32ErrorMode.c
ohair92de5662012-04-10 08:22:03 -0700208endif
209
erikjaf85fc42012-07-03 16:10:44 -0700210ifeq ($(OPENJDK_TARGET_OS), solaris)
ohair92de5662012-04-10 08:22:03 -0700211 ifneq ($(ARCH), amd64)
erikjaf85fc42012-07-03 16:10:44 -0700212 LIBJAVA_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(ARCH)
ohair92de5662012-04-10 08:22:03 -0700213 endif
214endif
215
erikjaf85fc42012-07-03 16:10:44 -0700216$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA,\
217 LIBRARY:=java,\
218 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
219 SRC:=$(LIBJAVA_SRC_DIRS),\
220 EXCLUDES:=fdlibm/src zip, \
221 EXCLUDE_FILES:=$(LIBJAVA_EXCLUDE_FILES), \
ohair92de5662012-04-10 08:22:03 -0700222 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700223 OPTIMIZATION:=HIGH, \
224 CFLAGS:=$(CFLAGS_JDKLIB) \
225 $(LIBJAVA_CFLAGS),\
226 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
ohair92de5662012-04-10 08:22:03 -0700227 LDFLAGS:=$(LDFLAGS_JDKLIB) \
erikjaf85fc42012-07-03 16:10:44 -0700228 $(call SET_SHARED_LIBRARY_ORIGIN), \
229 LDFLAGS_windows:=-export:winFileHandleOpen -export:handleLseek \
230 $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) jvm.lib \
231 shell32.lib delayimp.lib /DELAYLOAD:shell32.dll \
232 advapi32.lib,\
233 LDFLAGS_SUFFIX_posix:=-ljvm -lverify, \
234 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc,\
235 LDFLAGS_SUFFIX_linux:=$(LIBDL) $(BUILD_LIBFDLIBM),\
236 LDFLAGS_SUFFIX_macosx:=$(BUILD_LIBFDLIBM) \
237 -framework CoreFoundation \
238 -framework Security -framework SystemConfiguration, \
239 REORDER:=$(LIBJAVA_REORDER), \
240 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava))
erikje78df742012-06-07 20:40:50 -0700241
erikjaf85fc42012-07-03 16:10:44 -0700242BUILD_LIBRARIES += $(BUILD_LIBJAVA)
ohair92de5662012-04-10 08:22:03 -0700243
erikjaf85fc42012-07-03 16:10:44 -0700244$(BUILD_LIBJAVA) : $(LIBJLI_BINARY)
245
246$(BUILD_LIBJAVA) : $(BUILD_LIBVERIFY)
247
248$(BUILD_LIBJAVA) : $(BUILD_LIBFDLIBM)
ohair92de5662012-04-10 08:22:03 -0700249
250##########################################################################################
251
erikjaf85fc42012-07-03 16:10:44 -0700252BUILD_LIBMLIB_SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib
253BUILD_LIBMLIB_CFLAGS:=-D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
erikje78df742012-06-07 20:40:50 -0700254 -I$(BUILD_LIBMLIB_SRC) \
erikjaf85fc42012-07-03 16:10:44 -0700255 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt/medialib
erikje78df742012-06-07 20:40:50 -0700256
erikjaf85fc42012-07-03 16:10:44 -0700257BUILD_LIBMLIB_LDLIBS:=
258BUILD_LIBMLIB_IMAGE_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmlib_image/mapfile-vers
erikje78df742012-06-07 20:40:50 -0700259
erikjaf85fc42012-07-03 16:10:44 -0700260ifneq ($(OPENJDK_TARGET_OS), sparc)
261#
262# Yes, this will always be true (until someone makes an OS called sparc)
263# but this is how it was writtin in old system...keep it like this for now
264#
erikje78df742012-06-07 20:40:50 -0700265 BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
266endif
267
268ifeq ($(ARCH_DATA_MODEL), 64)
269 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
270endif
271
erikjaf85fc42012-07-03 16:10:44 -0700272ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -0700273 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
274endif
275
276$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE,\
erikjaf85fc42012-07-03 16:10:44 -0700277 LIBRARY:=mlib_image,\
278 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
279 SRC:=$(BUILD_LIBMLIB_SRC),\
erikje78df742012-06-07 20:40:50 -0700280 EXCLUDE_FILES:=awt_ImagingLib.c mlib_c_ImageBlendTable.c,\
281 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700282 OPTIMIZATION:=HIGHEST, \
283 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -0700284 $(BUILD_LIBMLIB_CFLAGS),\
erikjaf85fc42012-07-03 16:10:44 -0700285 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700286 LDFLAGS:=$(LDFLAGS_JDKLIB) \
287 $(BUILD_LIBMLIB_LDLIBS) \
288 $(call SET_SHARED_LIBRARY_ORIGIN),\
289 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -0700290 LDFLAGS_SUFFIX_posix:=-lm,\
291 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image))
erikje78df742012-06-07 20:40:50 -0700292
erikjaf85fc42012-07-03 16:10:44 -0700293$(BUILD_LIBMLIB_IMAGE) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700294
erikjaf85fc42012-07-03 16:10:44 -0700295BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -0700296
297##########################################################################################
298
erikjaf85fc42012-07-03 16:10:44 -0700299ifeq ($(OPENJDK_TARGET_OS),solaris)
erikje78df742012-06-07 20:40:50 -0700300ifeq ($(ARCH),sparc)
erikjaf85fc42012-07-03 16:10:44 -0700301 BUILD_LIBMLIB_IMAGE_V:=1
erikje78df742012-06-07 20:40:50 -0700302else ifeq ($(ARCH), sparcv9)
erikjaf85fc42012-07-03 16:10:44 -0700303 BUILD_LIBMLIB_IMAGE_V:=1
erikje78df742012-06-07 20:40:50 -0700304endif
305endif
306
307ifeq ($(BUILD_LIBMLIB_IMAGE_V), 1)
308
erikjaf85fc42012-07-03 16:10:44 -0700309BUILD_LIBMLIB_IMAGE_V_FILES:=\
erikje78df742012-06-07 20:40:50 -0700310 mlib_v_ImageLookUp.c \
311 mlib_ImageCreate.c \
312 mlib_ImageAffine.c \
313 mlib_ImageConvMxN.c \
314 mlib_ImageConvKernelConvert.c \
315 mlib_sys.c \
316 mlib_ImageLookUp_64.c \
317 mlib_ImageLookUp_Bit.c \
318 mlib_ImageColorTrue2Index.c \
319 mlib_c_ImageThresh1_U8.c \
320 mlib_v_ImageLookUpS16S16Func.c \
321 mlib_v_ImageLookUpS16S32Func.c \
322 mlib_v_ImageLookUpS16U16Func.c \
323 mlib_v_ImageLookUpS16U8Func.c \
324 mlib_v_ImageLookUpS32S16Func.c \
325 mlib_v_ImageLookUpS32S32Func.c \
326 mlib_v_ImageLookUpS32U16Func.c \
327 mlib_v_ImageLookUpS32U8Func.c \
328 mlib_v_ImageLookUpSIS16S16Func.c \
329 mlib_v_ImageLookUpSIS16S32Func.c \
330 mlib_v_ImageLookUpSIS16U16Func.c \
331 mlib_v_ImageLookUpSIS16U8Func.c \
332 mlib_v_ImageLookUpSIS32S16Func.c \
333 mlib_v_ImageLookUpSIS32S32Func.c \
334 mlib_v_ImageLookUpSIS32U16Func.c \
335 mlib_v_ImageLookUpSIS32U8Func.c \
336 mlib_v_ImageLookUpSIU16S16Func.c \
337 mlib_v_ImageLookUpSIU16S32Func.c \
338 mlib_v_ImageLookUpSIU16U16Func.c \
339 mlib_v_ImageLookUpSIU16U8Func.c \
340 mlib_v_ImageLookUpSIU8S16Func.c \
341 mlib_v_ImageLookUpSIU8S32Func.c \
342 mlib_v_ImageLookUpSIU8U16Func.c \
343 mlib_v_ImageLookUpSIU8U8Func.c \
344 mlib_v_ImageLookUpU16S16Func.c \
345 mlib_v_ImageLookUpU16S32Func.c \
346 mlib_v_ImageLookUpU16U16Func.c \
347 mlib_v_ImageLookUpU16U8Func.c \
348 mlib_v_ImageLookUpU8S16Func.c \
349 mlib_v_ImageLookUpU8S32Func.c \
350 mlib_v_ImageLookUpU8U16Func.c \
351 mlib_v_ImageLookUpU8U8Func.c \
352 mlib_v_ImageAffineIndex_BC.c \
353 mlib_v_ImageAffine_BC.c \
354 mlib_v_ImageAffine_BC_S16.c \
355 mlib_v_ImageAffine_BC_U16.c \
356 mlib_v_ImageAffine_BL.c \
357 mlib_v_ImageAffine_BL_S16.c \
358 mlib_v_ImageAffine_BL_U16.c \
359 mlib_v_ImageAffine_NN.c \
360 mlib_v_ImageFilters.c \
361 mlib_ImageAffineEdge.c \
362 mlib_ImageAffine_BC_D64.c \
363 mlib_ImageAffine_BC_F32.c \
364 mlib_ImageAffine_BC_S32.c \
365 mlib_ImageAffine_BL_D64.c \
366 mlib_ImageAffine_BL_F32.c \
367 mlib_ImageAffine_BL_S32.c \
368 mlib_ImageAffine_NN.c \
369 mlib_ImageAffine_NN_Bit.c \
370 mlib_ImageFilters.c \
371 mlib_ImageScanPoly.c \
372 mlib_ImageConv_8nw.c \
373 mlib_ImageConv_8ext.c \
374 mlib_ImageConv_16nw.c \
375 mlib_ImageConv_16ext.c \
376 mlib_ImageConv_u16nw.c \
377 mlib_ImageConv_u16ext.c \
378 mlib_ImageConv_32nw.c \
379 mlib_ImageConv_F32nw.c \
380 mlib_ImageConvMxN_Fp.c \
381 mlib_ImageConvMxN_ext.c \
382 mlib_ImageConv_D64nw.c \
383 mlib_ImageClipping.c \
384 mlib_ImageConvCopyEdge_Bit.c \
385 mlib_ImageConvClearEdge_Bit.c \
386 mlib_ImageConv2x2_f.c \
387 mlib_ImageConvClearEdge_Fp.c \
388 mlib_v_ImageConvMxN_8.c \
389 mlib_v_ImageConvClearEdge.c \
390 mlib_v_ImageConvCopyEdge.c \
391 mlib_v_ImageConvMxN_8ext.c \
392 mlib_v_ImageConvVersion.c \
393 mlib_v_ImageConv_8nw.c \
394 mlib_ImageConvCopyEdge_Fp.c \
395 mlib_v_ImageChannelInsert_1.c \
396 mlib_v_ImageChannelExtract_43.c \
397 mlib_v_ImageChannelExtract_1.c \
398 mlib_ImageCopy_Bit.c \
399 mlib_v_ImageCopy_f.c \
400 mlib_ImageUtils.c \
401 mlib_ImageDivTables.c
402
erikjaf85fc42012-07-03 16:10:44 -0700403BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH,$(BUILD_LIBMLIB_CFLAGS))
erikje78df742012-06-07 20:40:50 -0700404
405$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V,\
erikjaf85fc42012-07-03 16:10:44 -0700406 LIBRARY:=mlib_image_v, \
407 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
408 SRC:=$(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
erikje78df742012-06-07 20:40:50 -0700409 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib,\
410 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -0700411 INCLUDE_FILES:=$(BUILD_LIBMLIB_IMAGE_V_FILES),\
412 OPTIMIZATION:=HIGHEST, \
413 CFLAGS:=-xarch=sparcvis \
414 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il\
415 $(BUILD_LIBMLIB_V_CFLAGS) \
416 $(CFLAGS_JDKLIB), \
417 MAPFILE:=$(BUILD_LIBMLIB_IMAGE_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700418 LDFLAGS:=$(LDFLAGS_JDKLIB) \
419 $(BUILD_LIBMLIB_LDLIBS) \
420 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -0700421 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmlib_image_v))
erikje78df742012-06-07 20:40:50 -0700422
erikjaf85fc42012-07-03 16:10:44 -0700423BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
erikje78df742012-06-07 20:40:50 -0700424
425endif
426
427##########################################################################################
428
erikjaf85fc42012-07-03 16:10:44 -0700429LIBAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -0700430 $(JDK_TOPDIR)/src/share/native/sun/awt \
erikjaf85fc42012-07-03 16:10:44 -0700431 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
erikje78df742012-06-07 20:40:50 -0700432 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
433 $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
434 $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
435 $(JDK_TOPDIR)/src/share/native/sun/awt/shell \
436 $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
437 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
438 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
439 $(JDK_TOPDIR)/src/share/native/sun/java2d \
erikjaf85fc42012-07-03 16:10:44 -0700440 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
erikje78df742012-06-07 20:40:50 -0700441 $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
442 $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
443 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
444 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
erikjaf85fc42012-07-03 16:10:44 -0700445 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/opengl \
446 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/x11 \
erikje78df742012-06-07 20:40:50 -0700447 $(JDK_TOPDIR)/src/share/native/sun/font \
erikjaf85fc42012-07-03 16:10:44 -0700448 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows \
449 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/windows \
450 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/d3d
erikje78df742012-06-07 20:40:50 -0700451
452
erikjaf85fc42012-07-03 16:10:44 -0700453LIBAWT_CFLAGS:=-D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
454 $(X_CFLAGS) \
erikje78df742012-06-07 20:40:50 -0700455 $(foreach dir,$(LIBAWT_DIRS),-I$(dir))
456
erikjaf85fc42012-07-03 16:10:44 -0700457LIBAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -0700458 gifdecoder.c \
459 imageInitIDs.c \
460 img_globals.c \
461 SurfaceData.c \
462 Region.c \
463 BufImgSurfaceData.c \
464 Disposer.c \
465 Trace.c \
466 GraphicsPrimitiveMgr.c \
467 Blit.c \
468 BlitBg.c \
469 ScaledBlit.c \
470 FillRect.c \
471 FillSpans.c \
472 FillParallelogram.c \
473 DrawParallelogram.c \
474 DrawLine.c \
475 DrawRect.c \
476 DrawPolygons.c \
477 DrawPath.c \
478 FillPath.c \
479 ProcessPath.c \
480 MaskBlit.c \
481 MaskFill.c \
482 TransformHelper.c \
483 AlphaMath.c \
484 AlphaMacros.c \
485 AnyByte.c \
486 ByteBinary1Bit.c \
487 ByteBinary2Bit.c \
488 ByteBinary4Bit.c \
489 ByteIndexed.c \
490 ByteGray.c \
491 Index8Gray.c \
492 Index12Gray.c \
493 AnyShort.c \
494 Ushort555Rgb.c \
495 Ushort565Rgb.c \
496 Ushort4444Argb.c \
497 Ushort555Rgbx.c \
498 UshortGray.c \
499 UshortIndexed.c \
500 Any3Byte.c \
501 ThreeByteBgr.c \
502 AnyInt.c \
503 IntArgb.c \
504 IntArgbPre.c \
505 IntArgbBm.c \
506 IntRgb.c \
507 IntBgr.c \
508 IntRgbx.c \
509 Any4Byte.c \
510 FourByteAbgr.c \
511 FourByteAbgrPre.c \
512 BufferedMaskBlit.c \
513 BufferedRenderPipe.c \
514 ShapeSpanIterator.c \
515 SpanClipRenderer.c \
516 awt_ImageRep.c \
517 awt_ImagingLib.c \
518 awt_Mlib.c \
519 awt_parseImage.c \
520 DataBufferNative.c \
521 dither.c \
522 debug_assert.c \
523 debug_mem.c \
524 debug_trace.c \
525 debug_util.c
526
erikjaf85fc42012-07-03 16:10:44 -0700527ifneq (,$(filter $(OPENJDK_TARGET_OS), solaris linux macosx))
erikje78df742012-06-07 20:40:50 -0700528 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
529endif
530
erikjaf85fc42012-07-03 16:10:44 -0700531ifeq ($(OPENJDK_TARGET_OS),macosx)
erikje78df742012-06-07 20:40:50 -0700532 LIBAWT_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/apple/resources
533 LIBAWT_FILES += awt_LoadLibrary.c MacOSXResourceBundle.m
534 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
535
erikjaf85fc42012-07-03 16:10:44 -0700536 LIBAWT_MacOSXResourceBundle.m_CFLAGS:=-O0
erikje78df742012-06-07 20:40:50 -0700537endif
538
erikjaf85fc42012-07-03 16:10:44 -0700539ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
540 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
541 LIBAWT_CFLAGS += -xarch=sparcvis
542 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(ARCH_DATA_MODEL).il
543 LIBAWT_CFLAGS += \
544 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
545 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
546 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
erikje78df742012-06-07 20:40:50 -0700547
erikjaf85fc42012-07-03 16:10:44 -0700548 LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
549 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
550
551 LIBAWT_FILES += \
552 vis_FuncArray.c \
553 java2d_Mlib.c \
554 mlib_ImageCreate.c \
555 mlib_ImageZoom_NN.c \
556 mlib_ImageCopy_Bit.c \
557 mlib_sys.c \
558 mlib_v_ImageClear.c \
559 mlib_v_ImageClear_f.c \
560 mlib_v_ImageConstXor.c \
561 mlib_v_ImageCopy.c \
562 mlib_v_ImageCopy_f.c \
563 mlib_v_ImageXor.c \
564 mlib_v_ImageZoom_NN_f.c \
565 vis_Interp.c \
566 vis_AlphaMacros.c \
567 vis_AlphaMaskBlit.c \
568 vis_AlphaMaskFill.c \
569 vis_ByteGray.c \
570 vis_ByteGray_FromRgb.c \
571 vis_ByteGray_Mask.c \
572 vis_ByteIndexed.c \
573 vis_DrawLine.c \
574 vis_FourByteAbgr.c \
575 vis_IntArgb.c \
576 vis_IntArgbPre.c \
577 vis_IntArgbPre_Mask.c \
578 vis_IntBgr.c \
579 vis_IntRgb.c \
580 vis_IntRgbx.c \
581 vis_SrcMaskFill.c \
582 vis_SrcOverMaskBlit.c \
583 vis_SrcOverMaskFill.c \
584 vis_FourByteAbgrPre.c \
585 vis_GlyphList.c \
586 vis_GlyphListXor.c \
587 vis_IntArgbBm.c \
588 vis_ThreeByteBgr.c \
589 vis_UshortGray.c \
590 vis_UshortGray_FromRgb.c \
591 vis_XorBlit.c \
592 mlib_v_ImageCopy_blk.s
593
594 ifeq ($(OPENJDK_TARGET_CPU_BITS),64)
595 LIBAWT_ASFLAGS=-P -xarch=v9a
596 else
597 LIBAWT_ASFLAGS=-P -xarch=v8plusa
598 endif
erikje78df742012-06-07 20:40:50 -0700599else
600 LIBAWT_FILES += MapAccelFunc.c
601endif
602
erikjaf85fc42012-07-03 16:10:44 -0700603ifneq ($(OPENJDK_TARGET_OS),solaris)
erikje78df742012-06-07 20:40:50 -0700604 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
605endif
606
erikjaf85fc42012-07-03 16:10:44 -0700607LIBAWT_LANG:=C
erikje78df742012-06-07 20:40:50 -0700608
erikjaf85fc42012-07-03 16:10:44 -0700609ifeq ($(OPENJDK_TARGET_OS),windows)
erikje78df742012-06-07 20:40:50 -0700610 LIBAWT_FILES += AccelGlyphCache.c \
611 ShaderList.c \
612 CmdIDList.cpp \
613 Hashtable.cpp \
614 GDIHashtable.cpp \
615 Devices.cpp \
616 ObjectList.cpp \
617 GDIBlitLoops.cpp \
618 GDIRenderer.cpp \
619 GDIWindowSurfaceData.cpp \
620 WindowsFlags.cpp \
621 WPrinterJob.cpp \
622 awt_%.cpp \
623 D3DBlitLoops.cpp \
624 D3DBufImgOps.cpp \
625 D3DContext.cpp \
626 D3DGlyphCache.cpp \
627 D3DGraphicsDevice.cpp \
628 D3DMaskBlit.cpp \
629 D3DMaskCache.cpp \
630 D3DMaskFill.cpp \
631 D3DPipelineManager.cpp \
632 D3DPaints.cpp \
633 D3DRenderer.cpp \
634 D3DRenderQueue.cpp \
635 D3DResourceManager.cpp \
636 D3DSurfaceData.cpp \
637 D3DTextRenderer.cpp \
638 D3DVertexCacher.cpp \
639 ShellFolder2.cpp \
640 ThemeReader.cpp \
641 ComCtl32Util.cpp \
642 DllUtil.cpp \
643 initIDs.cpp \
644 MouseInfo.cpp \
645 rect.c
erikjaf85fc42012-07-03 16:10:44 -0700646 LIBAWT_LANG:=C++
erikje78df742012-06-07 20:40:50 -0700647 LIBAWT_CFLAGS += $(GX_OPTION) -DUNICODE -D_UNICODE
648 ifeq ($(ARCH_DATA_MODEL), 64)
649 LIBAWT_CFLAGS += -DMLIB_OS64BIT
650 endif
651
652 ifdef OPENJDK
erikjaf85fc42012-07-03 16:10:44 -0700653 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/windows/resource/icons"
erikje78df742012-06-07 20:40:50 -0700654 else
erikjaf85fc42012-07-03 16:10:44 -0700655 LIBAWT_RC_FLAGS:=-i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
erikje78df742012-06-07 20:40:50 -0700656 endif
erikjaf85fc42012-07-03 16:10:44 -0700657 LIBAWT_VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
erikje78df742012-06-07 20:40:50 -0700658endif
659
660ifeq ($(MILESTONE), internal)
661 LIBAWT_CFLAGS += -DINTERNAL_BUILD
662endif
663
erikjaf85fc42012-07-03 16:10:44 -0700664LIBAWT_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt/mapfile-vers
665ifeq ($(OPENJDK_TARGET_OS),linux)
666 LIBAWT_MAPFILE:=
erikje78df742012-06-07 20:40:50 -0700667endif
668
669$(eval $(call SetupNativeCompilation,BUILD_LIBAWT,\
erikjaf85fc42012-07-03 16:10:44 -0700670 LIBRARY:=awt,\
671 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -0700672 SRC:=$(LIBAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -0700673 INCLUDE_FILES:=$(LIBAWT_FILES),\
erikje78df742012-06-07 20:40:50 -0700674 LANG:=$(LIBAWT_LANG),\
erikjaf85fc42012-07-03 16:10:44 -0700675 OPTIMIZATION:=LOW, \
676 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS),\
677 ASFLAGS:=$(LIBAWT_ASFLAGS),\
678 MAPFILE:=$(LIBAWT_MAPFILE), \
erikje78df742012-06-07 20:40:50 -0700679 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN),\
680 LDFLAGS_windows:=advapi32.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
681 imm32.lib ole32.lib uuid.lib shell32.lib \
682 comdlg32.lib winmm.lib comctl32.lib \
erikjaf85fc42012-07-03 16:10:44 -0700683 shlwapi.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib \
erikje78df742012-06-07 20:40:50 -0700684 /DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
685 /DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
686 /DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
687 /DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
688 /DELAYLOAD:comctl32.dll /DELAYLOAD:shlwapi.dll,\
erikjaf85fc42012-07-03 16:10:44 -0700689 LDFLAGS_macosx:=-lmlib_image \
690 -framework Cocoa \
erikje78df742012-06-07 20:40:50 -0700691 -framework OpenGL \
692 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
693 -framework JavaNativeFoundation \
694 -framework JavaRuntimeSupport \
695 -framework ApplicationServices \
696 -framework AudioToolbox,\
erikjaf85fc42012-07-03 16:10:44 -0700697 LDFLAGS_solaris:=-R/usr/dt/lib$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR),\
698 LDFLAGS_SUFFIX_posix:=-ljvm $(LIBM) -ljava $(LIBDL),\
699 VERSIONINFO_RESOURCE:=$(LIBAWT_VERSIONINFO_RESOURCE),\
700 RC_FLAGS:=$(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
erikje78df742012-06-07 20:40:50 -0700701 /D "JDK_FNAME=awt.dll" \
702 /D "JDK_INTERNAL_NAME=awt" \
703 /D "JDK_FTYPE=0x2L",\
erikjaf85fc42012-07-03 16:10:44 -0700704 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt))
erikje78df742012-06-07 20:40:50 -0700705
erikjaf85fc42012-07-03 16:10:44 -0700706$(BUILD_LIBAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -0700707
erikjaf85fc42012-07-03 16:10:44 -0700708ifeq ($(OPENJDK_TARGET_OS), macosx)
709$(BUILD_LIBAWT) : $(BUILD_LIBMLIB_IMAGE)
710endif
711
712BUILD_LIBRARIES += $(BUILD_LIBAWT)
713
714##########################################################################################
715
716# TODO!!
717# Even though this variable as a general name, it is
718# only used on macos, in fontpath.c, as prefix for where to find fonts.
719#
720# It's used for libawt_headless _and_ libawt_xawt
721#
722X11_PATH:=/usr/X11R6
723
724ifneq ($(OPENJDK_TARGET_OS), windows)
725ifndef BUILD_HEADLESS_ONLY
726
727LIBAWT_XAWT_DIRS:=\
728 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
729 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
730 $(JDK_TOPDIR)/src/share/native/sun/font \
731 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/font \
732 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
733 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
734 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/opengl \
735 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/x11 \
736 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/xawt \
737
738LIBAWT_XAWT_CFLAGS:=-DXAWT -DXAWT_HACK \
739 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
740 $(CUPS_CFLAGS) \
741 $(foreach dir,$(LIBAWT_XAWT_DIRS),-I$(dir)) \
742 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
743 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
744 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
745 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
746 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
747 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
748 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
749 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/jdga
750
751ifeq ($(OPENJDK_TARGET_OS),solaris)
752 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
753endif
754
755ifeq ($(MILESTONE),internal)
756 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
757endif
758
759LIBAWT_XAWT_FILES:=\
760 XlibWrapper.c \
761 XWindow.c \
762 XToolkit.c \
763 X11Color.c \
764 X11SurfaceData.c \
765 awt_GraphicsEnv.c \
766 awt_InputMethod.c \
767 robot_common.c \
768 awt_Robot.c \
769 list.c \
770 multiVis.c \
771 initIDs.c \
772 awt_util.c \
773 awt_Desktop.c \
774 awt_UNIXToolkit.c \
775 X11FontScaler_md.c \
776 X11TextRenderer_md.c \
777 fontpath.c \
778 awt_Insets.c \
779 awt_Event.c \
780 X11Renderer.c \
781 X11PMBlitLoops.c \
782 OGLBlitLoops.c \
783 OGLBufImgOps.c \
784 OGLContext.c \
785 OGLFuncs.c \
786 OGLMaskBlit.c \
787 OGLMaskFill.c \
788 OGLPaints.c \
789 OGLRenderQueue.c \
790 OGLRenderer.c \
791 OGLSurfaceData.c \
792 OGLTextRenderer.c \
793 OGLVertexCache.c \
794 GLXGraphicsConfig.c \
795 GLXSurfaceData.c \
796 AccelGlyphCache.c \
797 awt_Font.c \
798 multi_font.c \
799 awt_AWTEvent.c \
800 awt_DrawingSurface.c \
801 jawt.c \
802 CUPSfuncs.c \
803 debug_assert.c \
804 debug_mem.c \
805 debug_trace.c \
806 debug_util.c \
807 awt_Plugin.c \
808 gtk2_interface.c \
809 swing_GTKEngine.c \
810 swing_GTKStyle.c \
811 rect.c \
812 sun_awt_X11_GtkFileDialogPeer.c \
813 XRSurfaceData.c \
814 XRBackendNative.c
815
816LIBAWT_XAWT_LDFLAGS_SUFFIX:=$(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
817
818ifeq ($(OPENJDK_TARGET_OS), linux)
819 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
820endif
821
822ifeq ($(OPENJDK_TARGET_OS), macosx)
823 LIBAWT_XAWT_LDFLAGS_SUFFIX += -lpthread
824endif
825
826$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT,\
827 LIBRARY:=awt_xawt,\
828 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
829 SRC:=$(LIBAWT_XAWT_DIRS),\
830 INCLUDE_FILES:=$(LIBAWT_XAWT_FILES),\
831 LANG:=C,\
832 OPTIMIZATION:=LOW, \
833 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
834 $(X_CFLAGS),\
835 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_xawt/mapfile-vers, \
836 LDFLAGS:=$(LDFLAGS_JDKLIB) \
837 $(call SET_SHARED_LIBRARY_ORIGIN) \
838 $(X_LIBS),\
839 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_HOME)/lib$(ISA_DIR) \
840 -R$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -R$(OPENWIN_HOME)/lib$(ISA_DIR) \
841 -R/usr/dt/lib$(ISA_DIR),\
842 LDFLAGS_SUFFIX:=$(LIBAWT_XAWT_LDFLAGS_SUFFIX),\
843 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_xawt))
844
845$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBJAVA)
846
847$(BUILD_LIBAWT_XAWT) : $(BUILD_LIBAWT)
848
849BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
850
851endif
852endif
853
854##########################################################################################
855
856BUILD_LIBZIP_FILES:=\
857 CRC32.c \
858 Adler32.c \
859 Deflater.c \
860 Inflater.c \
861 ZipFile.c \
862 zip_util.c
863
864ifeq ($(USE_EXTERNAL_LIBZ),true)
865 LIBZ:=-lz
866else
867BUILD_LIBZIP_FILES += \
868 compress.c \
869 deflate.c \
870 gzclose.c \
871 gzlib.c \
872 gzread.c \
873 gzwrite.c \
874 infback.c \
875 inffast.c \
876 inflate.c \
877 inftrees.c \
878 trees.c \
879 uncompr.c \
880 zadler32.c \
881 zcrc32.c \
882 zutil.c
883LIBZ_INCLUDE:=-I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
884endif
885
886BUILD_LIBZIP_REORDER:=
887ifeq ($(OPENJDK_TARGET_OS), solaris)
888 ifneq ($(ARCH), amd64)
889 BUILD_LIBZIP_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(ARCH)
890 endif
891endif
892
893ifeq ($(LIBZIP_CAN_USE_MMAP), true)
894 BUILD_LIBZIP_MMAP:=-DUSE_MMAP
895endif
896
897$(eval $(call SetupNativeCompilation,BUILD_LIBZIP,\
898 LIBRARY:=zip,\
899 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
900 SRC:=$(JDK_TOPDIR)/src/share/native/java/util/zip \
901 $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
902 INCLUDE_FILES:=$(BUILD_LIBZIP_FILES), \
903 LANG:=C,\
904 OPTIMIZATION:=LOW, \
905 CFLAGS:=$(CFLAGS_JDKLIB) \
906 $(LIBZ_INCLUDE) \
907 -I$(JDK_TOPDIR)/src/share/native/java/io \
908 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/io,\
909 CFLAGS_posix:=$(BUILD_LIBZIP_MMAP) -UDEBUG,\
910 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
911 REORDER:=$(BUILD_LIBZIP_REORDER), \
912 LDFLAGS:=$(LDFLAGS_JDKLIB) \
913 $(EXPORT_ZIP_FUNCS), \
914 LDFLAGS_winapi:=-export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
915 -export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
916 $(WIN_JAVA_LIB),\
917 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBZ),\
918 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libzip))
919
920$(BUILD_LIBZIP) : $(BUILD_LIBJAVA)
921
922BUILD_LIBRARIES += $(BUILD_LIBZIP)
923
924##########################################################################################
925
926$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK,\
927 LIBRARY:=unpack, \
928 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
929 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
930 EXCLUDE_FILES:=main.cpp,\
931 LANG:=C++,\
932 OPTIMIZATION:=LOW, \
933 CFLAGS:=$(CXXFLAGS_JDKLIB) \
934 -DNO_ZLIB -DUNPACK_JNI -DFULL,\
935 CFLAGS_release:=-DPRODUCT,\
936 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
937 LDFLAGS:=$(LDFLAGS_JDKLIB)\
938 $(call SET_SHARED_LIBRARY_ORIGIN),\
939 LDFLAGS_winapi:=-map:$(JDK_OUTPUTDIR)/objs/unpack.map /debug \
940 jvm.lib $(WIN_JAVA_LIB),\
941 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
942 LDFLAGS_SUFFIX_posix:=$(LIBCXX),\
943 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libunpack,\
944 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
945 RC_FLAGS:=$(RC_FLAGS)\
946 /D "JDK_FNAME=unpack.dll" \
947 /D "JDK_INTERNAL_NAME=unpack" \
948 /D "JDK_FTYPE=0x2L"))
949
950$(BUILD_LIBUNPACK) : $(BUILD_LIBJAVA)
951
952BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
953
954ifeq ($(OPENJDK_TARGET_OS_API),winapi)
955 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
956 $(ECHO) Copying $(@F)
957 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.map,$<) $@
958
959 $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
960 $(ECHO) Copying $(@F)
961 $(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX),%.pdb,$<) $@
962endif
963
964##########################################################################################
965
966LIBATTACH_EXCLUDE_FILES:=
967ifneq ($(OPENJDK_TARGET_OS),solaris)
968 LIBATTACH_EXCLUDE_FILES+=SolarisVirtualMachine.c
969endif
970ifneq ($(OPENJDK_TARGET_OS),linux)
971 LIBATTACH_EXCLUDE_FILES+=LinuxVirtualMachine.c
972endif
973ifneq ($(OPENJDK_TARGET_OS),macosx)
974 LIBATTACH_EXCLUDE_FILES+=BsdVirtualMachine.c
975endif
976
977$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH,\
978 LIBRARY:=attach, \
979 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
980 SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/tools/attach,\
981 EXCLUDE_FILES:=$(LIBATTACH_EXCLUDE_FILES),\
982 LANG:=C,\
983 OPTIMIZATION:=LOW, \
984 CFLAGS:=$(CFLAGS_JDKLIB),\
985 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
986 LDFLAGS:=$(LDFLAGS_JDKLIB) \
987 $(call SET_SHARED_LIBRARY_ORIGIN),\
988 LDFLAGS_solaris:=-ldoor,\
989 LDFLAGS_winapi:=psapi.lib advapi32.lib $(WIN_JAVA_LIB) jvm.lib,\
990 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
991 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libattach,\
992 DEBUG_SYMBOLS:=true))
993
994$(BUILD_LIBATTACH) : $(BUILD_LIBJAVA)
995
996BUILD_LIBRARIES += $(BUILD_LIBATTACH)
997
998##########################################################################################
999
1000$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET,\
1001 LIBRARY:=dt_socket,\
1002 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1003 SRC:=$(JDK_TOPDIR)/src/share/transport/socket \
1004 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/socket,\
1005 LANG:=C,\
1006 OPTIMIZATION:=LOW, \
1007 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP \
1008 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1009 -I$(JDK_TOPDIR)/src/share/transport/socket \
1010 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/socket \
1011 -I$(JDK_TOPDIR)/src/share/back/export \
1012 -I$(JDK_TOPDIR)/src/share/back,\
1013 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
1014 LDFLAGS:=$(LDFLAGS_JDKLIB), \
1015 LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX) -lpthread,\
1016 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket,\
1017 LDFLAGS_SUFFIX_winapi:=$(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib,\
1018 LDFLAGS_SUFFIX:=,\
1019 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_socket,\
1020 DEBUG_SYMBOLS:=true))
1021
1022$(BUILD_LIBDT_SOCKET) : $(BUILD_LIBJAVA)
1023
1024BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
1025
1026##########################################################################################
1027
1028ifeq ($(OPENJDK_TARGET_OS_API),winapi)
1029
1030 $(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM,\
1031 LIBRARY:=dt_shmem,\
1032 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1033 SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
1034 $(JDK_TOPDIR)/src/share/transport/shmem \
1035 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/shmem,\
1036 LANG:=C,\
1037 OPTIMIZATION:=LOW, \
1038 CFLAGS:=$(CFLAGS_JDKLIB) -DUSE_MMAP\
1039 -I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
1040 -I$(JDK_TOPDIR)/src/share/transport/shmem \
1041 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/transport/shmem \
1042 -I$(JDK_TOPDIR)/src/share/back/export, \
1043 LDFLAGS:=$(LDFLAGS_JDKLIB),\
1044 LDFLAGS_winapi:=-export:jdwpTransport_OnLoad,\
1045 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
1046 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdt_shmem))
1047
1048 BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
1049
1050endif # OPENJDK_TARGET_OS
1051
1052##########################################################################################
1053# JDWP_LOGGING causes log messages to be compiled into the library. These reference the
1054# __FILE__ macro which here expands to the absolute path of the file while the old build
1055# system used a relative path. This causes the binaries to differ in size.
1056$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP,\
1057 LIBRARY:=jdwp, \
1058 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1059 SRC:=$(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/back,\
1060 LANG:=C,\
1061 OPTIMIZATION:=LOW, \
1062 CFLAGS:=$(CFLAGS_JDKLIB) -DJDWP_LOGGING\
1063 -I$(JDK_TOPDIR)/src/share/transport/export \
1064 -I$(JDK_TOPDIR)/src/share/back/export \
1065 -I$(JDK_TOPDIR)/src/share/npt \
1066 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt \
1067 -I$(JDK_TOPDIR)/src/share/back \
1068 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/back \
1069 -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers,\
1070 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
1071 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)), \
1072 LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
1073 LDFLAGS_SUFFIX_solaris:=$(LIBDL),\
1074 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
1075 LDFLAGS_SUFFIX:=,\
1076 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjdwp))
1077
1078$(BUILD_LIBJDWP) : $(BUILD_LIBJAVA)
1079
1080BUILD_LIBRARIES += $(BUILD_LIBJDWP)
1081
1082##########################################################################################
1083
1084LIBJAAS_MAPFILE:=
1085ifneq ($(OPENJDK_TARGET_OS),solaris)
1086 LIBJAAS_EXCLUDE_FILES:=Solaris.c
1087else
1088 # only on solaris...wonder why
1089 LIBJAAS_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
1090endif
1091
1092LIBJAAS_NAME:=jaas_unix
1093ifeq ($(OPENJDK_TARGET_OS), windows)
1094 LIBJAAS_NAME:=jaas_nt
1095endif
1096
1097$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS,\
1098 LIBRARY:=$(LIBJAAS_NAME),\
1099 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1100 SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/com/sun/security/auth/module,\
1101 LANG:=C,\
1102 OPTIMIZATION:=LOW, \
1103 CFLAGS:=$(CFLAGS_JDKLIB),\
1104 MAPFILE:=$(LIBJAAS_MAPFILE),\
1105 LDFLAGS:=$(filter-out -ljava,$(LDFLAGS_JDKLIB)) \
1106 $(call SET_SHARED_LIBRARY_ORIGIN),\
1107 LDFLAGS_winapi:=netapi32.lib user32.lib mpr.lib advapi32.lib,\
1108 LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX),\
1109 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX),\
1110 LDFLAGS_SUFFIX:=,\
1111 EXCLUDE_FILES:=$(LIBJAAS_EXCLUDE_FILES),\
1112 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjaas))
1113
1114$(BUILD_LIBJAAS) : $(BUILD_LIBJAVA)
1115
1116BUILD_LIBRARIES += $(BUILD_LIBJAAS)
1117
1118##########################################################################################
1119
1120$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT,\
1121 LIBRARY:=jsdt,\
1122 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1123 SRC:=$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace\
1124 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/tracing/dtrace,\
1125 LANG:=C,\
1126 OPTIMIZATION:=LOW, \
1127 CFLAGS:=$(CFLAGS_JDKLIB)\
1128 -I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace,\
1129 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
1130 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1131 $(call SET_SHARED_LIBRARY_ORIGIN),\
1132 LDFLAGS_SUFFIX_linux:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
1133 LDFLAGS_SUFFIX_winapi:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL),\
1134 LDFLAGS_SUFFIX_macosx:= $(LIBDL),\
1135 LDFLAGS_SUFFIX:=,\
1136 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsdt, \
1137 DEBUG_SYMBOLS:= yes))
1138
1139$(BUILD_LIBJSDT) : $(BUILD_LIBJAVA)
1140
1141BUILD_LIBRARIES += $(BUILD_LIBJSDT)
1142
1143##########################################################################################
1144
1145ifdef OPENJDK
1146 # TODO: Update awt lib path when awt is converted
1147 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS,\
1148 LIBRARY:=lcms,\
1149 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1150 SRC:=$(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms \
1151 $(JDK_TOPDIR)/src/share/native/sun/java2d/,\
1152 INCLUDE_FILES:=cmscam02.c cmscgats.c cmscnvrt.c cmserr.c \
1153 cmsgamma.c cmsgmt.c cmsintrp.c cmsio0.c \
1154 cmsio1.c cmslut.c cmsmd5.c cmsmtrx.c \
1155 cmsnamed.c cmsopt.c cmspack.c cmspcs.c \
1156 cmsplugin.c cmsps2.c cmssamp.c cmssm.c \
1157 cmstypes.c cmsvirt.c cmswtpnt.c cmsxform.c \
1158 LCMS.c,\
1159 LANG:=C,\
1160 OPTIMIZATION:=LOW, \
1161 CFLAGS:=$(filter-out -xc99=%none,$(CFLAGS_JDKLIB)) \
1162 $(SHARED_LIBRARY_FLAGS) \
1163 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1164 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug,\
1165 CFLAGS_solaris:=-xc99=no_lib,\
1166 CFLAGS_winapi:=-DCMS_IS_WINDOWS_,\
1167 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/liblcms/mapfile-vers, \
1168 LDFLAGS:=$(LDFLAGS_JDKLIB), \
1169 LDFLAGS_solaris:=/usr/lib$(ISA_DIR)/libm.so.2,\
1170 LDFLAGS_winapi:=$(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
1171 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
1172 LDFLAGS_SUFFIX_posix:=-lawt,\
1173 LDFLAGS_SUFFIX_linux:=-lm,\
1174 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/liblcms))
1175
1176 BUILD_LIBRARIES += $(BUILD_LIBLCMS)
1177
1178 $(BUILD_LIBLCMS) : $(BUILD_LIBAWT)
1179endif
1180
1181##########################################################################################
1182
1183ifdef OPENJDK
1184 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers
1185else
1186 BUILD_LIBJPEG_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/mapfile-vers-closed
1187 BUILD_LIBJPEG_CLOSED_SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
1188 BUILD_LIBJPEG_CLOSED_INCLUDES:=-I$(BUILD_LIBJPEG_CLOSED_SRC)
1189endif
1190
1191BUILD_LIBJPEG_REORDER:=
1192ifeq ($(OPENJDK_TARGET_OS), solaris)
1193 ifneq ($(ARCH), amd64)
1194 BUILD_LIBJPEG_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libjpeg/reorder-$(ARCH)
1195 endif
1196endif
1197
1198# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
1199# or 'vfork'": this warning indicates that some variable is placed to
1200# a register by optimized compiler and it's value might be lost on longjmp().
1201# Recommended way to avoid such warning is to declare the variable as
1202# volatile to prevent the optimization. However, this approach does not
1203# work because we have to declare all variables as volatile in result.
1204#ifndef CROSS_COMPILE_ARCH
1205# CC_43_OR_NEWER:=\
1206# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
1207# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
1208# ifeq ($(CC_43_OR_NEWER),1)
1209# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
1210# endif
1211#endif
1212
1213$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG,\
1214 LIBRARY:=jpeg, \
1215 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1216 SRC:=$(BUILD_LIBJPEG_CLOSED_SRC) \
1217 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1218 LANG:=C,\
1219 OPTIMIZATION:=HIGHEST, \
1220 CFLAGS:=$(CFLAGS_JDKLIB) \
1221 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
1222 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg,\
1223 MAPFILE:=$(BUILD_LIBJPEG_MAPFILE), \
1224 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1225 $(call SET_SHARED_LIBRARY_ORIGIN),\
1226 LDFLAGS_linux:=$(LIBDL),\
1227 LDFLAGS_winapi:=$(WIN_JAVA_LIB) jvm.lib,\
1228 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
1229 REORDER:=$(BUILD_LIBJPEG_REORDER),\
1230 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjpeg))
1231
1232$(BUILD_LIBJPEG) : $(BUILD_LIBJAVA)
1233
1234BUILD_LIBRARIES += $(BUILD_LIBJPEG)
1235
1236##########################################################################################
1237
1238ifndef OPENJDK
1239 FONT_HEADERS:=-I$(CLOSED_SRC)/share/native/$(PKGDIR)/t2k
1240 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers
1241 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
1242else
1243 FONT_HEADERS:=$(FREETYPE2_CFLAGS)
1244 BUILD_LIBFONTMANAGER_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libfontmanager/mapfile-vers.openjdk
1245 BUILD_LIBFONTMANAGER_FONTLIB:=$(FREETYPE2_LIBS)
1246endif
1247
1248LIBFONTMANAGER_OPTIMIZATION:=HIGH
1249
1250ifeq ($(OPENJDK_TARGET_OS),windows)
1251 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
1252 X11TextRenderer.c
1253 LIBFONTMANAGER_OPTIMIZATION:=LOW
1254else
1255 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
1256 lcdglyph.c
1257endif
1258
1259BUILD_LIBFONTMANAGER_CFLAGS_COMMON:=\
1260 $(X_CFLAGS) \
1261 -DLE_STANDALONE -DHEADLESS \
1262 $(FONT_HEADERS) \
1263 -I$(JDK_TOPDIR)/src/share/native/sun/font \
1264 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
1265 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
1266 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
1267 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1268 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1269 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
1270 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
1271 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1272
1273# Turn off aliasing with GCC for ExtensionSubtables.cpp
1274ifeq ($(OPENJDK_TARGET_OS), linux)
1275 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS:=-fno-strict-aliasing
1276endif
1277
1278$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER,\
1279 LIBRARY:=fontmanager, \
1280 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1281 SRC:=$(JDK_TOPDIR)/src/share/native/sun/font\
1282 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/font,\
1283 EXCLUDE_FILES:=$(LIBFONTMANAGER_EXCLUDE_FILES) \
1284 AccelGlyphCache.c,\
1285 LANG:=C++,\
1286 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1287 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON),\
1288 OPTIMIZATION:=$(LIBFONTMANAGER_OPTIMIZATION), \
1289 CFLAGS_windows= -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows \
1290 -DCC_NOEX, \
1291 MAPFILE:=$(BUILD_LIBFONTMANAGER_MAPFILE), \
1292 LDFLAGS:=$(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) \
1293 $(call SET_SHARED_LIBRARY_ORIGIN),\
1294 LDFLAGS_windows:=advapi32.lib user32.lib gdi32.lib $(WIN_AWT_LIB) $(WIN_JAVA_LIB),\
1295 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) \
1296 $(BUILD_LIBFONTMANAGER_FONTLIB),\
1297 LDFLAGS_SUFFIX_linux:=-lawt $(LIBM) $(LIBCXX),\
1298 LDFLAGS_SUFFIX_solaris:=-lawt -lawt_xawt -lc $(LIBM) $(LIBCXX),\
1299 LDFLAGS_SUFFIX_macosx:=-lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup,\
1300 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libfontmanager))
1301
1302$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT)
1303
1304ifneq (,$(findstring $(OPENJDK_TARGET_OS),solaris macosx))
1305$(BUILD_LIBFONTMANAGER) : $(BUILD_LIBAWT_XAWT)
1306endif
1307
1308BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
erikje78df742012-06-07 20:40:50 -07001309
1310##########################################################################################
1311
1312ifndef OPENJDK
1313
erikjaf85fc42012-07-03 16:10:44 -07001314# ifeq ($(OPENJDK_TARGET_OS), linux)
1315# ifeq ("$(CC_VER_MAJOR)", "3")
1316# OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
1317# endif
1318# endif
1319#
1320# The resulting size of the t2k lib file is (at least on linux) dependant on the order of
1321# the input .o files. Because of this the new build will differ in size to the old build.
1322 BUILD_LIBT2K_CFLAGS_COMMON:=-I$(JDK_TOPDIR)/src/share/native/sun/font \
1323 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1324 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1325 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
1326 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/font \
1327 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1328 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
1329 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
1330 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
1331
1332 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K,\
1333 LIBRARY:=t2k, \
1334 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1335 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/font \
1336 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
1337 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints,\
1338 EXCLUDE_FILES:=orion.c,\
1339 LANG:=C++,\
1340 OPTIMIZATION:=HIGH, \
1341 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1342 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON),\
1343 CFLAGS_windows=-DCC_NOEX, \
1344 CXXFLAGS_windows=-DCC_NOEX, \
1345 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libt2k/mapfile-vers, \
1346 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1347 $(call SET_SHARED_LIBRARY_ORIGIN),\
1348 LDFLAGS_windows:=user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib,\
1349 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
1350 LDFLAGS_SUFFIX_macosx:=$(LIBCXX) $(LIBM) -lfontmanager,\
1351 LDFLAGS_SUFFIX_linux:=$(LIBCXX) $(LIBM) -lfontmanager,\
1352 LDFLAGS_SUFFIX_solaris:=$(LIBCXX) $(LIBM) -lfontmanager -lawt \
1353 -lawt_xawt,\
1354 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libt2k))
1355
1356 # t2k is linked against fontmanager
1357 $(BUILD_LIBT2K) : $(BUILD_LIBFONTMANAGER)
1358
1359 BUILD_LIBRARIES += $(BUILD_LIBT2K)
1360endif
1361
1362##########################################################################################
1363
1364#
1365# TODO replace with X_FLAGS / X_LIBS
1366# and add them to configure
1367#
1368OPENWIN_LIB:=$(OPENWIN_HOME)/lib
1369
1370ifeq ($(OPENJDK_TARGET_OS), windows)
1371 ifeq ($(ARCH_DATA_MODEL), 32)
1372 KERNEL32_LIB:=kernel32.lib
1373 endif
1374 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1375 LIBRARY:=jawt, \
1376 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1377 SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows,\
1378 INCLUDE_FILES:=jawt.cpp,\
1379 LANG:=C++,\
1380 OPTIMIZATION:=LOW, \
1381 CFLAGS:=$(CXXFLAGS_JDKLIB) \
1382 -EHsc -DUNICODE -D_UNICODE \
1383 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/windows \
1384 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1385 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1386 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
1387 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d/windows, \
1388 LDFLAGS:=$(LDFLAGS_JDKLIB) $(KERNEL32_LIB) \
1389 advapi32.lib $(WIN_AWT_LIB),\
1390 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
1391 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
1392
1393$(BUILD_LIBJAWT) : $(BUILD_LIBAWT)
1394
1395$(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
1396 $(ECHO) Copying $(@F)
1397 $(CP) $< $@
1398
1399BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
1400
1401else # OPENJDK_TARGET_OS not windows
1402
1403 JAWT_LIBS:=
1404 ifneq ($(OPENJDK_TARGET_OS), solaris)
1405 JAWT_LIBS += -lawt
1406 endif
1407
1408 ifndef BUILD_HEADLESS_ONLY
1409 JAWT_LIBS += -lawt_xawt
1410 else
1411 JAWT_LIBS += -lawt_headless
1412 HEADLESS_CFLAG += -DHEADLESS
1413 endif
1414
1415 JAWT_FILES:=jawt.c
1416 ifeq ($(OPENJDK_TARGET_OS), macosx)
1417 JAWT_FILES:=jawt.m
1418 JAWT_LIBS:=-lawt_lwawt
1419 endif
1420
1421 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT,\
1422 LIBRARY:=jawt, \
1423 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1424 SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt \
1425 $(JDK_TOPDIR)/src/macosx/native/sun/awt,\
1426 INCLUDE_FILES:=$(JAWT_FILES),\
1427 LANG:=C,\
1428 OPTIMIZATION:=LOW, \
1429 CFLAGS:=$(CFLAGS_JDKLIB), \
1430 CFLAGS_linux:=$(HEADLESS_CFLAG),\
1431 CFLAGS_macosx:=-I$(JDK_TOPDIR)/src/solaris/native/sun/awt ,\
1432 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjawt/mapfile-vers, \
1433 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1434 $(call SET_SHARED_LIBRARY_ORIGIN),\
1435 LDFLAGS_solaris:=-L$(OPENWIN_HOME)/sfw/lib$(ISA_DIR) -L$(OPENWIN_LIB)$(ISA_DIR),\
1436 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(JAWT_LIBS),\
1437 LDFLAGS_SUFFIX_solaris:=-lXrender,\
1438 LDFLAGS_SUFFIX_macosx:=-framework Cocoa, \
1439 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjawt))
1440
1441ifndef BUILD_HEADLESS_ONLY
1442$(BUILD_LIBJAWT) : $(BUILD_LIBAWT_XAWT)
1443else
1444$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
1445endif
1446
1447ifeq ($(OPENJDK_TARGET_OS),macosx)
1448$(BUILD_LIBJAWT) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
1449endif
1450
1451endif # OPENJDK_TARGET_OS
1452
1453BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1454
1455##########################################################################################
1456
1457ifndef OPENJDK
1458ifneq ($(OPENJDK_TARGET_OS), macosx)
1459
1460LIBJDBCODBC_DIR :=$(JDK_OUTPUTDIR)/objs/libjdbcodbc
1461LIBJDBCODBC_NAME :=$(LIBRARY_PREFIX)JdbcOdbc$(SHARED_LIBRARY_SUFFIX)
1462LIBJDBCODBC_CFLAGS:=
1463LIBJDBCODBC_LIBS :=
1464LIBJDBCODBC_LDFLAGS:=
1465
1466ifeq ($(OPENJDK_TARGET_OS), windows)
1467 LIBJDBCODBC_LDFLAGS:=$(LDFLAGS_JDKLIB)
1468 LIBJDBCODBC_LIBS += odbc32.lib odbccp32.lib $(WIN_JAVA_LIB) advapi32.lib
1469else
1470 LIBJDBCODBC_CFLAGS:=-DUNIX
1471
1472#
1473# This mimics "current" build system exactly. Link against fake -lodbcinst -lodbc
1474# but...those are linked with the -soname, causing the dependency to be dropped on linux (gnu ld)
1475# but kept with other linker (solaris)
1476#
1477# IMO very weird behaviour...very weird
1478#
1479 LIBJDBCODBC_LDFLAGS:=$(patsubst defs,nodefs,$(LDFLAGS_JDKLIB)) \
1480 -Xlinker -z -Xlinker nodefs
1481 LIBJDBCODBC_LIBS += -L$(LIBJDBCODBC_DIR) -lodbcinst -lodbc
1482 LIBJDBCODBC_SONAME:=$(call SET_SHARED_LIBRARY_NAME,$(LIBJDBCODBC_NAME))
1483endif
1484
1485$(eval $(call SetupNativeCompilation,BUILD_LIBJDBCODBC,\
1486 LIBRARY:=JdbcOdbc,\
1487 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1488 SRC:=$(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc,\
1489 EXCLUDE_FILES:=dummyodbc.c,\
1490 LANG:=C,\
1491 OPTIMIZATION:=LOW, \
1492 CFLAGS:=$(LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB) \
1493 $(SHARED_LIBRARY_FLAGS),\
1494 LDFLAGS:=$(LIBJDBCODBC_LDFLAGS) \
1495 $(call SET_SHARED_LIBRARY_ORIGIN) $(LIBJDBCODBC_LIBS),\
1496 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBJDBCODBC_SONAME),\
1497 OBJECT_DIR:=$(LIBJDBCODBC_DIR)))
1498
1499$(BUILD_LIBJDBCODBC) : $(BUILD_LIBJAVA)
1500
1501BUILD_LIBRARIES += $(BUILD_LIBJDBCODBC)
1502
1503ifneq ($(OPENJDK_TARGET_OS), windows)
1504
1505$(eval $(call SetupNativeCompilation,BUILD_FAKEODBCINST,\
1506 LIBRARY:=odbcinst,\
1507 OUTPUT_DIR:=$(LIBJDBCODBC_DIR),\
1508 SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
1509 INCLUDE_FILES:=dummyodbc1.c,\
1510 LANG:=C,\
1511 OPTIMIZATION:=LOW, \
1512 CFLAGS:=$(CFLAGS_JDKLIB),\
1513 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(LIBJDBCODBC_LDFLAGS),\
1514 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBJDBCODBC_SONAME),\
1515 OBJECT_DIR:=$(LIBJDBCODBC_DIR)))
1516
1517$(eval $(call SetupNativeCompilation,BUILD_FAKEODBC,\
1518 LIBRARY:=odbc,\
1519 OUTPUT_DIR:=$(LIBJDBCODBC_DIR),\
1520 SRC:=$(JDK_OUTPUTDIR)/gensrc_c/libjdbcodbc,\
1521 INCLUDE_FILES:=dummyodbc2.c,\
1522 LANG:=C,\
1523 OPTIMIZATION:=LOW, \
1524 CFLAGS:=$(LIBJDBCODBC_CFLAGS) $(CFLAGS_JDKLIB),\
1525 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) $(LIBJDBCODBC_LDFLAGS),\
1526 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBJDBCODBC_SONAME),\
1527 OBJECT_DIR:=$(LIBJDBCODBC_DIR)))
1528
1529$(BUILD_FAKEODBCINST) $(BUILD_FAKEODBC) : \
1530 $(BUILD_LIBJAVA)
1531
1532$(BUILD_LIBJDBCODBC) : $(BUILD_FAKEODBCINST) $(BUILD_FAKEODBC)
1533
1534endif
1535
1536endif
1537endif
1538
1539##########################################################################################
1540
1541BUILD_LIBINSTRUMENT_SRC :=$(JDK_TOPDIR)/src/share/instrument \
1542 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/io \
1543 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/instrument
1544
1545BUILD_LIBINSTRUMENT_FILES :=\
1546 EncodingSupport.c \
1547 EncodingSupport_md.c \
1548 FileSystemSupport_md.c \
1549 InstrumentationImplNativeMethods.c \
1550 InvocationAdapter.c \
1551 JarFacade.c \
1552 JPLISAgent.c \
1553 JPLISAssert.c \
1554 JavaExceptions.c \
1555 PathCharsValidator.c \
1556 Reentrancy.c \
1557 Utilities.c \
1558 canonicalize_md.c
1559
1560BUILD_LIBINSTRUMENT_DIR :=$(JDK_OUTPUTDIR)/objs/libinstrument
1561BUILD_LIBINSTRUMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/instrument \
1562 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/instrument \
1563 -I$(JDK_TOPDIR)/src/share/bin
1564
1565BUILD_LIBINSTRUMENT_LDFLAGS:=
1566BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX:=
1567
1568ifeq ($(OPENJDK_TARGET_OS), windows)
1569 BUILD_LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
1570 -export:Agent_OnAttach
1571 # equivalent of strcasecmp is stricmp on Windows
1572 BUILD_LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
1573else ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx))
1574 ifneq ($(ARCH), universal)
1575 BUILD_LIBINSTRUMENT_LDFLAGS += -Wl,-all_load
1576 endif
1577
1578 BUILD_LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/libjli_static.a
1579 BUILD_LIBINSTRUMENT_LDFLAGS += -liconv
1580 BUILD_LIBINSTRUMENT_LDFLAGS += -framework Cocoa -framework Security -framework ApplicationServices
1581 BUILD_LIBINSTRUMENT_LDFLAGS += $(LIBZ)
1582else
1583 BUILD_LIBINSTRUMENT_LDFLAGS += -L $(INSTALL_LIBRARIES_HERE)/jli
1584 BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX += -ljli $(LIBDL)
1585endif
1586
1587$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT,\
1588 LIBRARY:=instrument, \
1589 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1590 SRC:=$(BUILD_LIBINSTRUMENT_SRC),\
1591 INCLUDE_FILES:=$(BUILD_LIBINSTRUMENT_FILES),\
1592 LANG:=C,\
1593 OPTIMIZATION:=LOW, \
1594 CFLAGS:=$(CFLAGS_JDKLIB) \
1595 $(BUILD_LIBINSTRUMENT_CFLAGS),\
1596 CFLAGS_debug:=-DJPLIS_LOGGING,\
1597 CFLAGS_release:=-DNO_JPLIS_LOGGING,\
1598 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
1599 LDFLAGS:=$(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN)\
1600 $(call SET_SHARED_LIBRARY_ORIGIN,jli) \
1601 $(BUILD_LIBINSTRUMENT_LDFLAGS),\
1602 LDFLAGS_SUFFIX:=$(LIBZ) $(BUILD_LIBINSTRUMENT_LDFLAGS_SUFFIX),\
1603 OBJECT_DIR:=$(BUILD_LIBINSTRUMENT_DIR),\
1604 DEBUG_SYMBOLS:=true))
1605
1606ifneq (,$(findstring $(OPENJDK_TARGET_OS), macosx windows))
1607$(BUILD_LIBINSTRUMENT) : $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
1608else
1609$(BUILD_LIBINSTRUMENT) : $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
1610endif
1611$(BUILD_LIBINSTRUMENT) : $(BUILD_LIBJAVA)
1612
1613BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
1614
1615##########################################################################################
1616
1617BUILD_LIBMANAGEMENT_SRC:=$(JDK_TOPDIR)/src/share/native/sun/management \
1618 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/management \
1619 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/com/sun/management
1620
1621BUILD_LIBMANAGEMENT_EXCLUDES:=
1622
1623BUILD_LIBMANAGEMENT_CFLAGS:=-I$(JDK_TOPDIR)/src/share/native/sun/management
1624
1625ifneq ($(OPENJDK_TARGET_OS), windows)
1626 BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
1627else
1628 BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
1629endif
1630
1631ifneq ($(OPENJDK_TARGET_OS),solaris)
1632 BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
1633endif
1634
1635ifneq ($(OPENJDK_TARGET_OS),linux)
1636 BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
1637endif
1638
1639ifneq ($(OPENJDK_TARGET_OS),macosx)
1640 BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
1641endif
1642
1643
1644$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT,\
1645 LIBRARY:=management,\
1646 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1647 SRC:=$(BUILD_LIBMANAGEMENT_SRC),\
1648 EXCLUDE_FILES:=$(BUILD_LIBMANAGEMENT_EXCLUDES),\
1649 LANG:=C,\
1650 OPTIMIZATION:=HIGH, \
1651 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS),\
1652 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
1653 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1654 $(call SET_SHARED_LIBRARY_ORIGIN),\
1655 LDFLAGS_windows:=$(WIN_JAVA_LIB) jvm.lib advapi32.lib psapi.lib,\
1656 LDFLAGS_solaris:=-lkstat,\
1657 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
1658 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libmanagement,\
1659 DEBUG_SYMBOLS:=true))
1660
1661$(BUILD_LIBMANAGEMENT) : $(BUILD_LIBJAVA)
1662
1663BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
1664
1665##########################################################################################
1666
1667BUILD_LIBHPROF_SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/demo/jvmti/hprof
1668BUILD_LIBHPROF_CFLAGS:=-I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
1669 -I$(JDK_TOPDIR)/src/share/npt \
1670 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt \
1671 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
1672
1673BUILD_LIBHPROF_LDFLAGS:=
1674
1675ifeq ($(OPENJDK_TARGET_OS),solaris)
1676 BUILD_LIBHPROF_LDFLAGS += -lsocket -lnsl
1677endif
1678
1679ifneq ($(OPENJDK_TARGET_OS),windows)
1680 BUILD_LIBHPROF_LDFLAGS += $(LIBDL)
1681endif
1682
1683$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF,\
1684 LIBRARY:=hprof, \
1685 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1686 SRC:=$(BUILD_LIBHPROF_SRC),\
1687 LANG:=C,\
1688 OPTIMIZATION:=HIGHEST, \
1689 CFLAGS:=$(CFLAGS_JDKLIB) \
1690 $(BUILD_LIBHPROF_CFLAGS),\
1691 CFLAGS_debug:=-DHPROF_LOGGING,\
1692 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
1693 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1694 $(call SET_SHARED_LIBRARY_ORIGIN),\
1695 LDFLAGS_windows:=wsock32.lib winmm.lib advapi32.lib,\
1696 LDFLAGS_SUFFIX:=$(BUILD_LIBHPROF_LDFLAGS),\
1697 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libhprof_jvmti,\
1698 DEBUG_SYMBOLS:=true))
1699
1700BUILD_LIBRARIES += $(BUILD_LIBHPROF)
1701
1702##########################################################################################
1703
1704$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO,\
1705 LIBRARY:=java_crw_demo, \
1706 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1707 SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1708 LANG:=C,\
1709 OPTIMIZATION:=LOW, \
1710 CFLAGS:=$(CFLAGS_JDKLIB) \
1711 -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo,\
1712 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
1713 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1714 $(call SET_SHARED_LIBRARY_ORIGIN),\
1715 LDFLAGS_SUFFIX:=,\
1716 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjava_crw_demo,\
1717 DEBUG_SYMBOLS:=true))
1718
1719BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
1720
1721##########################################################################################
1722
1723$(eval $(call SetupNativeCompilation,BUILD_LIBNPT,\
1724 LIBRARY:=npt, \
1725 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1726 SRC:=$(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt,\
1727 LANG:=C,\
1728 OPTIMIZATION:=LOW, \
1729 CFLAGS:=$(CFLAGS_JDKLIB) \
1730 -I$(JDK_TOPDIR)/src/share/npt \
1731 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/npt,\
1732 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
1733 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1734 $(call SET_SHARED_LIBRARY_ORIGIN),\
1735 LDFLAGS_macosx:=-liconv,\
1736 LDFLAGS_SUFFIX_windows:=-export:nptInitialize -export:nptTerminate,\
1737 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnpt,\
1738 DEBUG_SYMBOLS:=true))
1739
1740BUILD_LIBRARIES += $(BUILD_LIBNPT)
1741
1742##########################################################################################
1743
1744LIBNET_SRC_DIRS:=$(JDK_TOPDIR)/src/share/native/java/net \
1745 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/net \
1746 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/dns \
1747 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/www/protocol/http/ntlm \
1748 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/sdp \
1749 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/net/spi
1750
1751LIBNET_CFLAGS:=$(foreach dir,$(LIBNET_SRC_DIRS),-I$(dir))
1752
1753LIBNET_EXCLUDE_FILES:=
1754ifneq ($(OPENJDK_TARGET_OS),linux)
1755 LIBNET_EXCLUDE_FILES += linux_close.c
1756endif
1757
1758ifneq ($(OPENJDK_TARGET_OS),macosx)
1759 LIBNET_EXCLUDE_FILES += bsd_close.c
1760endif
1761
1762ifeq ($(OPENJDK_TARGET_OS),windows)
1763 LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
1764else
1765 LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
1766 TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
1767 NTLMAuthSequence.c NetworkInterface_winXP.c
1768endif
1769
1770LIBNET_LDFLAGS_SUFFIX:=
1771
1772$(eval $(call SetupNativeCompilation,BUILD_LIBNET,\
1773 LIBRARY:=net,\
1774 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1775 SRC:=$(LIBNET_SRC_DIRS),\
1776 EXCLUDE_FILES:=$(LIBNET_EXCLUDE_FILES), \
1777 LANG:=C,\
1778 OPTIMIZATION:=LOW, \
1779 CFLAGS:=$(CFLAGS_JDKLIB) \
1780 $(LIBNET_CFLAGS),\
1781 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
1782 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1783 $(call SET_SHARED_LIBRARY_ORIGIN),\
1784 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) $(LIBNET_LDFLAGS_SUFFIX),\
1785 LDFLAGS_SUFFIX_solaris:=-lnsl -lsocket $(LIBDL) ,\
1786 LDFLAGS_SUFFIX_linux:=$(LIBDL) -lpthread ,\
1787 LDFLAGS_SUFFIX_windows:=ws2_32.lib $(JVMLIB) secur32.lib iphlpapi.lib \
1788 delayimp.lib $(WIN_JAVA_LIB) jvm.lib advapi32.lib \
1789 /DELAYLOAD:secur32.dll /DELAYLOAD:iphlpapi.dll, \
1790 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnet))
1791
1792$(BUILD_LIBNET) : $(BUILD_LIBJAVA)
1793
1794BUILD_LIBRARIES += $(BUILD_LIBNET)
1795
1796$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
1797 $(ECHO) Copying $(@F)
1798 $(MKDIR) -p $(@D)
1799 $(CP) $< $@
1800
1801COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
1802
1803ifeq ($(OPENJDK_TARGET_OS), solaris)
1804$(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template : $(JDK_TOPDIR)/src/${LEGACY_OPENJDK_TARGET_OS_API}/lib/sdp/sdp.conf.template
1805 $(ECHO) Copying $(@F)
1806 $(MKDIR) -p $(@D)
1807 $(CP) $< $@
1808
1809COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
1810endif
1811
1812##########################################################################################
1813
1814BUILD_LIBNIO_SRC:=\
1815 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/nio \
1816 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/ch \
1817 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/fs
1818
1819BUILD_LIBNIO_CFLAGS:=\
1820 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1821 -I$(JDK_TOPDIR)/src/share/native/java/io \
1822 -I$(JDK_TOPDIR)/src/share/native/java/net \
1823 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/net
1824
1825BUILD_LIBNIO_FILES:=\
1826 DatagramChannelImpl.c \
1827 DatagramDispatcher.c \
1828 FileChannelImpl.c \
1829 FileDispatcherImpl.c \
1830 FileKey.c \
1831 IOUtil.c \
1832 MappedByteBuffer.c \
1833 Net.c \
1834 ServerSocketChannelImpl.c \
1835 SocketChannelImpl.c \
1836 SocketDispatcher.c
1837
1838ifeq ($(OPENJDK_TARGET_OS), windows)
1839 BUILD_LIBNIO_FILES += \
1840 Iocp.c \
1841 RegistryFileTypeDetector.c \
1842 WindowsAsynchronousFileChannelImpl.c \
1843 WindowsAsynchronousServerSocketChannelImpl.c \
1844 WindowsAsynchronousSocketChannelImpl.c \
1845 WindowsNativeDispatcher.c \
1846 WindowsSelectorImpl.c
1847endif
1848
1849ifeq ($(OPENJDK_TARGET_OS), linux)
1850 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-linux
1851 BUILD_LIBNIO_FILES += \
1852 EPoll.c \
1853 EPollArrayWrapper.c \
1854 EPollPort.c \
1855 InheritedChannel.c \
1856 NativeThread.c \
1857 PollArrayWrapper.c \
1858 UnixAsynchronousServerSocketChannelImpl.c \
1859 UnixAsynchronousSocketChannelImpl.c \
1860 GnomeFileTypeDetector.c \
1861 LinuxNativeDispatcher.c \
1862 LinuxWatchService.c \
1863 UnixCopyFile.c \
1864 UnixNativeDispatcher.c
1865endif
1866
1867ifeq ($(OPENJDK_TARGET_OS), macosx)
1868 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-bsd
1869 BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
1870 BUILD_LIBNIO_FILES += \
1871 InheritedChannel.c \
1872 NativeThread.c \
1873 PollArrayWrapper.c \
1874 UnixAsynchronousServerSocketChannelImpl.c \
1875 UnixAsynchronousSocketChannelImpl.c \
1876 GnomeFileTypeDetector.c \
1877 BsdNativeDispatcher.c \
1878 UnixCopyFile.c \
1879 UnixNativeDispatcher.c \
1880 KQueue.c \
1881 KQueuePort.c \
1882 KQueueArrayWrapper.c
1883endif
1884
1885ifeq ($(OPENJDK_TARGET_OS), solaris)
1886 BUILD_LIBNIO_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-solaris
1887 BUILD_LIBNIO_FILES += \
1888 DevPollArrayWrapper.c \
1889 InheritedChannel.c \
1890 NativeThread.c \
1891 PollArrayWrapper.c \
1892 SolarisEventPort.c \
1893 UnixAsynchronousServerSocketChannelImpl.c \
1894 UnixAsynchronousSocketChannelImpl.c \
1895 GnomeFileTypeDetector.c \
1896 SolarisNativeDispatcher.c \
1897 SolarisWatchService.c \
1898 UnixCopyFile.c \
1899 UnixNativeDispatcher.c
1900endif
1901
1902$(eval $(call SetupNativeCompilation,BUILD_LIBNIO,\
1903 LIBRARY:=nio,\
1904 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1905 SRC:=$(BUILD_LIBNIO_SRC),\
1906 INCLUDE_FILES:=$(BUILD_LIBNIO_FILES), \
1907 LANG:=C,\
1908 OPTIMIZATION:=HIGH, \
1909 CFLAGS:=$(CFLAGS_JDKLIB) \
1910 $(BUILD_LIBNIO_CFLAGS),\
1911 MAPFILE:=$(BUILD_LIBNIO_MAPFILE), \
1912 LDFLAGS:=$(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
1913 $(call SET_SHARED_LIBRARY_ORIGIN),\
1914 LDFLAGS_SUFFIX_linux:=-ljava -lnet -lpthread $(LIBDL),\
1915 LDFLAGS_SUFFIX_solaris:=$(LDFLAGS_JDKLIB_SUFFIX) \
1916 $(JVMLIB) -lsocket -lposix4 $(LIBDL) -lsendfile \
1917 -ljava -lnet,\
1918 LDFLAGS_SUFFIX_windows:=$(LDFLAGS_JDKLIB_SUFFIX) \
1919 $(WIN_JAVA_LIB) $(JDK_OUTPUTDIR)/objs/libnet/net.lib \
1920 advapi32.lib jvm.lib ws2_32.lib\
1921 $(JDK_OUTPUTDIR)/objs/libjava/io_util.obj \
1922 $(JDK_OUTPUTDIR)/objs/libjava/FileDescriptor_md.obj ,\
1923 LDFLAGS_SUFFIX_macosx:=-ljava -lnet -pthread,\
1924 LDFLAGS_SUFFIX:=,\
1925 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libnio))
1926
1927BUILD_LIBRARIES += $(BUILD_LIBNIO)
1928
1929$(BUILD_LIBNIO) : $(BUILD_LIBNET)
1930
1931##########################################################################################
1932
1933ifeq ($(OPENJDK_TARGET_OS_API),posix)
1934 # TODO make this work on macosx
1935 ifneq ($(OPENJDK_TARGET_OS),macosx)
1936
1937 SCTP_WERROR := -Werror
1938 ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
1939 SCTP_WERROR :=
1940 endif
1941
1942 $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP,\
1943 LIBRARY:=sctp,\
1944 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
1945 SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/ch/sctp,\
1946 LANG:=C,\
1947 OPTIMIZATION:=LOW, \
1948 CFLAGS:=$(CFLAGS_JDKLIB)\
1949 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
1950 -I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
1951 -I$(JDK_TOPDIR)/src/share/native/java/net \
1952 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/nio/ch \
1953 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/java/net,\
1954 CFLAGS_linux:=$(SCTP_WERROR),\
1955 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
1956 LDFLAGS:=$(LDFLAGS_JDKLIB) \
1957 $(call SET_SHARED_LIBRARY_ORIGIN),\
1958 LDFLAGS_SUFFIX_linux:=$(LIBDL) -lpthread,\
1959 LDFLAGS_SUFFIX_posix:=-lnio -lnet,\
1960 LDFLAGS_SUFFIX_solaris:=-lsocket,\
1961 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
1962 INCLUDE_FILES:=SctpNet.c SctpChannelImpl.c SctpServerChannelImpl.c,\
1963 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsctp))
1964
1965 BUILD_LIBRARIES += $(BUILD_LIBSCTP)
1966
1967 $(BUILD_LIBSCTP) : $(BUILD_LIBNIO)
1968 endif
1969endif
1970
1971##########################################################################################
1972
1973BUILD_LIBJLI_SRC_DIRS:=$(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin
1974BUILD_LIBJLI_CFLAGS:=$(foreach dir,$(BUILD_LIBJLI_SRC_DIRS),-I$(dir))
1975
1976BUILD_LIBJLI_FILES:=\
1977 java.c \
1978 splashscreen_stubs.c \
1979 parse_manifest.c \
1980 version_comp.c \
1981 wildcard.c \
1982 jli_util.c
1983
1984ifeq ($(JVM_VARIANT_ZERO), true)
1985 ERGO_FAMILY:=zero
1986else # !ZERO_BUILD
1987 ifneq (,$(findstring $(ARCH), amd64 x86_64))
1988 ERGO_FAMILY:=i586
1989 else # !X86 FAMILY
1990 ERGO_FAMILY:=$(ARCH)
1991 endif #ARCH_FAMILY
1992endif # ZERO_BUILD
1993
1994ifeq ($(OPENJDK_TARGET_OS), macosx)
1995 BUILD_LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
1996 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
1997 BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
1998
1999 BUILD_LIBJLI_java_md_macosx.c_CFLAGS:=-x objective-c
2000 BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS:=-x objective-c
2001endif
2002
2003ifeq ($(OPENJDK_TARGET_OS), windows)
2004 BUILD_LIBJLI_FILES += java_md.c
2005else ifneq ($(OPENJDK_TARGET_OS), macosx)
2006
2007 BUILD_LIBJLI_FILES += java_md_common.c
2008 BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
2009
2010 ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
2011
2012 # if the architecture specific ergo file exists then
2013 # use it, else use the generic definitions from ergo.c
2014 ifneq ($(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/bin/$(ERGO_ARCH_FILE)),)
2015 BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
2016 else # !ERGO_ARCH_FILE
2017 BUILD_LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
2018 endif # ERGO_ARCH_FILE
2019endif #WINDOWS
2020
2021# Names of arch directories
2022ifneq ($(OPENJDK_TARGET_OS), macosx)
2023 BUILD_LIBJLI_CFLAGS += -DLIBARCHNAME='"$(LIBARCH)"'
2024else
2025 BUILD_LIBJLI_CFLAGS += -DLIBARCHNAME='"$(ARCH)"'
2026endif
2027ifeq ($(OPENJDK_TARGET_OS), solaris)
2028 ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2029 BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"sparc"'
2030 BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"sparcv9"'
2031 else
2032 BUILD_LIBJLI_CFLAGS += -DLIBARCH32NAME='"i386"'
2033 BUILD_LIBJLI_CFLAGS += -DLIBARCH64NAME='"amd64"'
2034 endif
2035endif # OPENJDK_TARGET_OS
2036
2037ifeq ($(OPENJDK_TARGET_OS), macosx)
2038 BUILD_LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
2039endif
2040
2041ifneq ($(USE_EXTERNAL_LIBZ),true)
2042 BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
2043 BUILD_LIBJLI_CFLAGS += $(LIBZ_INCLUDE)
2044 BUILD_LIBJLI_FILES += \
2045 inflate.c \
2046 inftrees.c \
2047 inffast.c \
2048 zadler32.c \
2049 zcrc32.c \
2050 zutil.c
2051endif
2052
2053ifeq ($(OPENJDK_TARGET_OS), windows)
2054 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)
2055else
2056 LIBJLI_OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE)/jli
2057endif
2058
2059$(eval $(call SetupNativeCompilation,BUILD_LIBJLI,\
2060 LIBRARY:=jli,\
2061 OUTPUT_DIR:=$(LIBJLI_OUTPUT_DIR),\
2062 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2063 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2064 LANG:=C,\
2065 OPTIMIZATION:=HIGH, \
2066 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBJLI_CFLAGS),\
2067 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
2068 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2069 $(call SET_SHARED_LIBRARY_ORIGIN),\
2070 LDFLAGS_SUFFIX:=$(LIBZ),\
2071 LDFLAGS_SUFFIX_posix:=$(LIBDL) -lc,\
2072 LDFLAGS_SUFFIX_linux:=-lpthread,\
2073 LDFLAGS_SUFFIX_windows:=\
2074 -export:JLI_Launch \
2075 -export:JLI_ManifestIterate \
2076 -export:JLI_SetTraceLauncher \
2077 -export:JLI_ReportErrorMessage \
2078 -export:JLI_ReportErrorMessageSys \
2079 -export:JLI_ReportMessage \
2080 -export:JLI_ReportExceptionDescription \
2081 advapi32.lib \
2082 comctl32.lib \
2083 user32.lib,\
2084 LDFLAGS_SUFFIX_macosx:=-framework Cocoa -framework Security -framework ApplicationServices, \
2085 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli))
2086
2087BUILD_LIBRARIES += $(BUILD_LIBJLI)
2088
2089# On windows, the static library has the same suffix as the import library created by
2090# with the shared library, so the static library is given a different name. No harm
2091# in doing it for all platform to reduce complexity.
2092ifeq ($(OPENJDK_TARGET_OS), windows)
2093 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2094 STATIC_LIBRARY:=jli_static,\
2095 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2096 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2097 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2098 LANG:=C,\
2099 OPTIMIZATION:=HIGH, \
2100 CFLAGS:=$(CFLAGS_JDKLIB) $(STATIC_LIBRARY_FLAGS) $(BUILD_LIBJLI_CFLAGS),\
2101 ARFLAGS:=$(ARFLAGS),\
2102 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2103
2104BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
2105
2106else ifeq ($(OPENJDK_TARGET_OS),macosx)
2107 #
2108 # On macosx they do partial (incremental) linking of libjli_static.a
2109 # code it here...rather than add support to NativeCompilation
2110 # as this is first time I see it
2111 $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC,\
2112 LIBRARY:=jli_static, \
2113 OUTPUT_DIR:=$(JDK_OUTPUTDIR)/objs,\
2114 SRC:=$(BUILD_LIBJLI_SRC_DIRS),\
2115 INCLUDE_FILES:=$(BUILD_LIBJLI_FILES),\
2116 LANG:=C,\
2117 OPTIMIZATION:=HIGH, \
2118 CFLAGS:=$(CFLAGS_JDKLIB) $(BUILD_LIBJLI_CFLAGS),\
2119 LDFLAGS:=-nostdlib -r,\
2120 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjli_static))
2121
2122$(JDK_OUTPUTDIR)/objs/libjli_static.a : $(BUILD_LIBJLI_STATIC)
2123 $(CP) -a $< $@
2124
2125BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
2126endif
2127
2128##########################################################################################
2129
2130ifeq ($(ENABLE_JFR), true)
2131
2132$(eval $(call SetupNativeCompilation,BUILD_LIBJFR,\
2133 LIBRARY:=jfr,\
2134 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2135 SRC:=$(JDK_TOPDIR)/src/closed/share/native/oracle/jfr,\
2136 LANG:=C,\
2137 OPTIMIZATION:=LOW, \
2138 CFLAGS:=$(CFLAGS_JDKLIB) \
2139 -I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
2140 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
2141 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2142 $(call SET_SHARED_LIBRARY_ORIGIN),\
2143 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjfr))
2144
2145BUILD_LIBRARIES += $(BUILD_LIBJFR)
2146
2147endif
2148
2149##########################################################################################
2150
2151ifndef OPENJDK
2152
2153BUILD_LIBKCMS_EXCLUDE_FILES:=
2154ifeq ($(OPENJDK_TARGET_OS),windows)
2155 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
2156else
2157 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
2158endif
2159
2160BUILD_LIBKCMS_FLAGS:=$(CFLAGS_JDKLIB)
2161
2162ifeq ($(OPENJDK_TARGET_OS),solaris)
2163 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
2164 # implement it like this...since it's only used here
2165 BUILD_LIBKCMS_FLAGS:=$(patsubst -KPIC,-Kpic,$(BUILD_LIBKCMS_FLAGS))
2166else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
2167 BUILD_LIBKCMS_FLAGS:=$(patsubst -fPIC,-fpic,$(BUILD_LIBKCMS_FLAGS))
2168endif
2169
2170$(eval $(call SetupNativeCompilation,BUILD_LIBKCMS,\
2171 LIBRARY:=kcms,\
2172 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2173 SRC:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms,\
2174 LANG:=C,\
2175 EXCLUDE_FILES:=$(BUILD_LIBKCMS_EXCLUDE_FILES),\
2176 OPTIMIZATION:=LOW, \
2177 CFLAGS:=$(BUILD_LIBKCMS_FLAGS) \
2178 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST,\
2179 CFLAGS_linux:=-Wno-missing-field-initializers,\
2180 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libkcms/mapfile-vers, \
2181 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2182 $(call SET_SHARED_LIBRARY_ORIGIN),\
2183 LDFLAGS_SUFFIX_linux:=-lpthread,\
2184 LDFLAGS_SUFFIX_windows:=$(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
2185 LDFLAGS_SUFFIX:=-lm $(LDFLAGS_JDKLIB_SUFFIX),\
2186 VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc,\
2187 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkcms))
2188
2189$(BUILD_LIBKCMS) : $(BUILD_LIBJAVA)
2190
2191BUILD_LIBRARIES += $(BUILD_LIBKCMS)
2192
2193endif
2194
2195##########################################################################################
2196
2197ifndef OPENJDK
2198ifeq ($(OPENJDK_TARGET_OS), solaris)
2199ifneq ($(ARCH), amd64)
2200
2201ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
2202
2203SUNWJDGA_MAPFILE:=
2204ifneq (,$(findstring $(ARCH),sparc))
2205 SUNWJDGA_MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjdga/mapfile-vers
2206endif
2207
2208$(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
2209 LIBRARY:=sunwjdga,\
2210 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2211 SRC:=$(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
2212 LANG:=C, \
2213 OPTIMIZATION:=LOW, \
2214 CFLAGS:=$(CFLAGS_JDKLIB) \
2215 -I$(JDK_TOPDIR)/src/share/javavm/export \
2216 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/javavm/export \
2217 -I$(OPENWIN_HOME)/include, \
2218 MAPFILE:=$(SUNWJDGA_MAPFILE), \
2219 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2220 $(call SET_SHARED_LIBRARY_ORIGIN), \
2221 LDFLAGS_SUFFIX:=-L$(OPENWIN_LIB)$(ISA_DIR) -R$(OPENWIN_LIB)$(ISA_DIR) -ldga -lX11 $(LIBDL) -lc, \
2222 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunwjdga))
2223
2224BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
2225
2226endif
2227endif
2228endif
2229endif
2230
2231##########################################################################################
2232
2233ifeq ($(BUILD_HEADLESS), true)
2234ifneq ($(OPENJDK_TARGET_OS), windows)
2235
2236LIBAWT_HEADLESS_DIRS:=$(JDK_TOPDIR)/src/share/native/sun/font \
2237 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
2238 $(JDK_TOPDIR)/src/solaris/native/sun/font \
2239 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
2240 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
2241 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
2242
2243LIBAWT_HEADLESS_CFLAGS:=-DHEADLESS=true \
2244 -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
2245 $(CUPS_CFLAGS) \
2246 $(X_CFLAGS) \
2247 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
2248 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/java2d \
2249 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
2250 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
2251 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
2252 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
2253 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
2254 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/jdga \
2255 $(foreach dir,$(LIBAWT_HEADLESS_DIRS),-I$(dir))
2256
2257LIBAWT_HEADLESS_FILES:=\
2258 awt_Font.c \
2259 HeadlessToolkit.c \
2260 fontpath.c \
2261 VDrawingArea.c \
2262 X11Color.c \
2263 X11Renderer.c \
2264 X11PMBlitLoops.c \
2265 X11SurfaceData.c \
2266 X11FontScaler_md.c \
2267 X11TextRenderer_md.c \
2268 OGLBlitLoops.c \
2269 OGLBufImgOps.c \
2270 OGLContext.c \
2271 OGLFuncs.c \
2272 OGLMaskBlit.c \
2273 OGLMaskFill.c \
2274 OGLPaints.c \
2275 OGLRenderQueue.c \
2276 OGLRenderer.c \
2277 OGLSurfaceData.c \
2278 OGLTextRenderer.c \
2279 OGLVertexCache.c \
2280 GLXGraphicsConfig.c \
2281 GLXSurfaceData.c \
2282 AccelGlyphCache.c \
2283 CUPSfuncs.c
2284
2285LIBAWT_HEADLESS_LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) -lawt -lm
2286
2287LIBAWT_HEADLESS_REORDER:=
2288ifeq ($(OPENJDK_TARGET_OS), solaris)
2289 ifneq ($(ARCH), amd64)
2290 LIBAWT_HEADLESS_REORDER:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/reorder-$(ARCH)
2291 endif
2292endif
2293
2294$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS,\
2295 LIBRARY:=awt_headless,\
2296 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2297 SRC:=$(LIBAWT_HEADLESS_DIRS),\
2298 INCLUDE_FILES:=$(LIBAWT_HEADLESS_FILES),\
2299 LANG:=C,\
2300 OPTIMIZATION:=LOW, \
2301 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS),\
2302 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libawt_headless/mapfile-vers, \
2303 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2304 $(call SET_SHARED_LIBRARY_ORIGIN),\
2305 REORDER:=$(LIBAWT_HEADLESS_REORDER), \
2306 LDFLAGS_SUFFIX:=$(LIBAWT_HEADLESS_LDFLAGS_SUFFIX),\
2307 LDFLAGS_SUFFIX_posix:=$(LIBDL),\
2308 LDFLAGS_SUFFIX_macosx:=$(LIBCXX), \
2309 LDFLAGS_SUFFIX_solaris:=$(LIBCXX), \
2310 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_headless))
2311
2312$(BUILD_LIBAWT_HEADLESS) : $(BUILD_LIBAWT)
2313
2314BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
2315
2316endif
2317endif
2318
2319##########################################################################################
2320
2321ifndef BUILD_HEADLESS_ONLY
2322LIBSPLASHSCREEN_DIRS:=\
2323 $(JDK_TOPDIR)/src/share/native/sun/awt/giflib \
2324 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
2325 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
2326 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen \
2327 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/awt/splashscreen
2328
2329LIBSPLASHSCREEN_CFLAGS:=-DSPLASHSCREEN -DPNG_NO_MMX_CODE \
2330 $(foreach dir,$(LIBSPLASHSCREEN_DIRS),-I$(dir))
2331
2332ifeq ($(OPENJDK_TARGET_OS), macosx)
2333 LIBSPLASHSCREEN_CFLAGS:=-I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
2334 $(LIBSPLASHSCREEN_CFLAGS) \
2335 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
2336 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
2337 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
2338
2339 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS:=-x objective-c -O0
2340 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS:=-x objective-c -O0
2341 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS:=-x objective-c -O0
2342 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS:=-x objective-c -O0
2343 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS:=-x objective-c -O0
2344 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS:=-x objective-c -O0
2345 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS:=-O0
2346
2347else ifneq ($(OPENJDK_TARGET_OS), windows)
2348 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
2349else
2350 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
2351endif
2352
2353LIBSPLASHSCREEN_FILES:=\
2354 java_awt_SplashScreen.c \
2355 splashscreen_gfx_impl.c \
2356 splashscreen_gif.c \
2357 splashscreen_impl.c \
2358 splashscreen_jpeg.c \
2359 splashscreen_png.c \
2360 png.c \
2361 pngerror.c \
2362 pngget.c \
2363 pngmem.c \
2364 pngpread.c \
2365 pngread.c \
2366 pngrio.c \
2367 pngrtran.c \
2368 pngrutil.c \
2369 pngset.c \
2370 pngtrans.c \
2371 pngwio.c \
2372 pngwrite.c \
2373 pngwtran.c \
2374 pngwutil.c \
2375 dgif_lib.c \
2376 gif_err.c \
2377 gifalloc.c \
2378 jcomapi.c \
2379 jdapimin.c \
2380 jdapistd.c \
2381 jdcoefct.c \
2382 jdcolor.c \
2383 jddctmgr.c \
2384 jdhuff.c \
2385 jdinput.c \
2386 jdmainct.c \
2387 jdmarker.c \
2388 jdmaster.c \
2389 jdmerge.c \
2390 jdphuff.c \
2391 jdpostct.c \
2392 jdsample.c \
2393 jerror.c \
2394 jidctflt.c \
2395 jidctfst.c \
2396 jidctint.c \
2397 jidctred.c \
2398 jmemmgr.c \
2399 jmemnobs.c \
2400 jquant1.c \
2401 jquant2.c \
2402 jutils.c \
2403 jcapimin.c \
2404 jcapistd.c \
2405 jccoefct.c \
2406 jccolor.c \
2407 jcdctmgr.c \
2408 jchuff.c \
2409 jcinit.c \
2410 jcmainct.c \
2411 jcmarker.c \
2412 jcmaster.c \
2413 jcparam.c \
2414 jcphuff.c \
2415 jcprepct.c \
2416 jcsample.c \
2417 jctrans.c \
2418 jdtrans.c \
2419 jfdctflt.c \
2420 jfdctfst.c \
2421 jfdctint.c
2422
2423ifneq ($(OPENJDK_TARGET_OS), macosx)
2424LIBSPLASHSCREEN_FILES += splashscreen_sys.c
2425else
2426LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
2427LIBSPLASHSCREEN_FILES += splashscreen_sys.m
2428endif
2429
2430LIBSPLASHSCREEN_LDFLAGS_SUFFIX:=
2431
2432ifneq ($(USE_EXTERNAL_LIBZ),true)
2433 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
2434 LIBSPLASHSCREEN_CFLAGS += $(LIBZ_INCLUDE)
2435 LIBSPLASHSCREEN_FILES += \
2436 compress.c \
2437 deflate.c \
2438 gzclose.c \
2439 gzlib.c \
2440 gzread.c \
2441 gzwrite.c \
2442 infback.c \
2443 inffast.c \
2444 inflate.c \
2445 inftrees.c \
2446 trees.c \
2447 uncompr.c \
2448 zadler32.c \
2449 zcrc32.c \
2450 zutil.c
2451endif
2452
2453ifeq ($(OPENJDK_TARGET_OS), macosx)
2454 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
2455 -framework ApplicationServices \
2456 -framework Foundation \
2457 -framework Cocoa \
2458 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2459 -framework JavaNativeFoundation
2460else ifneq ($(OPENJDK_TARGET_OS), windows)
2461 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(ISA_DIR) -lX11 -lXext $(LIBM) -lpthread
2462else # OPENJDK_TARGET_OS
2463 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib /DELAYLOAD:user32.dll
2464endif # OPENJDK_TARGET_OS
2465
2466$(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN,\
2467 LIBRARY:=splashscreen,\
2468 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
2469 SRC:=$(LIBSPLASHSCREEN_DIRS),\
2470 INCLUDE_FILES:=$(LIBSPLASHSCREEN_FILES),\
2471 LANG:=C,\
2472 OPTIMIZATION:=LOW, \
2473 CFLAGS:=$(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB),\
2474 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsplashscreen/mapfile-vers, \
2475 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2476 $(call SET_SHARED_LIBRARY_ORIGIN),\
2477 LDFLAGS_SUFFIX_linux:=$(LIBDL), \
2478 LDFLAGS_SUFFIX:=$(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ),\
2479 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsplashscreen))
2480
2481BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
2482
2483ifeq ($(OPENJDK_TARGET_OS),macosx)
2484$(LIBSPLASHSCREEN) : $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
2485endif
2486
2487endif
2488
2489##########################################################################################
2490
2491ifndef OPENJDK
2492
2493LIBDCPR_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002494 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
2495 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
2496 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
2497 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
2498
erikjaf85fc42012-07-03 16:10:44 -07002499LIBDCPR_CFLAGS:=$(foreach dir,$(LIBDCPR_SRC_DIRS),-I$(dir)) \
erikje78df742012-06-07 20:40:50 -07002500 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
2501
2502$(eval $(call SetupNativeCompilation,BUILD_LIBDCPR,\
erikjaf85fc42012-07-03 16:10:44 -07002503 LIBRARY:=dcpr,\
2504 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002505 SRC:=$(LIBDCPR_SRC_DIRS),\
2506 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002507 OPTIMIZATION:=LOW, \
2508 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002509 $(LIBDCPR_CFLAGS), \
erikjaf85fc42012-07-03 16:10:44 -07002510 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libdcpr/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002511 LDFLAGS:=$(LDFLAGS_JDKLIB) $(LIBM)\
2512 $(call SET_SHARED_LIBRARY_ORIGIN),\
2513 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
erikjaf85fc42012-07-03 16:10:44 -07002514 LDFLAGS_SUFFIX_posix:=-lm,\
2515 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libdcpr))
erikje78df742012-06-07 20:40:50 -07002516
erikjaf85fc42012-07-03 16:10:44 -07002517$(BUILD_LIBDCPR) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002518
erikjaf85fc42012-07-03 16:10:44 -07002519BUILD_LIBRARIES += $(BUILD_LIBDCPR)
erikje78df742012-06-07 20:40:50 -07002520
2521endif
2522
2523##########################################################################################
2524
2525$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC,\
erikjaf85fc42012-07-03 16:10:44 -07002526 LIBRARY:=j2pcsc,\
2527 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002528 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
erikjaf85fc42012-07-03 16:10:44 -07002529 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/smartcardio,\
erikje78df742012-06-07 20:40:50 -07002530 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002531 CFLAGS_posix:=-D__sun_jdk,\
2532 OPTIMIZATION:=LOW, \
2533 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002534 -I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
erikjaf85fc42012-07-03 16:10:44 -07002535 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/smartcardio\
2536 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/smartcardio/MUSCLE,\
2537 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002538 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2539 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002540 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2541 LDFLAGS_SUFFIX_windows:=winscard.lib,\
2542 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pcsc))
erikje78df742012-06-07 20:40:50 -07002543
erikjaf85fc42012-07-03 16:10:44 -07002544BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
erikje78df742012-06-07 20:40:50 -07002545
2546##########################################################################################
2547
erikjaf85fc42012-07-03 16:10:44 -07002548ifneq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002549$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS,\
erikjaf85fc42012-07-03 16:10:44 -07002550 LIBRARY:=j2gss,\
2551 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002552 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
erikjaf85fc42012-07-03 16:10:44 -07002553 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/jgss/wrapper,\
erikje78df742012-06-07 20:40:50 -07002554 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002555 OPTIMIZATION:=LOW, \
2556 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002557 -I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
erikjaf85fc42012-07-03 16:10:44 -07002558 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/jgss/wrapper,\
2559 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002560 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2561 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002562 LDFLAGS_SUFFIX:=$(LIBDL), \
2563 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2gss))
erikje78df742012-06-07 20:40:50 -07002564
erikjaf85fc42012-07-03 16:10:44 -07002565BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
erikje78df742012-06-07 20:40:50 -07002566endif
2567
2568##########################################################################################
2569
erikjaf85fc42012-07-03 16:10:44 -07002570BUILD_LIBKRB5_NAME:=
2571ifeq ($(OPENJDK_TARGET_OS), windows)
2572 BUILD_LIBKRB5_NAME:=w2k_lsa_auth
2573 BUILD_LIBKRB5_FILES:=NativeCreds.c WindowsDirectory.c
2574 BUILD_LIBKRB5_SRC:=$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/krb5
2575 BUILD_LIBKRB5_LIBS:=Secur32.lib netapi32.lib \
erikje78df742012-06-07 20:40:50 -07002576 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \
2577 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib \
2578 odbccp32.lib wsock32.lib
erikjaf85fc42012-07-03 16:10:44 -07002579else ifeq ($(OPENJDK_TARGET_OS), macosx)
2580 BUILD_LIBKRB5_NAME:=osxkrb5
2581 BUILD_LIBKRB5_FILES:=nativeccache.c
2582 BUILD_LIBKRB5_LIBS:=-framework Kerberos
erikje78df742012-06-07 20:40:50 -07002583endif
2584
2585ifneq ($(BUILD_LIBKRB5_NAME),)
2586$(eval $(call SetupNativeCompilation,BUILD_LIBKRB5,\
erikjaf85fc42012-07-03 16:10:44 -07002587 LIBRARY:=$(BUILD_LIBKRB5_NAME),\
2588 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002589 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
2590 $(BUILD_LIBKRB5_SRC) ,\
erikjaf85fc42012-07-03 16:10:44 -07002591 INCLUDE_FILES:=$(BUILD_LIBKRB5_FILES),\
erikje78df742012-06-07 20:40:50 -07002592 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002593 OPTIMIZATION:=LOW, \
2594 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002595 -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
erikjaf85fc42012-07-03 16:10:44 -07002596 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/krb5 ,\
erikje78df742012-06-07 20:40:50 -07002597 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2598 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002599 LDFLAGS_SUFFIX:=$(BUILD_LIBKRB5_LIBS) ,\
2600 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libkrb5))
erikje78df742012-06-07 20:40:50 -07002601
erikjaf85fc42012-07-03 16:10:44 -07002602BUILD_LIBRARIES += $(BUILD_LIBKRB5)
erikje78df742012-06-07 20:40:50 -07002603endif
2604
2605##########################################################################################
2606
erikjaf85fc42012-07-03 16:10:44 -07002607ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002608
2609$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI,\
erikjaf85fc42012-07-03 16:10:44 -07002610 LIBRARY:=sunmscapi,\
2611 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002612 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/mscapi \
erikjaf85fc42012-07-03 16:10:44 -07002613 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/mscapi,\
2614 INCLUDE_FILES:=security.cpp, \
erikje78df742012-06-07 20:40:50 -07002615 LANG:=C++,\
erikjaf85fc42012-07-03 16:10:44 -07002616 OPTIMIZATION:=LOW, \
2617 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002618 -I$(JDK_TOPDIR)/src/share/native/sun/security/mscapi \
erikjaf85fc42012-07-03 16:10:44 -07002619 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/mscapi ,\
erikje78df742012-06-07 20:40:50 -07002620 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2621 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002622 LDFLAGS_SUFFIX:=Crypt32.Lib advapi32.lib,\
2623 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunmscapi))
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
erikjaf85fc42012-07-03 16:10:44 -07002630ifneq ($(OPENJDK_TARGET_OS)-$(ARCH_DATA_MODEL), windows-64)
erikje78df742012-06-07 20:40:50 -07002631$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11,\
erikjaf85fc42012-07-03 16:10:44 -07002632 LIBRARY:=j2pkcs11,\
2633 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002634 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
erikjaf85fc42012-07-03 16:10:44 -07002635 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002636 $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
erikjaf85fc42012-07-03 16:10:44 -07002637 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11/wrapper,\
erikje78df742012-06-07 20:40:50 -07002638 LANG:=C,\
erikjaf85fc42012-07-03 16:10:44 -07002639 OPTIMIZATION:=LOW, \
2640 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002641 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
erikjaf85fc42012-07-03 16:10:44 -07002642 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11 \
erikje78df742012-06-07 20:40:50 -07002643 -I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
erikjaf85fc42012-07-03 16:10:44 -07002644 -I$(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/sun/security/pkcs11/wrapper,\
2645 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002646 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2647 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002648 LDFLAGS_SUFFIX_posix:=$(LIBDL), \
2649 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2pkcs11))
erikje78df742012-06-07 20:40:50 -07002650
erikjaf85fc42012-07-03 16:10:44 -07002651BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
erikje78df742012-06-07 20:40:50 -07002652endif
2653
2654##########################################################################################
2655
2656ifndef DISABLE_INTREE_EC
2657#
2658# TODO Set DISABLE_INTREE_EC in configure if src/share/native/sun/security/ec/impl
2659# is not present
2660#
erikjaf85fc42012-07-03 16:10:44 -07002661BUILD_LIBSUNEC_FLAGS:= -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2662 -I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
2663
2664#
2665# On sol-sparc...all libraries are compiled with -xregs=no%appl
2666# (set in CFLAGS_REQUIRED_sparc)
2667#
2668# except!!! libsunec.so
2669#
2670ECC_JNI_SOLSPARC_FILTER:=
2671ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
2672 ECC_JNI_SOLSPARC_FILTER:=-xregs=no%appl
2673endif
erikje78df742012-06-07 20:40:50 -07002674
2675$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC,\
erikjaf85fc42012-07-03 16:10:44 -07002676 LIBRARY:=sunec,\
2677 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002678 SRC:=$(JDK_TOPDIR)/src/share/native/sun/security/ec \
2679 $(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
erikjaf85fc42012-07-03 16:10:44 -07002680 LANG:=C++, \
2681 OPTIMIZATION:=LOW, \
2682 CFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB))\
2683 $(BUILD_LIBSUNEC_FLAGS) \
2684 -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B,\
2685 CXXFLAGS:=$(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
2686 $(BUILD_LIBSUNEC_FLAGS),\
2687 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002688 LDFLAGS:=$(LDFLAGS_JDKLIB) \
2689 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002690 LDFLAGS_SUFFIX:=$(LIBCXX),\
2691 LDFLAGS_SUFFIX_solaris:=-lc ,\
2692 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libsunec))
erikje78df742012-06-07 20:40:50 -07002693
erikjaf85fc42012-07-03 16:10:44 -07002694BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
erikje78df742012-06-07 20:40:50 -07002695endif
2696
2697##########################################################################################
2698
erikjaf85fc42012-07-03 16:10:44 -07002699LIBJSOUND_SRC_DIRS:=\
erikje78df742012-06-07 20:40:50 -07002700 $(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
erikjaf85fc42012-07-03 16:10:44 -07002701 $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/native/com/sun/media/sound
erikje78df742012-06-07 20:40:50 -07002702
erikjaf85fc42012-07-03 16:10:44 -07002703LIBJSOUND_SRC_FILES:=Utilities.c Platform.c
erikje78df742012-06-07 20:40:50 -07002704
erikjaf85fc42012-07-03 16:10:44 -07002705LIBJSOUND_LANG:=C
2706LIBJSOUND_CFLAGS:=$(foreach dir,$(LIBJSOUND_SRC_DIRS),-I$(dir))
erikje78df742012-06-07 20:40:50 -07002707
erikjaf85fc42012-07-03 16:10:44 -07002708EXTRA_SOUND_JNI_LIBS:=
erikje78df742012-06-07 20:40:50 -07002709
erikjaf85fc42012-07-03 16:10:44 -07002710LIBJSOUND_MIDIFILES:=\
erikje78df742012-06-07 20:40:50 -07002711 MidiInDevice.c \
2712 MidiInDeviceProvider.c \
2713 MidiOutDevice.c \
2714 MidiOutDeviceProvider.c \
2715 PlatformMidi.c
2716
2717# files needed for ports
erikjaf85fc42012-07-03 16:10:44 -07002718LIBJSOUND_PORTFILES:=\
erikje78df742012-06-07 20:40:50 -07002719 PortMixerProvider.c \
2720 PortMixer.c
2721
2722# files needed for direct audio
erikjaf85fc42012-07-03 16:10:44 -07002723LIBJSOUND_DAUDIOFILES:=\
erikje78df742012-06-07 20:40:50 -07002724 DirectAudioDeviceProvider.c \
2725 DirectAudioDevice.c
2726
erikjaf85fc42012-07-03 16:10:44 -07002727ifeq ($(OPENJDK_TARGET_OS), windows)
erikje78df742012-06-07 20:40:50 -07002728 EXTRA_SOUND_JNI_LIBS += jsoundds
2729 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
2730 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2731 -DUSE_PLATFORM_MIDI_IN=TRUE \
2732 -DUSE_PORTS=TRUE
2733 LIBJSOUND_SRC_FILES += \
2734 PLATFORM_API_WinOS_MidiIn.cpp \
2735 PLATFORM_API_WinOS_MidiOut.c \
2736 PLATFORM_API_WinOS_Util.c \
2737 PLATFORM_API_WinOS_Ports.c
2738 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2739 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
erikjaf85fc42012-07-03 16:10:44 -07002740endif # OPENJDK_TARGET_OS windows
erikje78df742012-06-07 20:40:50 -07002741
erikjaf85fc42012-07-03 16:10:44 -07002742ifeq ($(OPENJDK_TARGET_OS), linux)
erikje78df742012-06-07 20:40:50 -07002743 EXTRA_SOUND_JNI_LIBS += jsoundalsa
2744 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
erikjaf85fc42012-07-03 16:10:44 -07002745endif # OPENJDK_TARGET_OS linux
erikje78df742012-06-07 20:40:50 -07002746
erikjaf85fc42012-07-03 16:10:44 -07002747ifeq ($(OPENJDK_TARGET_OS), macosx)
2748 LIBJSOUND_LANG:=C++
erikje78df742012-06-07 20:40:50 -07002749 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
2750 -DUSE_PORTS=TRUE \
2751 -DUSE_DAUDIO=TRUE \
2752 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2753 -DUSE_PLATFORM_MIDI_IN=TRUE
2754 LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
2755 LIBJSOUND_SRC_FILES += \
2756 PLATFORM_API_MacOSX_Utils.cpp \
2757 PLATFORM_API_MacOSX_PCM.cpp \
2758 PLATFORM_API_MacOSX_Ports.cpp \
2759 PLATFORM_API_MacOSX_MidiIn.c \
2760 PLATFORM_API_MacOSX_MidiOut.c \
2761 PLATFORM_API_MacOSX_MidiUtils.c
2762 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2763 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2764 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002765endif # OPENJDK_TARGET_OS macosx
erikje78df742012-06-07 20:40:50 -07002766
erikjaf85fc42012-07-03 16:10:44 -07002767ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002768 LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
2769 -DUSE_PORTS=TRUE \
2770 -DUSE_DAUDIO=TRUE
2771 LIBJSOUND_SRC_FILES += \
2772 PLATFORM_API_SolarisOS_Utils.c \
2773 PLATFORM_API_SolarisOS_Ports.c \
2774 PLATFORM_API_SolarisOS_PCM.c
2775 LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
2776 LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
2777 LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
erikjaf85fc42012-07-03 16:10:44 -07002778endif # OPENJDK_TARGET_OS solaris
erikje78df742012-06-07 20:40:50 -07002779
2780
2781ifeq ($(JVM_VARIANT_ZERO), true)
2782 LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
2783else
2784 ifeq ($(ARCH), i586)
2785 LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
2786 endif # ARCH i586
2787
2788 ifeq ($(ARCH), sparc)
2789 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
2790 endif # ARCH sparc
2791
2792 ifeq ($(ARCH), sparcv9)
2793 LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
2794 endif # ARCH sparcv9
2795
2796 ifeq ($(ARCH), amd64)
2797 LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
2798 endif # ARCH amd64
2799
2800 ifeq ($(ARCH), arm)
2801 LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
2802 endif # ARCH arm
2803
2804 ifeq ($(ARCH), ppc)
2805 LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
2806 endif # ARCH ppc
2807endif
2808
2809LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
2810
2811$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND,\
erikjaf85fc42012-07-03 16:10:44 -07002812 LIBRARY:=jsound,\
2813 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002814 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002815 INCLUDE_FILES:=$(LIBJSOUND_SRC_FILES),\
erikje78df742012-06-07 20:40:50 -07002816 LANG:=$(LIBJSOUND_LANG),\
erikjaf85fc42012-07-03 16:10:44 -07002817 OPTIMIZATION:=LOW, \
2818 CFLAGS:=$(CFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2819 CXXFLAGS:=$(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
2820 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002821 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2822 $(call SET_SHARED_LIBRARY_ORIGIN),\
erikjaf85fc42012-07-03 16:10:44 -07002823 LDFLAGS_windows:=$(WIN_JAVA_LIB) advapi32.lib winmm.lib,\
erikje78df742012-06-07 20:40:50 -07002824 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX),\
2825 LDFLAGS_SUFFIX_solaris:=-lc ,\
erikjaf85fc42012-07-03 16:10:44 -07002826 LDFLAGS_SUFFIX_macosx:=-framework CoreAudio -framework CoreFoundation \
erikje78df742012-06-07 20:40:50 -07002827 -framework CoreServices -framework AudioUnit $(LIBCXX) \
2828 -framework CoreMIDI -framework AudioToolbox ,\
erikjaf85fc42012-07-03 16:10:44 -07002829 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsound))
erikje78df742012-06-07 20:40:50 -07002830
erikjaf85fc42012-07-03 16:10:44 -07002831$(BUILD_LIBJSOUND) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002832
erikjaf85fc42012-07-03 16:10:44 -07002833BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
erikje78df742012-06-07 20:40:50 -07002834
2835##########################################################################################
2836
2837ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)),)
2838
2839$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA,\
erikjaf85fc42012-07-03 16:10:44 -07002840 LIBRARY:=jsoundalsa,\
2841 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002842 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002843 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
erikje78df742012-06-07 20:40:50 -07002844 $(LIBJSOUND_DAUDIOFILES) \
2845 PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
2846 PLATFORM_API_LinuxOS_ALSA_PCM.c \
2847 PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
2848 PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
2849 PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
2850 PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
2851 PLATFORM_API_LinuxOS_ALSA_Ports.c,\
erikjaf85fc42012-07-03 16:10:44 -07002852 LANG:=C,\
2853 OPTIMIZATION:=LOW, \
2854 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002855 $(LIBJSOUND_CFLAGS) \
2856 -DUSE_DAUDIO=TRUE \
2857 -DUSE_PORTS=TRUE \
2858 -DUSE_PLATFORM_MIDI_OUT=TRUE \
2859 -DUSE_PLATFORM_MIDI_IN=TRUE, \
erikjaf85fc42012-07-03 16:10:44 -07002860 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002861 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2862 $(call SET_SHARED_LIBRARY_ORIGIN),\
2863 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) -lasound,\
erikjaf85fc42012-07-03 16:10:44 -07002864 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundalsa))
erikje78df742012-06-07 20:40:50 -07002865
erikjaf85fc42012-07-03 16:10:44 -07002866$(BUILD_LIBJSOUNDALSA) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002867
erikjaf85fc42012-07-03 16:10:44 -07002868BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
erikje78df742012-06-07 20:40:50 -07002869
2870endif
2871
2872##########################################################################################
2873
2874ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)),)
2875
2876$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS,\
erikjaf85fc42012-07-03 16:10:44 -07002877 LIBRARY:=jsoundds,\
2878 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002879 SRC:=$(LIBJSOUND_SRC_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07002880 INCLUDE_FILES:=Utilities.c $(LIBJSOUND_DAUDIOFILES) \
erikje78df742012-06-07 20:40:50 -07002881 PLATFORM_API_WinOS_DirectSound.cpp, \
erikjaf85fc42012-07-03 16:10:44 -07002882 LANG:=C++,\
2883 OPTIMIZATION:=LOW, \
2884 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002885 $(LIBJSOUND_CFLAGS) \
2886 -DUSE_DAUDIO=TRUE, \
2887 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2888 $(call SET_SHARED_LIBRARY_ORIGIN),\
2889 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib,\
erikjaf85fc42012-07-03 16:10:44 -07002890 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjsoundds))
erikje78df742012-06-07 20:40:50 -07002891
erikjaf85fc42012-07-03 16:10:44 -07002892$(BUILD_LIBJSOUNDDS) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002893
erikjaf85fc42012-07-03 16:10:44 -07002894BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
erikje78df742012-06-07 20:40:50 -07002895
2896endif
2897
2898##########################################################################################
2899
erikjaf85fc42012-07-03 16:10:44 -07002900ifeq ($(OPENJDK_TARGET_OS), solaris)
erikje78df742012-06-07 20:40:50 -07002901ifndef OPENJDK
2902
2903$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO,\
erikjaf85fc42012-07-03 16:10:44 -07002904 LIBRARY:=j2ucrypto,\
2905 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002906 SRC:=$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto,\
erikjaf85fc42012-07-03 16:10:44 -07002907 LANG:=C,\
2908 OPTIMIZATION:=LOW, \
2909 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002910 -I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto ,\
erikjaf85fc42012-07-03 16:10:44 -07002911 MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
erikje78df742012-06-07 20:40:50 -07002912 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2913 $(call SET_SHARED_LIBRARY_ORIGIN), \
2914 LDFLAGS_SUFFIX:=$(LIBDL),\
erikjaf85fc42012-07-03 16:10:44 -07002915 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libj2ucrypto))
erikje78df742012-06-07 20:40:50 -07002916
erikjaf85fc42012-07-03 16:10:44 -07002917$(BUILD_LIBJ2UCRYPTO) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07002918
erikjaf85fc42012-07-03 16:10:44 -07002919BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
erikje78df742012-06-07 20:40:50 -07002920
2921endif
2922endif
2923
2924##########################################################################################
2925
erikjaf85fc42012-07-03 16:10:44 -07002926ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002927
erikjaf85fc42012-07-03 16:10:44 -07002928LIBAPPLESCRIPTENGINE_FILES:=\
erikje78df742012-06-07 20:40:50 -07002929 AppleScriptEngine.m \
2930 AppleScriptExecutionContext.m \
2931 AS_NS_ConversionUtils.m \
2932 NS_Java_ConversionUtils.m
2933
2934$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE,\
erikjaf85fc42012-07-03 16:10:44 -07002935 LIBRARY:=AppleScriptEngine,\
2936 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002937 SRC:=$(JDK_TOPDIR)/src/macosx/native/apple/applescript,\
erikjaf85fc42012-07-03 16:10:44 -07002938 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07002939 INCLUDE_FILES:=$(LIBAPPLESCRIPTENGINE_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07002940 OPTIMIZATION:=LOW, \
2941 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002942 -I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
2943 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2944 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
2945 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2946 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07002947 LDFLAGS_SUFFIX:=$(LDFLAGS_JDKLIB_SUFFIX) \
erikje78df742012-06-07 20:40:50 -07002948 -framework Cocoa \
2949 -framework Carbon \
2950 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2951 -framework JavaNativeFoundation, \
erikjaf85fc42012-07-03 16:10:44 -07002952 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libAppleScriptEngine))
erikje78df742012-06-07 20:40:50 -07002953
erikjaf85fc42012-07-03 16:10:44 -07002954$(BUILD_LIBAPPLESCRIPTENGINE) : $(BUILD_LIBJAVA)
2955
2956BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
erikje78df742012-06-07 20:40:50 -07002957
2958endif
2959
2960##########################################################################################
2961
erikjaf85fc42012-07-03 16:10:44 -07002962ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07002963
erikjaf85fc42012-07-03 16:10:44 -07002964LIBOSXAPP_FILES:=\
erikje78df742012-06-07 20:40:50 -07002965 NSApplicationAWT.m \
2966 QueuingApplicationDelegate.m \
2967 PropertiesUtilities.m \
2968 ThreadUtilities.m
2969
2970$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP,\
erikjaf85fc42012-07-03 16:10:44 -07002971 LIBRARY:=osxapp,\
2972 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07002973 SRC:=$(JDK_TOPDIR)/src/macosx/native/sun/osxapp,\
erikjaf85fc42012-07-03 16:10:44 -07002974 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07002975 INCLUDE_FILES:=$(LIBOSXAPP_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07002976 OPTIMIZATION:=LOW, \
2977 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07002978 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
2979 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2980 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
2981 LDFLAGS:=$(LDFLAGS_JDKLIB)\
2982 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07002983 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07002984 -framework Accelerate \
2985 -framework ApplicationServices \
2986 -framework AudioToolbox \
2987 -framework Carbon \
2988 -framework Cocoa \
2989 -framework Security \
2990 -framework ExceptionHandling \
2991 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
2992 -framework JavaNativeFoundation \
2993 -framework JavaRuntimeSupport \
2994 -framework OpenGL \
2995 -framework IOSurface \
2996 -framework QuartzCore, \
erikjaf85fc42012-07-03 16:10:44 -07002997 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxapp))
erikje78df742012-06-07 20:40:50 -07002998
erikjaf85fc42012-07-03 16:10:44 -07002999BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003000
3001endif
3002
3003##########################################################################################
3004
erikjaf85fc42012-07-03 16:10:44 -07003005ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003006
erikjaf85fc42012-07-03 16:10:44 -07003007LIBOSX_FILES:=\
erikje78df742012-06-07 20:40:50 -07003008 Dispatch.m \
3009 CFileManager.m \
3010 KeystoreImpl.m \
3011 JavaAppLauncher.m \
3012 MacOSXPreferencesFile.m \
3013 SCDynamicStoreConfig.m
3014
erikjaf85fc42012-07-03 16:10:44 -07003015LIBOSX_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003016 $(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
3017 $(JDK_TOPDIR)/src/macosx/native/java/util \
3018 $(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
3019 $(JDK_TOPDIR)/src/macosx/native/apple/security \
3020 $(JDK_TOPDIR)/src/macosx/native/apple/launcher
3021
3022$(eval $(call SetupNativeCompilation,BUILD_LIBOSX,\
erikjaf85fc42012-07-03 16:10:44 -07003023 LIBRARY:=osx,\
3024 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003025 SRC:=$(LIBOSX_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003026 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003027 INCLUDE_FILES:=$(LIBOSX_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003028 OPTIMIZATION:=LOW, \
3029 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003030 $(foreach dir,$(LIBOSX_DIRS),-I$(dir)) \
3031 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3032 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3033 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3034 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3035 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003036 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003037 -losxapp \
3038 -framework Cocoa \
3039 -framework ApplicationServices \
3040 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3041 -framework JavaNativeFoundation \
3042 -framework JavaRuntimeSupport \
3043 -framework Security \
3044 -framework SystemConfiguration \
3045 $(LDFLAGS_JDKLIB_SUFFIX), \
erikjaf85fc42012-07-03 16:10:44 -07003046 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosx))
erikje78df742012-06-07 20:40:50 -07003047
erikjaf85fc42012-07-03 16:10:44 -07003048BUILD_LIBRARIES += $(BUILD_LIBOSX)
erikje78df742012-06-07 20:40:50 -07003049
erikjaf85fc42012-07-03 16:10:44 -07003050$(BUILD_LIBOSX) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003051
erikjaf85fc42012-07-03 16:10:44 -07003052$(BUILD_LIBOSX) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003053
3054endif
3055
3056##########################################################################################
3057
erikjaf85fc42012-07-03 16:10:44 -07003058ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003059
erikjaf85fc42012-07-03 16:10:44 -07003060LIBAWT_LWAWT_FILES:=\
erikje78df742012-06-07 20:40:50 -07003061 awt.m \
3062 ApplicationDelegate.m \
3063 CFRetainedResource.m \
3064 CGLGraphicsConfig.m \
3065 CGLSurfaceData.m \
3066 CGLLayer.m \
3067 CGraphicsConfig.m \
3068 CGraphicsDevice.m \
3069 CGraphicsEnv.m \
3070 CCharToGlyphMapper.m \
3071 CSystemColors.m \
3072 AWTFont.m \
3073 CGGlyphOutlines.m \
3074 CGGlyphImages.m \
3075 CoreTextSupport.m \
3076 AWTStrike.m \
3077 InitIDs.m \
3078 AWTEvent.m \
3079 AWTView.m \
3080 AWTWindow.m \
3081 AWTSurfaceLayers.m \
3082 CCursorManager.m \
3083 CClipboard.m \
3084 CDataTransferer.m \
3085 CDragSource.m \
3086 CDragSourceContextPeer.m \
3087 CDropTarget.m \
3088 CDropTargetContextPeer.m \
3089 CInputMethod.m \
3090 CDesktopPeer.m \
3091 OSVersion.m \
3092 DnDUtilities.m \
3093 CFileDialog.m \
3094 CImage.m \
3095 CMenu.m \
3096 CMenuBar.m \
3097 CMenuComponent.m \
3098 CMenuItem.m \
3099 CPopupMenu.m \
3100 CRobot.m \
3101 CTrayIcon.m \
3102 CWrapper.m \
3103 JavaAccessibilityAction.m \
3104 JavaAccessibilityUtilities.m \
3105 JavaComponentAccessibility.m \
3106 JavaTextAccessibility.m \
3107 LWCToolkit.m \
3108 GeomUtilities.m \
3109 CPrinterJob.m \
3110 PrintModel.m \
3111 PrinterSurfaceData.m \
3112 PrinterView.m \
3113 QuartzSurfaceData.m \
3114 QuartzRenderer.m \
3115 CTextPipe.m \
3116 ImageSurfaceData.m \
3117 awt_DrawingSurface.m \
3118 \
3119 OGLBlitLoops.c \
3120 OGLBufImgOps.c \
3121 OGLContext.c \
3122 OGLFuncs.c \
3123 OGLMaskBlit.c \
3124 OGLMaskFill.c \
3125 OGLPaints.c \
3126 OGLRenderQueue.c \
3127 OGLRenderer.c \
3128 OGLSurfaceData.c \
3129 OGLTextRenderer.c \
3130 OGLVertexCache.c \
3131 AccelGlyphCache.c \
3132 CUPSfuncs.c
3133
3134
erikjaf85fc42012-07-03 16:10:44 -07003135LIBAWT_LWAWT_DIRS:=\
erikje78df742012-06-07 20:40:50 -07003136 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
3137 $(JDK_TOPDIR)/src/macosx/native/sun/font \
3138 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
3139 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
3140 $(JDK_TOPDIR)/src/share/native/sun/font \
3141 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
3142
3143$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT,\
erikjaf85fc42012-07-03 16:10:44 -07003144 LIBRARY:=awt_lwawt,\
3145 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003146 SRC:=$(LIBAWT_LWAWT_DIRS),\
erikjaf85fc42012-07-03 16:10:44 -07003147 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003148 INCLUDE_FILES:=$(LIBAWT_LWAWT_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003149 OPTIMIZATION:=LOW, \
3150 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003151 $(foreach dir,$(LIBAWT_LWAWT_DIRS),-I$(dir)) \
3152 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3153 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
3154 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
3155 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
3156 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
3157 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
3158 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
3159 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
3160 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3161 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks,\
3162 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3163 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003164 LDFLAGS_SUFFIX_macosx:=\
erikje78df742012-06-07 20:40:50 -07003165 -lawt -lmlib_image -losxapp $(LDFLAGS_JDKLIB_SUFFIX) $(LIBM) \
3166 -framework Accelerate \
3167 -framework ApplicationServices \
3168 -framework AudioToolbox \
3169 -framework Carbon \
3170 -framework Cocoa \
3171 -framework Security \
3172 -framework ExceptionHandling \
3173 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3174 -framework JavaNativeFoundation \
3175 -framework JavaRuntimeSupport \
3176 -framework OpenGL \
3177 -framework QuartzCore ,\
erikjaf85fc42012-07-03 16:10:44 -07003178 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libawt_lwawt))
erikje78df742012-06-07 20:40:50 -07003179
erikjaf85fc42012-07-03 16:10:44 -07003180BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003181
erikjaf85fc42012-07-03 16:10:44 -07003182$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003183
erikjaf85fc42012-07-03 16:10:44 -07003184$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBMLIB_IMAGE)
erikje78df742012-06-07 20:40:50 -07003185
erikjaf85fc42012-07-03 16:10:44 -07003186$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003187
erikjaf85fc42012-07-03 16:10:44 -07003188$(BUILD_LIBAWT_LWAWT) : $(BUILD_LIBJAVA)
erikje78df742012-06-07 20:40:50 -07003189
3190endif
3191
3192##########################################################################################
3193
erikjaf85fc42012-07-03 16:10:44 -07003194ifeq ($(OPENJDK_TARGET_OS), macosx)
erikje78df742012-06-07 20:40:50 -07003195
erikjaf85fc42012-07-03 16:10:44 -07003196LIBOSXUI_FILES:=\
erikje78df742012-06-07 20:40:50 -07003197 AquaFileView.m \
3198 AquaLookAndFeel.m \
3199 AquaNativeResources.m \
3200 JRSUIConstantSync.m \
3201 JRSUIController.m \
3202 JRSUIFocus.m \
3203 ScreenPopupFactory.m \
3204 ScreenMenu.m
3205
3206$(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI,\
erikjaf85fc42012-07-03 16:10:44 -07003207 LIBRARY:=osxui,\
3208 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
erikje78df742012-06-07 20:40:50 -07003209 SRC:=$(JDK_TOPDIR)/src/macosx/native/com/apple/laf,\
erikjaf85fc42012-07-03 16:10:44 -07003210 LANG:=C,\
erikje78df742012-06-07 20:40:50 -07003211 INCLUDE_FILES:=$(LIBOSXUI_FILES),\
erikjaf85fc42012-07-03 16:10:44 -07003212 OPTIMIZATION:=LOW, \
3213 CFLAGS:=$(CFLAGS_JDKLIB) \
erikje78df742012-06-07 20:40:50 -07003214 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
3215 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
3216 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
3217 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
3218 LDFLAGS:=$(LDFLAGS_JDKLIB)\
3219 $(call SET_SHARED_LIBRARY_ORIGIN), \
erikjaf85fc42012-07-03 16:10:44 -07003220 LDFLAGS_SUFFIX_macosx:=\
3221 $(LDFLAGS_JDKLIB_SUFFIX) \
erikje78df742012-06-07 20:40:50 -07003222 -lawt -losxapp -lawt_lwawt \
3223 -framework Cocoa \
3224 -framework Carbon \
3225 -framework ApplicationServices \
3226 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3227 -framework JavaNativeFoundation \
3228 -framework JavaRuntimeSupport, \
erikjaf85fc42012-07-03 16:10:44 -07003229 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libosxui))
erikje78df742012-06-07 20:40:50 -07003230
erikjaf85fc42012-07-03 16:10:44 -07003231BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
erikje78df742012-06-07 20:40:50 -07003232
erikjaf85fc42012-07-03 16:10:44 -07003233$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT)
erikje78df742012-06-07 20:40:50 -07003234
erikjaf85fc42012-07-03 16:10:44 -07003235$(BUILD_LIBOSXUI) : $(BUILD_LIBOSXAPP)
erikje78df742012-06-07 20:40:50 -07003236
erikjaf85fc42012-07-03 16:10:44 -07003237$(BUILD_LIBOSXUI) : $(BUILD_LIBAWT_LWAWT)
erikje78df742012-06-07 20:40:50 -07003238
erikjaf85fc42012-07-03 16:10:44 -07003239#$(BUILD_LIBOSXUI) : $(BUILD_LIBJAVA)
3240
3241endif
3242
3243##########################################################################################
3244
3245ifeq ($(OPENJDK_TARGET_OS), macosx)
3246
3247$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC,\
3248 LIBRARY:=JObjC,\
3249 OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
3250 SRC:=$(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
3251 $(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native ,\
3252 LANG:=C,\
3253 OPTIMIZATION:=LOW, \
3254 CFLAGS:=-fpascal-strings \
3255 -fobjc-gc \
3256 -gdwarf-2 \
3257 $(CFLAGS_JDKLIB) \
3258 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3259 , \
3260 LDFLAGS:=-fpascal-strings \
3261 -fobjc-gc \
3262 -gdwarf-2 \
3263 $(LDFLAGS_JDKLIB)\
3264 $(call SET_SHARED_LIBRARY_ORIGIN), \
3265 LDFLAGS_SUFFIX:=-framework Foundation -framework JavaVM \
3266 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
3267 -framework JavaNativeFoundation \
3268 -lffi, \
3269 OBJECT_DIR:=$(JDK_OUTPUTDIR)/objs/libjobjc))
3270
3271BUILD_LIBRARIES += $(BUILD_LIBJOBJC)
erikje78df742012-06-07 20:40:50 -07003272
3273endif
3274
3275##########################################################################################
3276
ohair92de5662012-04-10 08:22:03 -07003277all: $(COPY_FILES) $(BUILD_LIBRARIES)
3278
3279.PHONY: all