This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 4988aaeb34375f7d0e0ba595118183819d455126
Author:     Kacper Michajłow <[email protected]>
AuthorDate: Sat Aug 22 18:16:57 2026 +0200
Commit:     Kacper Michajłow <[email protected]>
CommitDate: Mon Sep 7 03:12:56 2026 +0200

    doc/platform: remove obsolete toolchain guidance
    
    Drop advice that stopped being true years ago: the GNU as 2.15 warning,
    Solaris values-xpg6.o and shell-bug workarounds, gas-preprocessor for
    PowerPC Mac and iPhone, MSVC 2013 as the supported compiler together
    with the inline define and msinttypes notes, the mingw.org
    cross-compilation instructions, Cygwin 1.5/1.7 and Cygwin Ports notes
    and the -mno-cygwin cross build.
    
    Signed-off-by: Kacper Michajłow <[email protected]>
---
 doc/platform.texi | 116 ++++++++++++------------------------------------------
 1 file changed, 25 insertions(+), 91 deletions(-)

diff --git a/doc/platform.texi b/doc/platform.texi
index 5ed6997cef..48369f3bd8 100644
--- a/doc/platform.texi
+++ b/doc/platform.texi
@@ -12,19 +12,6 @@
 
 @chapter Unix-like
 
-Some parts of FFmpeg cannot be built with version 2.15 of the GNU
-assembler which is still provided by a few AMD64 distributions. To
-make sure your compiler really uses the required version of gas
-after a binutils upgrade, run:
-
-@example
-$(gcc -print-prog-name=as) --version
-@end example
-
-If not, then you should install a different compiler that has no
-hard-coded path to gas. In the worst case pass @code{--disable-asm}
-to configure.
-
 @section Advanced linking configuration
 
 If you compiled FFmpeg libraries statically and you want to use them to
@@ -47,17 +34,7 @@ BSD make will not build FFmpeg, you need to install and use 
GNU Make
 @section (Open)Solaris
 
 GNU Make is required to build FFmpeg, so you have to invoke (@command{gmake}),
-standard Solaris Make will not work. When building with a non-c99 front-end
-(gcc, generic suncc) add either @code{--extra-libs=/usr/lib/values-xpg6.o}
-or @code{--extra-libs=/usr/lib/64/values-xpg6.o} to the configure options
-since the libc is not c99-compliant by default. The probes performed by
-configure may raise an exception leading to the death of configure itself
-due to a bug in the system shell. Simply invoke a different shell such as
-bash directly to work around this:
-
-@example
-bash ./configure
-@end example
+standard Solaris Make will not work.
 
 @anchor{Darwin}
 @section Darwin (Mac OS X, iPhone)
@@ -65,17 +42,11 @@ bash ./configure
 The toolchain provided with Xcode is sufficient to build the basic
 unaccelerated code.
 
