Skip to content

Commit 771e160

Browse files
committed
8351323: Parameterize compiler and linker flags for iconv
Reviewed-by: ihse, erikj
1 parent 0ff1c08 commit 771e160

File tree

5 files changed

+33
-10
lines changed

5 files changed

+33
-10
lines changed

make/autoconf/libraries.m4

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,20 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
205205
fi
206206
AC_SUBST(LIBPTHREAD)
207207
208+
# Setup libiconv flags and library
209+
if test "x$OPENJDK_TARGET_OS" == "xaix" || test "x$OPENJDK_TARGET_OS" == "xmacosx"; then
210+
ICONV_CFLAGS=
211+
ICONV_LDFLAGS=
212+
ICONV_LIBS=-liconv
213+
else
214+
ICONV_CFLAGS=
215+
ICONV_LDFLAGS=
216+
ICONV_LIBS=
217+
fi
218+
AC_SUBST(ICONV_CFLAGS)
219+
AC_SUBST(ICONV_LDFLAGS)
220+
AC_SUBST(ICONV_LIBS)
221+
208222
# Control if libzip can use mmap. Available for purposes of overriding.
209223
LIBZIP_CAN_USE_MMAP=true
210224
AC_SUBST(LIBZIP_CAN_USE_MMAP)

make/autoconf/spec.gmk.template

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,9 @@ LIBFFI_LIBS := @LIBFFI_LIBS@
427427
LIBFFI_CFLAGS := @LIBFFI_CFLAGS@
428428
ENABLE_LIBFFI_BUNDLING := @ENABLE_LIBFFI_BUNDLING@
429429
LIBFFI_LIB_FILE := @LIBFFI_LIB_FILE@
430+
ICONV_CFLAGS := @ICONV_CFLAGS@
431+
ICONV_LDFLAGS := @ICONV_LDFLAGS@
432+
ICONV_LIBS := @ICONV_LIBS@
430433
FILE_MACRO_CFLAGS := @FILE_MACRO_CFLAGS@
431434
REPRODUCIBLE_CFLAGS := @REPRODUCIBLE_CFLAGS@
432435

make/modules/java.desktop/lib/ClientLibraries.gmk

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,11 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
228228
EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
229229
OPTIMIZATION := SIZE, \
230230
CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) \
231-
$(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
231+
$(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS) \
232+
$(ICONV_CFLAGS), \
232233
CXXFLAGS := $(LIBSPLASHSCREEN_CFLAGS) \
233-
$(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS), \
234+
$(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS) \
235+
$(ICONV_CFLAGS), \
234236
EXTRA_HEADER_DIRS := $(LIBSPLASHSCREEN_HEADER_DIRS), \
235237
DISABLED_WARNINGS_gcc_dgif_lib.c := sign-compare, \
236238
DISABLED_WARNINGS_gcc_jcmaster.c := implicit-fallthrough, \
@@ -256,19 +258,20 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
256258
DISABLED_WARNINGS_microsoft_splashscreen_impl.c := 4018 4267 4244, \
257259
DISABLED_WARNINGS_microsoft_splashscreen_png.c := 4267, \
258260
DISABLED_WARNINGS_microsoft_splashscreen_sys.c := 4267 4244, \
261+
LDFLAGS := $(ICONV_LDFLAGS), \
259262
LDFLAGS_windows := -delayload:user32.dll, \
260263
JDK_LIBS_windows := java.base:libjava, \
261264
JDK_LIBS_macosx := libosxapp, \
262-
LIBS := $(GIFLIB_LIBS) $(LIBJPEG_LIBS) $(LIBZ_LIBS) $(PNG_LIBS), \
265+
LIBS := $(GIFLIB_LIBS) $(LIBJPEG_LIBS) $(LIBZ_LIBS) $(PNG_LIBS) $(ICONV_LIBS), \
263266
LIBS_unix := $(LIBM) $(LIBPTHREAD), \
264267
LIBS_linux := $(LIBDL) $(X_LIBS) -lX11 -lXext, \
265-
LIBS_macosx := -liconv \
268+
LIBS_macosx := \
266269
-framework ApplicationServices \
267270
-framework Cocoa \
268271
-framework Foundation \
269272
-framework Metal \
270273
-framework Security, \
271-
LIBS_aix := $(LIBDL) -liconv $(X_LIBS) -lX11 -lXext, \
274+
LIBS_aix := $(LIBDL) $(X_LIBS) -lX11 -lXext, \
272275
LIBS_windows := delayimp.lib gdi32.lib kernel32.lib user32.lib, \
273276
STATIC_LIB_EXCLUDE_OBJS := $(LIBSPLASHSCREEN_STATIC_LIB_EXCLUDE_OBJS), \
274277
))

make/modules/java.instrument/Lib.gmk

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,17 @@ include LibCommon.gmk
3535
$(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \
3636
NAME := instrument, \
3737
OPTIMIZATION := LOW, \
38+
CFLAGS := $(ICONV_CFLAGS), \
3839
CFLAGS_windows := -Dstrcasecmp=stricmp, \
3940
CFLAGS_debug := -DJPLIS_LOGGING, \
4041
CFLAGS_release := -DNO_JPLIS_LOGGING, \
42+
LDFLAGS := $(ICONV_LDFLAGS), \
4143
JDK_LIBS := java.base:libjava java.base:libjli java.base:libjvm, \
44+
LIBS := $(ICONV_LIBS), \
4245
LIBS_unix := $(LIBZ_LIBS), \
4346
LIBS_linux := $(LIBDL), \
44-
LIBS_aix := $(LIBDL) -liconv, \
45-
LIBS_macosx := -liconv \
47+
LIBS_aix := $(LIBDL), \
48+
LIBS_macosx := \
4649
-framework ApplicationServices \
4750
-framework Cocoa \
4851
-framework Security, \

make/modules/jdk.jdwp.agent/Lib.gmk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ TARGETS += $(BUILD_LIBDT_SOCKET)
5353
$(eval $(call SetupJdkLibrary, BUILD_LIBJDWP, \
5454
NAME := jdwp, \
5555
OPTIMIZATION := LOW, \
56-
CFLAGS := -DJDWP_LOGGING, \
56+
CFLAGS := -DJDWP_LOGGING $(ICONV_CFLAGS), \
5757
DISABLED_WARNINGS_gcc_eventFilter.c := unused-variable, \
5858
DISABLED_WARNINGS_gcc_SDE.c := unused-function, \
5959
DISABLED_WARNINGS_gcc_threadControl.c := unused-but-set-variable \
@@ -68,14 +68,14 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJDWP, \
6868
DISABLED_WARNINGS_clang_threadControl.c := unused-but-set-variable \
6969
unused-variable, \
7070
DISABLED_WARNINGS_clang_utf_util.c := unused-but-set-variable, \
71+
LDFLAGS := $(ICONV_LDFLAGS), \
7172
EXTRA_HEADER_DIRS := \
7273
include \
7374
libjdwp/export \
7475
java.base:libjava, \
7576
JDK_LIBS := java.base:libjvm, \
77+
LIBS := $(ICONV_LIBS), \
7678
LIBS_linux := $(LIBDL), \
77-
LIBS_macosx := -liconv, \
78-
LIBS_aix := -liconv, \
7979
))
8080

8181
TARGETS += $(BUILD_LIBJDWP)

0 commit comments

Comments
 (0)