8351322: Parameterize link option for pthreads

Reviewed-by: erikj, ihse, dholmes
This commit is contained in:
Harald Eilertsen 2025-03-11 15:11:10 +00:00
parent af9af7e90f
commit b957e5ed1a
9 changed files with 660 additions and 651 deletions

View file

@ -139,7 +139,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
# Threading library # Threading library
if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xaix; then if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xaix; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lpthread" BASIC_JVM_LIBS="$BASIC_JVM_LIBS $LIBPTHREAD"
fi fi
# librt for legacy clock_gettime # librt for legacy clock_gettime
@ -197,6 +197,14 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
AC_SUBST(LIBDL) AC_SUBST(LIBDL)
LIBS="$save_LIBS" LIBS="$save_LIBS"
# Setup posix pthread support
if test "x$OPENJDK_TARGET_OS" != "xwindows"; then
LIBPTHREAD="-lpthread"
else
LIBPTHREAD=""
fi
AC_SUBST(LIBPTHREAD)
# Control if libzip can use mmap. Available for purposes of overriding. # Control if libzip can use mmap. Available for purposes of overriding.
LIBZIP_CAN_USE_MMAP=true LIBZIP_CAN_USE_MMAP=true
AC_SUBST(LIBZIP_CAN_USE_MMAP) AC_SUBST(LIBZIP_CAN_USE_MMAP)

View file

@ -144,6 +144,7 @@ endif
LIBM := @LIBM@ LIBM := @LIBM@
LIBDL := @LIBDL@ LIBDL := @LIBDL@
LIBPTHREAD := @LIBPTHREAD@
WINENV_ROOT := @WINENV_ROOT@ WINENV_ROOT := @WINENV_ROOT@
WINENV_PREFIX := @WINENV_PREFIX@ WINENV_PREFIX := @WINENV_PREFIX@

View file

@ -81,7 +81,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBNIO, \
DISABLED_WARNINGS_clang_Net.c := unused-function unused-variable, \ DISABLED_WARNINGS_clang_Net.c := unused-function unused-variable, \
DISABLED_WARNINGS_clang_UnixNativeDispatcher.c := unused-variable, \ DISABLED_WARNINGS_clang_UnixNativeDispatcher.c := unused-variable, \
JDK_LIBS := libjava libnet, \ JDK_LIBS := libjava libnet, \
LIBS_linux := $(LIBDL) -lpthread, \ LIBS_linux := $(LIBDL) $(LIBPTHREAD), \
LIBS_aix := $(LIBDL), \ LIBS_aix := $(LIBDL), \
LIBS_macosx := \ LIBS_macosx := \
-framework CoreFoundation \ -framework CoreFoundation \

View file

@ -187,7 +187,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
unused-function, \ unused-function, \
DISABLED_WARNINGS_clang_java_md_macosx.m := unused-variable, \ DISABLED_WARNINGS_clang_java_md_macosx.m := unused-variable, \
LIBS_unix := $(LIBZ_LIBS), \ LIBS_unix := $(LIBZ_LIBS), \
LIBS_linux := $(LIBDL) -lpthread, \ LIBS_linux := $(LIBDL) $(LIBPTHREAD), \
LIBS_macosx := \ LIBS_macosx := \
-framework ApplicationServices \ -framework ApplicationServices \
-framework Cocoa \ -framework Cocoa \

View file

@ -285,7 +285,7 @@ ifeq ($(call isTargetOs, windows macosx)+$(ENABLE_HEADLESS_ONLY), false+false)
JDK_LIBS := libawt java.base:libjava, \ JDK_LIBS := libawt java.base:libjava, \
LIBS_unix := $(LIBDL) $(LIBM) $(X_LIBS) -lX11 -lXext -lXi -lXrender \ LIBS_unix := $(LIBDL) $(LIBM) $(X_LIBS) -lX11 -lXext -lXi -lXrender \
-lXtst, \ -lXtst, \
LIBS_linux := -lpthread, \ LIBS_linux := $(LIBPTHREAD), \
STATIC_LIB_EXCLUDE_OBJS := $(LIBAWT_XAWT_STATIC_EXCLUDE_OBJS), \ STATIC_LIB_EXCLUDE_OBJS := $(LIBAWT_XAWT_STATIC_EXCLUDE_OBJS), \
)) ))

View file

@ -260,7 +260,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
JDK_LIBS_windows := java.base:libjava, \ JDK_LIBS_windows := java.base:libjava, \
JDK_LIBS_macosx := libosxapp, \ JDK_LIBS_macosx := libosxapp, \
LIBS := $(GIFLIB_LIBS) $(LIBJPEG_LIBS) $(LIBZ_LIBS) $(PNG_LIBS), \ LIBS := $(GIFLIB_LIBS) $(LIBJPEG_LIBS) $(LIBZ_LIBS) $(PNG_LIBS), \
LIBS_unix := $(LIBM) -lpthread, \ LIBS_unix := $(LIBM) $(LIBPTHREAD), \
LIBS_linux := $(LIBDL) $(X_LIBS) -lX11 -lXext, \ LIBS_linux := $(LIBDL) $(X_LIBS) -lX11 -lXext, \
LIBS_macosx := -liconv \ LIBS_macosx := -liconv \
-framework ApplicationServices \ -framework ApplicationServices \

View file

@ -38,7 +38,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBDT_SOCKET, \
EXTRA_HEADER_DIRS := \ EXTRA_HEADER_DIRS := \
include \ include \
libjdwp/export, \ libjdwp/export, \
LIBS_linux := -lpthread, \ LIBS_linux := $(LIBPTHREAD), \
LIBS_windows := iphlpapi.lib ws2_32.lib, \ LIBS_windows := iphlpapi.lib ws2_32.lib, \
)) ))

View file

@ -41,7 +41,7 @@ ifeq ($(call isTargetOs, linux), true)
java.base:libnio \ java.base:libnio \
java.base:libnio/ch, \ java.base:libnio/ch, \
JDK_LIBS := java.base:libjava java.base:libnet, \ JDK_LIBS := java.base:libjava java.base:libnet, \
LIBS_linux := $(LIBDL) -lpthread, \ LIBS_linux := $(LIBDL) $(LIBPTHREAD), \
)) ))
TARGETS += $(BUILD_LIBSCTP) TARGETS += $(BUILD_LIBSCTP)

File diff suppressed because it is too large Load diff