-Mac OS X on PowerPC or ARM (iPhone) requires a preprocessor from
-@url{https://github.com/FFmpeg/gas-preprocessor} or
-@url{https://github.com/yuvi/gas-preprocessor}(currently outdated) to build 
the optimized
-assembly functions. Put the Perl script somewhere
-in your PATH, FFmpeg's configure will pick it up automatically.
-
-Mac OS X on amd64 and x86 requires @command{nasm} to build most of the
-optimized assembly functions. @uref{http://www.finkproject.org/, Fink},
+macOS on x86 requires @command{nasm} to build most of the
+optimized assembly functions.
 @uref{https://wiki.gentoo.org/wiki/Project:Prefix, Gentoo Prefix},
-@uref{https://mxcl.github.com/homebrew/, Homebrew}
-or @uref{http://www.macports.org, MacPorts} can easily provide it.
+@uref{https://brew.sh/, Homebrew}
+or @uref{https://www.macports.org, MacPorts} can easily provide it.
 
 
 @chapter DOS
@@ -145,18 +116,20 @@ 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 2013 or later.
+FFmpeg can be built with MSVC 2019 16.8 or later, the first version able to
+compile C11.
 
 You will need the following prerequisites:
 
 @itemize
-@item @uref{http://msys2.github.io/, MSYS2}
-@item @uref{http://www.nasm.us/, NASM}
+@item @uref{https://www.msys2.org/, MSYS2}
+@item @uref{https://www.nasm.us/, NASM}
 (Also available via MSYS2's package manager.)
 @end itemize
 
-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.
+To set up a proper environment in MSYS2, you need to run
+@code{msys2_shell.cmd -use-full-path} from the Visual Studio or Intel Compiler
+command prompt.
 
 Place @code{nasm.exe} somewhere in your @code{PATH}.
 
@@ -204,14 +177,6 @@ erroneously included when building FFmpeg.
 can see.
 @end enumerate
 
-@item FFmpeg has been tested with the following on i686 and x86_64:
-@itemize
-@item Visual Studio 2013 Pro and Express
-@item Intel Composer XE 2013
-@item Intel Composer XE 2013 SP1
-@end itemize
-Anything else is not officially supported.
-
 @end itemize
 
 @subsection Linking to FFmpeg with Microsoft Visual C++
@@ -220,14 +185,6 @@ If you plan to link with MSVC-built static libraries, you 
will need
 to make sure you have @code{Runtime Library} set to
 @code{Multi-threaded (/MT)} in your project's settings.
 
-You will need to define @code{inline} to something MSVC understands:
-@example
-#define inline __inline
-@end example
-
-Also note, that as stated in @strong{Microsoft Visual C++}, you will need
-an MSVC-compatible @uref{http://code.google.com/p/msinttypes/, inttypes.h}.
-
 If you plan on using import libraries created by dlltool, you must
 set @code{References} to @code{No (/OPT:NOREF)} under the linker optimization
 settings, otherwise the resulting binaries will fail during runtime.
@@ -242,10 +199,8 @@ To create import libraries that work with the 
@code{/OPT:REF} option
 
 @item Open the @emph{Visual Studio Command Prompt}.
 
-Alternatively, in a normal command line prompt, call @file{vcvars32.bat}
-which sets up the environment variables for the Visual C++ tools
-(the standard location for this file is something like
-@file{C:\Program Files (x86_\Microsoft Visual Studio 
10.0\VC\bin\vcvars32.bat}).
+Alternatively, in a normal command line prompt, call @file{vcvarsall.bat}
+which sets up the environment variables for the Visual C++ tools.
 
 @item Enter the @file{bin} directory where the created LIB and DLL files
 are stored.
@@ -263,27 +218,24 @@ Replace @code{foo-version} and @code{foo} with the 
respective library names.
 @anchor{Cross compilation for Windows with Linux}
 @section Cross compilation for Windows with Linux
 
-You must use the MinGW cross compilation tools available at
-@url{http://www.mingw.org/}.
+You must use the MinGW-w64 cross compilation tools, which most Linux
+distributions provide as packages.
 
 Then configure FFmpeg with the following options:
 @example
-./configure --target-os=mingw32 --cross-prefix=i386-mingw32msvc-
+./configure --arch=x86_64 --target-os=mingw32 
--cross-prefix=x86_64-w64-mingw32-
 @end example
 (you can change the cross-prefix according to the prefix chosen for the
-MinGW tools).
+MinGW-w64 tools).
 
-Then you can easily test FFmpeg with @uref{http://www.winehq.com/, Wine}.
+Then you can easily test FFmpeg with @uref{https://www.winehq.org/, Wine}.
 
 @section Compilation under Cygwin
 
-Please use Cygwin 1.7.x as the obsolete 1.5.x Cygwin versions lack
-llrint() in its C library.
-
 Install your Cygwin with all the "Base" packages, plus the
 following "Devel" ones:
 @example
-binutils, gcc4-core, make, git, mingw-runtime, texinfo
+binutils, gcc-core, make, git, texinfo
 @end example
 
 In order to run FATE you will also need the following "Utils" packages:
@@ -297,37 +249,19 @@ If you want to build FFmpeg with additional libraries, 
download Cygwin
 libogg-devel, libvorbis-devel
 @end example
 
-These library packages are only available from
-@uref{http://sourceware.org/cygwinports/, Cygwin Ports}:
-
-@example
-libSDL-devel, libgsm-devel, libmp3lame-devel,
-speex-devel, libtheora-devel, libxvidcore-devel
-@end example
-
-The recommendation for x264 is to build it from source, as it evolves too
-quickly for Cygwin Ports to be up to date.
-
 @section Crosscompilation for Windows under Cygwin
 
 With Cygwin you can create Windows binaries that do not need the cygwin1.dll.
 
-Just install your Cygwin as explained before, plus these additional
-"Devel" packages:
-@example
-gcc-mingw-core, mingw-runtime, mingw-zlib
-@end example
-
-and add some special flags to your configure invocation.
-
-For a static build run
+Just install your Cygwin as explained before, plus the MinGW-w64 cross
+toolchain "Devel" packages:
 @example
-./configure --target-os=mingw32 --extra-cflags=-mno-cygwin 
--extra-libs=-mno-cygwin
+mingw64-x86_64-gcc-core, mingw64-x86_64-binutils
 @end example
 
-and for a build with shared libraries
+and configure with:
 @example
-./configure --target-os=mingw32 --enable-shared --disable-static 
--extra-cflags=-mno-cygwin --extra-libs=-mno-cygwin
+./configure --arch=x86_64 --target-os=mingw32 
--cross-prefix=x86_64-w64-mingw32-
 @end example
 
 @section ARM64EC

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to