Bug 1090512 - Emulate the clang-cl compiler version in toolchain.m4; r=glandium
authorEhsan Akhgari <ehsan@mozilla.com>
Wed, 29 Oct 2014 12:33:32 -0400
changeset 212986 52ed8be78a65699d2953ff6eb77a3e275b24728b
parent 212985 be1a1fd58f1125dcbf8ba2a97d1a23ca7b9c5320
child 212987 a6240694a60949743e6deca97ce1c71e71fa02e8
push id27738
push usercbook@mozilla.com
push dateThu, 30 Oct 2014 13:46:07 +0000
treeherdermozilla-central@1aa1b23d799e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs1090512
milestone36.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1090512 - Emulate the clang-cl compiler version in toolchain.m4; r=glandium
build/autoconf/toolchain.m4
configure.in
--- a/build/autoconf/toolchain.m4
+++ b/build/autoconf/toolchain.m4
@@ -68,16 +68,24 @@ CLANG_CL=
 if test "$compiler" = "clang"; then
     GNU_CC=1
     GNU_CXX=1
     CLANG_CC=1
     CLANG_CXX=1
 fi
 if test "$compiler" = "clang-cl"; then
     CLANG_CL=1
+    # We force clang-cl to emulate Visual C++ 2013 in configure.in, but that
+    # is based on the CLANG_CL variable defined here, so make sure that we're
+    # getting the right version here manually.
+    CC_VERSION=1800
+    CXX_VERSION=1800
+    # Build on clang-cl with MSVC 2013 with fallback emulation.
+    CFLAGS="$CFLAGS -fmsc-version=1800 -fallback"
+    CXXFLAGS="$CXXFLAGS -fmsc-version=1800 -fallback"
 fi
 
 if test "$GNU_CC"; then
     if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
         GCC_USE_GNU_LD=1
     fi
 fi
 
--- a/configure.in
+++ b/configure.in
@@ -509,20 +509,17 @@ case "$target" in
         AC_SUBST(MSVS_VERSION)
         AC_SUBST(MSVC_C_RUNTIME_DLL)
         AC_SUBST(MSVC_CXX_RUNTIME_DLL)
 
         # Disable SEH on clang-cl because it doesn't implement them yet.
         if test -z "$CLANG_CL"; then
             AC_DEFINE(HAVE_SEH_EXCEPTIONS)
         else
-            # Build on clang-cl with MSVC 2013 with fallback emulation.
-            CFLAGS="$CFLAGS -fmsc-version=1800 -fallback"
-            CXXFLAGS="$CXXFLAGS -fmsc-version=1800 -fallback"
-            # Send our CFLAGS to NSS too
+            # Send our CFLAGS to NSS
             MOZ_CFLAGS_NSS=1
             AC_DEFINE_UNQUOTED(GTEST_HAS_SEH, 0)
         fi
 
         if test -n "$WIN32_REDIST_DIR"; then
           if test ! -d "$WIN32_REDIST_DIR"; then
             AC_MSG_ERROR([Invalid Win32 Redist directory: ${WIN32_REDIST_DIR}])
           fi