From 858519e9e27992704c70284348ea2de63c6078fb Mon Sep 17 00:00:00 2001
From: Fons Rademakers <Fons.Rademakers@cern.ch>
Date: Mon, 22 Nov 2010 14:43:17 +0000
Subject: [PATCH] Fixes for windows: - configure: check for cl (and not for
 cl.sh) as compiler - Makefile.win32: fix detection of F77 compiler -
 root-config.in: set compiler to cl and not cl.sh.

git-svn-id: http://root.cern.ch/svn/root/trunk@36840 27541ba8-7e3a-0410-8455-c3a389f83636
---
 config/Makefile.win32 |  4 ++--
 config/root-config.in |  3 ---
 configure             | 34 ++++++++++++++++++++++++++++++----
 3 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/config/Makefile.win32 b/config/Makefile.win32
index 4c2d5bb0e3a..f0411859226 100644
--- a/config/Makefile.win32
+++ b/config/Makefile.win32
@@ -106,7 +106,7 @@ CILIBS        =
 CRYPTLIBS     =
 
 # Fortran:
-ifeq ($(F77),build/win/f77.sh)
+ifneq ($(findstring build/win/f77.sh,$(F77)),)
 F77           = $(ROOT_SRCDIR)/build/win/f77.sh
 F77FLAGS      = -nologo -4Nportlib $(BLDF77FLAGS) -recursive
 F77LDFLAGS    = $(F77FLAGS) $(F77OPT) -link $(LDFLAGS)
@@ -125,5 +125,5 @@ showld:
 	@echo "$(LD)"
 
 showf77:
-	@echo "$(F77)"
+	@echo "$(ROOT_SRCDIR)/build/win/f77.sh"
 endif
diff --git a/config/root-config.in b/config/root-config.in
index eb8e46e01ca..614553b6069 100755
--- a/config/root-config.in
+++ b/config/root-config.in
@@ -392,9 +392,6 @@ hiux)
    ;;
 win32)
    # Win32
-   altcc=cl
-   altcxx=cl
-   altld=link
    auxcflags="-MD"
    if test "x@winrtdebug@" = "xyes"; then
 	  auxcflags="-MDd"
diff --git a/configure b/configure
index 26300fbaf54..902660a3a4b 100755
--- a/configure
+++ b/configure
@@ -900,10 +900,18 @@ check_comp() {
             else
                 altcc=`grep '^CC ' ${ac_srcdir}/config/Makefile.$arch | awk '{ if (NF==3) {print $3; exit 0} }'`
             fi
+            if test "x$arch" = "xwin32" ; then
+                altccorg="cl"
+                altcctmp="$altcc"
+                altcc="$altccorg"
+            fi
         fi
         altcc1=`echo "$altcc" | awk '{print $1}'`
         if `$cwhich $altcc1 > /dev/null 2>&1` ; then
             found_comp=1
+            if test ! "x$altcctmp" = "x" ; then
+                altcc="$altcctmp"
+            fi
             result "$altcc"
         else
             nocomp="$altcc"
@@ -916,10 +924,18 @@ check_comp() {
             else
                 altcxx=`grep '^CXX ' ${ac_srcdir}/config/Makefile.$arch | awk '{ if (NF==3) {print $3; exit 0} }'`
             fi
+            if test "x$arch" = "xwin32" ; then
+                altcxxorg="cl"
+                altcxxtmp="$altcxx"
+                altcxx="$altcxxorg"
+            fi
         fi
         altcxx1=`echo "$altcxx" | awk '{print $1}'`
         if `$cwhich $altcxx1 > /dev/null 2>&1` ; then
             found_comp=1
+            if test ! "x$altcxxtmp" = "x" ; then
+                altcxx="$altcxxtmp"
+            fi
             result "$altcxx"
         else
             nocomp="$altcxx"
@@ -5923,8 +5939,8 @@ sed -e "s|@aclocaldir@|$aclocaldir|"            \
     -e "s|@bindir@|$bindir|"                    \
     -e "s|@buildasimage@|$enable_asimage|"      \
     -e "s|@builtinafterimage@|$enable_builtin_afterimage|"  \
-    -e "s|@buildftgl@|$enable_builtin_ftgl|"      \
-    -e "s|@buildglew@|$enable_builtin_glew|"      \
+    -e "s|@buildftgl@|$enable_builtin_ftgl|"    \
+    -e "s|@buildglew@|$enable_builtin_glew|"    \
     -e "s|@builtinfreetype@|$enable_builtin_freetype|"      \
     -e "s|@builtinpcre@|$enable_builtin_pcre|"  \
     -e "s|@buildxrd@|$buildxrd|"                \
@@ -6287,6 +6303,16 @@ if test "$prefix2" = "\$(ROOTSYS)" ; then
     mandir2=\$ROOTSYS/man/man1
 fi
 
+if test ! "x$altccorg" = "x" ; then
+    altcc2="$altccorg"
+else
+    altcc2="$altcc"
+fi
+if test ! "x$altcxxorg" = "x" ; then
+    altcxx2="$altcxxorg"
+else
+    altcxx2="$altcxx"
+fi
 if test ! "x$altf77org" = "x" ; then
     altf772="$altf77org"
 else
@@ -6312,8 +6338,8 @@ sed -e "s|@architecture@|$arch|"           \
     -e "s|@pythonvers@|$pythonvers|"       \
     -e "s|@alloclibdir@|$alloclibdir|"     \
     -e "s|@alloclib@|$alloclib|"           \
-    -e "s|@altcc@|$altcc|"                 \
-    -e "s|@altcxx@|$altcxx|"               \
+    -e "s|@altcc@|$altcc2|"                \
+    -e "s|@altcxx@|$altcxx2|"              \
     -e "s|@altf77@|$altf772|"              \
     -e "s|@altld@|$altld2|"                \
    < root-config.tmp > $RCONFOUT
-- 
GitLab