diff mbox

[FFmpeg-devel,v3] configure: error out on unsupported MSVC versions

Message ID 20180516195225.23948-1-atomnuker@gmail.com
State Accepted
Commit ce943dd6acbfdfc40223c0fb24d4cad438e6499c
Headers show

Commit Message

Rostislav Pehlivanov May 16, 2018, 7:52 p.m. UTC
The FATE tests for MSVC versions older than 2013 are untested in FATE
and apparently are no longer supported.

This commit makes the configure process error out in case an older version
is used, and suggests to use a supported version of MSVC to compile.

This also changes the documentation to reflect this.

As discussed on IRC:

2018-05-12 19:45:16     jamrial then again, most of those were for old msvc, and i think we're not supporting versions older than 2013 (first one c99 compliant) anymore
2018-05-12 19:45:43     +JEEB   yea, I think 2013 update 2 is needed

22:53 <@atomnuker> nevcairiel: which commit broke/unsupported support for msvc 2013?
23:23 <@atomnuker> okay, it was JEEB
23:25 <+JEEB> which was for 2012 and older
23:25 <+JEEB> and IIRC we no longer test those in FATE so that was my assumption
23:26 <+JEEB> 2013 is when MS got trolled enough to actually update their C part
23:26 <+JEEB> aand actually advertised FFmpeg support
23:26 <+JEEB> (although it was semi-failing until VS2013 update 1 or 2)

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
---
 configure         |  3 +--
 doc/platform.texi | 16 +++-------------
 2 files changed, 4 insertions(+), 15 deletions(-)

Comments

Rostislav Pehlivanov May 18, 2018, 1:40 a.m. UTC | #1
On 16 May 2018 at 20:52, Rostislav Pehlivanov <atomnuker@gmail.com> wrote:

