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.
@@ -150,6 +156,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
150156 VAR_CPU_BITS=64
151157 VAR_CPU_ENDIAN=big
152158 ;;
159+ mips64el)
160+ VAR_CPU=mips64
161+ VAR_CPU_ARCH=mips
162+ VAR_CPU_BITS=64
163+ VAR_CPU_ENDIAN=little
164+ ;;
153165 loongarch64)
154166 VAR_CPU=loongarch64
155167 VAR_CPU_ARCH=loongarch
@@ -343,6 +355,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
343355 OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
344356 elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
345357 OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
358+ elif test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
359+ OPENJDK_TARGET_CPU_LEGACY_LIB="mips64el"
346360 fi
347361 AC_SUBST ( OPENJDK_TARGET_CPU_LEGACY_LIB )
348362
@@ -376,6 +390,9 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
376390 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
377391 # On all platforms except macosx, we replace x86_64 with amd64.
378392 OPENJDK_TARGET_CPU_OSARCH="amd64"
393+ elif test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
394+ # System.getProperty("os.arch"): mips64 -> mips64el
395+ OPENJDK_TARGET_CPU_OSARCH="mips64el"
379396 fi
380397 AC_SUBST ( OPENJDK_TARGET_CPU_OSARCH )
381398
@@ -385,6 +402,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
385402 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
386403 # On all platforms except macosx, we replace x86_64 with amd64.
387404 OPENJDK_TARGET_CPU_JLI="amd64"
405+ elif test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
406+ OPENJDK_TARGET_CPU_JLI="mips64el"
388407 fi
389408 # Now setup the -D flags for building libjli.
390409 OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
@@ -397,6 +416,9 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
397416 elif test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$TOOLCHAIN_TYPE" = xclang ; then
398417 OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -stdlib=libc++ -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
399418 fi
419+ if test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
420+ OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"mips32el\"' -DLIBARCH64NAME='\"mips64el\"'"
421+ fi
400422 AC_SUBST ( OPENJDK_TARGET_CPU_JLI_CFLAGS )
401423
402424 # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths.
@@ -615,3 +637,46 @@ AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS],
615637 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)] )
616638 fi
617639] )
640+
641+ AC_DEFUN ( [ GET_BUILDER_AND_HOST_DATA] ,
642+ [
643+ BUILDER_NAME="$build_os"
644+ BUILDER_ID="Custom build ($(date))"
645+ if test -f /etc/issue; then
646+ etc_issue_info=`cat /etc/issue`
647+ if test -n "$etc_issue_info"; then
648+ BUILDER_NAME=`cat /etc/issue | head -n 1 | cut -d " " -f 1`
649+ fi
650+ fi
651+ if test -f /etc/redhat-release; then
652+ etc_issue_info=`cat /etc/redhat-release`
653+ if test -n "$etc_issue_info"; then
654+ BUILDER_NAME=`cat /etc/redhat-release | head -n 1 | cut -d " " -f 1`
655+ fi
656+ fi
657+ if test -f /etc/neokylin-release; then
658+ etc_issue_info=`cat /etc/neokylin-release`
659+ if test -n "$etc_issue_info"; then
660+ BUILDER_NAME=`cat /etc/neokylin-release | head -n 1 | cut -d " " -f 1`
661+ fi
662+ fi
663+ if test -z "$BUILDER_NAME"; then
664+ BUILDER_NAME="unknown"
665+ fi
666+ BUILDER_NAME=`echo $BUILDER_NAME | sed -r "s/-//g"`
667+ if test -n "$OPENJDK_TARGET_CPU_OSARCH"; then
668+ HOST_NAME="$OPENJDK_TARGET_CPU_OSARCH"
669+ else
670+ HOST_NAME="unknown"
671+ fi
672+ if test -f "/usr/bin/cpp"; then
673+ # gcc_with_arch_info=`gcc -v 2>&1 | grep '\-\-with-arch=' | sed 's/.*--with-arch=//;s/ .*$//'`
674+ gcc_with_arch_info=`cpp -dM /dev/null | grep '\<_MIPS_ARCH\>' | sed 's/^#define _MIPS_ARCH "//;s/"$//'`
675+ if test -n "$gcc_with_arch_info"; then
676+ HOST_NAME="$gcc_with_arch_info"
677+ fi
678+ fi
679+ AC_SUBST ( BUILDER_ID )
680+ AC_SUBST ( BUILDER_NAME )
681+ AC_SUBST ( HOST_NAME )
682+ ] )
0 commit comments