# disable LTO (breaks with too few registers in error: 'asm' operand has impossible constraints eval "$( declare -f build | \ sed ' s/--enable-lto/--disable-lto/ ' )" # also disable mfx - libmfx does not compile depends=(${depends[@]//libmfx/}) eval "$( declare -f build | \ sed ' s/--enable-libmfx/--disable-libmfx/ ' )" # no vamf for non-pentium4 if [ "$CARCH" == 'i686' ] || [ "$CARCH" == 'i486' ]; then depends=(${depends[@]//vmaf/}) eval "$( declare -f prepare | \ sed ' /vmaf/d ' )" eval "$( declare -f build | \ sed ' s/--enable-libvmaf/--disable-libvmaf/ ' )" fi # force picking of a modern libvpx and not libvpx1.3 needed for steam makedepends+=('libvpx>=1.8.2') # no AviSynthPlus on i486 (uses Intel intrinsics and cmake support for # disabling it is broken) makedepends=(${makedepends[@]//avisynthplus/}) makedepends_i686+=(avisynthplus) makedepends_pentium4=("${makedepends_i686[@]}") if [ "$CARCH" == 'i486' ]; then eval "$( declare -f build | \ sed ' s/--enable-avisynth/--disable-avisynth/ ' )" fi # no rav1e on i486, no Rust (yet) if [ "$CARCH" == 'i486' ]; then depends=(${depends[@]//librav1e.so/}) eval "$( declare -f build | \ sed ' s@--enable-librav1e@--disable-librav1e@ ' )" fi # svt-av1 is 64-bit only depends=(${depends[@]//svt-av1/}) eval "$( declare -f build | \ sed ' s@--enable-libsvtav1@--disable-libsvtav1@ ' )" # -latomic on i486 if [ "$CARCH" == 'i486' ]; then depends=(${depends[@]//librav1e.so/}) eval "$( declare -f build | \ sed ' s@make[^ ]@make EXTRALIBS-ffmpeg=-latomic EXTRALIBS-ffplay=-latomic EXTRALIBS-ffprobe=-latomic@ ' )" fi # disable all modern optimizations eval "$( declare -f build | \ sed ' s|./configure|./configure --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-mmxext --disable-avx --disable-avx2 --disable-avx512| ' )" # disabled specific assembly per subarchitecture if [ "$CARCH" == 'i486' ]; then eval "$( declare -f build | \ sed ' s|./configure|./configure --disable-sse --disable-sse2 --disable-mmx| ' )" fi if [ "$CARCH" == 'i686' ]; then eval "$( declare -f build | \ sed ' s|./configure|./configure --disable-sse --disable-mmx| ' )" fi # see FS32#239, basically everything breaks otherwise eval "$( declare -f build | \ sed ' s|./configure|./configure --disable-asm| ' )" # see FS32#239, x264 and i486 result in missing symbols, no clue if [ "$CARCH" == 'i486' ]; then eval "$( declare -f build | \ sed ' s|--enable-libx264|--disable-libx264| ' )" fi # no Rust and librsvg on i486 (for now), use librsvg-og instead if [ "$CARCH" == 'i486' ]; then makedepends+=(librsvg-og) fi