common/autoconf/platform.m4

changeset 2316
64a3eeabf6e5
parent 2219
cb1203f48728
parent 2188
d75ef5fa5b02
child 2384
b45bf475c2ca
equal deleted inserted replaced
2315:4d3fefdd2f98 2316:64a3eeabf6e5
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 # 20 #
21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 # or visit www.oracle.com if you need additional information or have any 22 # or visit www.oracle.com if you need additional information or have any
23 # questions. 23 # questions.
24 #
25
26 #
27 # This file has been modified by Loongson Technology in 2018. These
28 # modifications are Copyright (c) 2018 Loongson Technology, and are made
29 # available on the same license terms set forth above.
24 # 30 #
25 31
26 # Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD. 32 # Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
27 # Converts autoconf style CPU name to OpenJDK style, into 33 # Converts autoconf style CPU name to OpenJDK style, into
28 # VAR_CPU, VAR_CPU_ARCH, VAR_CPU_BITS and VAR_CPU_ENDIAN. 34 # VAR_CPU, VAR_CPU_ARCH, VAR_CPU_BITS and VAR_CPU_ENDIAN.
93 sparcv9|sparc64) 99 sparcv9|sparc64)
94 VAR_CPU=sparcv9 100 VAR_CPU=sparcv9
95 VAR_CPU_ARCH=sparc 101 VAR_CPU_ARCH=sparc
96 VAR_CPU_BITS=64 102 VAR_CPU_BITS=64
97 VAR_CPU_ENDIAN=big 103 VAR_CPU_ENDIAN=big
104 ;;
105 mips64el)
106 VAR_CPU=mips64
107 VAR_CPU_ARCH=mips
108 VAR_CPU_BITS=64
109 VAR_CPU_ENDIAN=little
98 ;; 110 ;;
99 *) 111 *)
100 AC_MSG_ERROR([unsupported cpu $1]) 112 AC_MSG_ERROR([unsupported cpu $1])
101 ;; 113 ;;
102 esac 114 esac
281 OPENJDK_TARGET_CPU_LEGACY_LIB="$OPENJDK_TARGET_CPU" 293 OPENJDK_TARGET_CPU_LEGACY_LIB="$OPENJDK_TARGET_CPU"
282 if test "x$OPENJDK_TARGET_CPU" = xx86; then 294 if test "x$OPENJDK_TARGET_CPU" = xx86; then
283 OPENJDK_TARGET_CPU_LEGACY_LIB="i386" 295 OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
284 elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then 296 elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
285 OPENJDK_TARGET_CPU_LEGACY_LIB="amd64" 297 OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
298 elif test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
299 OPENJDK_TARGET_CPU_LEGACY_LIB="mips64el"
286 fi 300 fi
287 AC_SUBST(OPENJDK_TARGET_CPU_LEGACY_LIB) 301 AC_SUBST(OPENJDK_TARGET_CPU_LEGACY_LIB)
288 302
289 # This is the name of the cpu (but using i386 and amd64 instead of 303 # This is the name of the cpu (but using i386 and amd64 instead of
290 # x86 and x86_64, respectively), preceeded by a /, to be used when 304 # x86 and x86_64, respectively), preceeded by a /, to be used when
314 # On linux only, we replace x86 with i386. 328 # On linux only, we replace x86 with i386.
315 OPENJDK_TARGET_CPU_OSARCH="i386" 329 OPENJDK_TARGET_CPU_OSARCH="i386"
316 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then 330 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
317 # On all platforms except macosx, we replace x86_64 with amd64. 331 # On all platforms except macosx, we replace x86_64 with amd64.
318 OPENJDK_TARGET_CPU_OSARCH="amd64" 332 OPENJDK_TARGET_CPU_OSARCH="amd64"
333 elif test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
334 # Jin: to be exactly same with OpenJDK 6(mips64)
335 # System.getProperty("os.arch"): mips64 -> mips64el
336 OPENJDK_TARGET_CPU_OSARCH="mips64el"
319 fi 337 fi
320 AC_SUBST(OPENJDK_TARGET_CPU_OSARCH) 338 AC_SUBST(OPENJDK_TARGET_CPU_OSARCH)
321 339
322 OPENJDK_TARGET_CPU_JLI="$OPENJDK_TARGET_CPU" 340 OPENJDK_TARGET_CPU_JLI="$OPENJDK_TARGET_CPU"
323 if test "x$OPENJDK_TARGET_CPU" = xx86; then 341 if test "x$OPENJDK_TARGET_CPU" = xx86; then
324 OPENJDK_TARGET_CPU_JLI="i386" 342 OPENJDK_TARGET_CPU_JLI="i386"
325 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then 343 elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
326 # On all platforms except macosx, we replace x86_64 with amd64. 344 # On all platforms except macosx, we replace x86_64 with amd64.
327 OPENJDK_TARGET_CPU_JLI="amd64" 345 OPENJDK_TARGET_CPU_JLI="amd64"
346 elif test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
347 OPENJDK_TARGET_CPU_JLI="mips64el"
328 fi 348 fi
329 # Now setup the -D flags for building libjli. 349 # Now setup the -D flags for building libjli.
330 OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'" 350 OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
331 if test "x$OPENJDK_TARGET_OS" = xsolaris; then 351 if test "x$OPENJDK_TARGET_OS" = xsolaris; then
332 if test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then 352 if test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then
333 OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"sparc\"' -DLIBARCH64NAME='\"sparcv9\"'" 353 OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"sparc\"' -DLIBARCH64NAME='\"sparcv9\"'"
334 elif test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then 354 elif test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then
335 OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"i386\"' -DLIBARCH64NAME='\"amd64\"'" 355 OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"i386\"' -DLIBARCH64NAME='\"amd64\"'"
336 fi 356 fi
357 fi
358 if test "x$OPENJDK_TARGET_CPU" = xmips64 && test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
359 OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"mips32el\"' -DLIBARCH64NAME='\"mips64el\"'"
337 fi 360 fi
338 AC_SUBST(OPENJDK_TARGET_CPU_JLI_CFLAGS) 361 AC_SUBST(OPENJDK_TARGET_CPU_JLI_CFLAGS)
339 362
340 # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths. 363 # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths.
341 if test "x$OPENJDK_TARGET_OS_API" = xposix; then 364 if test "x$OPENJDK_TARGET_OS_API" = xposix; then
546 fi 569 fi
547 if test "x$ENDIAN" != "x$OPENJDK_TARGET_CPU_ENDIAN"; then 570 if test "x$ENDIAN" != "x$OPENJDK_TARGET_CPU_ENDIAN"; then
548 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)]) 571 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)])
549 fi 572 fi
550 ]) 573 ])
574
575 AC_DEFUN([GET_BUILDER_AND_HOST_DATA],
576 [
577 BUILDER_NAME="$build_os"
578 BUILDER_ID="Custom build ($(date))"
579 if test -f /etc/issue; then
580 etc_issue_info=`cat /etc/issue`
581 if test -n "$etc_issue_info"; then
582 BUILDER_NAME=`cat /etc/issue | head -n 1 | cut -d " " -f 1`
583 fi
584 fi
585 if test -f /etc/redhat-release; then
586 etc_issue_info=`cat /etc/redhat-release`
587 if test -n "$etc_issue_info"; then
588 BUILDER_NAME=`cat /etc/redhat-release | head -n 1 | cut -d " " -f 1`
589 fi
590 fi
591 if test -f /etc/neokylin-release; then
592 etc_issue_info=`cat /etc/neokylin-release`
593 if test -n "$etc_issue_info"; then
594 BUILDER_NAME=`cat /etc/neokylin-release | head -n 1 | cut -d " " -f 1`
595 fi
596 fi
597 if test -z "$BUILDER_NAME"; then
598 BUILDER_NAME="unknown"
599 fi
600 if test -n "$OPENJDK_TARGET_CPU_OSARCH"; then
601 HOST_NAME="$OPENJDK_TARGET_CPU_OSARCH"
602 else
603 HOST_NAME="unknown"
604 fi
605 if test -f "/usr/bin/cpp"; then
606 # gcc_with_arch_info=`gcc -v 2>&1 | grep '\-\-with-arch=' | sed 's/.*--with-arch=//;s/ .*$//'`
607 gcc_with_arch_info=`cpp -dM /dev/null | grep '\<_MIPS_ARCH\>' | sed 's/^#define _MIPS_ARCH "//;s/"$//'`
608 if test -n "$gcc_with_arch_info"; then
609 HOST_NAME="$gcc_with_arch_info"
610 fi
611 fi
612 AC_SUBST(BUILDER_ID)
613 AC_SUBST(BUILDER_NAME)
614 AC_SUBST(HOST_NAME)
615 ])

mercurial