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. |
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 ]) |