2323# questions.
2424#
2525
26+ #
27+ # This file has been modified by Loongson Technology in 2022. These
28+ # modifications are Copyright (c) 2018, 2022, Loongson Technology, and are made
29+ # available on the same license terms set forth above.
30+ #
31+
2632# Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
2733# Converts autoconf style CPU name to OpenJDK style, into
2834# VAR_CPU, VAR_CPU_ARCH, VAR_CPU_BITS and VAR_CPU_ENDIAN.
@@ -96,6 +102,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
96102 VAR_CPU_BITS=64
97103 VAR_CPU_ENDIAN=big
98104 ;;
105+ mips64el)
106+ VAR_CPU=mips64
107+ VAR_CPU_ARCH=mips
108+ VAR_CPU_BITS=64
109+ VAR_CPU_ENDIAN=little
110+ ;;
99111 loongarch64)
100112 VAR_CPU=loongarch64
101113 VAR_CPU_ARCH=loongarch
@@ -289,6 +301,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
289301 OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
290302 elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
291303 OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
304+ elif test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
305+ OPENJDK_TARGET_CPU_LEGACY_LIB="mips64el"
292306 fi
293307 AC_SUBST ( OPENJDK_TARGET_CPU_LEGACY_LIB )
294308
@@ -322,6 +336,9 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
322336 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
323337 # On all platforms except macosx, we replace x86_64 with amd64.
324338 OPENJDK_TARGET_CPU_OSARCH="amd64"
339+ elif test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
340+ # System.getProperty("os.arch"): mips64 -> mips64el
341+ OPENJDK_TARGET_CPU_OSARCH="mips64el"
325342 fi
326343 AC_SUBST ( OPENJDK_TARGET_CPU_OSARCH )
327344
@@ -331,6 +348,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
331348 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
332349 # On all platforms except macosx, we replace x86_64 with amd64.
333350 OPENJDK_TARGET_CPU_JLI="amd64"
351+ elif test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
352+ OPENJDK_TARGET_CPU_JLI="mips64el"
334353 fi
335354 # Now setup the -D flags for building libjli.
336355 OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
@@ -343,6 +362,9 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
343362 elif test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$TOOLCHAIN_TYPE" = xclang ; then
344363 OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -stdlib=libc++ -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
345364 fi
365+ if test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
366+ OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"mips32el\"' -DLIBARCH64NAME='\"mips64el\"'"
367+ fi
346368 AC_SUBST ( OPENJDK_TARGET_CPU_JLI_CFLAGS )
347369
348370 # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths.
@@ -556,3 +578,46 @@ AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS],
556578 AC_MSG_ERROR ( [ The tested endian in the target ($ENDIAN) differs from the endian expected to be found in the target ($OPENJDK_TARGET_CPU_ENDIAN)] )
557579 fi
558580] )
581+
582+ AC_DEFUN ( [ GET_BUILDER_AND_HOST_DATA] ,
583+ [
584+ BUILDER_NAME="$build_os"
585+ BUILDER_ID="Custom build ($(date))"
586+ if test -f /etc/issue; then
587+ etc_issue_info=`cat /etc/issue`
588+ if test -n "$etc_issue_info"; then
589+ BUILDER_NAME=`cat /etc/issue | head -n 1 | cut -d " " -f 1`
590+ fi
591+ fi
592+ if test -f /etc/redhat-release; then
593+ etc_issue_info=`cat /etc/redhat-release`
594+ if test -n "$etc_issue_info"; then
595+ BUILDER_NAME=`cat /etc/redhat-release | head -n 1 | cut -d " " -f 1`
596+ fi
597+ fi
598+ if test -f /etc/neokylin-release; then
599+ etc_issue_info=`cat /etc/neokylin-release`
600+ if test -n "$etc_issue_info"; then
601+ BUILDER_NAME=`cat /etc/neokylin-release | head -n 1 | cut -d " " -f 1`
602+ fi
603+ fi
604+ if test -z "$BUILDER_NAME"; then
605+ BUILDER_NAME="unknown"
606+ fi
607+ BUILDER_NAME=`echo $BUILDER_NAME | sed -r "s/-//g"`
608+ if test -n "$OPENJDK_TARGET_CPU_OSARCH"; then
609+ HOST_NAME="$OPENJDK_TARGET_CPU_OSARCH"
610+ else
611+ HOST_NAME="unknown"
612+ fi
613+ if test -f "/usr/bin/cpp"; then
614+ # gcc_with_arch_info=`gcc -v 2>&1 | grep '\-\-with-arch=' | sed 's/.*--with-arch=//;s/ .*$//'`
615+ gcc_with_arch_info=`cpp -dM /dev/null | grep '\<_MIPS_ARCH\>' | sed 's/^#define _MIPS_ARCH "//;s/"$//'`
616+ if test -n "$gcc_with_arch_info"; then
617+ HOST_NAME="$gcc_with_arch_info"
618+ fi
619+ fi
620+ AC_SUBST ( BUILDER_ID )
621+ AC_SUBST ( BUILDER_NAME )
622+ AC_SUBST ( HOST_NAME )
623+ ] )
0 commit comments