ee3b4be
# HG changeset patch
ee3b4be
# User ihse
ee3b4be
# Date 1454642639 0
ee3b4be
#      Fri Feb 05 03:23:59 2016 +0000
ee3b4be
# Node ID 61798573efe5a9efa67e268a52cf61263abb4396
ee3b4be
# Parent  842cc183c9f6d29270ff002238248978c08f0a66
ee3b4be
8148351, PR2842: Only display resolved symlink for compiler, do not change path
ee3b4be
Reviewed-by: erikj
ee3b4be
ee3b4be
diff -r 5096b6468914 common/autoconf/toolchain.m4
ee3b4be
--- openjdk/./common/autoconf/toolchain.m4	Tue Jan 14 10:25:22 2014 -0800
ee3b4be
+++ openjdk/./common/autoconf/toolchain.m4	Fri Feb 05 20:02:15 2016 +0000
ee3b4be
@@ -147,38 +147,22 @@
ee3b4be
   fi
ee3b4be
   BASIC_FIXUP_EXECUTABLE($1)
ee3b4be
   TEST_COMPILER="[$]$1"
ee3b4be
-  # Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links
ee3b4be
-  # to 'xlc' but it is crucial that we invoke the compiler with the right name!
ee3b4be
-  if test "x$OPENJDK_BUILD_OS" != xaix; then
ee3b4be
-    AC_MSG_CHECKING([resolved symbolic links for $1])
ee3b4be
-    BASIC_REMOVE_SYMBOLIC_LINKS(TEST_COMPILER)
ee3b4be
-    AC_MSG_RESULT([$TEST_COMPILER])
ee3b4be
-  fi
ee3b4be
-  AC_MSG_CHECKING([if $1 is disguised ccache])
ee3b4be
 
ee3b4be
-  COMPILER_BASENAME=`$BASENAME "$TEST_COMPILER"`
ee3b4be
-  if test "x$COMPILER_BASENAME" = "xccache"; then
ee3b4be
-    AC_MSG_RESULT([yes, trying to find proper $COMPILER_NAME compiler])
ee3b4be
-    # We /usr/lib/ccache in the path, so cc is a symlink to /usr/bin/ccache.
ee3b4be
-    # We want to control ccache invocation ourselves, so ignore this cc and try
ee3b4be
-    # searching again.
ee3b4be
+  AC_MSG_CHECKING([resolved symbolic links for $1])
ee3b4be
+  SYMLINK_ORIGINAL="$TEST_COMPILER"
ee3b4be
+  BASIC_REMOVE_SYMBOLIC_LINKS(SYMLINK_ORIGINAL)
ee3b4be
+  if test "x$TEST_COMPILER" = "x$SYMLINK_ORIGINAL"; then
ee3b4be
+    AC_MSG_RESULT([no symlink])
ee3b4be
+  else
ee3b4be
+    AC_MSG_RESULT([$SYMLINK_ORIGINAL])
ee3b4be
 
ee3b4be
-    # Remove the path to the fake ccache cc from the PATH
ee3b4be
-    RETRY_COMPILER_SAVED_PATH="$PATH"
ee3b4be
-    COMPILER_DIRNAME=`$DIRNAME [$]$1`
ee3b4be
-    PATH="`$ECHO $PATH | $SED -e "s,$COMPILER_DIRNAME,,g" -e "s,::,:,g" -e "s,^:,,g"`"
ee3b4be
-
ee3b4be
-    # Try again looking for our compiler
ee3b4be
-    AC_CHECK_TOOLS(PROPER_COMPILER_$1, $3)
ee3b4be
-    BASIC_FIXUP_EXECUTABLE(PROPER_COMPILER_$1)
ee3b4be
-    PATH="$RETRY_COMPILER_SAVED_PATH"
ee3b4be
-
ee3b4be
-    AC_MSG_CHECKING([for resolved symbolic links for $1])
ee3b4be
-    BASIC_REMOVE_SYMBOLIC_LINKS(PROPER_COMPILER_$1)
ee3b4be
-    AC_MSG_RESULT([$PROPER_COMPILER_$1])
ee3b4be
-    $1="$PROPER_COMPILER_$1"
ee3b4be
-  else
ee3b4be
-    AC_MSG_RESULT([no, keeping $1])
ee3b4be
+    # We can't handle ccache by gcc wrappers, since we need to know if we're
ee3b4be
+    # using ccache. Instead ccache usage must be controlled by a configure option.
ee3b4be
+    COMPILER_BASENAME=`$BASENAME "$SYMLINK_ORIGINAL"`
ee3b4be
+    if test "x$COMPILER_BASENAME" = "xccache"; then
ee3b4be
+      AC_MSG_NOTICE([Please use --enable-ccache instead of providing a wrapped compiler.])
ee3b4be
+      AC_MSG_ERROR([$TEST_COMPILER is a symbolic link to ccache. This is not supported.])
ee3b4be
+    fi
ee3b4be
   fi
ee3b4be
 
ee3b4be
   TOOLCHAIN_CHECK_COMPILER_VERSION([$1], [$COMPILER_NAME])