> The FATE tests for MSVC versions older than 2013 are untested in FATE
> and apparently are no longer supported.
>
> This commit makes the configure process error out in case an older version
> is used, and suggests to use a supported version of MSVC to compile.
>
> This also changes the documentation to reflect this.
>
> As discussed on IRC:
>
> 2018-05-12 19:45:16     jamrial then again, most of those were for old
> msvc, and i think we're not supporting versions older than 2013 (first one
> c99 compliant) anymore
> 2018-05-12 19:45:43     +JEEB   yea, I think 2013 update 2 is needed
>
> 22:53 <@atomnuker> nevcairiel: which commit broke/unsupported support for
> msvc 2013?
> 23:23 <@atomnuker> okay, it was JEEB
> 23:25 <+JEEB> which was for 2012 and older
> 23:25 <+JEEB> and IIRC we no longer test those in FATE so that was my
> assumption
> 23:26 <+JEEB> 2013 is when MS got trolled enough to actually update their
> C part
> 23:26 <+JEEB> aand actually advertised FFmpeg support
> 23:26 <+JEEB> (although it was semi-failing until VS2013 update 1 or 2)
>
> Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
> ---
>  configure         |  3 +--
>  doc/platform.texi | 16 +++-------------
>  2 files changed, 4 insertions(+), 15 deletions(-)
>
> diff --git a/configure b/configure
> index 1f7d0140e3..e52f8f850b 100755
> --- a/configure
> +++ b/configure
> @@ -3988,8 +3988,7 @@ case "$toolchain" in
>              cc_default="cl"
>              cxx_default="cl"
>          else
> -            cc_default="c99wrap cl"
> -            cxx_default="c99wrap cl"
> +            die "Unsupported MSVC version (2013 or newer required)"
>          fi
>          ld_default="$source_path/compat/windows/mslink"
>          nm_default="dumpbin -symbols"
> diff --git a/doc/platform.texi b/doc/platform.texi
> index bdfb6fd6a5..4090b85670 100644
> --- a/doc/platform.texi
> +++ b/doc/platform.texi
> @@ -148,16 +148,11 @@ To target 32 bits replace @code{x86_64} with
> @code{i686} in the command above.
>
>  @section Microsoft Visual C++ or Intel C++ Compiler for Windows
>
> -FFmpeg can be built with MSVC 2012 or earlier using a C99-to-C89
> conversion utility
> -and wrapper, or with MSVC 2013 and ICL natively.
> +FFmpeg can be built with MSVC 2013 or later.
>
>  You will need the following prerequisites:
>
>  @itemize
> -@item @uref{https://github.com/libav/c99-to-c89/, C99-to-C89 Converter &
> Wrapper}
> -(if using MSVC 2012 or earlier)
> -@item @uref{http://code.google.com/p/msinttypes/, msinttypes}
> -(if using MSVC 2012 or earlier)
>  @item @uref{http://msys2.github.io/, MSYS2}
>  @item @uref{http://www.nasm.us/, NASM}
>  (Also available via MSYS2's package manager.)
> @@ -166,16 +161,13 @@ You will need the following prerequisites:
>  To set up a proper environment in MSYS2, you need to run
> @code{msys_shell.bat} from
>  the Visual Studio or Intel Compiler command prompt.
>
> -Place @code{yasm.exe} somewhere in your @code{PATH}. If using MSVC 2012 or
> -earlier, place @code{c99wrap.exe} and @code{c99conv.exe} somewhere in your
> -@code{PATH} as well.
> +Place @code{yasm.exe} somewhere in your @code{PATH}.
>
>  Next, make sure any other headers and libs you want to use, such as zlib,
> are
>  located in a spot that the compiler can see. Do so by modifying the
> @code{LIB}
>  and @code{INCLUDE} environment variables to include the
> @strong{Windows-style}
>  paths to these directories. Alternatively, you can try to use the
> -@code{--extra-cflags}/@code{--extra-ldflags} configure options. If using
> MSVC
> -2012 or earlier, place @code{inttypes.h} somewhere the compiler can see
> too.
> +@code{--extra-cflags}/@code{--extra-ldflags} configure options.
>
>  Finally, run:
>
> @@ -217,8 +209,6 @@ can see.
>
>  @item FFmpeg has been tested with the following on i686 and x86_64:
>  @itemize
> -@item Visual Studio 2010 Pro and Express
> -@item Visual Studio 2012 Pro and Express
>  @item Visual Studio 2013 Pro and Express
>  @item Intel Composer XE 2013
>  @item Intel Composer XE 2013 SP1
> --
> 2.17.0
>
>
Pushed, thanks
Carl Eugen Hoyos May 18, 2018, 8:01 a.m. UTC | #2
2018-05-18 3:40 GMT+02:00, Rostislav Pehlivanov <atomnuker@gmail.com>:

> Pushed, thanks

I believe you forgot the requested entry in the Changelog.

Carl Eugen
diff mbox

Patch

diff --git a/configure b/configure
index 1f7d0140e3..e52f8f850b 100755
--- a/configure
+++ b/configure
@@ -3988,8 +3988,7 @@  case "$toolchain" in
             cc_default="cl"
             cxx_default="cl"
         else
-            cc_default="c99wrap cl"
-            cxx_default="c99wrap cl"
+            die "Unsupported MSVC version (2013 or newer required)"
         fi
         ld_default="$source_path/compat/windows/mslink"
         nm_default="dumpbin -symbols"
diff --git a/doc/platform.texi b/doc/platform.texi
index bdfb6fd6a5..4090b85670 100644
--- a/doc/platform.texi
+++ b/doc/platform.texi
@@ -148,16 +148,11 @@  To target 32 bits replace @code{x86_64} with @code{i686} in the command above.
 
 @section Microsoft Visual C++ or Intel C++ Compiler for Windows
 
-FFmpeg can be built with MSVC 2012 or earlier using a C99-to-C89 conversion utility
-and wrapper, or with MSVC 2013 and ICL natively.
+FFmpeg can be built with MSVC 2013 or later.
 
 You will need the following prerequisites:
 
 @itemize
-@item @uref{https://github.com/libav/c99-to-c89/, C99-to-C89 Converter & Wrapper}
-(if using MSVC 2012 or earlier)
-@item @uref{http://code.google.com/p/msinttypes/, msinttypes}
-(if using MSVC 2012 or earlier)
 @item @uref{http://msys2.github.io/, MSYS2}
 @item @uref{http://www.nasm.us/, NASM}
 (Also available via MSYS2's package manager.)
@@ -166,16 +161,13 @@  You will need the following prerequisites:
 To set up a proper environment in MSYS2, you need to run @code{msys_shell.bat} from
 the Visual Studio or Intel Compiler command prompt.
 
-Place @code{yasm.exe} somewhere in your @code{PATH}. If using MSVC 2012 or
-earlier, place @code{c99wrap.exe} and @code{c99conv.exe} somewhere in your
-@code{PATH} as well.
+Place @code{yasm.exe} somewhere in your @code{PATH}.
 
 Next, make sure any other headers and libs you want to use, such as zlib, are
 located in a spot that the compiler can see. Do so by modifying the @code{LIB}
 and @code{INCLUDE} environment variables to include the @strong{Windows-style}
 paths to these directories. Alternatively, you can try to use the
-@code{--extra-cflags}/@code{--extra-ldflags} configure options. If using MSVC
-2012 or earlier, place @code{inttypes.h} somewhere the compiler can see too.
+@code{--extra-cflags}/@code{--extra-ldflags} configure options.
 
 Finally, run:
 
@@ -217,8 +209,6 @@  can see.
 
 @item FFmpeg has been tested with the following on i686 and x86_64:
 @itemize
-@item Visual Studio 2010 Pro and Express
-@item Visual Studio 2012 Pro and Express
 @item Visual Studio 2013 Pro and Express
 @item Intel Composer XE 2013
 @item Intel Composer XE 2013 SP1