[FFmpeg-cvslog] configure: drop yasm support

Lynne git at videolan.org
Sun Oct 6 02:34:47 EEST 2024


ffmpeg | branch: master | Lynne <dev at lynne.ee> | Thu Oct  3 15:25:37 2024 +0200| [2f888fb99eef07a259879273bc9999c5e86620ca] | committer: Lynne

configure: drop yasm support

We started defauling to nasm 8 years ago.
We are still compatible with yasm 0.8.0, released in 2009. **15 years ago**.
The time has more than come to remove support for it.

Maintaining compatibility started cutting into writing new code long ago.
We still can't have 2-argument instructions, preprocessor booleans, and all
AVX2 code must still be wrapped in ifdefs. Newly added code often breaks this.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2f888fb99eef07a259879273bc9999c5e86620ca
---

 Changelog            |  1 +
 configure            | 21 ++-------------------
 doc/developer.texi   |  2 +-
 doc/optimization.txt |  4 ++--
 doc/platform.texi    |  4 ++--
 5 files changed, 8 insertions(+), 24 deletions(-)

diff --git a/Changelog b/Changelog
index b82b948074..7963e093dd 100644
--- a/Changelog
+++ b/Changelog
@@ -2,6 +2,7 @@ Entries are sorted chronologically from oldest to youngest within each release,
 releases are sorted from youngest to oldest.
 
 version <next>:
+- yasm support dropped, users need to use nasm
 
 version 7.1:
 - Raw Captions with Time (RCWT) closed caption demuxer
diff --git a/configure b/configure
index 77a9395650..9b7236e69b 100755
--- a/configure
+++ b/configure
@@ -4415,16 +4415,6 @@ for opt do
             test $action = enable && warn_if_gets_disabled $list
             $action $list
         ;;
-        --enable-yasm|--disable-yasm)
-            warn "The ${opt} option is only provided for compatibility and will be\n"\
-                 "removed in the future. Use --enable-x86asm / --disable-x86asm instead."
-            test $opt = --enable-yasm && x86asm=yes || x86asm=no
-        ;;
-        --yasmexe=*)
-            warn "The --yasmexe option is only provided for compatibility and will be\n"\
-                 "removed in the future. Use --x86asmexe instead."
-            x86asmexe="$optval"
-        ;;
         --enable-?*|--disable-?*)
             eval $(echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g')
             if is_in $option $COMPONENT_LIST; then
@@ -6445,26 +6435,19 @@ EOF
         x86asmexe_probe=$1
         if test_cmd $x86asmexe_probe -v; then
             x86asmexe=$x86asmexe_probe
-            x86asm_type=nasm
             x86asm_debug="-g -F dwarf"
             X86ASMDEP=
             X86ASM_DEPFLAGS='-MD $(@:.o=.d)'
-        elif test_cmd $x86asmexe_probe --version; then
-            x86asmexe=$x86asmexe_probe
-            x86asm_type=yasm
-            x86asm_debug="-g dwarf2"
-            X86ASMDEP='$(DEPX86ASM) $(X86ASMFLAGS) -M $(X86ASM_O) $< > $(@:.o=.d)'
-            X86ASM_DEPFLAGS=
         fi
         check_x86asm x86asm "movbe ecx, [5]"
     }
 
     if ! disabled_any asm mmx x86asm; then
         disable x86asm
-        for program in $x86asmexe nasm yasm; do
+        for program in $x86asmexe nasm; do
             probe_x86asm $program && break
         done
-        disabled x86asm && die "nasm/yasm not found or too old. Use --disable-x86asm for a crippled build."
+        disabled x86asm && die "nasm not found or too old. Use --disable-x86asm for a crippled build."
         X86ASMFLAGS="-f $objformat"
         test -n "$extern_prefix"  && append X86ASMFLAGS "-DPREFIX"
         case "$objformat" in
diff --git a/doc/developer.texi b/doc/developer.texi
index 41b21938ef..ff181abb58 100644
--- a/doc/developer.texi
+++ b/doc/developer.texi
@@ -825,7 +825,7 @@ filters, bitstream filters, parsers. If its not possible to do that, add
 an explanation why to your patchset, its ok to not test if theres a reason.
 
 @item
-If you added YASM code please check that things still work with --disable-yasm.
+If you added NASM code please check that things still work with --disable-x86asm.
 
 @item
 Test your code with valgrind and or Address Sanitizer to ensure it's free
diff --git a/doc/optimization.txt b/doc/optimization.txt
index 3ed29fe38c..40480e4fa9 100644
--- a/doc/optimization.txt
+++ b/doc/optimization.txt
@@ -188,7 +188,7 @@ Code that depends on data in registries being untouched, should be written as
 a single __asm__() statement. Ideally, a single function contains only one
 __asm__() block.
 
-Use external asm (nasm/yasm) or inline asm (__asm__()), do not use intrinsics.
+Use external asm (nasm) or inline asm (__asm__()), do not use intrinsics.
 The latter requires a good optimizing compiler which gcc is not.
 
 When debugging a x86 external asm compilation issue, if lost in the macro
@@ -199,7 +199,7 @@ actual lines causing issues.
 Inline asm vs. external asm
 ---------------------------
 Both inline asm (__asm__("..") in a .c file, handled by a compiler such as gcc)
-and external asm (.s or .asm files, handled by an assembler such as nasm/yasm)
+and external asm (.s or .asm files, handled by an assembler such as nasm)
 are accepted in FFmpeg. Which one to use differs per specific case.
 
 - if your code is intended to be inlined in a C function, inline asm is always
diff --git a/doc/platform.texi b/doc/platform.texi
index 764911d230..d9ee436a9f 100644
--- a/doc/platform.texi
+++ b/doc/platform.texi
@@ -158,7 +158,7 @@ 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}.
+Place @code{nasm.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}
@@ -301,7 +301,7 @@ These library packages are only available from
 @uref{http://sourceware.org/cygwinports/, Cygwin Ports}:
 
 @example
-yasm, libSDL-devel, libgsm-devel, libmp3lame-devel,
+libSDL-devel, libgsm-devel, libmp3lame-devel,
 speex-devel, libtheora-devel, libxvidcore-devel
 @end example
 



More information about the ffmpeg-cvslog mailing list