blob: fe3eb026166e9c91a86c35fe08484d3ae9b41de4 [file] [log] [blame]
ihse554e46f2013-11-14 11:19:32 +01001#
2# Copyright (c) 2011, 2013, 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
26# Openwin is defined on Solaris.
27OPENWIN_LIB := $(OPENWIN_HOME)/lib
28
29WIN_AWT_LIB := $(JDK_OUTPUTDIR)/objs/libawt/awt.lib
30
31##########################################################################################
32
33BUILD_LIBMLIB_SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib
34BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
35 -I$(BUILD_LIBMLIB_SRC) \
36 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/medialib
37
38BUILD_LIBMLIB_LDLIBS :=
39BUILD_LIBMLIB_IMAGE_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libmlib_image/mapfile-vers
40
41BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
42
43ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
44 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
45endif
46
47ifneq ($(OPENJDK_TARGET_OS), windows)
48 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
49endif
50
51$(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE, \
52 LIBRARY := mlib_image, \
53 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
54 SRC := $(BUILD_LIBMLIB_SRC), \
55 EXCLUDE_FILES := awt_ImagingLib.c mlib_c_ImageBlendTable.c, \
56 LANG := C, \
57 OPTIMIZATION := HIGHEST, \
58 CFLAGS := $(CFLAGS_JDKLIB) \
59 $(BUILD_LIBMLIB_CFLAGS), \
60 MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
61 LDFLAGS := $(LDFLAGS_JDKLIB) \
62 $(call SET_SHARED_LIBRARY_ORIGIN), \
63 LDFLAGS_SUFFIX := $(BUILD_LIBMLIB_LDLIBS) \
64 $(LDFLAGS_JDKLIB_SUFFIX), \
65 LDFLAGS_SUFFIX_solaris := -lc, \
66 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
67 RC_FLAGS := $(RC_FLAGS) \
68 -D "JDK_FNAME=mlib_image.dll" \
69 -D "JDK_INTERNAL_NAME=mlib_image" \
70 -D "JDK_FTYPE=0x2L", \
71 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmlib_image, \
72 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
73
74$(BUILD_LIBMLIB_IMAGE): $(BUILD_LIBJAVA)
75
76BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE)
77
78##########################################################################################
79
80ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
81
82 BUILD_LIBMLIB_IMAGE_V_FILES := \
83 mlib_v_ImageLookUp.c \
84 mlib_ImageCreate.c \
85 mlib_ImageAffine.c \
86 mlib_ImageConvMxN.c \
87 mlib_ImageConvKernelConvert.c \
88 mlib_sys.c \
89 mlib_ImageLookUp_64.c \
90 mlib_ImageLookUp_Bit.c \
91 mlib_ImageColorTrue2Index.c \
92 mlib_c_ImageThresh1_U8.c \
93 mlib_v_ImageLookUpS16S16Func.c \
94 mlib_v_ImageLookUpS16S32Func.c \
95 mlib_v_ImageLookUpS16U16Func.c \
96 mlib_v_ImageLookUpS16U8Func.c \
97 mlib_v_ImageLookUpS32S16Func.c \
98 mlib_v_ImageLookUpS32S32Func.c \
99 mlib_v_ImageLookUpS32U16Func.c \
100 mlib_v_ImageLookUpS32U8Func.c \
101 mlib_v_ImageLookUpSIS16S16Func.c \
102 mlib_v_ImageLookUpSIS16S32Func.c \
103 mlib_v_ImageLookUpSIS16U16Func.c \
104 mlib_v_ImageLookUpSIS16U8Func.c \
105 mlib_v_ImageLookUpSIS32S16Func.c \
106 mlib_v_ImageLookUpSIS32S32Func.c \
107 mlib_v_ImageLookUpSIS32U16Func.c \
108 mlib_v_ImageLookUpSIS32U8Func.c \
109 mlib_v_ImageLookUpSIU16S16Func.c \
110 mlib_v_ImageLookUpSIU16S32Func.c \
111 mlib_v_ImageLookUpSIU16U16Func.c \
112 mlib_v_ImageLookUpSIU16U8Func.c \
113 mlib_v_ImageLookUpSIU8S16Func.c \
114 mlib_v_ImageLookUpSIU8S32Func.c \
115 mlib_v_ImageLookUpSIU8U16Func.c \
116 mlib_v_ImageLookUpSIU8U8Func.c \
117 mlib_v_ImageLookUpU16S16Func.c \
118 mlib_v_ImageLookUpU16S32Func.c \
119 mlib_v_ImageLookUpU16U16Func.c \
120 mlib_v_ImageLookUpU16U8Func.c \
121 mlib_v_ImageLookUpU8S16Func.c \
122 mlib_v_ImageLookUpU8S32Func.c \
123 mlib_v_ImageLookUpU8U16Func.c \
124 mlib_v_ImageLookUpU8U8Func.c \
125 mlib_v_ImageAffineIndex_BC.c \
126 mlib_v_ImageAffine_BC.c \
127 mlib_v_ImageAffine_BC_S16.c \
128 mlib_v_ImageAffine_BC_U16.c \
129 mlib_v_ImageAffine_BL.c \
130 mlib_v_ImageAffine_BL_S16.c \
131 mlib_v_ImageAffine_BL_U16.c \
132 mlib_v_ImageAffine_NN.c \
133 mlib_v_ImageFilters.c \
134 mlib_ImageAffineEdge.c \
135 mlib_ImageAffine_BC_D64.c \
136 mlib_ImageAffine_BC_F32.c \
137 mlib_ImageAffine_BC_S32.c \
138 mlib_ImageAffine_BL_D64.c \
139 mlib_ImageAffine_BL_F32.c \
140 mlib_ImageAffine_BL_S32.c \
141 mlib_ImageAffine_NN.c \
142 mlib_ImageAffine_NN_Bit.c \
143 mlib_ImageFilters.c \
144 mlib_ImageScanPoly.c \
145 mlib_ImageConv_8nw.c \
146 mlib_ImageConv_8ext.c \
147 mlib_ImageConv_16nw.c \
148 mlib_ImageConv_16ext.c \
149 mlib_ImageConv_u16nw.c \
150 mlib_ImageConv_u16ext.c \
151 mlib_ImageConv_32nw.c \
152 mlib_ImageConv_F32nw.c \
153 mlib_ImageConvMxN_Fp.c \
154 mlib_ImageConvMxN_ext.c \
155 mlib_ImageConv_D64nw.c \
156 mlib_ImageClipping.c \
157 mlib_ImageConvCopyEdge_Bit.c \
158 mlib_ImageConvClearEdge_Bit.c \
159 mlib_ImageConv2x2_f.c \
160 mlib_ImageConvClearEdge_Fp.c \
161 mlib_v_ImageConvMxN_8.c \
162 mlib_v_ImageConvClearEdge.c \
163 mlib_v_ImageConvCopyEdge.c \
164 mlib_v_ImageConvMxN_8ext.c \
165 mlib_v_ImageConvVersion.c \
166 mlib_v_ImageConv_8nw.c \
167 mlib_ImageConvCopyEdge_Fp.c \
168 mlib_v_ImageChannelInsert_1.c \
169 mlib_v_ImageChannelExtract_43.c \
170 mlib_v_ImageChannelExtract_1.c \
171 mlib_ImageCopy_Bit.c \
172 mlib_v_ImageCopy_f.c \
173 mlib_ImageUtils.c \
174 mlib_ImageDivTables.c
175
176 BUILD_LIBMLIB_V_CFLAGS := $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
177
178 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V, \
179 LIBRARY := mlib_image_v, \
180 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
181 SRC := $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
182 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib, \
183 LANG := C, \
184 INCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_FILES), \
185 OPTIMIZATION := HIGHEST, \
186 CFLAGS := -xarch=sparcvis \
187 $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il \
188 $(BUILD_LIBMLIB_V_CFLAGS) \
189 $(CFLAGS_JDKLIB), \
190 MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
191 LDFLAGS := $(LDFLAGS_JDKLIB) \
192 $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
193 $(call SET_SHARED_LIBRARY_ORIGIN), \
194 LDFLAGS_SUFFIX_solaris := -lc, \
195 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmlib_image_v, \
196 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
197
198 $(BUILD_LIBMLIB_IMAGE_V): $(BUILD_LIBJAVA)
199
200 BUILD_LIBRARIES += $(BUILD_LIBMLIB_IMAGE_V)
201
202endif
203
204##########################################################################################
205
206LIBAWT_DIRS := \
207 $(JDK_TOPDIR)/src/share/native/sun/awt \
208 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
209 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
210 $(JDK_TOPDIR)/src/share/native/sun/awt/image/gif \
211 $(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
212 $(JDK_TOPDIR)/src/share/native/sun/awt/medialib \
213 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
214 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
215 $(JDK_TOPDIR)/src/share/native/sun/java2d \
216 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
217 $(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
218 $(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
219 $(JDK_TOPDIR)/src/share/native/sun/awt/image \
220 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
221 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
222 $(JDK_TOPDIR)/src/share/native/sun/font
223
224ifeq ($(OPENJDK_TARGET_OS), windows)
225 LIBAWT_DIRS += \
226 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
227 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows \
228 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/d3d
229else ifneq ($(OPENJDK_TARGET_OS), macosx)
230 LIBAWT_DIRS += \
231 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11
232endif
233
kvn7130df72013-12-05 15:10:36 -0800234ifeq ($(OPENJDK_TARGET_OS), aix)
235 LIBAWT_DIRS += $(JDK_TOPDIR)/src/aix/porting
236endif
237
ihse554e46f2013-11-14 11:19:32 +0100238LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES \
239 $(X_CFLAGS) \
240 $(foreach dir, $(LIBAWT_DIRS), -I$(dir))
241
242LIBAWT_FILES := \
243 gifdecoder.c \
244 imageInitIDs.c \
245 img_globals.c \
246 SurfaceData.c \
247 Region.c \
248 BufImgSurfaceData.c \
249 Disposer.c \
250 Trace.c \
251 GraphicsPrimitiveMgr.c \
252 Blit.c \
253 BlitBg.c \
254 ScaledBlit.c \
255 FillRect.c \
256 FillSpans.c \
257 FillParallelogram.c \
258 DrawParallelogram.c \
259 DrawLine.c \
260 DrawRect.c \
261 DrawPolygons.c \
262 DrawPath.c \
263 FillPath.c \
264 ProcessPath.c \
265 MaskBlit.c \
266 MaskFill.c \
267 TransformHelper.c \
268 AlphaMath.c \
269 AlphaMacros.c \
270 AnyByte.c \
271 ByteBinary1Bit.c \
272 ByteBinary2Bit.c \
273 ByteBinary4Bit.c \
274 ByteIndexed.c \
275 ByteGray.c \
276 Index8Gray.c \
277 Index12Gray.c \
278 AnyShort.c \
279 Ushort555Rgb.c \
280 Ushort565Rgb.c \
281 Ushort4444Argb.c \
282 Ushort555Rgbx.c \
283 UshortGray.c \
284 UshortIndexed.c \
285 Any3Byte.c \
286 ThreeByteBgr.c \
287 AnyInt.c \
288 IntArgb.c \
289 IntArgbPre.c \
290 IntArgbBm.c \
291 IntRgb.c \
292 IntBgr.c \
293 IntRgbx.c \
294 Any4Byte.c \
295 FourByteAbgr.c \
296 FourByteAbgrPre.c \
297 BufferedMaskBlit.c \
298 BufferedRenderPipe.c \
299 ShapeSpanIterator.c \
300 SpanClipRenderer.c \
301 awt_ImageRep.c \
302 awt_ImagingLib.c \
303 awt_Mlib.c \
304 awt_parseImage.c \
305 DataBufferNative.c \
306 dither.c \
307 debug_assert.c \
308 debug_mem.c \
309 debug_trace.c \
310 debug_util.c
311
kvn7130df72013-12-05 15:10:36 -0800312ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris linux aix))
ihse554e46f2013-11-14 11:19:32 +0100313 LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
314endif
315
kvn7130df72013-12-05 15:10:36 -0800316ifeq ($(OPENJDK_TARGET_OS), aix)
317 LIBAWT_FILES += porting_aix.c
318endif
319
ihse554e46f2013-11-14 11:19:32 +0100320ifeq ($(OPENJDK_TARGET_OS), macosx)
ddehaven26769012014-05-13 10:29:12 -0700321 LIBAWT_FILES += awt_LoadLibrary.c
ihse554e46f2013-11-14 11:19:32 +0100322 LIBAWT_CFLAGS += -F/System/Library/Frameworks/JavaVM.framework/Frameworks
323endif
324
325ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
326 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
327 LIBAWT_CFLAGS += -xarch=sparcvis
328 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib/vis_$(OPENJDK_TARGET_CPU_BITS).il
329 LIBAWT_CFLAGS += \
330 -I$(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
331 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/medialib \
332 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
333
334 LIBAWT_DIRS += $(JDK_TOPDIR)/src/solaris/native/sun/awt/medialib \
335 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/loops
336
337 LIBAWT_FILES += \
338 vis_FuncArray.c \
339 java2d_Mlib.c \
340 mlib_ImageCreate.c \
341 mlib_ImageZoom_NN.c \
342 mlib_ImageCopy_Bit.c \
343 mlib_sys.c \
344 mlib_v_ImageClear.c \
345 mlib_v_ImageClear_f.c \
346 mlib_v_ImageConstXor.c \
347 mlib_v_ImageCopy.c \
348 mlib_v_ImageCopy_f.c \
349 mlib_v_ImageXor.c \
350 mlib_v_ImageZoom_NN_f.c \
351 vis_Interp.c \
352 vis_AlphaMacros.c \
353 vis_AlphaMaskBlit.c \
354 vis_AlphaMaskFill.c \
355 vis_ByteGray.c \
356 vis_ByteGray_FromRgb.c \
357 vis_ByteGray_Mask.c \
358 vis_ByteIndexed.c \
359 vis_DrawLine.c \
360 vis_FourByteAbgr.c \
361 vis_IntArgb.c \
362 vis_IntArgbPre.c \
363 vis_IntArgbPre_Mask.c \
364 vis_IntBgr.c \
365 vis_IntRgb.c \
366 vis_IntRgbx.c \
367 vis_SrcMaskFill.c \
368 vis_SrcOverMaskBlit.c \
369 vis_SrcOverMaskFill.c \
370 vis_FourByteAbgrPre.c \
371 vis_GlyphList.c \
372 vis_GlyphListXor.c \
373 vis_IntArgbBm.c \
374 vis_ThreeByteBgr.c \
375 vis_UshortGray.c \
376 vis_UshortGray_FromRgb.c \
377 vis_XorBlit.c \
378 mlib_v_ImageCopy_blk.s
379
380 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
381 LIBAWT_ASFLAGS = -P -xarch=v9a
382 else
383 LIBAWT_ASFLAGS = -P -xarch=v8plusa
384 endif
385else
386 LIBAWT_FILES += MapAccelFunc.c
387endif
388
389ifneq ($(OPENJDK_TARGET_OS), solaris)
390 LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
391endif
392
393LIBAWT_LANG := C
394
395ifeq ($(OPENJDK_TARGET_OS), windows)
396 LIBAWT_FILES += AccelGlyphCache.c \
397 ShaderList.c \
398 CmdIDList.cpp \
399 Hashtable.cpp \
400 GDIHashtable.cpp \
401 Devices.cpp \
402 ObjectList.cpp \
403 GDIBlitLoops.cpp \
404 GDIRenderer.cpp \
405 GDIWindowSurfaceData.cpp \
406 WindowsFlags.cpp \
407 WPrinterJob.cpp \
408 awt_%.cpp \
409 D3DBlitLoops.cpp \
410 D3DBufImgOps.cpp \
411 D3DContext.cpp \
412 D3DGlyphCache.cpp \
413 D3DGraphicsDevice.cpp \
414 D3DMaskBlit.cpp \
415 D3DMaskCache.cpp \
416 D3DMaskFill.cpp \
417 D3DPipelineManager.cpp \
418 D3DPaints.cpp \
419 D3DRenderer.cpp \
420 D3DRenderQueue.cpp \
421 D3DResourceManager.cpp \
422 D3DSurfaceData.cpp \
423 D3DTextRenderer.cpp \
424 D3DVertexCacher.cpp \
425 ShellFolder2.cpp \
426 ThemeReader.cpp \
427 ComCtl32Util.cpp \
428 DllUtil.cpp \
429 initIDs.cpp \
430 MouseInfo.cpp \
431 rect.c \
432 OGLBlitLoops.c \
433 OGLBufImgOps.c \
434 OGLContext.c \
435 OGLFuncs.c \
436 OGLMaskBlit.c \
437 OGLMaskFill.c \
438 OGLPaints.c \
439 OGLRenderQueue.c \
440 OGLRenderer.c \
441 OGLSurfaceData.c \
442 OGLTextRenderer.c \
443 OGLVertexCache.c \
444 WGLGraphicsConfig.c \
445 WGLSurfaceData.c
446
447 LIBAWT_LANG := C++
448 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
449 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
450 LIBAWT_CFLAGS += -DMLIB_OS64BIT
451 endif
452
453 ifdef OPENJDK
454 LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/windows/resource/icons"
455 else
456 LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
457 endif
458 LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/native/sun/windows/awt.rc
459endif
460
461ifeq ($(MILESTONE), internal)
462 LIBAWT_CFLAGS += -DINTERNAL_BUILD
463endif
464
465LIBAWT_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt/mapfile-vers
466ifeq ($(OPENJDK_TARGET_OS), linux)
467 LIBAWT_MAPFILE :=
468endif
469
470$(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
471 LIBRARY := awt, \
472 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
473 SRC := $(LIBAWT_DIRS), \
474 INCLUDE_FILES := $(LIBAWT_FILES), \
475 LANG := $(LIBAWT_LANG), \
476 OPTIMIZATION := LOW, \
477 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
478 ASFLAGS := $(LIBAWT_ASFLAGS), \
479 MAPFILE := $(LIBAWT_MAPFILE), \
480 LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
481 LDFLAGS_solaris := -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \
482 LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \
483 LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \
kvn7130df72013-12-05 15:10:36 -0800484 LDFLAGS_SUFFIX_aix :=-ljvm $(LIBM) $(LIBDL) -ljava -lm,\
ihse554e46f2013-11-14 11:19:32 +0100485 LDFLAGS_SUFFIX_macosx := -lmlib_image -ljvm $(LIBM) \
486 -framework Cocoa \
487 -framework OpenGL \
488 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
489 -framework JavaNativeFoundation \
490 -framework JavaRuntimeSupport \
491 -framework ApplicationServices \
492 -framework AudioToolbox \
493 -ljava, \
494 LDFLAGS_SUFFIX_windows := kernel32.lib user32.lib gdi32.lib winspool.lib \
495 imm32.lib ole32.lib uuid.lib shell32.lib \
496 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
497 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
498 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
499 -DELAYLOAD:shell32.dll -DELAYLOAD:winmm.dll \
500 -DELAYLOAD:winspool.drv -DELAYLOAD:imm32.dll \
501 -DELAYLOAD:ole32.dll -DELAYLOAD:comdlg32.dll \
502 -DELAYLOAD:comctl32.dll -DELAYLOAD:shlwapi.dll, \
503 VERSIONINFO_RESOURCE := $(LIBAWT_VERSIONINFO_RESOURCE), \
504 RC_FLAGS := $(RC_FLAGS) $(LIBAWT_RC_FLAGS) \
505 -D "JDK_FNAME=awt.dll" \
506 -D "JDK_INTERNAL_NAME=awt" \
507 -D "JDK_FTYPE=0x2L", \
508 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt, \
509 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
510
511$(BUILD_LIBAWT): $(BUILD_LIBJAVA)
512
513ifeq ($(OPENJDK_TARGET_OS), macosx)
514 $(BUILD_LIBAWT): $(BUILD_LIBMLIB_IMAGE)
515endif
516
517BUILD_LIBRARIES += $(BUILD_LIBAWT)
518
519##########################################################################################
520
521ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
522 ifndef BUILD_HEADLESS_ONLY
523
524 LIBAWT_XAWT_DIRS := \
525 $(JDK_TOPDIR)/src/share/native/sun/awt/debug \
526 $(JDK_TOPDIR)/src/share/native/sun/awt/utility \
527 $(JDK_TOPDIR)/src/share/native/sun/font \
528 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
529 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
530 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
531 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/opengl \
532 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/x11 \
533 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/xawt \
534
535 LIBAWT_XAWT_CFLAGS := -DXAWT -DXAWT_HACK \
536 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
537 $(CUPS_CFLAGS) \
538 $(foreach dir, $(LIBAWT_XAWT_DIRS), -I$(dir)) \
539 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
540 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
541 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
542 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
543 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
544 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
545 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
546 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga
547
548 ifeq ($(OPENJDK_TARGET_OS), solaris)
549 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
550 endif
551
552 ifeq ($(OPENJDK_TARGET_OS), linux)
553 ifndef OPENJDK
554 include $(JDK_TOPDIR)/make/closed/xawt.gmk
555 endif
556
557 ifeq ($(DISABLE_XRENDER), true)
558 LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
559 endif
560 endif
561
562 ifeq ($(MILESTONE), internal)
563 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
564 endif
565
566 LIBAWT_XAWT_FILES := \
567 XlibWrapper.c \
568 XWindow.c \
569 XToolkit.c \
570 X11Color.c \
571 X11SurfaceData.c \
572 awt_GraphicsEnv.c \
573 awt_InputMethod.c \
574 robot_common.c \
575 awt_Robot.c \
576 list.c \
577 multiVis.c \
578 initIDs.c \
579 awt_util.c \
580 awt_Desktop.c \
581 awt_UNIXToolkit.c \
582 X11FontScaler_md.c \
583 X11TextRenderer_md.c \
584 fontpath.c \
585 awt_Insets.c \
586 awt_Event.c \
587 X11Renderer.c \
588 X11PMBlitLoops.c \
589 OGLBlitLoops.c \
590 OGLBufImgOps.c \
591 OGLContext.c \
592 OGLFuncs.c \
593 OGLMaskBlit.c \
594 OGLMaskFill.c \
595 OGLPaints.c \
596 OGLRenderQueue.c \
597 OGLRenderer.c \
598 OGLSurfaceData.c \
599 OGLTextRenderer.c \
600 OGLVertexCache.c \
601 GLXGraphicsConfig.c \
602 GLXSurfaceData.c \
603 AccelGlyphCache.c \
604 awt_Font.c \
605 multi_font.c \
606 awt_AWTEvent.c \
607 awt_DrawingSurface.c \
608 jawt.c \
609 CUPSfuncs.c \
610 debug_assert.c \
611 debug_mem.c \
612 debug_trace.c \
613 debug_util.c \
ihse554e46f2013-11-14 11:19:32 +0100614 gnome_interface.c \
615 gtk2_interface.c \
616 swing_GTKEngine.c \
617 swing_GTKStyle.c \
618 rect.c \
619 sun_awt_X11_GtkFileDialogPeer.c \
620 XRSurfaceData.c \
621 XRBackendNative.c
622
623 LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
624
625 ifeq ($(OPENJDK_TARGET_OS), linux)
626 # To match old build, add this to LDFLAGS instead of suffix.
627 LIBAWT_XAWT_LDFLAGS += -lpthread
628 endif
629
630 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
631 LIBRARY := awt_xawt, \
632 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
633 SRC := $(LIBAWT_XAWT_DIRS), \
634 INCLUDE_FILES := $(LIBAWT_XAWT_FILES), \
635 LANG := C, \
636 OPTIMIZATION := LOW, \
637 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
638 $(X_CFLAGS), \
639 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
640 LDFLAGS := $(LDFLAGS_JDKLIB) \
641 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS), \
642 LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN) \
643 $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
644 LDFLAGS_solaris := -L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
645 -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
646 -R$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \
647 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \
648 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
649 $(call SET_SHARED_LIBRARY_ORIGIN) \
650 $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
651 LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \
652 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
653 RC_FLAGS := $(RC_FLAGS) \
654 -D "JDK_FNAME=xawt.dll" \
655 -D "JDK_INTERNAL_NAME=xawt" \
656 -D "JDK_FTYPE=0x2L", \
657 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_xawt, \
658 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
659
660 $(BUILD_LIBAWT_XAWT): $(BUILD_LIBJAVA)
661
662 $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
663
664 BUILD_LIBRARIES += $(BUILD_LIBAWT_XAWT)
665
666 endif
667endif
668
669##########################################################################################
670
671# TODO: Update awt lib path when awt is converted
672$(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
673 LIBRARY := lcms, \
674 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
675 SRC := $(JDK_TOPDIR)/src/share/native/sun/java2d/cmm/lcms, \
676 LANG := C, \
677 OPTIMIZATION := HIGHEST, \
678 CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
679 $(SHARED_LIBRARY_FLAGS) \
680 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
681 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug, \
682 CFLAGS_solaris := -xc99=no_lib, \
683 CFLAGS_windows := -DCMS_IS_WINDOWS_, \
684 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \
685 LDFLAGS := $(LDFLAGS_JDKLIB) \
686 $(call SET_SHARED_LIBRARY_ORIGIN), \
687 LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \
688 LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
689 LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \
690 LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \
691 LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm, \
kvn7130df72013-12-05 15:10:36 -0800692 LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm,\
ihse554e46f2013-11-14 11:19:32 +0100693 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
694 RC_FLAGS := $(RC_FLAGS) \
695 -D "JDK_FNAME=lcms.dll" \
696 -D "JDK_INTERNAL_NAME=lcms" \
697 -D "JDK_FTYPE=0x2L", \
698 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/liblcms, \
699 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
700
701BUILD_LIBRARIES += $(BUILD_LIBLCMS)
702
703$(BUILD_LIBLCMS): $(BUILD_LIBAWT)
704
705##########################################################################################
706
707ifdef OPENJDK
708 BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers
709else
710 BUILD_LIBJPEG_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjpeg/mapfile-vers-closed
711 BUILD_LIBJPEG_CLOSED_SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/awt/image/jpeg
712 BUILD_LIBJPEG_CLOSED_INCLUDES := -I$(BUILD_LIBJPEG_CLOSED_SRC)
713endif
714
715BUILD_LIBJPEG_REORDER :=
716ifeq ($(OPENJDK_TARGET_OS), solaris)
717 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
718 BUILD_LIBJPEG_REORDER := $(JDK_TOPDIR)/make/mapfiles/libjpeg/reorder-$(OPENJDK_TARGET_CPU)
719 endif
720endif
721
722# Suppress gcc warnings like "variable might be clobbered by 'longjmp'
723# or 'vfork'": this warning indicates that some variable is placed to
724# a register by optimized compiler and it's value might be lost on longjmp().
725# Recommended way to avoid such warning is to declare the variable as
726# volatile to prevent the optimization. However, this approach does not
727# work because we have to declare all variables as volatile in result.
728#ifndef CROSS_COMPILE_ARCH
729# CC_43_OR_NEWER := \
730# $(shell $(EXPR) $(CC_MAJORVER) \> 4 \| \
731# \( $(CC_MAJORVER) = 4 \& $(CC_MINORVER) \>= 3 \) )
732# ifeq ($(CC_43_OR_NEWER), 1)
733# BUILD_LIBJPEG_CFLAGS_linux += -Wno-clobbered
734# endif
735#endif
736
737$(eval $(call SetupNativeCompilation,BUILD_LIBJPEG, \
738 LIBRARY := jpeg, \
739 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
740 SRC := $(BUILD_LIBJPEG_CLOSED_SRC) \
741 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
742 LANG := C, \
743 OPTIMIZATION := HIGHEST, \
744 CFLAGS := $(CFLAGS_JDKLIB) \
745 $(BUILD_LIBJPEG_CLOSED_INCLUDES) \
746 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg, \
747 MAPFILE := $(BUILD_LIBJPEG_MAPFILE), \
748 LDFLAGS := $(LDFLAGS_JDKLIB) \
749 $(call SET_SHARED_LIBRARY_ORIGIN), \
750 LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
751 LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
752 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
753 RC_FLAGS := $(RC_FLAGS) \
754 -D "JDK_FNAME=jpeg.dll" \
755 -D "JDK_INTERNAL_NAME=jpeg" \
756 -D "JDK_FTYPE=0x2L", \
757 REORDER := $(BUILD_LIBJPEG_REORDER), \
758 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjpeg, \
759 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
760
761$(BUILD_LIBJPEG): $(BUILD_LIBJAVA)
762
763BUILD_LIBRARIES += $(BUILD_LIBJPEG)
764
765##########################################################################################
766
767ifndef OPENJDK
768 FONT_HEADERS := -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k
769 BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers
770 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c
771else
772 FONT_HEADERS := $(FREETYPE_CFLAGS)
773 BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers.openjdk
774 BUILD_LIBFONTMANAGER_FONTLIB := $(FREETYPE_LIBS)
775endif
776
777LIBFONTMANAGER_OPTIMIZATION := HIGH
778
779ifeq ($(OPENJDK_TARGET_OS), windows)
780 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
781 X11TextRenderer.c
782 LIBFONTMANAGER_OPTIMIZATION := HIGHEST
783else ifeq ($(OPENJDK_TARGET_OS), macosx)
784 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
785 X11TextRenderer.c \
786 fontpath.c \
787 lcdglyph.c
788else
789 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
790 lcdglyph.c
791endif
792
793BUILD_LIBFONTMANAGER_CFLAGS_COMMON := \
794 $(X_CFLAGS) \
795 -DLE_STANDALONE -DHEADLESS \
796 $(FONT_HEADERS) \
797 -I$(JDK_TOPDIR)/src/share/native/sun/font \
798 -I$(JDK_TOPDIR)/src/share/native/sun/font/layout \
799 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
800 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
801 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
802 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
803 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
804 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
805 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
806
807# Turn off aliasing with GCC for ExtensionSubtables.cpp
808ifeq ($(OPENJDK_TARGET_OS), linux)
809 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
810endif
811
812$(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
813 LIBRARY := fontmanager, \
814 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
815 SRC := $(JDK_TOPDIR)/src/share/native/sun/font \
816 $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font, \
817 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
818 AccelGlyphCache.c, \
819 LANG := C++, \
820 CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \
821 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBFONTMANAGER_CFLAGS_COMMON), \
822 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
823 CFLAGS_windows = -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
824 -DCC_NOEX, \
825 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
826 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
827 $(call SET_SHARED_LIBRARY_ORIGIN), \
828 LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \
829 LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \
830 LDFLAGS_SUFFIX_solaris := -lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \
kvn7130df72013-12-05 15:10:36 -0800831 LDFLAGS_SUFFIX_aix := -lawt -lawt_xawt $(LIBM) $(LIBCXX) -ljava -ljvm,\
ihse554e46f2013-11-14 11:19:32 +0100832 LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
833 -ljava -ljvm, \
834 LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
835 $(WIN_AWT_LIB), \
836 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
837 RC_FLAGS := $(RC_FLAGS) \
838 -D "JDK_FNAME=fontmanager.dll" \
839 -D "JDK_INTERNAL_NAME=fontmanager" \
840 -D "JDK_FTYPE=0x2L", \
841 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfontmanager, \
842 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
843
844$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
845
kvn7130df72013-12-05 15:10:36 -0800846ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix))
ihse554e46f2013-11-14 11:19:32 +0100847 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_XAWT)
848endif
849
850BUILD_LIBRARIES += $(BUILD_LIBFONTMANAGER)
851
852##########################################################################################
853
854ifndef OPENJDK
855
856 #ifeq ($(OPENJDK_TARGET_OS), linux)
857 # ifeq ("$(CC_VER_MAJOR)", "3")
858 # OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
859 # endif
860 #endif
861 #
862 # The resulting size of the t2k lib file is (at least on linux) dependant on the order of
863 # the input .o files. Because of this the new build will differ in size to the old build.
864 BUILD_LIBT2K_CFLAGS_COMMON := -I$(JDK_TOPDIR)/src/share/native/sun/font \
865 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
866 -I$(JDK_TOPDIR)/src/closed/share/native/sun/font \
867 -I$(JDK_TOPDIR)/src/share/share/native/sun/font \
868 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/font \
869 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
870 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
871 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
872 -I$(JDK_TOPDIR)/src/share/native/sun/java2d
873
874 $(eval $(call SetupNativeCompilation,BUILD_LIBT2K, \
875 LIBRARY := t2k, \
876 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
877 SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/font \
878 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k \
879 $(JDK_TOPDIR)/src/closed/share/native/sun/font/t2k/ttHints, \
880 EXCLUDE_FILES := orion.c, \
881 LANG := C++, \
882 OPTIMIZATION := HIGH, \
883 CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON), \
884 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(BUILD_LIBT2K_CFLAGS_COMMON), \
885 CFLAGS_windows = -DCC_NOEX, \
886 CXXFLAGS_windows = -DCC_NOEX, \
887 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libt2k/mapfile-vers, \
888 LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
889 $(call SET_SHARED_LIBRARY_ORIGIN), \
890 LDFLAGS_windows := user32.lib $(JDK_OUTPUTDIR)/objs/libfontmanager/fontmanager.lib, \
891 LDFLAGS_SUFFIX_posix := $(LIBM) $(LIBCXX) -lfontmanager -ljava -ljvm -lc, \
892 LDFLAGS_SUFFIX_solaris := -lawt -lawt_xawt, \
893 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
894 RC_FLAGS := $(RC_FLAGS) \
895 -D "JDK_FNAME=t2k.dll" \
896 -D "JDK_INTERNAL_NAME=t2k" \
897 -D "JDK_FTYPE=0x2L", \
898 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libt2k, \
899 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
900
901 # t2k is linked against fontmanager
902 $(BUILD_LIBT2K): $(BUILD_LIBFONTMANAGER)
903
904 BUILD_LIBRARIES += $(BUILD_LIBT2K)
905endif
906
907##########################################################################################
908
909ifeq ($(OPENJDK_TARGET_OS), windows)
910 ifeq ($(OPENJDK_TARGET_CPU), x86)
911 KERNEL32_LIB := kernel32.lib
912 endif
913 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \
914 LIBRARY := jawt, \
915 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
916 SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows, \
917 INCLUDE_FILES := jawt.cpp, \
918 LANG := C++, \
919 OPTIMIZATION := LOW, \
920 CFLAGS := $(CXXFLAGS_JDKLIB) \
921 -EHsc -DUNICODE -D_UNICODE \
922 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/windows \
923 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
924 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
925 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
926 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d/windows, \
927 LDFLAGS := $(LDFLAGS_JDKLIB) $(KERNEL32_LIB) $(LDFLAGS_CXX_JDK) \
928 advapi32.lib $(WIN_AWT_LIB), \
929 LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
930 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
931 RC_FLAGS := $(RC_FLAGS) \
932 -D "JDK_FNAME=jawt.dll" \
933 -D "JDK_INTERNAL_NAME=jawt" \
934 -D "JDK_FTYPE=0x2L", \
935 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \
936 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
937
938 $(BUILD_LIBJAWT): $(BUILD_LIBAWT)
939
940 $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX): $(BUILD_LIBJAWT)
941 $(ECHO) Copying $(@F)
942 $(CP) $(JDK_OUTPUTDIR)/objs/libjawt/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX) $@
943
944 BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
945
946else # OPENJDK_TARGET_OS not windows
947
948 ifeq ($(OPENJDK_TARGET_OS), macosx)
949 JAWT_FILES := jawt.m
950 JAWT_LIBS := -lawt_lwawt
951 else
952 JAWT_FILES := jawt.c
953 JAWT_LIBS :=
954 ifneq ($(OPENJDK_TARGET_OS), solaris)
955 JAWT_LIBS += -lawt
956 endif
957 ifndef BUILD_HEADLESS_ONLY
958 JAWT_LIBS += -lawt_xawt
959 else
960 JAWT_LIBS += -lawt_headless
961 HEADLESS_CFLAG += -DHEADLESS
962 endif
963 endif
964
965 $(eval $(call SetupNativeCompilation,BUILD_LIBJAWT, \
966 LIBRARY := jawt, \
967 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
968 SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt \
969 $(JDK_TOPDIR)/src/macosx/native/sun/awt, \
970 INCLUDE_FILES := $(JAWT_FILES), \
971 LANG := C, \
972 OPTIMIZATION := LOW, \
973 CFLAGS := $(CFLAGS_JDKLIB), \
974 CFLAGS_linux := $(HEADLESS_CFLAG), \
975 CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt, \
976 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjawt/mapfile-vers, \
977 LDFLAGS := $(LDFLAGS_JDKLIB) \
978 $(call SET_SHARED_LIBRARY_ORIGIN), \
979 LDFLAGS_solaris := -L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \
980 LDFLAGS_SUFFIX_linux := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \
kvn7130df72013-12-05 15:10:36 -0800981 LDFLAGS_SUFFIX_aix := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
ihse554e46f2013-11-14 11:19:32 +0100982 LDFLAGS_SUFFIX_solaris := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender, \
983 LDFLAGS_SUFFIX_macosx := -Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
984 -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX), \
985 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \
986 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
987
988 ifndef BUILD_HEADLESS_ONLY
989 $(BUILD_LIBJAWT): $(BUILD_LIBAWT_XAWT)
990 else
991 $(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
992 endif
993
994 ifeq ($(OPENJDK_TARGET_OS), macosx)
995 $(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
996 endif
997
998endif # OPENJDK_TARGET_OS
999
1000BUILD_LIBRARIES += $(BUILD_LIBJAWT)
1001
1002##########################################################################################
1003
1004ifndef OPENJDK
1005
1006 BUILD_LIBKCMS_EXCLUDE_FILES :=
1007 ifeq ($(OPENJDK_TARGET_OS), windows)
1008 BUILD_LIBKCMS_EXCLUDE_FILES += ukcpmgr.c unixmem.c
1009 else
1010 BUILD_LIBKCMS_EXCLUDE_FILES += cmmdll.c registry.c spxffile.c sysinfo.c winmem.c wkcpmgr.c
1011 endif
1012
1013 BUILD_LIBKCMS_FLAGS := $(CFLAGS_JDKLIB)
1014
1015 ifeq ($(OPENJDK_TARGET_OS), solaris)
1016 # This particular library uses a feature called PIC_CODE_SMALL (on solaris)
1017 # implement it like this...since it's only used here
1018 BUILD_LIBKCMS_FLAGS := $(patsubst -KPIC, -Kpic, $(BUILD_LIBKCMS_FLAGS))
1019 else ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
1020 BUILD_LIBKCMS_FLAGS := $(patsubst -fPIC, -fpic, $(BUILD_LIBKCMS_FLAGS))
1021 endif
1022
1023 $(eval $(call SetupNativeCompilation,BUILD_LIBKCMS, \
1024 LIBRARY := kcms, \
1025 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1026 SRC := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms, \
1027 LANG := C, \
1028 EXCLUDE_FILES := $(BUILD_LIBKCMS_EXCLUDE_FILES), \
1029 OPTIMIZATION := LOW, \
1030 CFLAGS := $(BUILD_LIBKCMS_FLAGS) \
1031 -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST, \
1032 CFLAGS_linux := -Wno-missing-field-initializers, \
1033 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libkcms/mapfile-vers, \
1034 LDFLAGS := $(LDFLAGS_JDKLIB) \
1035 $(call SET_SHARED_LIBRARY_ORIGIN), \
1036 LDFLAGS_SUFFIX_linux := -lc -lpthread, \
1037 LDFLAGS_SUFFIX_solaris := -lc, \
1038 LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \
1039 LDFLAGS_SUFFIX_posix := -lm -ljava -ljvm, \
1040 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc, \
1041 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/closed/share/native/sun/java2d/cmm/kcms/cmm.rc, \
1042 RC_FLAGS := $(RC_FLAGS) \
1043 -D "JDK_FNAME=kcms.dll" \
1044 -D "JDK_INTERNAL_NAME=kcms" \
1045 -D "JDK_FTYPE=0x2L", \
1046 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libkcms, \
1047 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1048
1049 $(BUILD_LIBKCMS): $(BUILD_LIBJAVA)
1050
1051 BUILD_LIBRARIES += $(BUILD_LIBKCMS)
1052
1053endif
1054
1055##########################################################################################
1056
1057ifndef OPENJDK
1058 ifeq ($(OPENJDK_TARGET_OS), solaris)
1059 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1060
1061 ifeq ($(shell if test "$(OS_VERSION_MAJOR)" -eq 5 -a "$(OS_VERSION_MINOR)" -le 10; then $(ECHO) ok; fi), ok)
1062
1063 SUNWJDGA_MAPFILE :=
1064 ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
1065 SUNWJDGA_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjdga/mapfile-vers
1066 endif
1067
1068 $(eval $(call SetupNativeCompilation,BUILD_LIBSUNWJDGA, \
1069 LIBRARY := sunwjdga, \
1070 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1071 SRC := $(JDK_TOPDIR)/src/solaris/native/sun/jdga, \
1072 LANG := C, \
1073 OPTIMIZATION := LOW, \
1074 CFLAGS := $(CFLAGS_JDKLIB) \
1075 -I$(JDK_TOPDIR)/src/share/javavm/export \
1076 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
1077 -I$(OPENWIN_HOME)/include, \
1078 MAPFILE := $(SUNWJDGA_MAPFILE), \
1079 LDFLAGS := $(LDFLAGS_JDKLIB) \
1080 $(call SET_SHARED_LIBRARY_ORIGIN), \
1081 LDFLAGS_SUFFIX := -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -ldga -lX11 $(LIBDL) -lc, \
1082 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunwjdga, \
1083 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1084
1085 BUILD_LIBRARIES += $(BUILD_LIBSUNWJDGA)
1086
1087 endif
1088 endif
1089 endif
1090endif
1091
1092##########################################################################################
1093
1094ifeq ($(BUILD_HEADLESS), true)
1095 # Mac and Windows only use the native AWT lib, do not build libawt_headless
1096 ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
1097
1098 LIBAWT_HEADLESS_DIRS := $(JDK_TOPDIR)/src/share/native/sun/font \
1099 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
1100 $(JDK_TOPDIR)/src/solaris/native/sun/font \
1101 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
1102 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/opengl \
1103 $(JDK_TOPDIR)/src/solaris/native/sun/java2d/x11
1104
1105 ifeq ($(OPENJDK_TARGET_OS), macosx)
1106 LIBAWT_HEADLESS_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/font
1107 endif
1108
1109 LIBAWT_HEADLESS_CFLAGS := -DHEADLESS=true \
1110 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
1111 $(CUPS_CFLAGS) \
1112 $(X_CFLAGS) \
1113 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1114 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/java2d \
1115 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1116 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
1117 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
1118 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
1119 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1120 -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/jdga \
1121 $(foreach dir, $(LIBAWT_HEADLESS_DIRS), -I$(dir))
1122
1123 ifeq ($(OPENJDK_TARGET_OS), macosx)
1124 LIBAWT_HEADLESS_CFLAGS += \
1125 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
1126 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
1127 endif
1128
1129 LIBAWT_HEADLESS_FILES := \
1130 awt_Font.c \
1131 HeadlessToolkit.c \
1132 fontpath.c \
1133 VDrawingArea.c \
1134 X11Color.c \
1135 X11Renderer.c \
1136 X11PMBlitLoops.c \
1137 X11SurfaceData.c \
1138 X11FontScaler_md.c \
1139 X11TextRenderer_md.c \
1140 OGLBlitLoops.c \
1141 OGLBufImgOps.c \
1142 OGLContext.c \
1143 OGLFuncs.c \
1144 OGLMaskBlit.c \
1145 OGLMaskFill.c \
1146 OGLPaints.c \
1147 OGLRenderQueue.c \
1148 OGLRenderer.c \
1149 OGLSurfaceData.c \
1150 OGLTextRenderer.c \
1151 OGLVertexCache.c \
1152 GLXGraphicsConfig.c \
1153 GLXSurfaceData.c \
1154 AccelGlyphCache.c \
1155 CUPSfuncs.c
1156
1157 LIBAWT_HEADLESS_REORDER :=
1158 ifeq ($(OPENJDK_TARGET_OS), solaris)
1159 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
1160 LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
1161 endif
1162 endif
1163
1164 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS, \
1165 LIBRARY := awt_headless, \
1166 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1167 SRC := $(LIBAWT_HEADLESS_DIRS), \
1168 INCLUDE_FILES := $(LIBAWT_HEADLESS_FILES), \
1169 LANG := C, \
1170 OPTIMIZATION := LOW, \
1171 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_HEADLESS_CFLAGS), \
1172 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/mapfile-vers, \
1173 LDFLAGS := $(LDFLAGS_JDKLIB) \
1174 $(call SET_SHARED_LIBRARY_ORIGIN), \
1175 LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
1176 LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..) \
1177 -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \
1178 -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \
1179 LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN)., \
1180 REORDER := $(LIBAWT_HEADLESS_REORDER), \
1181 LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \
kvn7130df72013-12-05 15:10:36 -08001182 LDFLAGS_SUFFIX_aix := -ljvm -lawt -ljava,\
ihse554e46f2013-11-14 11:19:32 +01001183 LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \
1184 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_headless, \
1185 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1186
1187 $(BUILD_LIBAWT_HEADLESS): $(BUILD_LIBAWT)
1188
1189 BUILD_LIBRARIES += $(BUILD_LIBAWT_HEADLESS)
1190
1191 endif
1192endif
1193
1194##########################################################################################
1195
1196ifndef BUILD_HEADLESS_ONLY
1197 LIBSPLASHSCREEN_DIRS := \
1198 $(JDK_TOPDIR)/src/share/native/sun/awt/image/jpeg \
1199 $(JDK_TOPDIR)/src/share/native/sun/awt/libpng \
1200 $(JDK_TOPDIR)/src/share/native/sun/awt/splashscreen
1201
1202 ifeq ($(USE_EXTERNAL_LIBGIF), true)
1203 GIFLIB_LDFLAGS := -lgif
1204 else
1205 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/sun/awt/giflib
1206 GIFLIB_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/awt/giflib
1207 endif
1208
1209 ifneq ($(OPENJDK_TARGET_OS), macosx)
1210 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/awt/splashscreen
1211 else
1212 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
1213 endif
1214
1215 LIBSPLASHSCREEN_CFLAGS := -DSPLASHSCREEN -DPNG_NO_MMX_CODE \
1216 $(foreach dir, $(LIBSPLASHSCREEN_DIRS), -I$(dir))
1217
1218 ifeq ($(OPENJDK_TARGET_OS), macosx)
1219 LIBSPLASHSCREEN_CFLAGS := -I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \
1220 $(LIBSPLASHSCREEN_CFLAGS) \
1221 -F/System/Library/Frameworks/JavaVM.framework/Frameworks
1222 LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
1223 LIBSPLASHSCREEN_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp
1224
1225 LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
1226 LIBSPLASHSCREEN_splashscreen_gfx_impl.c_CFLAGS := -x objective-c -O0
1227 LIBSPLASHSCREEN_splashscreen_gif.c_CFLAGS := -x objective-c -O0
1228 LIBSPLASHSCREEN_splashscreen_impl.c_CFLAGS := -x objective-c -O0
1229 LIBSPLASHSCREEN_splashscreen_jpeg.c_CFLAGS := -x objective-c -O0
1230 LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS := -x objective-c -O0
1231 LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS := -O0
1232
1233 else ifeq ($(OPENJDK_TARGET_OS), windows)
1234 LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
1235 else ifeq ($(OPENJDK_TARGET_OS), solaris)
1236 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
1237 else
1238 LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS)
1239 endif
1240
1241 LIBSPLASHSCREEN_LDFLAGS_SUFFIX :=
1242
1243 ifneq ($(USE_EXTERNAL_LIBZ), true)
sherman0ffd8242014-06-04 15:15:09 -07001244 LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.8
ihse554e46f2013-11-14 11:19:32 +01001245 LIBSPLASHSCREEN_CFLAGS += $(ZLIB_CPPFLAGS)
1246 endif
1247
1248 ifeq ($(OPENJDK_TARGET_OS), macosx)
1249 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(LIBM) -lpthread -liconv -losxapp \
1250 -framework ApplicationServices \
1251 -framework Foundation \
1252 -framework Cocoa \
1253 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
1254 -framework JavaNativeFoundation
1255 else ifeq ($(OPENJDK_TARGET_OS), windows)
1256 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
1257 else ifeq ($(OPENJDK_TARGET_OS), solaris)
1258 # Solaris still uses OPENWIN_LIB ..
1259 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
1260 else # .. all other Unixes can use X_LIBS
1261 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
1262 endif
1263
1264 $(eval $(call SetupNativeCompilation,LIBSPLASHSCREEN, \
1265 LIBRARY := splashscreen, \
1266 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1267 SRC := $(LIBSPLASHSCREEN_DIRS), \
1268 EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
1269 LANG := C, \
1270 OPTIMIZATION := LOW, \
1271 CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) $(GIFLIB_CFLAGS), \
1272 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
1273 LDFLAGS := $(LDFLAGS_JDKLIB) \
1274 $(call SET_SHARED_LIBRARY_ORIGIN), \
1275 LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) $(GIFLIB_LDFLAGS), \
1276 LDFLAGS_SUFFIX_solaris := -lc, \
1277 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
1278 RC_FLAGS := $(RC_FLAGS) \
1279 -D "JDK_FNAME=splashscreen.dll" \
1280 -D "JDK_INTERNAL_NAME=splashscreen" \
1281 -D "JDK_FTYPE=0x2L", \
1282 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsplashscreen, \
1283 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1284
1285 BUILD_LIBRARIES += $(LIBSPLASHSCREEN)
1286
1287 ifeq ($(OPENJDK_TARGET_OS), macosx)
1288 $(LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
1289 endif
1290
1291endif
1292
1293##########################################################################################
1294
1295ifndef OPENJDK
1296
1297 LIBDCPR_SRC_DIRS := \
1298 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/doe \
1299 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/path \
1300 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/pr \
1301 $(JDK_TOPDIR)/src/closed/share/native/sun/dc/util
1302
1303 LIBDCPR_CFLAGS := $(foreach dir, $(LIBDCPR_SRC_DIRS), -I$(dir)) \
1304 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe
1305
1306 $(eval $(call SetupNativeCompilation,BUILD_LIBDCPR, \
1307 LIBRARY := dcpr, \
1308 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1309 SRC := $(LIBDCPR_SRC_DIRS), \
1310 LANG := C, \
1311 OPTIMIZATION := LOW, \
1312 CFLAGS := $(CFLAGS_JDKLIB) \
1313 $(LIBDCPR_CFLAGS), \
1314 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libdcpr/mapfile-vers, \
1315 LDFLAGS := $(LDFLAGS_JDKLIB) \
1316 $(call SET_SHARED_LIBRARY_ORIGIN), \
1317 LDFLAGS_SUFFIX := $(LIBM) $(LDFLAGS_JDKLIB_SUFFIX), \
prr4b5948c2014-02-12 14:52:23 -08001318 LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB), \
ihse554e46f2013-11-14 11:19:32 +01001319 LDFLAGS_SUFFIX_posix := -lm, \
1320 VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
1321 RC_FLAGS := $(RC_FLAGS) \
1322 -D "JDK_FNAME=dcpr.dll" \
1323 -D "JDK_INTERNAL_NAME=dcpr" \
1324 -D "JDK_FTYPE=0x2L", \
1325 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdcpr, \
1326 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1327
1328 $(BUILD_LIBDCPR): $(BUILD_LIBJAVA)
1329
1330 BUILD_LIBRARIES += $(BUILD_LIBDCPR)
1331
1332endif
1333
1334##########################################################################################
1335
1336ifeq ($(OPENJDK_TARGET_OS), macosx)
1337
1338 LIBAWT_LWAWT_FILES := \
1339 awt.m \
1340 ApplicationDelegate.m \
1341 CFRetainedResource.m \
1342 CGLGraphicsConfig.m \
1343 CGLSurfaceData.m \
1344 CGLLayer.m \
1345 CGraphicsConfig.m \
1346 CGraphicsDevice.m \
1347 CGraphicsEnv.m \
1348 CCharToGlyphMapper.m \
1349 CSystemColors.m \
1350 AWTFont.m \
1351 CGGlyphOutlines.m \
1352 CGGlyphImages.m \
1353 CoreTextSupport.m \
1354 AWTStrike.m \
1355 InitIDs.m \
1356 AWTEvent.m \
1357 AWTView.m \
1358 AWTWindow.m \
1359 AWTSurfaceLayers.m \
1360 CCursorManager.m \
1361 CClipboard.m \
1362 CDataTransferer.m \
1363 CDragSource.m \
1364 CDragSourceContextPeer.m \
1365 CDropTarget.m \
1366 CDropTargetContextPeer.m \
1367 CInputMethod.m \
1368 CDesktopPeer.m \
1369 OSVersion.m \
1370 DnDUtilities.m \
1371 CFileDialog.m \
1372 CImage.m \
1373 CMenu.m \
1374 CMenuBar.m \
1375 CMenuComponent.m \
1376 CMenuItem.m \
1377 CPopupMenu.m \
1378 CRobot.m \
1379 CTrayIcon.m \
1380 CWrapper.m \
1381 JavaAccessibilityAction.m \
1382 JavaAccessibilityUtilities.m \
1383 JavaComponentAccessibility.m \
1384 JavaTextAccessibility.m \
1385 LWCToolkit.m \
1386 GeomUtilities.m \
1387 CPrinterJob.m \
1388 PrintModel.m \
1389 PrinterSurfaceData.m \
1390 PrinterView.m \
1391 QuartzSurfaceData.m \
1392 QuartzRenderer.m \
1393 CTextPipe.m \
1394 ImageSurfaceData.m \
1395 awt_DrawingSurface.m \
1396 \
1397 OGLBlitLoops.c \
1398 OGLBufImgOps.c \
1399 OGLContext.c \
1400 OGLFuncs.c \
1401 OGLMaskBlit.c \
1402 OGLMaskFill.c \
1403 OGLPaints.c \
1404 OGLRenderQueue.c \
1405 OGLRenderer.c \
1406 OGLSurfaceData.c \
1407 OGLTextRenderer.c \
1408 OGLVertexCache.c \
1409 AccelGlyphCache.c \
1410 CUPSfuncs.c
1411
1412
1413 LIBAWT_LWAWT_DIRS := \
1414 $(JDK_TOPDIR)/src/macosx/native/sun/awt \
1415 $(JDK_TOPDIR)/src/macosx/native/sun/font \
1416 $(JDK_TOPDIR)/src/macosx/native/sun/java2d/opengl \
1417 $(JDK_TOPDIR)/src/solaris/native/sun/awt \
1418 $(JDK_TOPDIR)/src/share/native/sun/font \
1419 $(JDK_TOPDIR)/src/share/native/sun/java2d/opengl \
1420
1421 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT, \
1422 LIBRARY := awt_lwawt, \
1423 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1424 SRC := $(LIBAWT_LWAWT_DIRS), \
1425 LANG := C, \
1426 INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
1427 OPTIMIZATION := LOW, \
1428 CFLAGS := $(CFLAGS_JDKLIB) \
1429 $(X_CFLAGS) \
1430 $(X_LIBS) \
1431 $(foreach dir, $(LIBAWT_LWAWT_DIRS), -I$(dir)) \
1432 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
1433 -I$(JDK_TOPDIR)/src/share/native/sun/java2d \
1434 -I$(JDK_TOPDIR)/src/solaris/native/sun/java2d \
1435 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image \
1436 -I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils \
1437 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/loops \
1438 -I$(JDK_TOPDIR)/src/share/native/sun/java2d/pipe \
1439 -I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
1440 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
1441 -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
1442 LDFLAGS := $(LDFLAGS_JDKLIB) \
1443 $(call SET_SHARED_LIBRARY_ORIGIN), \
1444 LDFLAGS_SUFFIX_macosx := -lawt -lmlib_image -losxapp -ljvm $(LIBM) \
1445 -framework Accelerate \
1446 -framework ApplicationServices \
1447 -framework AudioToolbox \
1448 -framework Carbon \
1449 -framework Cocoa \
1450 -framework Security \
1451 -framework ExceptionHandling \
1452 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
1453 -framework JavaNativeFoundation \
1454 -framework JavaRuntimeSupport \
1455 -framework OpenGL \
1456 -framework QuartzCore -ljava, \
1457 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_lwawt, \
1458 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1459
1460 BUILD_LIBRARIES += $(BUILD_LIBAWT_LWAWT)
1461
1462 $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBAWT)
1463
1464 $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBMLIB_IMAGE)
1465
1466 $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBOSXAPP)
1467
1468 $(BUILD_LIBAWT_LWAWT): $(BUILD_LIBJAVA)
1469
1470endif
1471
1472##########################################################################################
1473
1474ifeq ($(OPENJDK_TARGET_OS), macosx)
1475
1476 $(eval $(call SetupNativeCompilation,BUILD_LIBOSXUI, \
1477 LIBRARY := osxui, \
1478 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
1479 SRC := $(JDK_TOPDIR)/src/macosx/native/com/apple/laf, \
1480 LANG := C, \
1481 OPTIMIZATION := LOW, \
1482 CFLAGS := $(CFLAGS_JDKLIB) \
1483 -I$(JDK_TOPDIR)/src/macosx/native/com/apple/laf \
1484 -I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
1485 -I$(JDK_TOPDIR)/src/macosx/native/sun/awt \
1486 -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
1487 LDFLAGS := $(LDFLAGS_JDKLIB) \
1488 $(call SET_SHARED_LIBRARY_ORIGIN) \
1489 -Xlinker -rpath -Xlinker @loader_path, \
1490 LDFLAGS_SUFFIX_macosx := -lawt -losxapp -lawt_lwawt \
1491 -framework Cocoa \
1492 -framework Carbon \
1493 -framework ApplicationServices \
1494 -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
1495 -framework JavaNativeFoundation \
1496 -framework JavaRuntimeSupport \
1497 -ljava -ljvm, \
1498 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosxui, \
1499 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
1500
1501 BUILD_LIBRARIES += $(BUILD_LIBOSXUI)
1502
1503 $(BUILD_LIBOSXUI): $(BUILD_LIBAWT)
1504
1505 $(BUILD_LIBOSXUI): $(BUILD_LIBOSXAPP)
1506
1507 $(BUILD_LIBOSXUI): $(BUILD_LIBAWT_LWAWT)
1508
1509 #$(BUILD_LIBOSXUI): $(BUILD_LIBJAVA)
1510
1511endif