Awt2dLibraries.gmk revision 8845:4be14673b9bf
1253732Speter#
2253732Speter# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
3253732Speter# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4253732Speter#
5253732Speter# This code is free software; you can redistribute it and/or modify it
6253732Speter# under the terms of the GNU General Public License version 2 only, as
7253732Speter# published by the Free Software Foundation.  Oracle designates this
8253732Speter# particular file as subject to the "Classpath" exception as provided
9253732Speter# by Oracle in the LICENSE file that accompanied this code.
10253732Speter#
11253732Speter# This code is distributed in the hope that it will be useful, but WITHOUT
12253732Speter# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13253732Speter# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14253732Speter# version 2 for more details (a copy is included in the LICENSE file that
15253732Speter# accompanied this code).
16253732Speter#
17253732Speter# You should have received a copy of the GNU General Public License version
18253732Speter# 2 along with this work; if not, write to the Free Software Foundation,
19253732Speter# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20253732Speter#
21253732Speter# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22253732Speter# or visit www.oracle.com if you need additional information or have any
23253732Speter# questions.
24253732Speter#
25253732Speter
26253732Speter# Openwin is defined on Solaris.
27253732SpeterOPENWIN_LIB := $(OPENWIN_HOME)/lib
28253732Speter
29253732SpeterWIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib
30253732Speter
31253732Speter##########################################################################################
32253732Speter
33253732SpeterBUILD_LIBMLIB_SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib
34253732SpeterBUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
35253732Speter    -I$(BUILD_LIBMLIB_SRC) \
36253732Speter    -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib
37253732Speter
38253732SpeterBUILD_LIBMLIB_LDLIBS :=
39253732SpeterBUILD_LIBMLIB_IMAGE_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libmlib_image/mapfile-vers
40253732Speter
41253732SpeterBUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
42253732Speter
43253732Speterifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
44253732Speter  BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
45253732Speterendif
46253732Speter
47253732Speterifneq ($(OPENJDK_TARGET_OS), windows)
48253732Speter  BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
49253732Speterendif
50253732Speter
51253732Speter$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE, \
52253732Speter    LIBRARY := mlib_image, \
53253732Speter    OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
54253732Speter    SRC := $(BUILD_LIBMLIB_SRC), \
55253732Speter    EXCLUDE_FILES := awt_ImagingLib.c mlib_c_ImageBlendTable.c, \
56253732Speter    LANG := C, \
57253732Speter    OPTIMIZATION := HIGHEST, \
58253732Speter    CFLAGS := $(CFLAGS_JDKLIB) \
59253732Speter        $(BUILD_LIBMLIB_CFLAGS), \
60253732Speter    MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
61253732Speter    LDFLAGS := $(LDFLAGS_JDKLIB) \
62253732Speter        $(call SET_SHARED_LIBRARY_ORIGIN), \
63253732Speter    LDFLAGS_SUFFIX := $(BUILD_LIBMLIB_LDLIBS) \
64253732Speter        $(LDFLAGS_JDKLIB_SUFFIX), \
65253732Speter    LDFLAGS_SUFFIX_solaris := -lc, \
66253732Speter    VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
67253732Speter    RC_FLAGS := $(RC_FLAGS) \
68253732Speter        -D "JDK_FNAME=mlib_image.dll" \
69253732Speter        -D "JDK_INTERNAL_NAME=mlib_image" \
70253732Speter        -D "JDK_FTYPE=0x2L", \
71253732Speter    OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmlib_image, \
72253732Speter    DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
73253732Speter
74253732Speter$(BUILD_LIBMLIB_IMAGE): $(BUILD_LIBJAVA)
75253732Speter
76253732SpeterBUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
77253732Speter
78253732Speter##########################################################################################
79253732Speter
80253732Speterifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
81253732Speter
82253732Speter  BUILD_LIBMLIB_IMAGE_V_FILES := \
83253732Speter      mlib_v_ImageLookUp.c \
84253732Speter      mlib_ImageCreate.c \
85253732Speter      mlib_ImageAffine.c \
86253732Speter      mlib_ImageConvMxN.c \
87253732Speter      mlib_ImageConvKernelConvert.c \
88253732Speter      mlib_sys.c \
89253732Speter      mlib_ImageLookUp_64.c \
90253732Speter      mlib_ImageLookUp_Bit.c \
91253732Speter      mlib_ImageColorTrue2Index.c \
92253732Speter      mlib_c_ImageThresh1_U8.c \
93253732Speter      mlib_v_ImageLookUpS16S16Func.c \
94253732Speter      mlib_v_ImageLookUpS16S32Func.c \
95253732Speter      mlib_v_ImageLookUpS16U16Func.c \
96253732Speter      mlib_v_ImageLookUpS16U8Func.c \
97253732Speter      mlib_v_ImageLookUpS32S16Func.c \
98253732Speter      mlib_v_ImageLookUpS32S32Func.c \
99253732Speter      mlib_v_ImageLookUpS32U16Func.c \
100253732Speter      mlib_v_ImageLookUpS32U8Func.c \
101253732Speter      mlib_v_ImageLookUpSIS16S16Func.c \
102253732Speter      mlib_v_ImageLookUpSIS16S32Func.c \
103253732Speter      mlib_v_ImageLookUpSIS16U16Func.c \
104253732Speter      mlib_v_ImageLookUpSIS16U8Func.c \
105253732Speter      mlib_v_ImageLookUpSIS32S16Func.c \
106253732Speter      mlib_v_ImageLookUpSIS32S32Func.c \
107253732Speter      mlib_v_ImageLookUpSIS32U16Func.c \
108253732Speter      mlib_v_ImageLookUpSIS32U8Func.c \
109253732Speter      mlib_v_ImageLookUpSIU16S16Func.c \
110253732Speter      mlib_v_ImageLookUpSIU16S32Func.c \
111253732Speter      mlib_v_ImageLookUpSIU16U16Func.c \
112253732Speter      mlib_v_ImageLookUpSIU16U8Func.c \
113253732Speter      mlib_v_ImageLookUpSIU8S16Func.c \
114253732Speter      mlib_v_ImageLookUpSIU8S32Func.c \
115253732Speter      mlib_v_ImageLookUpSIU8U16Func.c \
116253732Speter      mlib_v_ImageLookUpSIU8U8Func.c \
117253732Speter      mlib_v_ImageLookUpU16S16Func.c \
118253732Speter      mlib_v_ImageLookUpU16S32Func.c \
119253732Speter      mlib_v_ImageLookUpU16U16Func.c \
120253732Speter      mlib_v_ImageLookUpU16U8Func.c \
121253732Speter      mlib_v_ImageLookUpU8S16Func.c \
122253732Speter      mlib_v_ImageLookUpU8S32Func.c \
123253732Speter      mlib_v_ImageLookUpU8U16Func.c \
124253732Speter      mlib_v_ImageLookUpU8U8Func.c \
125253732Speter      mlib_v_ImageAffineIndex_BC.c \
126253732Speter      mlib_v_ImageAffine_BC.c \
127253732Speter      mlib_v_ImageAffine_BC_S16.c \
128253732Speter      mlib_v_ImageAffine_BC_U16.c \
129253732Speter      mlib_v_ImageAffine_BL.c \
130253732Speter      mlib_v_ImageAffine_BL_S16.c \
131253732Speter      mlib_v_ImageAffine_BL_U16.c \
132253732Speter      mlib_v_ImageAffine_NN.c \
133253732Speter      mlib_v_ImageFilters.c \
134253732Speter      mlib_ImageAffineEdge.c \
135253732Speter      mlib_ImageAffine_BC_D64.c \
136253732Speter      mlib_ImageAffine_BC_F32.c \
137253732Speter      mlib_ImageAffine_BC_S32.c \
138253732Speter      mlib_ImageAffine_BL_D64.c \
139253732Speter      mlib_ImageAffine_BL_F32.c \
140253732Speter      mlib_ImageAffine_BL_S32.c \
141253732Speter      mlib_ImageAffine_NN.c \
142253732Speter      mlib_ImageAffine_NN_Bit.c \
143253732Speter      mlib_ImageFilters.c \
144253732Speter      mlib_ImageScanPoly.c \
145253732Speter      mlib_ImageConv_8nw.c \
146253732Speter      mlib_ImageConv_8ext.c \
147253732Speter      mlib_ImageConv_16nw.c \
148253732Speter      mlib_ImageConv_16ext.c \
149253732Speter      mlib_ImageConv_u16nw.c \
150253732Speter      mlib_ImageConv_u16ext.c \
151253732Speter      mlib_ImageConv_32nw.c \
152253732Speter      mlib_ImageConv_F32nw.c \
153253732Speter      mlib_ImageConvMxN_Fp.c \
154253732Speter      mlib_ImageConvMxN_ext.c \
155253732Speter      mlib_ImageConv_D64nw.c \
156253732Speter      mlib_ImageClipping.c \
157253732Speter      mlib_ImageConvCopyEdge_Bit.c \
158253732Speter      mlib_ImageConvClearEdge_Bit.c \
159253732Speter      mlib_ImageConv2x2_f.c \
160253732Speter      mlib_ImageConvClearEdge_Fp.c \
161253732Speter      mlib_v_ImageConvMxN_8.c \
162253732Speter      mlib_v_ImageConvClearEdge.c \
163253732Speter      mlib_v_ImageConvCopyEdge.c \
164253732Speter      mlib_v_ImageConvMxN_8ext.c \
165253732Speter      mlib_v_ImageConvVersion.c \
166253732Speter      mlib_v_ImageConv_8nw.c \
167253732Speter      mlib_ImageConvCopyEdge_Fp.c \
168253732Speter      mlib_v_ImageChannelInsert_1.c \
169253732Speter      mlib_v_ImageChannelExtract_43.c \
170253732Speter      mlib_v_ImageChannelExtract_1.c \
171253732Speter      mlib_ImageCopy_Bit.c \
172253732Speter      mlib_v_ImageCopy_f.c \
173253732Speter      mlib_ImageUtils.c \
174253732Speter      mlib_ImageDivTables.c
175253732Speter
176253732Speter  BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
177253732Speter
178253732Speter  $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V, \
179253732Speter      LIBRARY := mlib_image_v, \
180253732Speter      OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
181253732Speter      SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
182253732Speter          $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib, \
183253732Speter      LANG := C, \
184253732Speter      INCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_FILES), \
185253732Speter      OPTIMIZATION := HIGHEST, \
186253732Speter      CFLAGS := -xarch=sparcvis \
187253732Speter          $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il \
188253732Speter          $(BUILD_LIBMLIB_V_CFLAGS) \
189253732Speter          $(CFLAGS_JDKLIB), \
190253732Speter      MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
191253732Speter      LDFLAGS := $(LDFLAGS_JDKLIB) \
192253732Speter          $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
193253732Speter          $(call SET_SHARED_LIBRARY_ORIGIN), \
194253732Speter      LDFLAGS_SUFFIX_solaris := -lc, \
195253732Speter      OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmlib_image_v, \
196253732Speter      DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
197253732Speter
198253732Speter  $(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
199253732Speter
200253732Speter  BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
201253732Speter
202253732Speterendif
203253732Speter
204253732Speter##########################################################################################
205253732Speter
206253732SpeterLIBAWT_DIRS := \
207253732Speter    $(JDK_TOPDIR)/src/share/native/sun/awt \
208253732Speter    $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
209253732Speter    $(JDK_TOPDIR)/src/share/native/sun/awt/image \
210253732Speter    $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
211253732Speter    $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
212253732Speter    $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
213253732Speter    $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
214253732Speter    $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
215253732Speter    $(JDK_TOPDIR)/src/share/native/sun/java2d \
216253732Speter    $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
217253732Speter    $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
218253732Speter    $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
219253732Speter    $(JDK_TOPDIR)/src/share/native/sun/awt/image \
220253732Speter    $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
221253732Speter    $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
222253732Speter    $(JDK_TOPDIR)/src/share/native/sun/font
223253732Speter
224253732Speterifeq ($(OPENJDK_TARGET_OS), windows)
225253732Speter  LIBAWT_DIRS += \
226253732Speter      $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
227253732Speter      $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
228253732Speter      $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d
229253732Speterelse ifneq ($(OPENJDK_TARGET_OS), macosx)
230253732Speter  LIBAWT_DIRS += \
231253732Speter      $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
232253732Speterendif
233253732Speter
234253732SpeterLIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
235253732Speter    $(X_CFLAGS) \
236253732Speter    $(foreach dir, $(LIBAWT_DIRS), -I$(dir))
237253732Speter
238253732SpeterLIBAWT_FILES := \
239253732Speter    gifdecoder.c \
240253732Speter    imageInitIDs.c \
241253732Speter    img_globals.c \
242253732Speter    SurfaceData.c \
243253732Speter    Region.c \
244253732Speter    BufImgSurfaceData.c \
245253732Speter    Disposer.c \
246253732Speter    Trace.c \
247253732Speter    GraphicsPrimitiveMgr.c \
248253732Speter    Blit.c \
249253732Speter    BlitBg.c \
250253732Speter    ScaledBlit.c \
251253732Speter    FillRect.c \
252253732Speter    FillSpans.c \
253253732Speter    FillParallelogram.c \
254253732Speter    DrawParallelogram.c \
255253732Speter    DrawLine.c \
256253732Speter    DrawRect.c \
257253732Speter    DrawPolygons.c \
258253732Speter    DrawPath.c \
259253732Speter    FillPath.c \
260253732Speter    ProcessPath.c \
261253732Speter    MaskBlit.c \
262253732Speter    MaskFill.c \
263253732Speter    TransformHelper.c \
264253732Speter    AlphaMath.c \
265253732Speter    AlphaMacros.c \
266253732Speter    AnyByte.c \
267253732Speter    ByteBinary1Bit.c \
268253732Speter    ByteBinary2Bit.c \
269253732Speter    ByteBinary4Bit.c \
270253732Speter    ByteIndexed.c \
271253732Speter    ByteGray.c \
272253732Speter    Index8Gray.c \
273253732Speter    Index12Gray.c \
274253732Speter    AnyShort.c \
275253732Speter    Ushort555Rgb.c \
276253732Speter    Ushort565Rgb.c \
277253732Speter    Ushort4444Argb.c \
278253732Speter    Ushort555Rgbx.c \
279253732Speter    UshortGray.c \
280253732Speter    UshortIndexed.c \
281253732Speter    Any3Byte.c \
282253732Speter    ThreeByteBgr.c \
283253732Speter    AnyInt.c \
284253732Speter    IntArgb.c \
285253732Speter    IntArgbPre.c \
286253732Speter    IntArgbBm.c \
287253732Speter    IntRgb.c \
288253732Speter    IntBgr.c \
289253732Speter    IntRgbx.c \
290253732Speter    Any4Byte.c \
291253732Speter    FourByteAbgr.c \
292253732Speter    FourByteAbgrPre.c \
293253732Speter    BufferedMaskBlit.c \
294253732Speter    BufferedRenderPipe.c \
295253732Speter    ShapeSpanIterator.c \
296253732Speter    SpanClipRenderer.c \
297253732Speter    awt_ImageRep.c \
298253732Speter    awt_ImagingLib.c \
299253732Speter    awt_Mlib.c \
300253732Speter    awt_parseImage.c \
301253732Speter    DataBufferNative.c \
302253732Speter    dither.c \
303253732Speter    debug_assert.c \
304253732Speter    debug_mem.c \
305253732Speter    debug_trace.c \
306253732Speter    debug_util.c
307253732Speter
308253732Speterifneq (, $(filter $(OPENJDK_TARGET_OS), solaris linux))
309253732Speter  LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
310253732Speterendif
311253732Speter
312253732Speterifeq ($(OPENJDK_TARGET_OS), macosx)
313253732Speter  LIBAWT_FILES += awt_LoadLibrary.c img_colors.c
314253732Speter  LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
315253732Speterendif
316253732Speter
317253732Speterifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
318253732Speter  LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
319253732Speter  LIBAWT_CFLAGS += -xarch=sparcvis
320253732Speter  LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
321253732Speter  LIBAWT_CFLAGS += \
322253732Speter      -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
323253732Speter      -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
324253732Speter      -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
325253732Speter
326253732Speter  LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
327253732Speter      $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
328253732Speter
329253732Speter  LIBAWT_FILES += \
330253732Speter      vis_FuncArray.c \
331253732Speter      java2d_Mlib.c \
332253732Speter      mlib_ImageCreate.c \
333253732Speter      mlib_ImageZoom_NN.c \
334253732Speter      mlib_ImageCopy_Bit.c \
335253732Speter      mlib_sys.c \
336253732Speter      mlib_v_ImageClear.c \
337253732Speter      mlib_v_ImageClear_f.c \
338253732Speter      mlib_v_ImageConstXor.c \
339253732Speter      mlib_v_ImageCopy.c \
340253732Speter      mlib_v_ImageCopy_f.c \
341253732Speter      mlib_v_ImageXor.c \
342253732Speter      mlib_v_ImageZoom_NN_f.c \
343253732Speter      vis_Interp.c \
344253732Speter      vis_AlphaMacros.c \
345253732Speter      vis_AlphaMaskBlit.c \
346253732Speter      vis_AlphaMaskFill.c \
347253732Speter      vis_ByteGray.c \
348253732Speter      vis_ByteGray_FromRgb.c \
349253732Speter      vis_ByteGray_Mask.c \
350253732Speter      vis_ByteIndexed.c \
351253732Speter      vis_DrawLine.c \
352253732Speter      vis_FourByteAbgr.c \
353253732Speter      vis_IntArgb.c \
354253732Speter      vis_IntArgbPre.c \
355253732Speter      vis_IntArgbPre_Mask.c \
356253732Speter      vis_IntBgr.c \
357253732Speter      vis_IntRgb.c \
358253732Speter      vis_IntRgbx.c \
359253732Speter      vis_SrcMaskFill.c \
360253732Speter      vis_SrcOverMaskBlit.c \
361253732Speter      vis_SrcOverMaskFill.c \
362253732Speter      vis_FourByteAbgrPre.c \
363253732Speter      vis_GlyphList.c \
364253732Speter      vis_GlyphListXor.c \
365253732Speter      vis_IntArgbBm.c \
366253732Speter      vis_ThreeByteBgr.c \
367253732Speter      vis_UshortGray.c \
368253732Speter      vis_UshortGray_FromRgb.c \
369253732Speter      vis_XorBlit.c \
370253732Speter      mlib_v_ImageCopy_blk.s
371253732Speter
372253732Speter  ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
373253732Speter    LIBAWT_ASFLAGS = -P -xarch=v9a
374253732Speter  else
375253732Speter    LIBAWT_ASFLAGS = -P -xarch=v8plusa
376253732Speter  endif
377253732Speterelse
378253732Speter  LIBAWT_FILES += MapAccelFunc.c
379253732Speterendif
380253732Speter
381253732Speterifneq ($(OPENJDK_TARGET_OS), solaris)
382253732Speter  LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
383253732Speterendif
384253732Speter
385253732SpeterLIBAWT_LANG := C
386253732Speter
387253732Speterifeq ($(OPENJDK_TARGET_OS), windows)
388253732Speter  LIBAWT_FILES += AccelGlyphCache.c \
389253732Speter      ShaderList.c \
390253732Speter      CmdIDList.cpp \
391253732Speter      Hashtable.cpp \
392253732Speter      GDIHashtable.cpp \
393253732Speter      Devices.cpp \
394253732Speter      ObjectList.cpp \
395253732Speter      GDIBlitLoops.cpp \
396253732Speter      GDIRenderer.cpp \
397253732Speter      GDIWindowSurfaceData.cpp \
398253732Speter      WindowsFlags.cpp \
399253732Speter      WPrinterJob.cpp \
400253732Speter      awt_%.cpp \
401253732Speter      D3DBlitLoops.cpp \
402253732Speter      D3DBufImgOps.cpp \
403253732Speter      D3DContext.cpp \
404253732Speter      D3DGlyphCache.cpp \
405253732Speter      D3DGraphicsDevice.cpp \
406253732Speter      D3DMaskBlit.cpp \
407253732Speter      D3DMaskCache.cpp \
408253732Speter      D3DMaskFill.cpp \
409253732Speter      D3DPipelineManager.cpp \
410253732Speter      D3DPaints.cpp \
411253732Speter      D3DRenderer.cpp \
412253732Speter      D3DRenderQueue.cpp \
413253732Speter      D3DResourceManager.cpp \
414253732Speter      D3DSurfaceData.cpp \
415253732Speter      D3DTextRenderer.cpp \
416253732Speter      D3DVertexCacher.cpp \
417253732Speter      ShellFolder2.cpp \
418253732Speter      ThemeReader.cpp \
419253732Speter      ComCtl32Util.cpp \
420253732Speter      DllUtil.cpp \
421253732Speter      initIDs.cpp \
422253732Speter      MouseInfo.cpp \
423253732Speter      rect.c \
424253732Speter      OGLBlitLoops.c \
425253732Speter      OGLBufImgOps.c \
426253732Speter      OGLContext.c \
427253732Speter      OGLFuncs.c \
428253732Speter      OGLMaskBlit.c \
429253732Speter      OGLMaskFill.c \
430253732Speter      OGLPaints.c \
431253732Speter      OGLRenderQueue.c \
432253732Speter      OGLRenderer.c \
433253732Speter      OGLSurfaceData.c \
434253732Speter      OGLTextRenderer.c \
435253732Speter      OGLVertexCache.c \
436253732Speter      WGLGraphicsConfig.c \
437253732Speter      WGLSurfaceData.c
438253732Speter
439253732Speter  LIBAWT_LANG := C++
440253732Speter  LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
441253732Speter  ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
442253732Speter    LIBAWT_CFLAGS += -DMLIB_OS64BIT
443253732Speter  endif
444253732Speter
445253732Speter  ifdef OPENJDK
446253732Speter    LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/windows/resource/icons"
447253732Speter  else
448253732Speter    LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
449253732Speter  endif
450253732Speter  LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
451253732Speterendif
452253732Speter
453253732Speterifeq ($(MILESTONE), internal)
454253732Speter  LIBAWT_CFLAGS += -DINTERNAL_BUILD
455253732Speterendif
456253732Speter
457253732SpeterLIBAWT_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt/mapfile-vers
458253732Speterifeq ($(OPENJDK_TARGET_OS), linux)
459253732Speter  LIBAWT_MAPFILE :=
460253732Speterendif
461253732Speter
462253732Speter$(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
463253732Speter    LIBRARY := awt, \
464253732Speter    OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
465253732Speter    SRC := $(LIBAWT_DIRS), \
466253732Speter    INCLUDE_FILES := $(LIBAWT_FILES), \
467253732Speter    LANG := $(LIBAWT_LANG), \
468253732Speter    OPTIMIZATION := LOW, \
469253732Speter    CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
470253732Speter    ASFLAGS := $(LIBAWT_ASFLAGS), \
471253732Speter    MAPFILE := $(LIBAWT_MAPFILE), \
472253732Speter    LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
473253732Speter    LDFLAGS_solaris := -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \
474253732Speter    LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \
475253732Speter    LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \
476253732Speter    LDFLAGS_SUFFIX_macosx := -lmlib_image -ljvm $(LIBM) \
477253732Speter        -framework Cocoa \
478253732Speter        -framework OpenGL \
479253732Speter        -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
480253732Speter        -framework JavaNativeFoundation \
481253732Speter        -framework JavaRuntimeSupport \
482253732Speter        -framework ApplicationServices \
483253732Speter        -framework AudioToolbox \
484253732Speter        -ljava, \
485253732Speter    LDFLAGS_SUFFIX_windows := kernel32.lib user32.lib gdi32.lib winspool.lib \
486253732Speter        imm32.lib ole32.lib uuid.lib shell32.lib \
487253732Speter        comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
488253732Speter        delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
489253732Speter        -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
490253732Speter        -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
491253732Speter        -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
492253732Speter        -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
493253732Speter        -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll, \
494253732Speter    VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE), \
495253732Speter    RC_FLAGS := $(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
496253732Speter        -D "JDK_FNAME=awt.dll" \
497253732Speter        -D "JDK_INTERNAL_NAME=awt" \
498253732Speter        -D "JDK_FTYPE=0x2L", \
499253732Speter    OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt, \
500253732Speter    DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
501253732Speter
502253732Speter$(BUILD_LIBAWT): $(BUILD_LIBJAVA)
503253732Speter
504253732Speterifeq ($(OPENJDK_TARGET_OS), macosx)
505253732Speter  $(BUILD_LIBAWT): $(BUILD_LIBMLIB_IMAGE)
506253732Speterendif
507253732Speter
508253732SpeterBUILD_LIBRARIES += $(BUILD_LIBAWT)
509253732Speter
510253732Speter##########################################################################################
511253732Speter
512253732Speterifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
513253732Speter  ifndef BUILD_HEADLESS_ONLY
514253732Speter
515253732Speter    LIBAWT_XAWT_DIRS := \
516253732Speter        $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
517253732Speter        $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
518253732Speter        $(JDK_TOPDIR)/src/share/native/sun/font \
519253732Speter        $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
520253732Speter        $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
521253732Speter        $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
522253732Speter        $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
523253732Speter        $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
524253732Speter        $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
525253732Speter
526253732Speter    LIBAWT_XAWT_CFLAGS := -DXAWT -DXAWT_HACK \
527253732Speter        -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
528253732Speter        $(CUPS_CFLAGS) \
529253732Speter        $(foreach dir, $(LIBAWT_XAWT_DIRS), -I$(dir)) \
530253732Speter        -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
531253732Speter        -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
532253732Speter        -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
533253732Speter        -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
534253732Speter        -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
535253732Speter        -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
536253732Speter        -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
537253732Speter        -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
538253732Speter
539253732Speter    ifeq ($(OPENJDK_TARGET_OS), solaris)
540253732Speter      LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
541253732Speter    endif
542253732Speter
543253732Speter    ifeq ($(OPENJDK_TARGET_OS), linux)
544253732Speter      ifndef OPENJDK
545253732Speter        include $(JDK_TOPDIR)/make/closed/xawt.gmk
546253732Speter      endif
547253732Speter
548253732Speter      ifeq ($(DISABLE_XRENDER), true)
549253732Speter        LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
550253732Speter      endif
551253732Speter    endif
552253732Speter
553253732Speter    ifeq ($(MILESTONE), internal)
554253732Speter      LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
555253732Speter    endif
556253732Speter
557253732Speter    LIBAWT_XAWT_FILES := \
558253732Speter        XlibWrapper.c \
559253732Speter        XWindow.c \
560253732Speter        XToolkit.c \
561253732Speter        X11Color.c \
562253732Speter        X11SurfaceData.c \
563253732Speter        awt_GraphicsEnv.c \
564253732Speter        awt_InputMethod.c \
565253732Speter        robot_common.c \
566253732Speter        awt_Robot.c \
567253732Speter        list.c \
568253732Speter        multiVis.c \
569253732Speter        initIDs.c \
570253732Speter        awt_util.c \
571253732Speter        awt_Desktop.c \
572253732Speter        awt_UNIXToolkit.c \
573253732Speter        X11FontScaler_md.c \
574253732Speter        X11TextRenderer_md.c \
575253732Speter        fontpath.c \
576253732Speter        awt_Insets.c \
577253732Speter        awt_Event.c \
578253732Speter        X11Renderer.c \
579253732Speter        X11PMBlitLoops.c \
580253732Speter        OGLBlitLoops.c \
581253732Speter        OGLBufImgOps.c \
582253732Speter        OGLContext.c \
583253732Speter        OGLFuncs.c \
584253732Speter        OGLMaskBlit.c \
585253732Speter        OGLMaskFill.c \
586253732Speter        OGLPaints.c \
587253732Speter        OGLRenderQueue.c \
588253732Speter        OGLRenderer.c \
589253732Speter        OGLSurfaceData.c \
590253732Speter        OGLTextRenderer.c \
591253732Speter        OGLVertexCache.c \
592253732Speter        GLXGraphicsConfig.c \
593253732Speter        GLXSurfaceData.c \
594253732Speter        AccelGlyphCache.c \
595253732Speter        awt_Font.c \
596253732Speter        multi_font.c \
597253732Speter        awt_AWTEvent.c \
598253732Speter        awt_DrawingSurface.c \
599253732Speter        jawt.c \
600253732Speter        CUPSfuncs.c \
601253732Speter        debug_assert.c \
602253732Speter        debug_mem.c \
603253732Speter        debug_trace.c \
604253732Speter        debug_util.c \
605253732Speter        awt_Plugin.c \
606253732Speter        gnome_interface.c \
607253732Speter        gtk2_interface.c \
608253732Speter        swing_GTKEngine.c \
609253732Speter        swing_GTKStyle.c \
610253732Speter        rect.c \
611253732Speter        sun_awt_X11_GtkFileDialogPeer.c \
612253732Speter        XRSurfaceData.c \
613253732Speter        XRBackendNative.c
614253732Speter
615253732Speter    LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
616253732Speter
617253732Speter    ifeq ($(OPENJDK_TARGET_OS), linux)
618253732Speter      # To match old build, add this to LDFLAGS instead of suffix.
619253732Speter      LIBAWT_XAWT_LDFLAGS += -lpthread
620253732Speter    endif
621253732Speter
622253732Speter    $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
623253732Speter        LIBRARY := awt_xawt, \
624253732Speter        OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
625253732Speter        SRC := $(LIBAWT_XAWT_DIRS), \
626253732Speter        INCLUDE_FILES := $(LIBAWT_XAWT_FILES), \
627253732Speter        LANG := C, \
628253732Speter        OPTIMIZATION := LOW, \
629253732Speter        CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
630253732Speter            $(X_CFLAGS), \
631253732Speter        MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
632253732Speter        LDFLAGS := $(LDFLAGS_JDKLIB) \
633253732Speter            $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS), \
634253732Speter        LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN) \
635253732Speter            $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
636253732Speter        LDFLAGS_solaris := -L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
637253732Speter            -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
638253732Speter            -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
639253732Speter            -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
640253732Speter            -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
641253732Speter            $(call SET_SHARED_LIBRARY_ORIGIN) \
642253732Speter            $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
643253732Speter        LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \
644253732Speter        VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
645253732Speter        RC_FLAGS := $(RC_FLAGS) \
646253732Speter            -D "JDK_FNAME=xawt.dll" \
647253732Speter            -D "JDK_INTERNAL_NAME=xawt" \
648253732Speter            -D "JDK_FTYPE=0x2L", \
649253732Speter        OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_xawt, \
650253732Speter        DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
651253732Speter
652253732Speter    $(BUILD_LIBAWT_XAWT): $(BUILD_LIBJAVA)
653253732Speter
654253732Speter    $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
655253732Speter
656253732Speter    BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
657253732Speter
658253732Speter  endif
659253732Speterendif
660253732Speter
661253732Speter##########################################################################################
662253732Speter
663253732Speter# TODO: Update awt lib path when awt is converted
664253732Speter$(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
665253732Speter    LIBRARY := lcms, \
666253732Speter    OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
667253732Speter    SRC := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms, \
668253732Speter    LANG := C, \
669253732Speter    OPTIMIZATION := HIGHEST, \
670253732Speter    CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
671253732Speter        $(SHARED_LIBRARY_FLAGS) \
672253732Speter        -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
673253732Speter        -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug, \
674253732Speter    CFLAGS_solaris := -xc99=no_lib, \
675253732Speter    CFLAGS_windows := -DCMS_IS_WINDOWS_, \
676253732Speter    MAPFILE := $(JDK_TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \
677253732Speter    LDFLAGS := $(LDFLAGS_JDKLIB) \
678253732Speter        $(call SET_SHARED_LIBRARY_ORIGIN), \
679253732Speter    LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \
680253732Speter    LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
681253732Speter    LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \
682253732Speter    LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \
683253732Speter    LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm, \
684253732Speter    VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
685253732Speter    RC_FLAGS := $(RC_FLAGS) \
686253732Speter        -D "JDK_FNAME=lcms.dll" \
687253732Speter        -D "JDK_INTERNAL_NAME=lcms" \
688253732Speter        -D "JDK_FTYPE=0x2L", \
689253732Speter    OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/liblcms, \
690253732Speter    DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
691253732Speter
692253732SpeterBUILD_LIBRARIES += $(BUILD_LIBLCMS)
693253732Speter
694253732Speter$(BUILD_LIBLCMS): $(BUILD_LIBAWT)
695253732Speter
696253732Speter##########################################################################################
697253732Speter
698253732Speterifdef OPENJDK
699253732Speter  BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
700253732Speterelse
701253732Speter  BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed
702253732Speter  BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
703253732Speter  BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC)
704253732Speterendif
705253732Speter
706253732SpeterBUILD_LIBJPEG_REORDER :=
707253732Speterifeq ($(OPENJDK_TARGET_OS), solaris)
708253732Speter  ifneq ($(OPENJDK_TARGET_CPU), x86_64)
709253732Speter    BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
710253732Speter  endif
711253732Speterendif
712253732Speter
713253732Speter# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
714253732Speter# or 'vfork'": this warning indicates that some variable is placed to
715253732Speter# a register by optimized compiler and it's value might be lost on longjmp().
716253732Speter# Recommended way to avoid such warning is to declare the variable as
717253732Speter# volatile to prevent the optimization. However, this approach does not
718253732Speter# work because we have to declare all variables as volatile in result.
719253732Speter#ifndef CROSS_COMPILE_ARCH
720253732Speter#  CC_43_OR_NEWER := \
721253732Speter#      $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
722253732Speter#          \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
723253732Speter#  ifeq ($(CC_43_OR_NEWER), 1)
724253732Speter#    BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
725253732Speter#  endif
726253732Speter#endif
727253732Speter
728253732Speter$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG, \
729253732Speter    LIBRARY := jpeg, \
730253732Speter    OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
731253732Speter    SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \
732253732Speter        $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
733253732Speter    LANG := C, \
734253732Speter    OPTIMIZATION := HIGHEST, \
735253732Speter    CFLAGS := $(CFLAGS_JDKLIB) \
736253732Speter        $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
737253732Speter        -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
738253732Speter    MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
739253732Speter    LDFLAGS := $(LDFLAGS_JDKLIB) \
740253732Speter        $(call SET_SHARED_LIBRARY_ORIGIN), \
741253732Speter    LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
742253732Speter    LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
743253732Speter    VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
744253732Speter    RC_FLAGS := $(RC_FLAGS) \
745253732Speter        -D "JDK_FNAME=jpeg.dll" \
746253732Speter        -D "JDK_INTERNAL_NAME=jpeg" \
747253732Speter        -D "JDK_FTYPE=0x2L", \
748253732Speter    REORDER := $(BUILD_LIBJPEG_REORDER), \
749253732Speter    OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \
750253732Speter    DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
751253732Speter
752253732Speter$(BUILD_LIBJPEG): $(BUILD_LIBJAVA)
753253732Speter
754253732SpeterBUILD_LIBRARIES += $(BUILD_LIBJPEG)
755253732Speter
756253732Speter##########################################################################################
757253732Speter
758253732Speterifndef OPENJDK
759253732Speter  FONT_HEADERS := -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
760253732Speter  BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers
761253732Speter  LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
762253732Speterelse
763253732Speter  FONT_HEADERS := $(FREETYPE_CFLAGS)
764253732Speter  BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers.openjdk
765253732Speter  BUILD_LIBFONTMANAGER_FONTLIB := $(FREETYPE_LIBS)
766253732Speterendif
767253732Speter
768253732SpeterLIBFONTMANAGER_OPTIMIZATION := HIGH
769253732Speter
770253732Speterifeq ($(OPENJDK_TARGET_OS), windows)
771253732Speter  LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
772253732Speter      X11TextRenderer.c
773253732Speter  LIBFONTMANAGER_OPTIMIZATION := HIGHEST
774253732Speterelse ifeq ($(OPENJDK_TARGET_OS), macosx)
775253732Speter  LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
776253732Speter      X11TextRenderer.c \
777253732Speter      fontpath.c \
778253732Speter      lcdglyph.c
779253732Speterelse
780253732Speter  LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
781253732Speter      lcdglyph.c
782253732Speterendif
783253732Speter
784253732SpeterBUILD_LIBFONTMANAGER_CFLAGS_COMMON := \
785253732Speter    $(X_CFLAGS) \
786253732Speter    -DLE_STANDALONE -DHEADLESS \
787253732Speter    $(FONT_HEADERS) \
788253732Speter    -I$(JDK_TOPDIR)/src/share/native/sun/font \
789253732Speter    -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
790253732Speter    -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
791253732Speter    -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
792253732Speter    -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
793253732Speter    -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
794253732Speter    -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
795253732Speter    -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
796253732Speter    -I$(JDK_TOPDIR)/src/share/native/sun/java2d
797253732Speter
798253732Speter# Turn off aliasing with GCC for ExtensionSubtables.cpp
799253732Speterifeq ($(OPENJDK_TARGET_OS), linux)
800253732Speter  BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
801253732Speterendif
802253732Speter
803253732Speter$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
804253732Speter    LIBRARY := fontmanager, \
805253732Speter    OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
806253732Speter    SRC := $(JDK_TOPDIR)/src/share/native/sun/font \
807253732Speter        $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font, \
808253732Speter    EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
809253732Speter        AccelGlyphCache.c, \
810253732Speter    LANG := C++, \
811253732Speter    CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \
812253732Speter    CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \
813253732Speter    OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
814253732Speter    CFLAGS_windows = -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
815253732Speter        -DCC_NOEX, \
816253732Speter    MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
817253732Speter    LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
818253732Speter        $(call SET_SHARED_LIBRARY_ORIGIN), \
819253732Speter    LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \
820253732Speter    LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \
821253732Speter    LDFLAGS_SUFFIX_solaris := -lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \
822253732Speter    LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
823253732Speter        -ljava -ljvm, \
824253732Speter    LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
825253732Speter        $(WIN_AWT_LIB), \
826253732Speter    VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
827253732Speter    RC_FLAGS := $(RC_FLAGS) \
828253732Speter        -D "JDK_FNAME=fontmanager.dll" \
829253732Speter        -D "JDK_INTERNAL_NAME=fontmanager" \
830253732Speter        -D "JDK_FTYPE=0x2L", \
831253732Speter    OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfontmanager, \
832253732Speter    DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
833253732Speter
834253732Speter$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
835253732Speter
836253732Speterifeq ($(OPENJDK_TARGET_OS), solaris)
837253732Speter  $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_XAWT)
838253732Speterendif
839253732Speter
840253732SpeterBUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
841253732Speter
842253732Speter##########################################################################################
843253732Speter
844253732Speterifndef OPENJDK
845253732Speter
846253732Speter  #ifeq ($(OPENJDK_TARGET_OS), linux)
847253732Speter  #  ifeq ("$(CC_VER_MAJOR)", "3")
848253732Speter  #    OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
849253732Speter  #  endif
850253732Speter  #endif
851253732Speter  #
852253732Speter  # The resulting size of the t2k lib file is (at least on linux) dependant on the order of
853253732Speter  # the input .o files. Because of this the new build will differ in size to the old build.
854253732Speter  BUILD_LIBT2K_CFLAGS_COMMON := -I$(JDK_TOPDIR)/src/share/native/sun/font \
855253732Speter      -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
856253732Speter      -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
857253732Speter      -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
858253732Speter      -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
859253732Speter      -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
860253732Speter      -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
861253732Speter      -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
862253732Speter      -I$(JDK_TOPDIR)/src/share/native/sun/java2d
863253732Speter
864253732Speter  $(eval $(call SetupNativeCompilation,BUILD_LIBT2K, \
865253732Speter      LIBRARY := t2k, \
866253732Speter      OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
867253732Speter      SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/font \
868253732Speter          $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
869253732Speter          $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints, \
870253732Speter      EXCLUDE_FILES := orion.c, \
871253732Speter      LANG := C++, \
872253732Speter      OPTIMIZATION := HIGH, \
873253732Speter      CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON), \
874253732Speter      CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON), \
875253732Speter      CFLAGS_windows = -DCC_NOEX, \
876253732Speter      CXXFLAGS_windows = -DCC_NOEX, \
877253732Speter      MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libt2k/mapfile-vers, \
878253732Speter      LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
879253732Speter          $(call SET_SHARED_LIBRARY_ORIGIN), \
880253732Speter      LDFLAGS_windows := user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib, \
881253732Speter      LDFLAGS_SUFFIX_posix := $(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc, \
882253732Speter      LDFLAGS_SUFFIX_solaris := -lawt -lawt_xawt, \
883253732Speter      VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
884253732Speter      RC_FLAGS := $(RC_FLAGS) \
885253732Speter          -D "JDK_FNAME=t2k.dll" \
886253732Speter          -D "JDK_INTERNAL_NAME=t2k" \
887253732Speter          -D "JDK_FTYPE=0x2L", \
888253732Speter      OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libt2k, \
889253732Speter      DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
890253732Speter
891253732Speter  # t2k is linked against fontmanager
892253732Speter  $(BUILD_LIBT2K): $(BUILD_LIBFONTMANAGER)
893253732Speter
894253732Speter  BUILD_LIBRARIES += $(BUILD_LIBT2K)
895253732Speterendif
896253732Speter
897253732Speter##########################################################################################
898253732Speter
899253732Speterifeq ($(OPENJDK_TARGET_OS), windows)
900253732Speter  ifeq ($(OPENJDK_TARGET_CPU), x86)
901253732Speter    KERNEL32_LIB := kernel32.lib
902253732Speter  endif
903  $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \
904      LIBRARY := jawt, \
905      OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
906      SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows, \
907      INCLUDE_FILES := jawt.cpp, \
908      LANG := C++, \
909      OPTIMIZATION := LOW, \
910      CFLAGS := $(CXXFLAGS_JDKLIB) \
911          -EHsc -DUNICODE -D_UNICODE \
912          -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
913          -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
914          -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
915          -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
916          -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \
917      LDFLAGS := $(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
918          advapi32.lib $(WIN_AWT_LIB), \
919      LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
920      VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
921      RC_FLAGS := $(RC_FLAGS) \
922          -D "JDK_FNAME=jawt.dll" \
923          -D "JDK_INTERNAL_NAME=jawt" \
924          -D "JDK_FTYPE=0x2L", \
925      OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \
926      DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
927
928  $(BUILD_LIBJAWT): $(BUILD_LIBAWT)
929
930  $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
931	$(ECHO) Copying $(@F)
932	$(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
933
934  BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
935
936else # OPENJDK_TARGET_OS not windows
937
938  ifeq ($(OPENJDK_TARGET_OS), macosx)
939    JAWT_FILES := jawt.m
940    JAWT_LIBS := -lawt_lwawt
941  else
942    JAWT_FILES := jawt.c
943    JAWT_LIBS :=
944    ifneq ($(OPENJDK_TARGET_OS), solaris)
945      JAWT_LIBS += -lawt
946    endif
947    ifndef BUILD_HEADLESS_ONLY
948      JAWT_LIBS += -lawt_xawt
949    else
950      JAWT_LIBS += -lawt_headless
951      HEADLESS_CFLAG += -DHEADLESS
952    endif
953  endif
954
955  $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \
956      LIBRARY := jawt, \
957      OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
958      SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
959          $(JDK_TOPDIR)/src/macosx/native/sun/awt, \
960      INCLUDE_FILES := $(JAWT_FILES), \
961      LANG := C, \
962      OPTIMIZATION := LOW, \
963      CFLAGS := $(CFLAGS_JDKLIB), \
964      CFLAGS_linux := $(HEADLESS_CFLAG), \
965      CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt, \
966      MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjawt/mapfile-vers, \
967      LDFLAGS := $(LDFLAGS_JDKLIB) \
968          $(call SET_SHARED_LIBRARY_ORIGIN), \
969      LDFLAGS_solaris := -L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \
970      LDFLAGS_SUFFIX_linux := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \
971      LDFLAGS_SUFFIX_solaris := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender, \
972      LDFLAGS_SUFFIX_macosx := -Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
973          -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX), \
974      OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \
975      DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
976
977  ifndef BUILD_HEADLESS_ONLY
978    $(BUILD_LIBJAWT): $(BUILD_LIBAWT_XAWT)
979  else
980    $(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
981  endif
982
983  ifeq ($(OPENJDK_TARGET_OS), macosx)
984    $(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
985  endif
986
987endif # OPENJDK_TARGET_OS
988
989BUILD_LIBRARIES += $(BUILD_LIBJAWT)
990
991##########################################################################################
992
993ifndef OPENJDK
994
995  BUILD_LIBKCMS_EXCLUDE_FILES :=
996  ifeq ($(OPENJDK_TARGET_OS), windows)
997    BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
998  else
999    BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
1000  endif
1001
1002  BUILD_LIBKCMS_FLAGS := $(CFLAGS_JDKLIB)
1003
1004  ifeq ($(OPENJDK_TARGET_OS), solaris)
1005    # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
1006    # implement it like this...since it's only used here
1007    BUILD_LIBKCMS_FLAGS := $(patsubst -KPIC, -Kpic, $(BUILD_LIBKCMS_FLAGS))
1008  else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
1009    BUILD_LIBKCMS_FLAGS := $(patsubst -fPIC, -fpic, $(BUILD_LIBKCMS_FLAGS))
1010  endif
1011
1012  $(eval $(call SetupNativeCompilation,BUILD_LIBKCMS, \
1013      LIBRARY := kcms, \
1014      OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1015      SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms, \
1016      LANG := C, \
1017      EXCLUDE_FILES := $(BUILD_LIBKCMS_EXCLUDE_FILES), \
1018      OPTIMIZATION := LOW, \
1019      CFLAGS := $(BUILD_LIBKCMS_FLAGS) \
1020          -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST, \
1021      CFLAGS_linux := -Wno-missing-field-initializers, \
1022      MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libkcms/mapfile-vers, \
1023      LDFLAGS := $(LDFLAGS_JDKLIB) \
1024          $(call SET_SHARED_LIBRARY_ORIGIN), \
1025      LDFLAGS_SUFFIX_linux := -lc -lpthread, \
1026      LDFLAGS_SUFFIX_solaris := -lc, \
1027      LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
1028      LDFLAGS_SUFFIX_posix := -lm -ljava -ljvm, \
1029      VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc, \
1030      VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc, \
1031      RC_FLAGS := $(RC_FLAGS) \
1032          -D "JDK_FNAME=kcms.dll" \
1033          -D "JDK_INTERNAL_NAME=kcms" \
1034          -D "JDK_FTYPE=0x2L", \
1035      OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libkcms, \
1036      DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1037
1038  $(BUILD_LIBKCMS): $(BUILD_LIBJAVA)
1039
1040  BUILD_LIBRARIES += $(BUILD_LIBKCMS)
1041
1042endif
1043
1044##########################################################################################
1045
1046ifndef OPENJDK
1047  ifeq ($(OPENJDK_TARGET_OS), solaris)
1048    ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1049
1050      ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
1051
1052        SUNWJDGA_MAPFILE :=
1053        ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
1054          SUNWJDGA_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjdga/mapfile-vers
1055        endif
1056
1057        $(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
1058            LIBRARY := sunwjdga, \
1059            OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1060            SRC := $(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
1061            LANG := C, \
1062            OPTIMIZATION := LOW, \
1063            CFLAGS := $(CFLAGS_JDKLIB) \
1064                -I$(JDK_TOPDIR)/src/share/javavm/export \
1065                -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
1066                -I$(OPENWIN_HOME)/include, \
1067            MAPFILE := $(SUNWJDGA_MAPFILE), \
1068            LDFLAGS := $(LDFLAGS_JDKLIB) \
1069                $(call SET_SHARED_LIBRARY_ORIGIN), \
1070            LDFLAGS_SUFFIX := -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \
1071            OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunwjdga, \
1072            DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1073
1074        BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
1075
1076      endif
1077    endif
1078  endif
1079endif
1080
1081##########################################################################################
1082
1083ifeq ($(BUILD_HEADLESS), true)
1084  # Mac and Windows only use the native AWT lib, do not build libawt_headless
1085  ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
1086
1087    LIBAWT_HEADLESS_DIRS := $(JDK_TOPDIR)/src/share/native/sun/font \
1088        $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
1089        $(JDK_TOPDIR)/src/solaris/native/sun/font \
1090        $(JDK_TOPDIR)/src/solaris/native/sun/awt \
1091        $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
1092        $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
1093
1094    ifeq ($(OPENJDK_TARGET_OS), macosx)
1095      LIBAWT_HEADLESS_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/font
1096    endif
1097
1098    LIBAWT_HEADLESS_CFLAGS := -DHEADLESS=true \
1099        -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
1100        $(CUPS_CFLAGS) \
1101        $(X_CFLAGS) \
1102        -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1103        -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
1104        -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1105        -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
1106        -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
1107        -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
1108        -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1109        -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
1110        $(foreach dir, $(LIBAWT_HEADLESS_DIRS), -I$(dir))
1111
1112    ifeq ($(OPENJDK_TARGET_OS), macosx)
1113      LIBAWT_HEADLESS_CFLAGS += \
1114          -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
1115          -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
1116    endif
1117
1118    LIBAWT_HEADLESS_FILES := \
1119        awt_Font.c \
1120        HeadlessToolkit.c \
1121        fontpath.c \
1122        VDrawingArea.c \
1123        X11Color.c \
1124        X11Renderer.c \
1125        X11PMBlitLoops.c \
1126        X11SurfaceData.c \
1127        X11FontScaler_md.c \
1128        X11TextRenderer_md.c \
1129        OGLBlitLoops.c \
1130        OGLBufImgOps.c \
1131        OGLContext.c \
1132        OGLFuncs.c \
1133        OGLMaskBlit.c \
1134        OGLMaskFill.c \
1135        OGLPaints.c \
1136        OGLRenderQueue.c \
1137        OGLRenderer.c \
1138        OGLSurfaceData.c \
1139        OGLTextRenderer.c \
1140        OGLVertexCache.c \
1141        GLXGraphicsConfig.c \
1142        GLXSurfaceData.c \
1143        AccelGlyphCache.c \
1144        CUPSfuncs.c
1145
1146    LIBAWT_HEADLESS_REORDER :=
1147    ifeq ($(OPENJDK_TARGET_OS), solaris)
1148      ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1149        LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
1150      endif
1151    endif
1152
1153    $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS, \
1154        LIBRARY := awt_headless, \
1155        OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1156        SRC := $(LIBAWT_HEADLESS_DIRS), \
1157        INCLUDE_FILES := $(LIBAWT_HEADLESS_FILES), \
1158        LANG := C, \
1159        OPTIMIZATION := LOW, \
1160        CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS), \
1161        MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/mapfile-vers, \
1162        LDFLAGS := $(LDFLAGS_JDKLIB) \
1163            $(call SET_SHARED_LIBRARY_ORIGIN), \
1164        LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
1165        LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..) \
1166            -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
1167            -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \
1168        LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN)., \
1169        REORDER := $(LIBAWT_HEADLESS_REORDER), \
1170        LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \
1171        LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \
1172        OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_headless, \
1173        DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1174
1175    $(BUILD_LIBAWT_HEADLESS): $(BUILD_LIBAWT)
1176
1177    BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
1178
1179  endif
1180endif
1181
1182##########################################################################################
1183
1184ifndef BUILD_HEADLESS_ONLY
1185  LIBSPLASHSCREEN_DIRS := \
1186    $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
1187    $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
1188    $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
1189
1190  ifeq ($(USE_EXTERNAL_LIBGIF), true)
1191    GIFLIB_LDFLAGS := -lgif
1192  else
1193    LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib
1194    GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
1195  endif
1196
1197  ifneq ($(OPENJDK_TARGET_OS), macosx)
1198    LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
1199  else
1200    LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
1201  endif
1202
1203  LIBSPLASHSCREEN_CFLAGS := -DSPLASHSCREEN -DPNG_NO_MMX_CODE \
1204      $(foreach dir, $(LIBSPLASHSCREEN_DIRS), -I$(dir))
1205
1206  ifeq ($(OPENJDK_TARGET_OS), macosx)
1207    LIBSPLASHSCREEN_CFLAGS := -I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
1208        $(LIBSPLASHSCREEN_CFLAGS) \
1209        -F/System/Library/Frameworks/JavaVM.framework/Frameworks
1210    LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
1211    LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
1212
1213    LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
1214    LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
1215    LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0
1216    LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0
1217    LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS := -x objective-c -O0
1218    LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS := -x objective-c -O0
1219    LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS := -O0
1220
1221  else ifeq ($(OPENJDK_TARGET_OS), windows)
1222    LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
1223  else ifeq ($(OPENJDK_TARGET_OS), solaris)
1224    LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
1225  else
1226    LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS)
1227  endif
1228
1229  LIBSPLASHSCREEN_LDFLAGS_SUFFIX :=
1230
1231  ifneq ($(USE_EXTERNAL_LIBZ), true)
1232    LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
1233    LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
1234  endif
1235
1236  ifeq ($(OPENJDK_TARGET_OS), macosx)
1237    LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
1238        -framework ApplicationServices \
1239        -framework Foundation \
1240        -framework Cocoa \
1241        -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
1242        -framework JavaNativeFoundation
1243  else ifeq ($(OPENJDK_TARGET_OS), windows)
1244    LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
1245  else ifeq ($(OPENJDK_TARGET_OS), solaris)
1246    # Solaris still uses OPENWIN_LIB ..
1247    LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
1248  else	# .. all other Unixes can use X_LIBS
1249    LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
1250  endif
1251
1252  $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN, \
1253      LIBRARY := splashscreen, \
1254      OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1255      SRC := $(LIBSPLASHSCREEN_DIRS), \
1256      EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
1257      LANG := C, \
1258      OPTIMIZATION := LOW, \
1259      CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \
1260      MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
1261      LDFLAGS := $(LDFLAGS_JDKLIB) \
1262          $(call SET_SHARED_LIBRARY_ORIGIN), \
1263      LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS), \
1264      LDFLAGS_SUFFIX_solaris := -lc, \
1265      VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
1266      RC_FLAGS := $(RC_FLAGS) \
1267          -D "JDK_FNAME=splashscreen.dll" \
1268          -D "JDK_INTERNAL_NAME=splashscreen" \
1269          -D "JDK_FTYPE=0x2L", \
1270      OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsplashscreen, \
1271      DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1272
1273  BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
1274
1275  ifeq ($(OPENJDK_TARGET_OS), macosx)
1276    $(LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
1277  endif
1278
1279endif
1280
1281##########################################################################################
1282
1283ifndef OPENJDK
1284
1285  LIBDCPR_SRC_DIRS := \
1286      $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
1287      $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
1288      $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
1289      $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
1290
1291  LIBDCPR_CFLAGS := $(foreach dir, $(LIBDCPR_SRC_DIRS), -I$(dir)) \
1292      -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
1293
1294  $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR, \
1295      LIBRARY := dcpr, \
1296      OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1297      SRC := $(LIBDCPR_SRC_DIRS), \
1298      LANG := C, \
1299      OPTIMIZATION := LOW, \
1300      CFLAGS := $(CFLAGS_JDKLIB) \
1301          $(LIBDCPR_CFLAGS), \
1302      MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libdcpr/mapfile-vers, \
1303      LDFLAGS := $(LDFLAGS_JDKLIB) \
1304          $(call SET_SHARED_LIBRARY_ORIGIN), \
1305      LDFLAGS_SUFFIX := $(LIBM) $(LDFLAGS_JDKLIB_SUFFIX), \
1306      LDFLAGS_SUFFIX_posix := -lm, \
1307      VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
1308      RC_FLAGS := $(RC_FLAGS) \
1309          -D "JDK_FNAME=dcpr.dll" \
1310          -D "JDK_INTERNAL_NAME=dcpr" \
1311          -D "JDK_FTYPE=0x2L", \
1312      OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdcpr, \
1313      DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1314
1315  $(BUILD_LIBDCPR): $(BUILD_LIBJAVA)
1316
1317  BUILD_LIBRARIES += $(BUILD_LIBDCPR)
1318
1319endif
1320
1321##########################################################################################
1322
1323ifeq ($(OPENJDK_TARGET_OS), macosx)
1324
1325  LIBAWT_LWAWT_FILES := \
1326      awt.m \
1327      ApplicationDelegate.m \
1328      CFRetainedResource.m \
1329      CGLGraphicsConfig.m \
1330      CGLSurfaceData.m \
1331      CGLLayer.m \
1332      CGraphicsConfig.m \
1333      CGraphicsDevice.m \
1334      CGraphicsEnv.m \
1335      CCharToGlyphMapper.m \
1336      CSystemColors.m \
1337      AWTFont.m \
1338      CGGlyphOutlines.m \
1339      CGGlyphImages.m \
1340      CoreTextSupport.m \
1341      AWTStrike.m \
1342      InitIDs.m \
1343      AWTEvent.m \
1344      AWTView.m \
1345      AWTWindow.m \
1346      AWTSurfaceLayers.m \
1347      CCursorManager.m \
1348      CClipboard.m \
1349      CDataTransferer.m \
1350      CDragSource.m \
1351      CDragSourceContextPeer.m \
1352      CDropTarget.m \
1353      CDropTargetContextPeer.m \
1354      CInputMethod.m \
1355      CDesktopPeer.m \
1356      OSVersion.m \
1357      DnDUtilities.m \
1358      CFileDialog.m \
1359      CImage.m \
1360      CMenu.m \
1361      CMenuBar.m \
1362      CMenuComponent.m \
1363      CMenuItem.m \
1364      CPopupMenu.m \
1365      CRobot.m \
1366      CTrayIcon.m \
1367      CWrapper.m \
1368      JavaAccessibilityAction.m \
1369      JavaAccessibilityUtilities.m \
1370      JavaComponentAccessibility.m \
1371      JavaTextAccessibility.m \
1372      LWCToolkit.m \
1373      GeomUtilities.m \
1374      CPrinterJob.m \
1375      PrintModel.m \
1376      PrinterSurfaceData.m \
1377      PrinterView.m \
1378      QuartzSurfaceData.m \
1379      QuartzRenderer.m \
1380      CTextPipe.m \
1381      ImageSurfaceData.m \
1382      awt_DrawingSurface.m \
1383      \
1384      OGLBlitLoops.c \
1385      OGLBufImgOps.c \
1386      OGLContext.c \
1387      OGLFuncs.c \
1388      OGLMaskBlit.c \
1389      OGLMaskFill.c \
1390      OGLPaints.c \
1391      OGLRenderQueue.c \
1392      OGLRenderer.c \
1393      OGLSurfaceData.c \
1394      OGLTextRenderer.c \
1395      OGLVertexCache.c \
1396      AccelGlyphCache.c \
1397      CUPSfuncs.c
1398
1399
1400  LIBAWT_LWAWT_DIRS := \
1401      $(JDK_TOPDIR)/src/macosx/native/sun/awt \
1402      $(JDK_TOPDIR)/src/macosx/native/sun/font \
1403      $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
1404      $(JDK_TOPDIR)/src/solaris/native/sun/awt \
1405      $(JDK_TOPDIR)/src/share/native/sun/font \
1406      $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
1407
1408  $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT, \
1409      LIBRARY := awt_lwawt, \
1410      OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1411      SRC := $(LIBAWT_LWAWT_DIRS), \
1412      LANG := C, \
1413      INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
1414      OPTIMIZATION := LOW, \
1415      CFLAGS := $(CFLAGS_JDKLIB) \
1416          $(X_CFLAGS) \
1417          $(X_LIBS) \
1418          $(foreach dir, $(LIBAWT_LWAWT_DIRS), -I$(dir)) \
1419          -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
1420          -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1421          -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
1422          -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
1423          -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
1424          -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1425          -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
1426          -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1427          -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
1428          -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
1429      LDFLAGS := $(LDFLAGS_JDKLIB) \
1430          $(call SET_SHARED_LIBRARY_ORIGIN), \
1431      LDFLAGS_SUFFIX_macosx := -lawt -lmlib_image -losxapp -ljvm $(LIBM) \
1432          -framework Accelerate \
1433          -framework ApplicationServices \
1434          -framework AudioToolbox \
1435          -framework Carbon \
1436          -framework Cocoa \
1437          -framework Security \
1438          -framework ExceptionHandling \
1439          -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
1440          -framework JavaNativeFoundation \
1441          -framework JavaRuntimeSupport \
1442          -framework OpenGL \
1443          -framework QuartzCore -ljava, \
1444      OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_lwawt, \
1445      DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1446
1447  BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
1448
1449  $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBAWT)
1450
1451  $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBMLIB_IMAGE)
1452
1453  $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBOSXAPP)
1454
1455  $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBJAVA)
1456
1457endif
1458
1459##########################################################################################
1460
1461ifeq ($(OPENJDK_TARGET_OS), macosx)
1462
1463  $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI, \
1464      LIBRARY := osxui, \
1465      OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1466      SRC := $(JDK_TOPDIR)/src/macosx/native/com/apple/laf, \
1467      LANG := C, \
1468      OPTIMIZATION := LOW, \
1469      CFLAGS := $(CFLAGS_JDKLIB) \
1470          -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
1471          -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
1472          -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
1473          -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
1474      LDFLAGS := $(LDFLAGS_JDKLIB) \
1475          $(call SET_SHARED_LIBRARY_ORIGIN) \
1476          -Xlinker -rpath -Xlinker @loader_path, \
1477      LDFLAGS_SUFFIX_macosx := -lawt -losxapp -lawt_lwawt \
1478          -framework Cocoa \
1479          -framework Carbon \
1480          -framework ApplicationServices \
1481          -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
1482          -framework JavaNativeFoundation \
1483          -framework JavaRuntimeSupport \
1484          -ljava -ljvm, \
1485      OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosxui, \
1486      DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1487
1488  BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
1489
1490  $(BUILD_LIBOSXUI): $(BUILD_LIBAWT)
1491
1492  $(BUILD_LIBOSXUI): $(BUILD_LIBOSXAPP)
1493
1494  $(BUILD_LIBOSXUI): $(BUILD_LIBAWT_LWAWT)
1495
1496  #$(BUILD_LIBOSXUI): $(BUILD_LIBJAVA)
1497
1498endif
1499