common/autoconf/platform.m4

changeset 2316
64a3eeabf6e5
parent 2219
cb1203f48728
parent 2188
d75ef5fa5b02
child 2384
b45bf475c2ca
     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 +])

mercurial