< prev index next >

make/autoconf/toolchain.m4

Print this page
rev 59383 : [mq]: final

@@ -33,31 +33,28 @@
 ########################################################################
 
 m4_include([toolchain_windows.m4])
 
 # All valid toolchains, regardless of platform (used by help.m4)
-VALID_TOOLCHAINS_all="gcc clang solstudio xlc microsoft"
+VALID_TOOLCHAINS_all="gcc clang xlc microsoft"
 
 # These toolchains are valid on different platforms
 VALID_TOOLCHAINS_linux="gcc clang"
-VALID_TOOLCHAINS_solaris="solstudio"
 VALID_TOOLCHAINS_macosx="gcc clang"
 VALID_TOOLCHAINS_aix="xlc"
 VALID_TOOLCHAINS_windows="microsoft"
 
 # Toolchain descriptions
 TOOLCHAIN_DESCRIPTION_clang="clang/LLVM"
 TOOLCHAIN_DESCRIPTION_gcc="GNU Compiler Collection"
 TOOLCHAIN_DESCRIPTION_microsoft="Microsoft Visual Studio"
-TOOLCHAIN_DESCRIPTION_solstudio="Oracle Solaris Studio"
 TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
 
 # Minimum supported versions, empty means unspecified
 TOOLCHAIN_MINIMUM_VERSION_clang="3.2"
 TOOLCHAIN_MINIMUM_VERSION_gcc="5.0"
 TOOLCHAIN_MINIMUM_VERSION_microsoft="16.00.30319.01" # VS2010
-TOOLCHAIN_MINIMUM_VERSION_solstudio="5.13"
 TOOLCHAIN_MINIMUM_VERSION_xlc=""
 
 # Minimum supported linker versions, empty means unspecified
 TOOLCHAIN_MINIMUM_LD_VERSION_gcc="2.18"
 

@@ -294,17 +291,15 @@
   fi
 
   TOOLCHAIN_CC_BINARY_clang="clang"
   TOOLCHAIN_CC_BINARY_gcc="gcc"
   TOOLCHAIN_CC_BINARY_microsoft="cl$EXE_SUFFIX"
-  TOOLCHAIN_CC_BINARY_solstudio="cc"
   TOOLCHAIN_CC_BINARY_xlc="xlclang"
 
   TOOLCHAIN_CXX_BINARY_clang="clang++"
   TOOLCHAIN_CXX_BINARY_gcc="g++"
   TOOLCHAIN_CXX_BINARY_microsoft="cl$EXE_SUFFIX"
-  TOOLCHAIN_CXX_BINARY_solstudio="CC"
   TOOLCHAIN_CXX_BINARY_xlc="xlclang++"
 
   # Use indirect variable referencing
   toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE
   TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}

