ffmpeg/ffbuild
Niklas Haas 6deae052a2 swscale/x86/uops: generate NASM macros using uops_macros.h
Rather than hard-coding a separate set of NASM macros, or generating them
with a separate function, we can just leverage the C preprocessor to generate
a NASM source file *from* the existing ops macros.

This is maybe a bit unorthodox, but it avoids unnecessary overhead from
re-generating the macros twice, avoids manual updating of the NASM macros,
and generally does not come with any real downside except being a bit ugly.

The main source of ugliness is the fact that the C preprocessor expands
everything into a single line, whereas NASM expects separate statements to
be on separate lines. Very fortunately, we can work around this by writing a
another NASM macro to take its arguments and dump them onto multiple lines.

It may seem premature, but I went ahead and defined all the macros, since
it was easy enough to do.

I added the %include in this commit to trigger build errors that occur only
as a result of introducing this file in the same commit that introduces it.

Signed-off-by: Niklas Haas <git@haasn.dev>
2026-06-09 18:27:20 +02:00
..
.gitignore avfilter: compress CUDA PTX code if possible 2021-06-22 14:05:44 +02:00
arch.mak configure: add detection of assembler support for SME2 2026-03-04 23:52:36 +02:00
bin2c.c ffbuild/bin2c: misc fix 2025-01-13 23:58:36 +08:00
common.mak swscale/x86/uops: generate NASM macros using uops_macros.h 2026-06-09 18:27:20 +02:00
library.mak build: link with CXX when -lstdc++ on linker commandline 2025-09-14 11:45:11 +00:00
libversion.sh ffbuild/libversion.sh: add shebang 2024-04-09 15:34:53 +02:00
pkgconfig_generate.sh ffbuild: fix include path for uninstalled .pc files 2025-04-22 21:04:36 +02:00
version.sh