@@ -220,6 +220,24 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_OS],
220220 esac
221221] )
222222
223+ # Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
224+ # Converts autoconf style OS name to OpenJDK style, into
225+ # VAR_LIBC.
226+ AC_DEFUN ( [ PLATFORM_EXTRACT_VARS_FROM_LIBC] ,
227+ [
228+ case "$1 " in
229+ *linux*-musl)
230+ VAR_LIBC=musl
231+ ;;
232+ *linux*-gnu)
233+ VAR_LIBC=gnu
234+ ;;
235+ *)
236+ VAR_LIBC=default
237+ ;;
238+ esac
239+ ] )
240+
223241# Expects $host_os $host_cpu $build_os and $build_cpu
224242# and $with_target_bits to have been setup!
225243#
@@ -237,9 +255,10 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
237255 AC_SUBST ( OPENJDK_TARGET_AUTOCONF_NAME )
238256 AC_SUBST ( OPENJDK_BUILD_AUTOCONF_NAME )
239257
240- # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
258+ # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU/LIBC variables.
241259 PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
242260 PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
261+ PLATFORM_EXTRACT_VARS_FROM_LIBC($build_os)
243262 # ..and setup our own variables. (Do this explicitly to facilitate searching)
244263 OPENJDK_BUILD_OS="$VAR_OS"
245264 if test "x$VAR_OS_TYPE" != x; then
@@ -256,20 +275,28 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
256275 OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
257276 OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
258277 OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
278+ OPENJDK_BUILD_LIBC="$VAR_LIBC"
259279 AC_SUBST ( OPENJDK_BUILD_OS )
260280 AC_SUBST ( OPENJDK_BUILD_OS_TYPE )
261281 AC_SUBST ( OPENJDK_BUILD_OS_ENV )
262282 AC_SUBST ( OPENJDK_BUILD_CPU )
263283 AC_SUBST ( OPENJDK_BUILD_CPU_ARCH )
264284 AC_SUBST ( OPENJDK_BUILD_CPU_BITS )
265285 AC_SUBST ( OPENJDK_BUILD_CPU_ENDIAN )
286+ AC_SUBST ( OPENJDK_BUILD_LIBC )
266287
267288 AC_MSG_CHECKING ( [ openjdk-build os-cpu] )
268289 AC_MSG_RESULT ( [ $OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU] )
269290
270- # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
291+ if test "x$OPENJDK_BUILD_OS" = "xlinux"; then
292+ AC_MSG_CHECKING ( [ openjdk-build C library] )
293+ AC_MSG_RESULT ( [ $OPENJDK_BUILD_LIBC] )
294+ fi
295+
296+ # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU/LIBC variables.
271297 PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
272298 PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
299+ PLATFORM_EXTRACT_VARS_FROM_LIBC($host_os)
273300 # ... and setup our own variables. (Do this explicitly to facilitate searching)
274301 OPENJDK_TARGET_OS="$VAR_OS"
275302 if test "x$VAR_OS_TYPE" != x; then
@@ -287,6 +314,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
287314 OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
288315 OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
289316 OPENJDK_TARGET_OS_UPPERCASE=`$ECHO $OPENJDK_TARGET_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
317+ OPENJDK_TARGET_LIBC="$VAR_LIBC"
290318
291319 AC_SUBST ( OPENJDK_TARGET_OS )
292320 AC_SUBST ( OPENJDK_TARGET_OS_TYPE )
@@ -296,9 +324,15 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
296324 AC_SUBST ( OPENJDK_TARGET_CPU_ARCH )
297325 AC_SUBST ( OPENJDK_TARGET_CPU_BITS )
298326 AC_SUBST ( OPENJDK_TARGET_CPU_ENDIAN )
327+ AC_SUBST ( OPENJDK_TARGET_LIBC )
299328
300329 AC_MSG_CHECKING ( [ openjdk-target os-cpu] )
301330 AC_MSG_RESULT ( [ $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU] )
331+
332+ if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
333+ AC_MSG_CHECKING ( [ openjdk-target C library] )
334+ AC_MSG_RESULT ( [ $OPENJDK_TARGET_LIBC] )
335+ fi
302336] )
303337
304338# Check if a reduced build (32-bit on 64-bit platforms) is requested, and modify behaviour
@@ -420,7 +454,13 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
420454 else
421455 OPENJDK_$1 _CPU_BUNDLE="$OPENJDK_$1 _CPU"
422456 fi
423- OPENJDK_$1 _BUNDLE_PLATFORM="${OPENJDK_$1 _OS_BUNDLE}-${OPENJDK_$1 _CPU_BUNDLE}"
457+
458+ OPENJDK_$1 _LIBC_BUNDLE=""
459+ if test "x$OPENJDK_$1 _LIBC" = "xmusl"; then
460+ OPENJDK_$1 _LIBC_BUNDLE="-$OPENJDK_$1 _LIBC"
461+ fi
462+
463+ OPENJDK_$1 _BUNDLE_PLATFORM="${OPENJDK_$1 _OS_BUNDLE}-${OPENJDK_$1 _CPU_BUNDLE}${OPENJDK_$1 _LIBC_BUNDLE}"
424464 AC_SUBST ( OPENJDK_$1 _BUNDLE_PLATFORM )
425465
426466 if test "x$COMPILE_TYPE" = "xcross"; then
@@ -493,6 +533,9 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
493533 fi
494534 AC_SUBST ( HOTSPOT_$1 _CPU_DEFINE )
495535
536+ HOTSPOT_$1 _LIBC=$OPENJDK_$1 _LIBC
537+ AC_SUBST ( HOTSPOT_$1 _LIBC )
538+
496539 # For historical reasons, the OS include directories have odd names.
497540 OPENJDK_$1 _OS_INCLUDE_SUBDIR="$OPENJDK_TARGET_OS"
498541 if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
@@ -518,9 +561,11 @@ AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
518561 RELEASE_FILE_OS_NAME="AIX"
519562 fi
520563 RELEASE_FILE_OS_ARCH=${OPENJDK_TARGET_CPU}
564+ RELEASE_FILE_LIBC=${OPENJDK_TARGET_LIBC}
521565
522566 AC_SUBST ( RELEASE_FILE_OS_NAME )
523567 AC_SUBST ( RELEASE_FILE_OS_ARCH )
568+ AC_SUBST ( RELEASE_FILE_LIBC )
524569] )
525570
526571AC_DEFUN ( [ PLATFORM_SET_MODULE_TARGET_OS_VALUES] ,
0 commit comments