@@ -208,6 +208,24 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_OS],
208208 esac
209209] )
210210
211+ # Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
212+ # Converts autoconf style OS name to OpenJDK style, into
213+ # VAR_LIBC.
214+ AC_DEFUN ( [ PLATFORM_EXTRACT_VARS_FROM_LIBC] ,
215+ [
216+ case "$1 " in
217+ *linux*-musl)
218+ VAR_LIBC=musl
219+ ;;
220+ *linux*-gnu)
221+ VAR_LIBC=gnu
222+ ;;
223+ *)
224+ VAR_LIBC=default
225+ ;;
226+ esac
227+ ] )
228+
211229# Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
212230# Converts autoconf style OS name to OpenJDK style, into
213231# VAR_ABI.
@@ -252,9 +270,10 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
252270 AC_SUBST ( OPENJDK_TARGET_AUTOCONF_NAME )
253271 AC_SUBST ( OPENJDK_BUILD_AUTOCONF_NAME )
254272
255- # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
273+ # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU/LIBC variables.
256274 PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
257275 PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
276+ PLATFORM_EXTRACT_VARS_FROM_LIBC($build_os)
258277 PLATFORM_EXTRACT_VARS_FROM_ABI($build_os)
259278 # ..and setup our own variables. (Do this explicitly to facilitate searching)
260279 OPENJDK_BUILD_OS="$VAR_OS"
@@ -273,6 +292,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
273292 OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
274293 OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
275294 OPENJDK_BUILD_CPU_AUTOCONF="$build_cpu"
295+ OPENJDK_BUILD_LIBC="$VAR_LIBC"
276296 OPENJDK_BUILD_ABI="$VAR_ABI"
277297 AC_SUBST ( OPENJDK_BUILD_OS )
278298 AC_SUBST ( OPENJDK_BUILD_OS_TYPE )
@@ -282,14 +302,21 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
282302 AC_SUBST ( OPENJDK_BUILD_CPU_BITS )
283303 AC_SUBST ( OPENJDK_BUILD_CPU_ENDIAN )
284304 AC_SUBST ( OPENJDK_BUILD_CPU_AUTOCONF )
305+ AC_SUBST ( OPENJDK_BUILD_LIBC )
285306 AC_SUBST ( OPENJDK_BUILD_ABI )
286307
287308 AC_MSG_CHECKING ( [ openjdk-build os-cpu] )
288309 AC_MSG_RESULT ( [ $OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU] )
289310
290- # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
311+ if test "x$OPENJDK_BUILD_OS" = "xlinux"; then
312+ AC_MSG_CHECKING ( [ openjdk-build C library] )
313+ AC_MSG_RESULT ( [ $OPENJDK_BUILD_LIBC] )
314+ fi
315+
316+ # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU/LIBC variables.
291317 PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
292318 PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
319+ PLATFORM_EXTRACT_VARS_FROM_LIBC($host_os)
293320 PLATFORM_EXTRACT_VARS_FROM_ABI($host_os)
294321 # ... and setup our own variables. (Do this explicitly to facilitate searching)
295322 OPENJDK_TARGET_OS="$VAR_OS"
@@ -309,6 +336,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
309336 OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
310337 OPENJDK_TARGET_CPU_AUTOCONF="$host_cpu"
311338 OPENJDK_TARGET_OS_UPPERCASE=`$ECHO $OPENJDK_TARGET_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
339+ OPENJDK_TARGET_LIBC="$VAR_LIBC"
312340 OPENJDK_TARGET_ABI="$VAR_ABI"
313341
314342 AC_SUBST ( OPENJDK_TARGET_OS )
@@ -320,10 +348,16 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
320348 AC_SUBST ( OPENJDK_TARGET_CPU_BITS )
321349 AC_SUBST ( OPENJDK_TARGET_CPU_ENDIAN )
322350 AC_SUBST ( OPENJDK_TARGET_CPU_AUTOCONF )
351+ AC_SUBST ( OPENJDK_TARGET_LIBC )
323352 AC_SUBST ( OPENJDK_TARGET_ABI )
324353
325354 AC_MSG_CHECKING ( [ openjdk-target os-cpu] )
326355 AC_MSG_RESULT ( [ $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU] )
356+
357+ if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
358+ AC_MSG_CHECKING ( [ openjdk-target C library] )
359+ AC_MSG_RESULT ( [ $OPENJDK_TARGET_LIBC] )
360+ fi
327361] )
328362
329363# Check if a reduced build (32-bit on 64-bit platforms) is requested, and modify behaviour
@@ -458,7 +492,13 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
458492 else
459493 OPENJDK_$1 _CPU_BUNDLE="$OPENJDK_$1 _CPU"
460494 fi
461- OPENJDK_$1 _BUNDLE_PLATFORM="${OPENJDK_$1 _OS_BUNDLE}-${OPENJDK_$1 _CPU_BUNDLE}"
495+
496+ OPENJDK_$1 _LIBC_BUNDLE=""
497+ if test "x$OPENJDK_$1 _LIBC" = "xmusl"; then
498+ OPENJDK_$1 _LIBC_BUNDLE="-$OPENJDK_$1 _LIBC"
499+ fi
500+
501+ OPENJDK_$1 _BUNDLE_PLATFORM="${OPENJDK_$1 _OS_BUNDLE}-${OPENJDK_$1 _CPU_BUNDLE}${OPENJDK_$1 _LIBC_BUNDLE}"
462502 AC_SUBST ( OPENJDK_$1 _BUNDLE_PLATFORM )
463503
464504 if test "x$COMPILE_TYPE" = "xcross"; then
@@ -529,6 +569,9 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
529569 fi
530570 AC_SUBST ( HOTSPOT_$1 _CPU_DEFINE )
531571
572+ HOTSPOT_$1 _LIBC=$OPENJDK_$1 _LIBC
573+ AC_SUBST ( HOTSPOT_$1 _LIBC )
574+
532575 # For historical reasons, the OS include directories have odd names.
533576 OPENJDK_$1 _OS_INCLUDE_SUBDIR="$OPENJDK_TARGET_OS"
534577 if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
@@ -557,9 +600,11 @@ AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
557600 RELEASE_FILE_OS_NAME="AIX"
558601 fi
559602 RELEASE_FILE_OS_ARCH=${OPENJDK_TARGET_CPU}
603+ RELEASE_FILE_LIBC=${OPENJDK_TARGET_LIBC}
560604
561605 AC_SUBST ( RELEASE_FILE_OS_NAME )
562606 AC_SUBST ( RELEASE_FILE_OS_ARCH )
607+ AC_SUBST ( RELEASE_FILE_LIBC )
563608] )
564609
565610AC_DEFUN ( [ PLATFORM_SET_MODULE_TARGET_OS_VALUES] ,
0 commit comments