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

Rostislav Pehlivanov atomnuker at gmail.com
Fri May 18 04:40:40 EEST 2018


On 16 May 2018 at 20:52, Rostislav Pehlivanov <atomnuker at 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 at 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
> - at item @uref{https://github.com/libav/c99-to-c89/, C99-to-C89 Converter &
> Wrapper}
> -(if using MSVC 2012 or earlier)
> - at 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
> - at 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
> - at code{--extra-cflags}/@code{--extra-ldflags} configure options. If using
> MSVC
> -2012 or earlier, place @code{inttypes.h} somewhere the compiler can see
> too.
> + at 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
> - at item Visual Studio 2010 Pro and Express
> - at 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


More information about the ffmpeg-devel mailing list