218 #
219
220 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
221 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
222 LIBAWT_CFLAGS += -DMLIB_OS64BIT
223 endif
224
225 ifdef OPENJDK
226 LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/java.base/windows/native/launcher/icons"
227 else
228 LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/java.base/windows/native/launcher/icons"
229 endif
230 LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/java.desktop/windows/native/libawt/windows/awt.rc
231 endif
232
233 LIBAWT_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt/mapfile-vers
234 ifeq ($(OPENJDK_TARGET_OS), linux)
235 LIBAWT_MAPFILE :=
236 endif
237
238 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
239 LIBRARY := awt, \
240 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
241 SRC := $(LIBAWT_DIRS), \
242 EXCLUDES := $(LIBAWT_EXCLUDES), \
243 EXCLUDE_FILES := $(LIBAWT_EXFILES), \
244 OPTIMIZATION := LOW, \
245 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
246 DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
247 format-nonliteral parentheses, \
248 DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
249 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE, \
250 DISABLED_WARNINGS_microsoft := 4297 4244 4267 4996, \
251 WARNINGS_AS_ERRORS_gcc := false, \
252 ASFLAGS := $(LIBAWT_ASFLAGS), \
253 MAPFILE := $(LIBAWT_MAPFILE), \
254 LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
255 LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
256 LDFLAGS_windows := -delayload:user32.dll -delayload:gdi32.dll \
257 -delayload:shell32.dll -delayload:winmm.dll \
258 -delayload:winspool.drv -delayload:imm32.dll \
259 -delayload:ole32.dll -delayload:comdlg32.dll \
260 -delayload:comctl32.dll -delayload:shlwapi.dll, \
261 LIBS_unix := -ljvm -ljava $(LIBM), \
262 LIBS_linux := $(LIBDL), \
263 LIBS_solaris := $(LIBDL) -lc, \
264 LIBS_aix := $(LIBDL),\
265 LIBS_macosx := -lmlib_image \
266 -framework Cocoa \
267 -framework OpenGL \
268 -framework JavaNativeFoundation \
269 -framework JavaRuntimeSupport \
270 -framework ApplicationServices \
271 -framework AudioToolbox, \
326 LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \
327 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
328 $(CUPS_CFLAGS)
329
330 ifeq ($(OPENJDK_TARGET_OS), solaris)
331 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
332 endif
333
334 ifeq ($(OPENJDK_TARGET_OS), linux)
335 ifeq ($(DISABLE_XRENDER), true)
336 LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
337 endif
338 endif
339
340 LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
341
342 ifeq ($(OPENJDK_TARGET_OS), linux)
343 LIBAWT_XAWT_LIBS += -lpthread
344 endif
345
346 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
347 LIBRARY := awt_xawt, \
348 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
349 SRC := $(LIBAWT_XAWT_DIRS), \
350 EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
351 OPTIMIZATION := LOW, \
352 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
353 $(X_CFLAGS), \
354 DISABLED_WARNINGS_gcc := type-limits pointer-to-int-cast \
355 deprecated-declarations unused-result maybe-uninitialized format \
356 format-security int-to-pointer-cast parentheses, \
357 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE \
358 E_ASSIGNMENT_TYPE_MISMATCH E_NON_CONST_INIT, \
359 WARNINGS_AS_ERRORS_gcc := false, \
360 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
361 LDFLAGS := $(LDFLAGS_JDKLIB) \
362 $(call SET_SHARED_LIBRARY_ORIGIN) \
363 $(call SET_SHARED_LIBRARY_ORIGIN,/..) \
364 -L$(INSTALL_LIBRARIES_HERE), \
365 LIBS := $(X_LIBS) $(LIBAWT_XAWT_LIBS), \
366 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
367 RC_FLAGS := $(RC_FLAGS) \
368 -D "JDK_FNAME=xawt.dll" \
369 -D "JDK_INTERNAL_NAME=xawt" \
370 -D "JDK_FTYPE=0x2L", \
371 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_xawt, \
372 ))
373
374 $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
375
376 $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
377
378 TARGETS += $(BUILD_LIBAWT_XAWT)
379
641
642 LIBFONTMANAGER_OPTIMIZATION := HIGH
643
644 ifeq ($(OPENJDK_TARGET_OS), windows)
645 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
646 X11TextRenderer.c
647 LIBFONTMANAGER_OPTIMIZATION := HIGHEST
648 LIBFONTMANAGER_CFLAGS += -I$(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows
649 else ifeq ($(OPENJDK_TARGET_OS), macosx)
650 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
651 X11TextRenderer.c \
652 fontpath.c \
653 lcdglyph.c
654 else
655 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
656 lcdglyph.c
657 endif
658
659 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
660
661 # Turn off aliasing with GCC for ExtensionSubtables.cpp
662 ifeq ($(OPENJDK_TARGET_OS), linux)
663 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
664 endif
665
666 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
667 LIBRARY := fontmanager, \
668 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
669 SRC := $(LIBFONTMANAGER_SRC), \
670 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
671 AccelGlyphCache.c, \
672 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
673 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
674 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
675 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
676 CFLAGS_windows = -DCC_NOEX, \
677 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast reorder \
678 delete-non-virtual-dtor type-limits missing-field-initializers, \
679 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
680 tautological-constant-out-of-range-compare int-to-pointer-cast, \
681 DISABLED_WARNINGS_solstudio := truncwarn, \
682 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334, \
683 WARNINGS_AS_ERRORS_gcc := false, \
684 WARNINGS_AS_ERRORS_solstudio := false, \
685 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
686 LDFLAGS := $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
687 $(call SET_SHARED_LIBRARY_ORIGIN), \
688 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
689 LDFLAGS_macosx := -undefined dynamic_lookup, \
690 LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
691 LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
692 LIBS_linux := -lc, \
693 LIBS_solaris := -lawt_headless -lc, \
694 LIBS_aix := -lawt_headless,\
695 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
696 $(WIN_AWT_LIB), \
697 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
698 RC_FLAGS := $(RC_FLAGS) \
699 -D "JDK_FNAME=fontmanager.dll" \
700 -D "JDK_INTERNAL_NAME=fontmanager" \
701 -D "JDK_FTYPE=0x2L", \
702 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \
703 ))
704
|
218 #
219
220 LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
221 ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
222 LIBAWT_CFLAGS += -DMLIB_OS64BIT
223 endif
224
225 ifdef OPENJDK
226 LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/java.base/windows/native/launcher/icons"
227 else
228 LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/java.base/windows/native/launcher/icons"
229 endif
230 LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/java.desktop/windows/native/libawt/windows/awt.rc
231 endif
232
233 LIBAWT_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt/mapfile-vers
234 ifeq ($(OPENJDK_TARGET_OS), linux)
235 LIBAWT_MAPFILE :=
236 endif
237
238 # Turn off all warnings for debug_mem.c This is needed because the specific warning
239 # about initializing a declared 'extern' cannot be turned off individually. Only
240 # applies to debug builds.
241 ifeq ($(TOOLCHAIN_TYPE), gcc)
242 BUILD_LIBAWT_debug_mem.c_CFLAGS := -w
243 endif
244
245 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
246 LIBRARY := awt, \
247 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
248 SRC := $(LIBAWT_DIRS), \
249 EXCLUDES := $(LIBAWT_EXCLUDES), \
250 EXCLUDE_FILES := $(LIBAWT_EXFILES), \
251 OPTIMIZATION := LOW, \
252 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
253 DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
254 format-nonliteral parentheses, \
255 DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
256 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE, \
257 DISABLED_WARNINGS_microsoft := 4297 4244 4267 4996, \
258 ASFLAGS := $(LIBAWT_ASFLAGS), \
259 MAPFILE := $(LIBAWT_MAPFILE), \
260 LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
261 LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
262 LDFLAGS_windows := -delayload:user32.dll -delayload:gdi32.dll \
263 -delayload:shell32.dll -delayload:winmm.dll \
264 -delayload:winspool.drv -delayload:imm32.dll \
265 -delayload:ole32.dll -delayload:comdlg32.dll \
266 -delayload:comctl32.dll -delayload:shlwapi.dll, \
267 LIBS_unix := -ljvm -ljava $(LIBM), \
268 LIBS_linux := $(LIBDL), \
269 LIBS_solaris := $(LIBDL) -lc, \
270 LIBS_aix := $(LIBDL),\
271 LIBS_macosx := -lmlib_image \
272 -framework Cocoa \
273 -framework OpenGL \
274 -framework JavaNativeFoundation \
275 -framework JavaRuntimeSupport \
276 -framework ApplicationServices \
277 -framework AudioToolbox, \
332 LIBAWT_XAWT_CFLAGS += -DXAWT -DXAWT_HACK \
333 -DPACKAGE_PATH=\"$(PACKAGE_PATH)\" \
334 $(CUPS_CFLAGS)
335
336 ifeq ($(OPENJDK_TARGET_OS), solaris)
337 LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
338 endif
339
340 ifeq ($(OPENJDK_TARGET_OS), linux)
341 ifeq ($(DISABLE_XRENDER), true)
342 LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
343 endif
344 endif
345
346 LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
347
348 ifeq ($(OPENJDK_TARGET_OS), linux)
349 LIBAWT_XAWT_LIBS += -lpthread
350 endif
351
352 ifeq ($(TOOLCHAIN_TYPE), gcc)
353 # Turn off all warnings for the following files since they contain warnings
354 # that cannot be turned of individually.
355 # redefining a macro
356 BUILD_LIBAWT_XAWT_gtk2_interface.c_CFLAGS := -w
357 # comparison between pointer and integer
358 BUILD_LIBAWT_XAWT_awt_Font.c_CFLAGS := -w
359 # initializing a declared 'extern'
360 BUILD_LIBAWT_XAWT_debug_mem.c_CFLAGS := -w
361 # decimal constant is unsigned only in ISO C90 (JAVASE_EMBEDDED)
362 BUILD_LIBAWT_XAWT_XToolkit.c_CFLAGS := -w
363 endif
364
365 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
366 LIBRARY := awt_xawt, \
367 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
368 SRC := $(LIBAWT_XAWT_DIRS), \
369 EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
370 OPTIMIZATION := LOW, \
371 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
372 $(X_CFLAGS), \
373 DISABLED_WARNINGS_gcc := type-limits pointer-to-int-cast \
374 deprecated-declarations unused-result maybe-uninitialized format \
375 format-security int-to-pointer-cast parentheses, \
376 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE \
377 E_ASSIGNMENT_TYPE_MISMATCH E_NON_CONST_INIT, \
378 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
379 LDFLAGS := $(LDFLAGS_JDKLIB) \
380 $(call SET_SHARED_LIBRARY_ORIGIN) \
381 $(call SET_SHARED_LIBRARY_ORIGIN,/..) \
382 -L$(INSTALL_LIBRARIES_HERE), \
383 LIBS := $(X_LIBS) $(LIBAWT_XAWT_LIBS), \
384 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
385 RC_FLAGS := $(RC_FLAGS) \
386 -D "JDK_FNAME=xawt.dll" \
387 -D "JDK_INTERNAL_NAME=xawt" \
388 -D "JDK_FTYPE=0x2L", \
389 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_xawt, \
390 ))
391
392 $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
393
394 $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
395
396 TARGETS += $(BUILD_LIBAWT_XAWT)
397
659
660 LIBFONTMANAGER_OPTIMIZATION := HIGH
661
662 ifeq ($(OPENJDK_TARGET_OS), windows)
663 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
664 X11TextRenderer.c
665 LIBFONTMANAGER_OPTIMIZATION := HIGHEST
666 LIBFONTMANAGER_CFLAGS += -I$(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows
667 else ifeq ($(OPENJDK_TARGET_OS), macosx)
668 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
669 X11TextRenderer.c \
670 fontpath.c \
671 lcdglyph.c
672 else
673 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
674 lcdglyph.c
675 endif
676
677 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
678
679 # Turn off all warnings for sunFont.c. This is needed because the specific warning
680 # about discarding 'const' qualifier cannot be turned off individually.
681 ifeq ($(TOOLCHAIN_TYPE), gcc)
682 BUILD_LIBFONTMANAGER_sunFont.c_CFLAGS := -w
683 endif
684
685 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
686 LIBRARY := fontmanager, \
687 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
688 SRC := $(LIBFONTMANAGER_SRC), \
689 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
690 AccelGlyphCache.c, \
691 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
692 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
693 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
694 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
695 CFLAGS_windows = -DCC_NOEX, \
696 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \
697 type-limits missing-field-initializers, \
698 DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
699 strict-aliasing maybe-uninitialized, \
700 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
701 tautological-constant-out-of-range-compare int-to-pointer-cast, \
702 DISABLED_WARNINGS_C_solstudio = \
703 E_INTEGER_OVERFLOW_DETECTED \
704 E_ARG_INCOMPATIBLE_WITH_ARG_L \
705 E_ENUM_VAL_OVERFLOWS_INT_MAX, \
706 DISABLED_WARNINGS_CXX_solstudio := \
707 truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
708 hidevf w_novirtualdescr arrowrtn2, \
709 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334, \
710 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
711 LDFLAGS := $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
712 $(call SET_SHARED_LIBRARY_ORIGIN), \
713 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
714 LDFLAGS_macosx := -undefined dynamic_lookup, \
715 LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
716 LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
717 LIBS_linux := -lc, \
718 LIBS_solaris := -lawt_headless -lc, \
719 LIBS_aix := -lawt_headless,\
720 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
721 $(WIN_AWT_LIB), \
722 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
723 RC_FLAGS := $(RC_FLAGS) \
724 -D "JDK_FNAME=fontmanager.dll" \
725 -D "JDK_INTERNAL_NAME=fontmanager" \
726 -D "JDK_FTYPE=0x2L", \
727 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \
728 ))
729
|