@@ -407,32 +402,11 @@
 AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
 [
   COMPILER=[$]$1
   COMPILER_NAME=$2
 
-  if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
-    # cc -V output typically looks like
-    #     cc: Sun C 5.12 Linux_i386 2011/11/16
-    # or
-    #     cc: Studio 12.5 Sun C 5.14 SunOS_sparc 2016/05/31
-    COMPILER_VERSION_OUTPUT=`$COMPILER -V 2>&1`
-    # Check that this is likely to be the Solaris Studio cc.
-    $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "^.* Sun $COMPILER_NAME" > /dev/null
-    if test $? -ne 0; then
-      ALT_VERSION_OUTPUT=`$COMPILER --version 2>&1`
-      AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
-      AC_MSG_NOTICE([The result from running with -V was: "$COMPILER_VERSION_OUTPUT"])
-      AC_MSG_NOTICE([The result from running with --version was: "$ALT_VERSION_OUTPUT"])
-      AC_MSG_ERROR([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
-    fi
-    # Remove usage instructions (if present), and
-    # collapse compiler output into a single line
-    COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
-        $SED -e 's/ *@<:@Uu@:>@sage:.*//'`
-    COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
-        $SED -e "s/^.*@<:@ ,\t@:>@$COMPILER_NAME@<:@ ,\t@:>@\(@<:@1-9@:>@\.@<:@0-9@:>@@<:@0-9@:>@*\).*/\1/"`
-  elif test  "x$TOOLCHAIN_TYPE" = xxlc; then
+  if test  "x$TOOLCHAIN_TYPE" = xxlc; then
     # xlc -qversion output typically looks like
     #     IBM XL C/C++ for AIX, V11.1 (5724-X13)
     #     Version: 11.01.0000.0015
     COMPILER_VERSION_OUTPUT=`$COMPILER -qversion 2>&1`
     # Check that this is likely to be the IBM XL C compiler.

@@ -613,23 +587,11 @@
 AC_DEFUN([TOOLCHAIN_EXTRACT_LD_VERSION],
 [
   LINKER=[$]$1
   LINKER_NAME="$2"
 
-  if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
-    # cc -Wl,-V output typically looks like
-    #   ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.2329
-
-    # solstudio cc requires us to have an existing file to pass as argument,
-    # but it need not be a syntactically correct C file, so just use
-    # ourself. :) The intermediate 'cat' is needed to stop ld from leaving
-    # a lingering a.out (!).
-    LINKER_VERSION_STRING=`$LD -Wl,-V $TOPDIR/configure 2>&1 | $CAT | $HEAD -n 1 | $SED -e 's/ld: //'`
-    # Extract version number
-    [ LINKER_VERSION_NUMBER=`$ECHO $LINKER_VERSION_STRING | \
-        $SED -e 's/.* \([0-9][0-9]*\.[0-9][0-9]*\)-\([0-9][0-9]*\.[0-9][0-9]*\)/\1.\2/'` ]
-  elif test  "x$TOOLCHAIN_TYPE" = xxlc; then
+  if test  "x$TOOLCHAIN_TYPE" = xxlc; then
     LINKER_VERSION_STRING="Unknown"
     LINKER_VERSION_NUMBER="0.0"
   elif test  "x$TOOLCHAIN_TYPE" = xmicrosoft; then
     # There is no specific version flag, but all output starts with a version string.
     # First line typically looks something like:

@@ -782,20 +744,12 @@
   fi
 
   #
   # Setup the assembler (AS)
   #
-  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-    UTIL_PATH_PROGS(AS, as)
-    UTIL_FIXUP_EXECUTABLE(AS)
-    if test "x$AS" = x; then
-      AC_MSG_ERROR([Solaris assembler (as) is required. Please install via "pkg install pkg:/developer/assembler".])
-    fi
-  else
     # FIXME: is this correct for microsoft?
     AS="$CC -c"
-  fi
   AC_SUBST(AS)
 
   #
   # Setup the archiver (AR)
   #

@@ -840,19 +794,11 @@
     # will call it in a DOS shell during freetype detection on Windows (see
     # 'LIB_SETUP_FREETYPE' in "libraries.m4"
     AC_CHECK_PROG([MSBUILD], [msbuild$EXE_SUFFIX], [msbuild$EXE_SUFFIX],,,)
   fi
 
-  if test "x$OPENJDK_TARGET_OS" = xsolaris; then
-    UTIL_PATH_PROGS(STRIP, strip)
-    UTIL_FIXUP_EXECUTABLE(STRIP)
-    UTIL_PATH_PROGS(NM, nm)
-    UTIL_FIXUP_EXECUTABLE(NM)
-    UTIL_PATH_PROGS(GNM, gnm)
-    UTIL_FIXUP_EXECUTABLE(GNM)
-  elif test "x$OPENJDK_TARGET_OS" != xwindows; then
-    # FIXME: we should unify this with the solaris case above.
+  if test "x$OPENJDK_TARGET_OS" != xwindows; then
     UTIL_CHECK_TOOLS(STRIP, strip)
     UTIL_FIXUP_EXECUTABLE(STRIP)
     if test "x$TOOLCHAIN_TYPE" = xgcc; then
       UTIL_CHECK_TOOLS(NM, nm gcc-nm)
     else

@@ -863,52 +809,15 @@
     AC_SUBST(GNM)
   fi
 
   # objcopy is used for moving debug symbols to separate files when
   # full debug symbols are enabled.
-  if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
+  if test "x$OPENJDK_TARGET_OS" = xlinux; then
     UTIL_CHECK_TOOLS(OBJCOPY, [gobjcopy objcopy])
     # Only call fixup if objcopy was found.
     if test -n "$OBJCOPY"; then
       UTIL_FIXUP_EXECUTABLE(OBJCOPY)
-      if test "x$OPENJDK_BUILD_OS" = xsolaris; then
-        # objcopy prior to 2.21.1 on solaris is broken and is not usable.
-        # Rewrite objcopy version output to VALID_VERSION or BAD_VERSION.
-        # - version number is last blank separate word on first line
-        # - version number formats that have been seen:
-        #   - <major>.<minor>
-        #   - <major>.<minor>.<micro>
-        OBJCOPY_VERSION=`$OBJCOPY --version | $HEAD -n 1`
-        # The outer [ ] is to prevent m4 from eating the [] in the sed expression.
-        [ OBJCOPY_VERSION_CHECK=`$ECHO $OBJCOPY_VERSION | $SED -n \
-              -e 's/.* //' \
-              -e '/^[01]\./b bad' \
-              -e '/^2\./{' \
-              -e '  s/^2\.//' \
-              -e '  /^[0-9]$/b bad' \
-              -e '  /^[0-9]\./b bad' \
-              -e '  /^1[0-9]$/b bad' \
-              -e '  /^1[0-9]\./b bad' \
-              -e '  /^20\./b bad' \
-              -e '  /^21\.0$/b bad' \
-              -e '  /^21\.0\./b bad' \
-              -e '}' \
-              -e ':good' \
-              -e 's/.*/VALID_VERSION/p' \
-              -e 'q' \
-              -e ':bad' \
-              -e 's/.*/BAD_VERSION/p' \
-              -e 'q'` ]
-        if test "x$OBJCOPY_VERSION_CHECK" = xBAD_VERSION; then
-          OBJCOPY=
-          AC_MSG_WARN([Ignoring found objcopy since it is broken (prior to 2.21.1). No debug symbols will be generated.])
-          AC_MSG_NOTICE([objcopy reports version $OBJCOPY_VERSION])
-          AC_MSG_NOTICE([Note: patch 149063-01 or newer contains the correct Solaris 10 SPARC version])
-          AC_MSG_NOTICE([Note: patch 149064-01 or newer contains the correct Solaris 10 X86 version])
-          AC_MSG_NOTICE([Note: Solaris 11 Update 1 contains the correct version])
-        fi
-      fi
     fi
   fi
 
   UTIL_CHECK_TOOLS(OBJDUMP, [gobjdump objdump])
   if test "x$OBJDUMP" != x; then

@@ -916,11 +825,11 @@
     # bails if argument is missing.
     UTIL_FIXUP_EXECUTABLE(OBJDUMP)
   fi
 
   case $TOOLCHAIN_TYPE in
-    gcc|clang|solstudio)
+    gcc|clang)
       UTIL_CHECK_TOOLS(CXXFILT, [c++filt])
       UTIL_CHECK_NONEMPTY(CXXFILT)
       UTIL_FIXUP_EXECUTABLE(CXXFILT)
       ;;
   esac
< prev index next >