1 #
2 # Copyright (c) 2011, 2014, 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
38
39 BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
40
41 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
42 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
43 endif
44
45 ifneq ($(OPENJDK_TARGET_OS), windows)
46 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
47 endif
48
49 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE, \
50 LIBRARY := mlib_image, \
51 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
52 SRC := $(BUILD_LIBMLIB_SRC), \
53 EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
54 LANG := C, \
55 OPTIMIZATION := HIGHEST, \
56 CFLAGS := $(CFLAGS_JDKLIB) \
57 $(BUILD_LIBMLIB_CFLAGS), \
58 MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
59 LDFLAGS := $(LDFLAGS_JDKLIB) \
60 $(call SET_SHARED_LIBRARY_ORIGIN), \
61 LDFLAGS_SUFFIX := $(BUILD_LIBMLIB_LDLIBS) \
62 $(LDFLAGS_JDKLIB_SUFFIX), \
63 LDFLAGS_SUFFIX_solaris := -lc, \
64 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
65 RC_FLAGS := $(RC_FLAGS) \
66 -D "JDK_FNAME=mlib_image.dll" \
67 -D "JDK_INTERNAL_NAME=mlib_image" \
68 -D "JDK_FTYPE=0x2L", \
69 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libmlib_image, \
70 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
71
72 $(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java)
73
74 TARGETS += $(BUILD_LIBMLIB_IMAGE)
75
76 ################################################################################
77
110 mlib_v_ImageChannelInsert_34.c \
111 mlib_v_ImageChannelInsert.c \
112 mlib_v_ImageConvIndex3_8_16nw.c \
113 mlib_v_ImageConvIndex3_8_8nw.c \
114 mlib_v_ImageCopy.c \
115 mlib_v_ImageCopy_blk.s \
116 #
117
118 LIBMLIB_IMAGE_V_CFLAGS += $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
119
120 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V, \
121 LIBRARY := mlib_image_v, \
122 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
123 SRC := $(LIBMLIB_IMAGE_V_SRC), \
124 LANG := C, \
125 EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \
126 OPTIMIZATION := HIGHEST, \
127 CFLAGS := -xarch=sparcvis \
128 $(LIBMLIB_IMAGE_V_CFLAGS) \
129 $(CFLAGS_JDKLIB), \
130 MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
131 LDFLAGS := $(LDFLAGS_JDKLIB) \
132 $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
133 $(call SET_SHARED_LIBRARY_ORIGIN), \
134 LDFLAGS_SUFFIX_solaris := -lc, \
135 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libmlib_image_v, \
136 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
137
138 $(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java)
139
140 TARGETS += $(BUILD_LIBMLIB_IMAGE_V)
141
142 endif
143
144 ################################################################################
145
146 LIBAWT_DIRS := $(JDK_TOPDIR)/src/java.desktop/share/native/libawt \
147 $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \
148 $(JDK_TOPDIR)/src/java.desktop/share/native/common/awt/debug \
149 $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
158 else
159 LIBAWT_EXFILES := java2d/ShaderList.c
160 endif
161
162 ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx aix), )
163 LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
164 endif
165
166 ifeq ($(OPENJDK_TARGET_OS), macosx)
167 LIBAWT_EXFILES += initIDs.c awt/image/cvutils/img_colors.c
168 endif
169
170 LIBAWT_CFLAGS += -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
171 $(addprefix -I, $(shell find $(LIBAWT_DIRS) -type d)) \
172 $(LIBJAVA_HEADER_FLAGS) \
173 $(addprefix -I, $(BUILD_LIBMLIB_IMAGE_SRC)) \
174 #
175
176 LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS)
177
178 ifeq ($(OPENJDK_TARGET_OS), macosx)
179 endif
180
181 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
182 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
183 LIBAWT_CFLAGS += -xarch=sparcvis
184
185 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/java.desktop/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il
186 LIBAWT_DIRS += $(JDK_TOPDIR)/src/java.desktop/share/native/common/awt/medialib
187 LIBAWT_EXFILES += java2d/loops/MapAccelFunc.c
188
189 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
190 LIBAWT_ASFLAGS = -P -xarch=v9a
191 else
192 LIBAWT_ASFLAGS = -P -xarch=v8plusa
193 endif
194 else
195 LIBAWT_EXCLUDES += \
196 $(JDK_TOPDIR)/src/java.desktop/unix/native/libawt/awt/medialib \
197 $(JDK_TOPDIR)/src/java.desktop/unix/native/libawt/java2d/loops \
198 $(JDK_TOPDIR)/src/java.desktop/unix/native/common/awt/medialib \
199 #
200 endif
236 endif
237
238 ifeq ($(MILESTONE), internal)
239 LIBAWT_CFLAGS += -DINTERNAL_BUILD
240 endif
241
242 LIBAWT_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt/mapfile-vers
243 ifeq ($(OPENJDK_TARGET_OS), linux)
244 LIBAWT_MAPFILE :=
245 endif
246
247 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
248 LIBRARY := awt, \
249 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
250 SRC := $(LIBAWT_DIRS), \
251 EXCLUDES := $(LIBAWT_EXCLUDES), \
252 EXCLUDE_FILES := $(LIBAWT_EXFILES), \
253 LANG := $(LIBAWT_LANG), \
254 OPTIMIZATION := LOW, \
255 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
256 ASFLAGS := $(LIBAWT_ASFLAGS), \
257 MAPFILE := $(LIBAWT_MAPFILE), \
258 LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
259 LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \
260 LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \
261 LDFLAGS_SUFFIX_aix :=-ljvm $(LIBM) $(LIBDL) -ljava -lm,\
262 LDFLAGS_SUFFIX_macosx := -L$(INSTALL_LIBRARIES_HERE) \
263 -lmlib_image -ljvm $(LIBM) \
264 -framework Cocoa \
265 -framework OpenGL \
266 -framework JavaNativeFoundation \
267 -framework JavaRuntimeSupport \
268 -framework ApplicationServices \
269 -framework AudioToolbox \
270 -ljava, \
271 LDFLAGS_SUFFIX_windows := kernel32.lib user32.lib gdi32.lib winspool.lib \
272 imm32.lib ole32.lib uuid.lib shell32.lib \
273 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
274 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
275 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
344 ifeq ($(MILESTONE), internal)
345 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
346 endif
347
348 LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
349
350 ifeq ($(OPENJDK_TARGET_OS), linux)
351 # To match old build, add this to LDFLAGS instead of suffix.
352 LIBAWT_XAWT_LDFLAGS += -lpthread
353 endif
354
355 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
356 LIBRARY := awt_xawt, \
357 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
358 SRC := $(LIBAWT_XAWT_DIRS), \
359 EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
360 LANG := C, \
361 OPTIMIZATION := LOW, \
362 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
363 $(X_CFLAGS), \
364 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
365 LDFLAGS := $(LDFLAGS_JDKLIB) \
366 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS) \
367 $(call SET_SHARED_LIBRARY_ORIGIN) \
368 $(call SET_SHARED_LIBRARY_ORIGIN,/..) \
369 -L$(INSTALL_LIBRARIES_HERE), \
370 LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \
371 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
372 RC_FLAGS := $(RC_FLAGS) \
373 -D "JDK_FNAME=xawt.dll" \
374 -D "JDK_INTERNAL_NAME=xawt" \
375 -D "JDK_FTYPE=0x2L", \
376 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_xawt, \
377 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
378
379 $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
380
381 $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
382
383 TARGETS += $(BUILD_LIBAWT_XAWT)
400 BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c
401 else
402 BUILD_LIBLCMS_INCLUDE_FILES :=
403 # If we're using the bundled library, we'll need to include it in the
404 # include path explicitly. Otherwise the system headers will be used.
405 LIBLCMS_CPPFLAGS += $(addprefix -I, $(LIBLCMS_SRC))
406 endif
407
408 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
409 LIBRARY := lcms, \
410 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
411 SRC := $(LIBLCMS_SRC), \
412 INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
413 LANG := C, \
414 OPTIMIZATION := HIGHEST, \
415 CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
416 $(SHARED_LIBRARY_FLAGS) $(LIBLCMS_CPPFLAGS) \
417 $(LCMS_CFLAGS), \
418 CFLAGS_solaris := -xc99=no_lib, \
419 CFLAGS_windows := -DCMS_IS_WINDOWS_, \
420 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \
421 LDFLAGS := $(LDFLAGS_JDKLIB) \
422 $(call SET_SHARED_LIBRARY_ORIGIN), \
423 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
424 LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \
425 LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
426 LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc $(LCMS_LIBS), \
427 LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm $(LCMS_LIBS), \
428 LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm $(LCMS_LIBS), \
429 LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm $(LCMS_LIBS),\
430 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
431 RC_FLAGS := $(RC_FLAGS) \
432 -D "JDK_FNAME=lcms.dll" \
433 -D "JDK_INTERNAL_NAME=lcms" \
434 -D "JDK_FTYPE=0x2L", \
435 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/liblcms, \
436 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
437
438 TARGETS += $(BUILD_LIBLCMS)
439
478 BUILD_LIBJAVAJPEG_INCLUDE_FILES := \
479 imageIOJPEG.c \
480 jpegdecoder.c
481 BUILD_LIBJAVAJPEG_HEADERS :=
482 else
483 LIBJPEG_LIBS :=
484 BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
485 BUILD_LIBJAVAJPEG_HEADERS := $(addprefix -I, $(LIBJAVAJPEG_SRC))
486 endif
487
488 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVAJPEG, \
489 LIBRARY := javajpeg, \
490 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
491 SRC := $(LIBJAVAJPEG_SRC), \
492 INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
493 LANG := C, \
494 OPTIMIZATION := HIGHEST, \
495 CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBJAVAJPEG_SRC)) \
496 $(LIBJAVA_HEADER_FLAGS) \
497 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop, \
498 MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \
499 LDFLAGS := $(LDFLAGS_JDKLIB) $(LIBJPEG_LIBS) \
500 $(call SET_SHARED_LIBRARY_ORIGIN), \
501 LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
502 LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
503 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
504 RC_FLAGS := $(RC_FLAGS) \
505 -D "JDK_FNAME=javajpeg.dll" \
506 -D "JDK_INTERNAL_NAME=javajpeg" \
507 -D "JDK_FTYPE=0x2L", \
508 REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
509 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjavajpeg, \
510 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
511
512 $(BUILD_LIBJAVAJPEG): $(call FindLib, java.base, java)
513
514 TARGETS += $(BUILD_LIBJAVAJPEG)
515
516 ################################################################################
517
546 LIBAWT_HEADLESS_REORDER :=
547 ifeq ($(OPENJDK_TARGET_OS), solaris)
548 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
549 LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
550 endif
551 endif
552
553 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS, \
554 LIBRARY := awt_headless, \
555 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
556 SRC := $(LIBAWT_HEADLESS_DIRS), \
557 EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
558 LANG := C, \
559 OPTIMIZATION := LOW, \
560 CFLAGS := $(CFLAGS_JDKLIB) \
561 -DHEADLESS=true \
562 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
563 $(CUPS_CFLAGS) \
564 $(X_CFLAGS) \
565 $(LIBAWT_HEADLESS_CFLAGS), \
566 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/mapfile-vers, \
567 LDFLAGS := $(LDFLAGS_JDKLIB) \
568 $(call SET_SHARED_LIBRARY_ORIGIN), \
569 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
570 LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
571 LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
572 LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN)., \
573 REORDER := $(LIBAWT_HEADLESS_REORDER), \
574 LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \
575 LDFLAGS_SUFFIX_aix := -ljvm -lawt -ljava,\
576 LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \
577 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_headless, \
578 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
579
580 $(BUILD_LIBAWT_HEADLESS): $(BUILD_LIBAWT)
581
582 TARGETS += $(BUILD_LIBAWT_HEADLESS)
583
584 endif
585 endif
627 endif
628
629 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
630
631 # Turn off aliasing with GCC for ExtensionSubtables.cpp
632 ifeq ($(OPENJDK_TARGET_OS), linux)
633 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
634 endif
635
636 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
637 LIBRARY := fontmanager, \
638 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
639 SRC := $(LIBFONTMANAGER_SRC), \
640 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
641 AccelGlyphCache.c, \
642 LANG := C++, \
643 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
644 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
645 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
646 CFLAGS_windows = -DCC_NOEX, \
647 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
648 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
649 $(call SET_SHARED_LIBRARY_ORIGIN), \
650 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
651 LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \
652 LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \
653 LDFLAGS_SUFFIX_solaris := -lawt -lawt_headless -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \
654 LDFLAGS_SUFFIX_aix := -lawt -lawt_headless $(LIBM) $(LIBCXX) -ljava -ljvm,\
655 LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
656 -ljava -ljvm, \
657 LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
658 $(WIN_AWT_LIB), \
659 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
660 RC_FLAGS := $(RC_FLAGS) \
661 -D "JDK_FNAME=fontmanager.dll" \
662 -D "JDK_INTERNAL_NAME=fontmanager" \
663 -D "JDK_FTYPE=0x2L", \
664 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \
665 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
666
859 -framework ApplicationServices \
860 -framework Foundation \
861 -framework Cocoa \
862 -framework JavaNativeFoundation
863 else ifeq ($(OPENJDK_TARGET_OS), windows)
864 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
865 else
866 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
867 endif
868
869 $(eval $(call SetupNativeCompilation,BUILD_LIBSPLASHSCREEN, \
870 LIBRARY := splashscreen, \
871 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
872 SRC := $(LIBSPLASHSCREEN_DIRS), \
873 EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
874 EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
875 LANG := C, \
876 OPTIMIZATION := LOW, \
877 CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
878 $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS), \
879 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
880 LDFLAGS := $(LDFLAGS_JDKLIB) \
881 $(call SET_SHARED_LIBRARY_ORIGIN), \
882 LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
883 $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS) $(PNG_LIBS), \
884 LDFLAGS_SUFFIX_solaris := -lc, \
885 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
886 RC_FLAGS := $(RC_FLAGS) \
887 -D "JDK_FNAME=splashscreen.dll" \
888 -D "JDK_INTERNAL_NAME=splashscreen" \
889 -D "JDK_FTYPE=0x2L", \
890 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libsplashscreen, \
891 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
892
893 TARGETS += $(BUILD_LIBSPLASHSCREEN)
894
895 ifeq ($(OPENJDK_TARGET_OS), macosx)
896 $(BUILD_LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
897 endif
898
929 -I$(JDK_TOPDIR)/src/java.desktop/macosx/native/libosxapp \
930 $(LIBJAVA_HEADER_FLAGS) \
931 #
932
933 LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
934 LIBAWT_LWAWT_EXCLUDES := $(JDK_TOPDIR)/src/java.desktop/unix/native/common/awt/medialib
935
936 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT, \
937 LIBRARY := awt_lwawt, \
938 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
939 SRC := $(LIBAWT_LWAWT_DIRS), \
940 LANG := C, \
941 INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
942 EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
943 EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
944 OPTIMIZATION := LOW, \
945 CFLAGS := $(CFLAGS_JDKLIB) \
946 $(X_CFLAGS) \
947 $(X_LIBS) \
948 $(LIBAWT_LWAWT_CFLAGS), \
949 LDFLAGS := $(LDFLAGS_JDKLIB) \
950 $(call SET_SHARED_LIBRARY_ORIGIN) \
951 -L$(INSTALL_LIBRARIES_HERE), \
952 LDFLAGS_SUFFIX_macosx := -lawt -lmlib_image -losxapp -ljvm $(LIBM) \
953 -framework Accelerate \
954 -framework ApplicationServices \
955 -framework AudioToolbox \
956 -framework Carbon \
957 -framework Cocoa \
958 -framework Security \
959 -framework ExceptionHandling \
960 -framework JavaNativeFoundation \
961 -framework JavaRuntimeSupport \
962 -framework OpenGL \
963 -framework QuartzCore -ljava, \
964 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_lwawt, \
965 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
966
967 TARGETS += $(BUILD_LIBAWT_LWAWT)
968
|
1 #
2 # Copyright (c) 2011, 2015, 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
38
39 BUILD_LIBMLIB_CFLAGS += -DMLIB_NO_LIBSUNMATH
40
41 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
42 BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
43 endif
44
45 ifneq ($(OPENJDK_TARGET_OS), windows)
46 BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
47 endif
48
49 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE, \
50 LIBRARY := mlib_image, \
51 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
52 SRC := $(BUILD_LIBMLIB_SRC), \
53 EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
54 LANG := C, \
55 OPTIMIZATION := HIGHEST, \
56 CFLAGS := $(CFLAGS_JDKLIB) \
57 $(BUILD_LIBMLIB_CFLAGS), \
58 DISABLED_WARNINGS_gcc := parentheses, \
59 DISABLED_WARNINGS_clang := parentheses, \
60 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
61 MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
62 LDFLAGS := $(LDFLAGS_JDKLIB) \
63 $(call SET_SHARED_LIBRARY_ORIGIN), \
64 LDFLAGS_SUFFIX := $(BUILD_LIBMLIB_LDLIBS) \
65 $(LDFLAGS_JDKLIB_SUFFIX), \
66 LDFLAGS_SUFFIX_solaris := -lc, \
67 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
68 RC_FLAGS := $(RC_FLAGS) \
69 -D "JDK_FNAME=mlib_image.dll" \
70 -D "JDK_INTERNAL_NAME=mlib_image" \
71 -D "JDK_FTYPE=0x2L", \
72 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libmlib_image, \
73 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
74
75 $(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java)
76
77 TARGETS += $(BUILD_LIBMLIB_IMAGE)
78
79 ################################################################################
80
113 mlib_v_ImageChannelInsert_34.c \
114 mlib_v_ImageChannelInsert.c \
115 mlib_v_ImageConvIndex3_8_16nw.c \
116 mlib_v_ImageConvIndex3_8_8nw.c \
117 mlib_v_ImageCopy.c \
118 mlib_v_ImageCopy_blk.s \
119 #
120
121 LIBMLIB_IMAGE_V_CFLAGS += $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
122
123 $(eval $(call SetupNativeCompilation,BUILD_LIBMLIB_IMAGE_V, \
124 LIBRARY := mlib_image_v, \
125 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
126 SRC := $(LIBMLIB_IMAGE_V_SRC), \
127 LANG := C, \
128 EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \
129 OPTIMIZATION := HIGHEST, \
130 CFLAGS := -xarch=sparcvis \
131 $(LIBMLIB_IMAGE_V_CFLAGS) \
132 $(CFLAGS_JDKLIB), \
133 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
134 MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
135 LDFLAGS := $(LDFLAGS_JDKLIB) \
136 $(BUILD_LIBMLIB_LDLIBS) -ljava -ljvm \
137 $(call SET_SHARED_LIBRARY_ORIGIN), \
138 LDFLAGS_SUFFIX_solaris := -lc, \
139 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libmlib_image_v, \
140 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
141
142 $(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java)
143
144 TARGETS += $(BUILD_LIBMLIB_IMAGE_V)
145
146 endif
147
148 ################################################################################
149
150 LIBAWT_DIRS := $(JDK_TOPDIR)/src/java.desktop/share/native/libawt \
151 $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \
152 $(JDK_TOPDIR)/src/java.desktop/share/native/common/awt/debug \
153 $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
162 else
163 LIBAWT_EXFILES := java2d/ShaderList.c
164 endif
165
166 ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx aix), )
167 LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
168 endif
169
170 ifeq ($(OPENJDK_TARGET_OS), macosx)
171 LIBAWT_EXFILES += initIDs.c awt/image/cvutils/img_colors.c
172 endif
173
174 LIBAWT_CFLAGS += -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \
175 $(addprefix -I, $(shell find $(LIBAWT_DIRS) -type d)) \
176 $(LIBJAVA_HEADER_FLAGS) \
177 $(addprefix -I, $(BUILD_LIBMLIB_IMAGE_SRC)) \
178 #
179
180 LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS)
181
182 ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
183 LIBAWT_CFLAGS += -DMLIB_ADD_SUFF
184 LIBAWT_CFLAGS += -xarch=sparcvis
185
186 LIBAWT_CFLAGS += $(JDK_TOPDIR)/src/java.desktop/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il
187 LIBAWT_DIRS += $(JDK_TOPDIR)/src/java.desktop/share/native/common/awt/medialib
188 LIBAWT_EXFILES += java2d/loops/MapAccelFunc.c
189
190 ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
191 LIBAWT_ASFLAGS = -P -xarch=v9a
192 else
193 LIBAWT_ASFLAGS = -P -xarch=v8plusa
194 endif
195 else
196 LIBAWT_EXCLUDES += \
197 $(JDK_TOPDIR)/src/java.desktop/unix/native/libawt/awt/medialib \
198 $(JDK_TOPDIR)/src/java.desktop/unix/native/libawt/java2d/loops \
199 $(JDK_TOPDIR)/src/java.desktop/unix/native/common/awt/medialib \
200 #
201 endif
237 endif
238
239 ifeq ($(MILESTONE), internal)
240 LIBAWT_CFLAGS += -DINTERNAL_BUILD
241 endif
242
243 LIBAWT_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt/mapfile-vers
244 ifeq ($(OPENJDK_TARGET_OS), linux)
245 LIBAWT_MAPFILE :=
246 endif
247
248 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
249 LIBRARY := awt, \
250 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
251 SRC := $(LIBAWT_DIRS), \
252 EXCLUDES := $(LIBAWT_EXCLUDES), \
253 EXCLUDE_FILES := $(LIBAWT_EXFILES), \
254 LANG := $(LIBAWT_LANG), \
255 OPTIMIZATION := LOW, \
256 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
257 DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
258 format-nonliteral parentheses, \
259 DISABLED_WARNINGS_clang := logical-op-parentheses, \
260 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE, \
261 DISABLED_WARNINGS_microsoft := 4297 4244 4267, \
262 ASFLAGS := $(LIBAWT_ASFLAGS), \
263 MAPFILE := $(LIBAWT_MAPFILE), \
264 LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
265 LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \
266 LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \
267 LDFLAGS_SUFFIX_aix :=-ljvm $(LIBM) $(LIBDL) -ljava -lm,\
268 LDFLAGS_SUFFIX_macosx := -L$(INSTALL_LIBRARIES_HERE) \
269 -lmlib_image -ljvm $(LIBM) \
270 -framework Cocoa \
271 -framework OpenGL \
272 -framework JavaNativeFoundation \
273 -framework JavaRuntimeSupport \
274 -framework ApplicationServices \
275 -framework AudioToolbox \
276 -ljava, \
277 LDFLAGS_SUFFIX_windows := kernel32.lib user32.lib gdi32.lib winspool.lib \
278 imm32.lib ole32.lib uuid.lib shell32.lib \
279 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
280 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
281 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
350 ifeq ($(MILESTONE), internal)
351 LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
352 endif
353
354 LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
355
356 ifeq ($(OPENJDK_TARGET_OS), linux)
357 # To match old build, add this to LDFLAGS instead of suffix.
358 LIBAWT_XAWT_LDFLAGS += -lpthread
359 endif
360
361 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
362 LIBRARY := awt_xawt, \
363 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
364 SRC := $(LIBAWT_XAWT_DIRS), \
365 EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
366 LANG := C, \
367 OPTIMIZATION := LOW, \
368 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
369 $(X_CFLAGS), \
370 DISABLED_WARNINGS_gcc := type-limits pointer-to-int-cast \
371 deprecated-declarations unused-result maybe-uninitialized format \
372 format-security int-to-pointer-cast parentheses, \
373 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE \
374 E_ASSIGNMENT_TYPE_MISMATCH E_NON_CONST_INIT, \
375 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
376 LDFLAGS := $(LDFLAGS_JDKLIB) \
377 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS) \
378 $(call SET_SHARED_LIBRARY_ORIGIN) \
379 $(call SET_SHARED_LIBRARY_ORIGIN,/..) \
380 -L$(INSTALL_LIBRARIES_HERE), \
381 LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \
382 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
383 RC_FLAGS := $(RC_FLAGS) \
384 -D "JDK_FNAME=xawt.dll" \
385 -D "JDK_INTERNAL_NAME=xawt" \
386 -D "JDK_FTYPE=0x2L", \
387 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_xawt, \
388 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
389
390 $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
391
392 $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
393
394 TARGETS += $(BUILD_LIBAWT_XAWT)
411 BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c
412 else
413 BUILD_LIBLCMS_INCLUDE_FILES :=
414 # If we're using the bundled library, we'll need to include it in the
415 # include path explicitly. Otherwise the system headers will be used.
416 LIBLCMS_CPPFLAGS += $(addprefix -I, $(LIBLCMS_SRC))
417 endif
418
419 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
420 LIBRARY := lcms, \
421 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
422 SRC := $(LIBLCMS_SRC), \
423 INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
424 LANG := C, \
425 OPTIMIZATION := HIGHEST, \
426 CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
427 $(SHARED_LIBRARY_FLAGS) $(LIBLCMS_CPPFLAGS) \
428 $(LCMS_CFLAGS), \
429 CFLAGS_solaris := -xc99=no_lib, \
430 CFLAGS_windows := -DCMS_IS_WINDOWS_, \
431 DISABLED_WARNINGS_gcc := format-nonliteral, \
432 DISABLED_WARNINGS_clang := tautological-compare, \
433 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
434 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \
435 LDFLAGS := $(LDFLAGS_JDKLIB) \
436 $(call SET_SHARED_LIBRARY_ORIGIN), \
437 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
438 LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \
439 LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
440 LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc $(LCMS_LIBS), \
441 LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm $(LCMS_LIBS), \
442 LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm $(LCMS_LIBS), \
443 LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm $(LCMS_LIBS),\
444 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
445 RC_FLAGS := $(RC_FLAGS) \
446 -D "JDK_FNAME=lcms.dll" \
447 -D "JDK_INTERNAL_NAME=lcms" \
448 -D "JDK_FTYPE=0x2L", \
449 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/liblcms, \
450 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
451
452 TARGETS += $(BUILD_LIBLCMS)
453
492 BUILD_LIBJAVAJPEG_INCLUDE_FILES := \
493 imageIOJPEG.c \
494 jpegdecoder.c
495 BUILD_LIBJAVAJPEG_HEADERS :=
496 else
497 LIBJPEG_LIBS :=
498 BUILD_LIBJAVAJPEG_INCLUDE_FILES :=
499 BUILD_LIBJAVAJPEG_HEADERS := $(addprefix -I, $(LIBJAVAJPEG_SRC))
500 endif
501
502 $(eval $(call SetupNativeCompilation,BUILD_LIBJAVAJPEG, \
503 LIBRARY := javajpeg, \
504 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
505 SRC := $(LIBJAVAJPEG_SRC), \
506 INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
507 LANG := C, \
508 OPTIMIZATION := HIGHEST, \
509 CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBJAVAJPEG_SRC)) \
510 $(LIBJAVA_HEADER_FLAGS) \
511 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop, \
512 DISABLED_WARNINGS_gcc := clobbered parentheses, \
513 DISABLED_WARNINGS_clang := logical-op-parentheses, \
514 DISABLED_WARNINGS_microsoft := 4267, \
515 MAPFILE := $(BUILD_LIBJAVAJPEG_MAPFILE), \
516 LDFLAGS := $(LDFLAGS_JDKLIB) $(LIBJPEG_LIBS) \
517 $(call SET_SHARED_LIBRARY_ORIGIN), \
518 LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
519 LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
520 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
521 RC_FLAGS := $(RC_FLAGS) \
522 -D "JDK_FNAME=javajpeg.dll" \
523 -D "JDK_INTERNAL_NAME=javajpeg" \
524 -D "JDK_FTYPE=0x2L", \
525 REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
526 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjavajpeg, \
527 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
528
529 $(BUILD_LIBJAVAJPEG): $(call FindLib, java.base, java)
530
531 TARGETS += $(BUILD_LIBJAVAJPEG)
532
533 ################################################################################
534
563 LIBAWT_HEADLESS_REORDER :=
564 ifeq ($(OPENJDK_TARGET_OS), solaris)
565 ifneq ($(OPENJDK_TARGET_CPU), x86_64)
566 LIBAWT_HEADLESS_REORDER := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/reorder-$(OPENJDK_TARGET_CPU)
567 endif
568 endif
569
570 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_HEADLESS, \
571 LIBRARY := awt_headless, \
572 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
573 SRC := $(LIBAWT_HEADLESS_DIRS), \
574 EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
575 LANG := C, \
576 OPTIMIZATION := LOW, \
577 CFLAGS := $(CFLAGS_JDKLIB) \
578 -DHEADLESS=true \
579 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
580 $(CUPS_CFLAGS) \
581 $(X_CFLAGS) \
582 $(LIBAWT_HEADLESS_CFLAGS), \
583 DISABLED_WARNINGS_gcc := maybe-uninitialized int-to-pointer-cast, \
584 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE \
585 E_EMPTY_TRANSLATION_UNIT, \
586 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/mapfile-vers, \
587 LDFLAGS := $(LDFLAGS_JDKLIB) \
588 $(call SET_SHARED_LIBRARY_ORIGIN), \
589 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
590 LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
591 LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
592 LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN)., \
593 REORDER := $(LIBAWT_HEADLESS_REORDER), \
594 LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \
595 LDFLAGS_SUFFIX_aix := -ljvm -lawt -ljava,\
596 LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \
597 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_headless, \
598 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
599
600 $(BUILD_LIBAWT_HEADLESS): $(BUILD_LIBAWT)
601
602 TARGETS += $(BUILD_LIBAWT_HEADLESS)
603
604 endif
605 endif
647 endif
648
649 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
650
651 # Turn off aliasing with GCC for ExtensionSubtables.cpp
652 ifeq ($(OPENJDK_TARGET_OS), linux)
653 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
654 endif
655
656 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
657 LIBRARY := fontmanager, \
658 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
659 SRC := $(LIBFONTMANAGER_SRC), \
660 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
661 AccelGlyphCache.c, \
662 LANG := C++, \
663 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
664 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
665 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
666 CFLAGS_windows = -DCC_NOEX, \
667 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast reorder \
668 delete-non-virtual-dtor, \
669 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types, \
670 DISABLED_WARNINGS_solstudio := truncwarn, \
671 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090, \
672 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
673 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
674 $(call SET_SHARED_LIBRARY_ORIGIN), \
675 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
676 LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \
677 LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \
678 LDFLAGS_SUFFIX_solaris := -lawt -lawt_headless -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \
679 LDFLAGS_SUFFIX_aix := -lawt -lawt_headless $(LIBM) $(LIBCXX) -ljava -ljvm,\
680 LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
681 -ljava -ljvm, \
682 LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
683 $(WIN_AWT_LIB), \
684 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
685 RC_FLAGS := $(RC_FLAGS) \
686 -D "JDK_FNAME=fontmanager.dll" \
687 -D "JDK_INTERNAL_NAME=fontmanager" \
688 -D "JDK_FTYPE=0x2L", \
689 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \
690 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
691
884 -framework ApplicationServices \
885 -framework Foundation \
886 -framework Cocoa \
887 -framework JavaNativeFoundation
888 else ifeq ($(OPENJDK_TARGET_OS), windows)
889 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
890 else
891 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
892 endif
893
894 $(eval $(call SetupNativeCompilation,BUILD_LIBSPLASHSCREEN, \
895 LIBRARY := splashscreen, \
896 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
897 SRC := $(LIBSPLASHSCREEN_DIRS), \
898 EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
899 EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
900 LANG := C, \
901 OPTIMIZATION := LOW, \
902 CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
903 $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS), \
904 DISABLED_WARNINGS_gcc := type-limits unused-result maybe-uninitialized, \
905 DISABLED_WARNINGS_clang := incompatible-pointer-types, \
906 DISABLED_WARNINGS_solstudio := E_NEWLINE_NOT_LAST, \
907 DISABLED_WARNINGS_microsoft := 4244 4267, \
908 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
909 LDFLAGS := $(LDFLAGS_JDKLIB) \
910 $(call SET_SHARED_LIBRARY_ORIGIN), \
911 LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
912 $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS) $(PNG_LIBS), \
913 LDFLAGS_SUFFIX_solaris := -lc, \
914 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
915 RC_FLAGS := $(RC_FLAGS) \
916 -D "JDK_FNAME=splashscreen.dll" \
917 -D "JDK_INTERNAL_NAME=splashscreen" \
918 -D "JDK_FTYPE=0x2L", \
919 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libsplashscreen, \
920 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
921
922 TARGETS += $(BUILD_LIBSPLASHSCREEN)
923
924 ifeq ($(OPENJDK_TARGET_OS), macosx)
925 $(BUILD_LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
926 endif
927
958 -I$(JDK_TOPDIR)/src/java.desktop/macosx/native/libosxapp \
959 $(LIBJAVA_HEADER_FLAGS) \
960 #
961
962 LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
963 LIBAWT_LWAWT_EXCLUDES := $(JDK_TOPDIR)/src/java.desktop/unix/native/common/awt/medialib
964
965 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT, \
966 LIBRARY := awt_lwawt, \
967 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
968 SRC := $(LIBAWT_LWAWT_DIRS), \
969 LANG := C, \
970 INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
971 EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
972 EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
973 OPTIMIZATION := LOW, \
974 CFLAGS := $(CFLAGS_JDKLIB) \
975 $(X_CFLAGS) \
976 $(X_LIBS) \
977 $(LIBAWT_LWAWT_CFLAGS), \
978 DISABLED_WARNINGS_clang := incomplete-implementation \
979 deprecated-declarations objc-method-access bitwise-op-parentheses \
980 incompatible-pointer-types parentheses-equality extra-tokens, \
981 LDFLAGS := $(LDFLAGS_JDKLIB) \
982 $(call SET_SHARED_LIBRARY_ORIGIN) \
983 -L$(INSTALL_LIBRARIES_HERE), \
984 LDFLAGS_SUFFIX_macosx := -lawt -lmlib_image -losxapp -ljvm $(LIBM) \
985 -framework Accelerate \
986 -framework ApplicationServices \
987 -framework AudioToolbox \
988 -framework Carbon \
989 -framework Cocoa \
990 -framework Security \
991 -framework ExceptionHandling \
992 -framework JavaNativeFoundation \
993 -framework JavaRuntimeSupport \
994 -framework OpenGL \
995 -framework QuartzCore -ljava, \
996 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_lwawt, \
997 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
998
999 TARGETS += $(BUILD_LIBAWT_LWAWT)
1000
|