Merge "Fix clang script to detect -cc1"
diff --git a/build/tools/make-standalone-toolchain.sh b/build/tools/make-standalone-toolchain.sh
index dd856fb..796d7c5 100755
--- a/build/tools/make-standalone-toolchain.sh
+++ b/build/tools/make-standalone-toolchain.sh
@@ -237,19 +237,47 @@
   fi
 
   cat > "$TMPDIR/bin/clang" <<EOF
-\`dirname \$0\`/clang$LLVM_VERSION_WITHOUT_DOT -target $LLVM_TARGET "\$@"
+if [ "\$1" != "-cc1" ]; then
+    \`dirname \$0\`/clang$LLVM_VERSION_WITHOUT_DOT -target $LLVM_TARGET "\$@"
+else
+    # target/triple already spelled out.
+    \`dirname \$0\`/clang$LLVM_VERSION_WITHOUT_DOT "\$@"
+fi
 EOF
   cat > "$TMPDIR/bin/clang++" <<EOF
-\`dirname \$0\`/clang$LLVM_VERSION_WITHOUT_DOT++ -target $LLVM_TARGET "\$@"
+if [ "\$1" != "-cc1" ]; then
+    \`dirname \$0\`/clang$LLVM_VERSION_WITHOUT_DOT++ -target $LLVM_TARGET "\$@"
+else
+    # target/triple already spelled out.
+    \`dirname \$0\`/clang$LLVM_VERSION_WITHOUT_DOT++ "\$@"
+fi
 EOF
   chmod 0755 "$TMPDIR/bin/clang" "$TMPDIR/bin/clang++"
 
   if [ -n "$HOST_EXE" ] ; then
     cat > "$TMPDIR/bin/clang.cmd" <<EOF
+@echo off
+if "%1" == "-cc1" goto :L
 %~dp0\\clang${LLVM_VERSION_WITHOUT_DOT}${HOST_EXE} -target $LLVM_TARGET %*
+if ERRORLEVEL 1 exit /b 1
+goto :done
+:L
+rem target/triple already spelled out.
+%~dp0\\clang${LLVM_VERSION_WITHOUT_DOT}${HOST_EXE} %*
+if ERRORLEVEL 1 exit /b 1
+:done
 EOF
     cat > "$TMPDIR/bin/clang++.cmd" <<EOF
+@echo off
+if "%1" == "-cc1" goto :L
 %~dp0\\clang${LLVM_VERSION_WITHOUT_DOT}++${HOST_EXE} -target $LLVM_TARGET %*
+if ERRORLEVEL 1 exit /b 1
+goto :done
+:L
+rem target/triple already spelled out.
+%~dp0\\clang${LLVM_VERSION_WITHOUT_DOT}++${HOST_EXE} %*
+if ERRORLEVEL 1 exit /b 1
+:done
 EOF
   fi
 fi