1.1 --- a/common/autoconf/platform.m4 Sat Oct 06 10:24:47 2018 +0100 1.2 +++ b/common/autoconf/platform.m4 Thu Dec 27 11:47:57 2018 +0800 1.3 @@ -23,6 +23,12 @@ 1.4 # questions. 1.5 # 1.6 1.7 +# 1.8 +# This file has been modified by Loongson Technology in 2018. These 1.9 +# modifications are Copyright (c) 2018 Loongson Technology, and are made 1.10 +# available on the same license terms set forth above. 1.11 +# 1.12 + 1.13 # Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD. 1.14 # Converts autoconf style CPU name to OpenJDK style, into 1.15 # VAR_CPU, VAR_CPU_ARCH, VAR_CPU_BITS and VAR_CPU_ENDIAN. 1.16 @@ -96,6 +102,12 @@ 1.17 VAR_CPU_BITS=64 1.18 VAR_CPU_ENDIAN=big 1.19 ;; 1.20 + mips64el) 1.21 + VAR_CPU=mips64 1.22 + VAR_CPU_ARCH=mips 1.23 + VAR_CPU_BITS=64 1.24 + VAR_CPU_ENDIAN=little 1.25 + ;; 1.26 *) 1.27 AC_MSG_ERROR([unsupported cpu $1]) 1.28 ;; 1.29 @@ -283,6 +295,8 @@ 1.30 OPENJDK_TARGET_CPU_LEGACY_LIB="i386" 1.31 elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then 1.32 OPENJDK_TARGET_CPU_LEGACY_LIB="amd64" 1.33 + elif test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then 1.34 + OPENJDK_TARGET_CPU_LEGACY_LIB="mips64el" 1.35 fi 1.36 AC_SUBST(OPENJDK_TARGET_CPU_LEGACY_LIB) 1.37 1.38 @@ -316,6 +330,10 @@ 1.39 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then 1.40 # On all platforms except macosx, we replace x86_64 with amd64. 1.41 OPENJDK_TARGET_CPU_OSARCH="amd64" 1.42 + elif test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then 1.43 + # Jin: to be exactly same with OpenJDK 6(mips64) 1.44 + # System.getProperty("os.arch"): mips64 -> mips64el 1.45 + OPENJDK_TARGET_CPU_OSARCH="mips64el" 1.46 fi 1.47 AC_SUBST(OPENJDK_TARGET_CPU_OSARCH) 1.48 1.49 @@ -325,6 +343,8 @@ 1.50 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then 1.51 # On all platforms except macosx, we replace x86_64 with amd64. 1.52 OPENJDK_TARGET_CPU_JLI="amd64" 1.53 + elif test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then 1.54 + OPENJDK_TARGET_CPU_JLI="mips64el" 1.55 fi 1.56 # Now setup the -D flags for building libjli. 1.57 OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'" 1.58 @@ -335,6 +355,9 @@ 1.59 OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"i386\"' -DLIBARCH64NAME='\"amd64\"'" 1.60 fi 1.61 fi 1.62 + if test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then 1.63 + OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"mips32el\"' -DLIBARCH64NAME='\"mips64el\"'" 1.64 + fi 1.65 AC_SUBST(OPENJDK_TARGET_CPU_JLI_CFLAGS) 1.66 1.67 # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths. 1.68 @@ -548,3 +571,45 @@ 1.69 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)]) 1.70 fi 1.71 ]) 1.72 + 1.73 +AC_DEFUN([GET_BUILDER_AND_HOST_DATA], 1.74 +[ 1.75 +BUILDER_NAME="$build_os" 1.76 +BUILDER_ID="Custom build ($(date))" 1.77 +if test -f /etc/issue; then 1.78 + etc_issue_info=`cat /etc/issue` 1.79 + if test -n "$etc_issue_info"; then 1.80 + BUILDER_NAME=`cat /etc/issue | head -n 1 | cut -d " " -f 1` 1.81 + fi 1.82 +fi 1.83 +if test -f /etc/redhat-release; then 1.84 + etc_issue_info=`cat /etc/redhat-release` 1.85 + if test -n "$etc_issue_info"; then 1.86 + BUILDER_NAME=`cat /etc/redhat-release | head -n 1 | cut -d " " -f 1` 1.87 + fi 1.88 +fi 1.89 +if test -f /etc/neokylin-release; then 1.90 + etc_issue_info=`cat /etc/neokylin-release` 1.91 + if test -n "$etc_issue_info"; then 1.92 + BUILDER_NAME=`cat /etc/neokylin-release | head -n 1 | cut -d " " -f 1` 1.93 + fi 1.94 +fi 1.95 +if test -z "$BUILDER_NAME"; then 1.96 + BUILDER_NAME="unknown" 1.97 +fi 1.98 +if test -n "$OPENJDK_TARGET_CPU_OSARCH"; then 1.99 + HOST_NAME="$OPENJDK_TARGET_CPU_OSARCH" 1.100 +else 1.101 + HOST_NAME="unknown" 1.102 +fi 1.103 +if test -f "/usr/bin/cpp"; then 1.104 + # gcc_with_arch_info=`gcc -v 2>&1 | grep '\-\-with-arch=' | sed 's/.*--with-arch=//;s/ .*$//'` 1.105 + gcc_with_arch_info=`cpp -dM /dev/null | grep '\<_MIPS_ARCH\>' | sed 's/^#define _MIPS_ARCH "//;s/"$//'` 1.106 + if test -n "$gcc_with_arch_info"; then 1.107 + HOST_NAME="$gcc_with_arch_info" 1.108 + fi 1.109 +fi 1.110 +AC_SUBST(BUILDER_ID) 1.111 +AC_SUBST(BUILDER_NAME) 1.112 +AC_SUBST(HOST_NAME) 1.113 +])