From patchwork Wed May 16 19:52:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rostislav Pehlivanov X-Patchwork-Id: 8992 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:155:0:0:0:0:0 with SMTP id c82-v6csp3262689jad; Wed, 16 May 2018 13:02:32 -0700 (PDT) X-Google-Smtp-Source: AB8JxZovYnrAU+i7EMKoPBMiIE4Dl5LB6l5R+Qmbm7ElV+shnPJVidq68ff10ingolcgiCL166uN X-Received: by 2002:a1c:4249:: with SMTP id p70-v6mr1568938wma.17.1526500952805; Wed, 16 May 2018 13:02:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526500952; cv=none; d=google.com; s=arc-20160816; b=l0h3lJ+SnGclLFUxvYE9nW76nXuoJDLGHark1jfMp7dp+0G7hD0+OpgtuszpK4EeLy cNykWkTK/TZ9ZUIr1i8SXv6Ao+iyncsEOViBZrgH82jMh0iU85XPaxGgy0sluNg0EcHp HjgIVsIi0sFny88HccDPZnndOKJbfFI5KRjC7EPnyFkvEkxWUyLIEXqguRVanvPWplfZ 4LR99ICbdjTHMRtQM0h+W577fY/ZbYizUjVK/kKLcJOtLYI3IfmapG4048mVo8NsfZSJ Uio+bsJYOo28eJopvBaxhPw6WkZQMSv0QdLEXrdfC6U3EvRGYzptEaU93Fboj2zd9Mdx 57GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=eQ8CGiasvltLpb/U+VJfVP4sgU/C3KtmN3VDOn9uPEQ=; b=WxUja1Z3kFIF9P16rBcWaVNcoJJ3SYbRd6InpA/j4taazVW730aIXHAhwxRZFOm2hM 8UPQcQFAGGWUTRNhBCFavv68CG6YycsWI4p0r4ioa51FW3+405J8gldTYA6JAchZ2I8B F7BZMTzNkgw0S/3MYfqd0oWtQ+HyIhdFpEN8R5KAkV4b1qN7OV+vXTcv0dd0Qadl8nap 62abpIpFJB7N+LTjclqPQzIOw3D15sM+tAdqc2O15R1xsIknP0RDWt10nd8eaqRPZdA3 pqRh+g1N+CDMEhoIqexgya3HgsuUh6XCah2dWUmO9XnUx3ROx8b3wdxRUQsYQrsofcW7 Mu/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=TB5sIAUW; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id t33-v6si2970394wrc.383.2018.05.16.13.02.31; Wed, 16 May 2018 13:02:32 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=TB5sIAUW; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 88C0B68A056; Wed, 16 May 2018 23:01:51 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr0-f176.google.com (mail-wr0-f176.google.com [209.85.128.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3CB86689E49 for ; Wed, 16 May 2018 23:01:45 +0300 (EEST) Received: by mail-wr0-f176.google.com with SMTP id o4-v6so3130763wrm.0 for ; Wed, 16 May 2018 13:02:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=7+M5rcUR7cZaMuM9gyRYUVLnpIi+WKfnj2jrDThHbJQ=; b=TB5sIAUWM6yHyToDkxo1vMMuUPDKFgFHpm5ntZG5DDShEf7vv/iLhX0Iz1Yqc4OOi+ DGekPGLu+8ZesBRsoPrU3VlwMQsqLSqPTvxX/X8tCX7I+nmPhM3ZV8uGNG6wFXVZkIlc dSDwCddKAErpYHtw/Ag6lRALOFMwzZOlTC+k3nd/2kA/kc43rcihfMXNeOwsSVfa67jF R3abD53eI2ffBBBAcFMfGJ0m5Bnklmp2wnfEcgneu1BIyIMig+9/YyBiO/XmgxZWUHkd hMjWnXuSkdcwjkeGrGkS0hNQO7cTW+JsfzZq+wZUSX9uDzNpGlA2IBr2bTmTdkIU3eJB EZig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=7+M5rcUR7cZaMuM9gyRYUVLnpIi+WKfnj2jrDThHbJQ=; b=SnMXchJaxRd/iHx2Rt9mL2ZZSKaQAmOcbcZ/19EWpzSt9LLoiPjuVi+Z0cQx26wHRM +4sPMbp2aMC4WzwGbEhMWiLkC9Wnh+puAPoSExGwNoppCLW8PhaSGgymY+GQSvmwHeqr MKBs7DUEyBN9gCZiOdTxLCw44GFJa8CJmM/ym5qEw5+r8WwZmBy8n+8HBGRWT9IJstAw Yi/2Q7LQIGTHU9KilaAGk9tJA1mDxz/v6mlFZpjTZJgUzFMTzFsilhaNwsg7EwstJ+Vm BPkYI7tRbfbVctSherXs5Y9CA1BMWboJDIsnEgGWhEWLk6kEg0Fz0TibhQ+Ks1J0HQZP k10A== X-Gm-Message-State: ALKqPwdZKakLGBehzRfBiybSix8Afimoc3mZUyNq7e9yDQIpwt088rie KtjUimLdbTv9vMyO2PmUjjShPMt3 X-Received: by 2002:adf:9a54:: with SMTP id z78-v6mr1796607wrb.235.1526500453135; Wed, 16 May 2018 12:54:13 -0700 (PDT) Received: from moonbase.pars.ee ([2a00:23c4:7c8c:8e00:7510:c88a:17ab:54fa]) by smtp.gmail.com with ESMTPSA id w40-v6sm5450946wrc.69.2018.05.16.12.54.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 May 2018 12:54:11 -0700 (PDT) From: Rostislav Pehlivanov To: ffmpeg-devel@ffmpeg.org Date: Wed, 16 May 2018 20:52:25 +0100 Message-Id: <20180516195225.23948-1-atomnuker@gmail.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: References: Subject: [FFmpeg-devel] [PATCH v3] configure: error out on unsupported MSVC versions X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Rostislav Pehlivanov MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" 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 --- 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