From d3c8a000b30ac2084b8f4385b8a75760558e719d Mon Sep 17 00:00:00 2001 From: Jens Maus Date: Wed, 18 Sep 2024 14:55:10 +0200 Subject: [PATCH] update buildroot to latest 2024.08 and adapted upstream patches. --- Makefile | 4 +- buildroot-patches/0008-rpi-firmware.patch | 2 +- .../package/rpi-firmware/rpi-firmware.mk.orig | 2 +- ...0012-ffmpeg-rpi-userland-aarch64.patch_off | 11 - .../buildroot/package/ffmpeg/ffmpeg.mk | 578 ------------------ .../buildroot/package/ffmpeg/ffmpeg.mk.orig | 578 ------------------ 6 files changed, 4 insertions(+), 1171 deletions(-) delete mode 100644 buildroot-patches/0012-ffmpeg-rpi-userland-aarch64.patch_off delete mode 100644 buildroot-patches/0012-ffmpeg-rpi-userland-aarch64/buildroot/package/ffmpeg/ffmpeg.mk delete mode 100644 buildroot-patches/0012-ffmpeg-rpi-userland-aarch64/buildroot/package/ffmpeg/ffmpeg.mk.orig diff --git a/Makefile b/Makefile index fa12d05..558e281 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -BUILDROOT_VERSION=2024.05.1 -BUILDROOT_SHA256=561a5254b22356b31494b1ea3b7db3101ebe84a77550ef15286195c05cae1e8c +BUILDROOT_VERSION=2024.08 +BUILDROOT_SHA256=1d8ecca54275f647eb7217480157c7576443b8f9563457daf79e4ce75a46fdcd BUILDROOT_EXTERNAL=buildroot-external DEFCONFIG_DIR=$(BUILDROOT_EXTERNAL)/configs DATE=$(shell date +%Y%m%d) diff --git a/buildroot-patches/0008-rpi-firmware.patch b/buildroot-patches/0008-rpi-firmware.patch index 9a4dab5..3d17b48 100644 --- a/buildroot-patches/0008-rpi-firmware.patch +++ b/buildroot-patches/0008-rpi-firmware.patch @@ -17,7 +17,7 @@ # ################################################################################ --RPI_FIRMWARE_VERSION = 83dafbc92c0e63f76ca2ecdd42462d56489d1c77 +-RPI_FIRMWARE_VERSION = 5476720d52cf579dc1627715262b30ba1242525e +RPI_FIRMWARE_VERSION = $(call qstrip,$(BR2_PACKAGE_RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause diff --git a/buildroot-patches/0008-rpi-firmware/buildroot/package/rpi-firmware/rpi-firmware.mk.orig b/buildroot-patches/0008-rpi-firmware/buildroot/package/rpi-firmware/rpi-firmware.mk.orig index 11177ae..7ae9ff6 100644 --- a/buildroot-patches/0008-rpi-firmware/buildroot/package/rpi-firmware/rpi-firmware.mk.orig +++ b/buildroot-patches/0008-rpi-firmware/buildroot/package/rpi-firmware/rpi-firmware.mk.orig @@ -4,7 +4,7 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 83dafbc92c0e63f76ca2ecdd42462d56489d1c77 +RPI_FIRMWARE_VERSION = 5476720d52cf579dc1627715262b30ba1242525e RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom diff --git a/buildroot-patches/0012-ffmpeg-rpi-userland-aarch64.patch_off b/buildroot-patches/0012-ffmpeg-rpi-userland-aarch64.patch_off deleted file mode 100644 index 7e20da5..0000000 --- a/buildroot-patches/0012-ffmpeg-rpi-userland-aarch64.patch_off +++ /dev/null @@ -1,11 +0,0 @@ ---- buildroot/package/ffmpeg/ffmpeg.mk.orig -+++ buildroot/package/ffmpeg/ffmpeg.mk -@@ -281,7 +281,7 @@ - FFMPEG_CONF_OPTS += --disable-vdpau - endif - --ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) -+ifeq ($(BR2_PACKAGE_RPI_USERLAND)$(BR2_arm),yy) - FFMPEG_CONF_OPTS += --enable-mmal --enable-omx --enable-omx-rpi \ - --extra-cflags=-I$(STAGING_DIR)/usr/include/IL - FFMPEG_DEPENDENCIES += rpi-userland diff --git a/buildroot-patches/0012-ffmpeg-rpi-userland-aarch64/buildroot/package/ffmpeg/ffmpeg.mk b/buildroot-patches/0012-ffmpeg-rpi-userland-aarch64/buildroot/package/ffmpeg/ffmpeg.mk deleted file mode 100644 index 0e33dcf..0000000 --- a/buildroot-patches/0012-ffmpeg-rpi-userland-aarch64/buildroot/package/ffmpeg/ffmpeg.mk +++ /dev/null @@ -1,578 +0,0 @@ -################################################################################ -# -# ffmpeg -# -################################################################################ - -FFMPEG_VERSION = 4.4 -FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz -FFMPEG_SITE = http://ffmpeg.org/releases -FFMPEG_INSTALL_STAGING = YES - -FFMPEG_LICENSE = LGPL-2.1+, libjpeg license -FFMPEG_LICENSE_FILES = LICENSE.md COPYING.LGPLv2.1 -ifeq ($(BR2_PACKAGE_FFMPEG_GPL),y) -FFMPEG_LICENSE += and GPL-2.0+ -FFMPEG_LICENSE_FILES += COPYING.GPLv2 -endif - -FFMPEG_CPE_ID_VENDOR = ffmpeg - -FFMPEG_CONF_OPTS = \ - --prefix=/usr \ - --enable-avfilter \ - --disable-version3 \ - --enable-logging \ - --enable-optimizations \ - --disable-extra-warnings \ - --enable-avdevice \ - --enable-avcodec \ - --enable-avformat \ - --enable-network \ - --disable-gray \ - --enable-swscale-alpha \ - --disable-small \ - --enable-dct \ - --enable-fft \ - --enable-mdct \ - --enable-rdft \ - --disable-crystalhd \ - --disable-dxva2 \ - --enable-runtime-cpudetect \ - --disable-hardcoded-tables \ - --disable-mipsdsp \ - --disable-mipsdspr2 \ - --disable-msa \ - --enable-hwaccels \ - --disable-cuda \ - --disable-cuvid \ - --disable-nvenc \ - --disable-avisynth \ - --disable-frei0r \ - --disable-libopencore-amrnb \ - --disable-libopencore-amrwb \ - --disable-libdc1394 \ - --disable-libgsm \ - --disable-libilbc \ - --disable-libvo-amrwbenc \ - --disable-symver \ - --disable-doc - -FFMPEG_DEPENDENCIES += host-pkgconf - -ifeq ($(BR2_PACKAGE_FFMPEG_GPL),y) -FFMPEG_CONF_OPTS += --enable-gpl -else -FFMPEG_CONF_OPTS += --disable-gpl -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_NONFREE),y) -FFMPEG_CONF_OPTS += --enable-nonfree -else -FFMPEG_CONF_OPTS += --disable-nonfree -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_FFMPEG),y) -FFMPEG_CONF_OPTS += --enable-ffmpeg -else -FFMPEG_CONF_OPTS += --disable-ffmpeg -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_FFPLAY),y) -FFMPEG_DEPENDENCIES += sdl2 -FFMPEG_CONF_OPTS += --enable-ffplay -FFMPEG_CONF_ENV += SDL_CONFIG=$(STAGING_DIR)/usr/bin/sdl2-config -else -FFMPEG_CONF_OPTS += --disable-ffplay -endif - -ifeq ($(BR2_PACKAGE_LIBV4L),y) -FFMPEG_DEPENDENCIES += libv4l -FFMPEG_CONF_OPTS += --enable-libv4l2 -else -FFMPEG_CONF_OPTS += --disable-libv4l2 -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE),y) -FFMPEG_CONF_OPTS += --enable-avresample -else -FFMPEG_CONF_OPTS += --disable-avresample -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_FFPROBE),y) -FFMPEG_CONF_OPTS += --enable-ffprobe -else -FFMPEG_CONF_OPTS += --disable-ffprobe -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_XCBGRAB),y) -FFMPEG_CONF_OPTS += \ - --enable-libxcb \ - --enable-libxcb-shape \ - --enable-libxcb-shm \ - --enable-libxcb-xfixes -FFMPEG_DEPENDENCIES += libxcb -else -FFMPEG_CONF_OPTS += --disable-libxcb -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_POSTPROC),y) -FFMPEG_CONF_OPTS += --enable-postproc -else -FFMPEG_CONF_OPTS += --disable-postproc -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_SWSCALE),y) -FFMPEG_CONF_OPTS += --enable-swscale -else -FFMPEG_CONF_OPTS += --disable-swscale -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_ENCODERS)),all) -FFMPEG_CONF_OPTS += --disable-encoders \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_ENCODERS)),--enable-encoder=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_DECODERS)),all) -FFMPEG_CONF_OPTS += --disable-decoders \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_DECODERS)),--enable-decoder=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_MUXERS)),all) -FFMPEG_CONF_OPTS += --disable-muxers \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_MUXERS)),--enable-muxer=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_DEMUXERS)),all) -FFMPEG_CONF_OPTS += --disable-demuxers \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_DEMUXERS)),--enable-demuxer=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_PARSERS)),all) -FFMPEG_CONF_OPTS += --disable-parsers \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_PARSERS)),--enable-parser=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),all) -FFMPEG_CONF_OPTS += --disable-bsfs \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),--enable-bsf=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_PROTOCOLS)),all) -FFMPEG_CONF_OPTS += --disable-protocols \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_PROTOCOLS)),--enable-protocol=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_FILTERS)),all) -FFMPEG_CONF_OPTS += --disable-filters \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_FILTERS)),--enable-filter=$(x)) -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_INDEVS),y) -FFMPEG_CONF_OPTS += --enable-indevs -ifeq ($(BR2_PACKAGE_ALSA_LIB),y) -FFMPEG_CONF_OPTS += --enable-alsa -FFMPEG_DEPENDENCIES += alsa-lib -else -FFMPEG_CONF_OPTS += --disable-alsa -endif -else -FFMPEG_CONF_OPTS += --disable-indevs -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_OUTDEVS),y) -FFMPEG_CONF_OPTS += --enable-outdevs -ifeq ($(BR2_PACKAGE_ALSA_LIB),y) -FFMPEG_DEPENDENCIES += alsa-lib -endif -else -FFMPEG_CONF_OPTS += --disable-outdevs -endif - -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -FFMPEG_CONF_OPTS += --enable-pthreads -else -FFMPEG_CONF_OPTS += --disable-pthreads -endif - -ifeq ($(BR2_PACKAGE_ZLIB),y) -FFMPEG_CONF_OPTS += --enable-zlib -FFMPEG_DEPENDENCIES += zlib -else -FFMPEG_CONF_OPTS += --disable-zlib -endif - -ifeq ($(BR2_PACKAGE_BZIP2),y) -FFMPEG_CONF_OPTS += --enable-bzlib -FFMPEG_DEPENDENCIES += bzip2 -else -FFMPEG_CONF_OPTS += --disable-bzlib -endif - -ifeq ($(BR2_PACKAGE_FDK_AAC)$(BR2_PACKAGE_FFMPEG_NONFREE),yy) -FFMPEG_CONF_OPTS += --enable-libfdk-aac -FFMPEG_DEPENDENCIES += fdk-aac -else -FFMPEG_CONF_OPTS += --disable-libfdk-aac -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_GPL)$(BR2_PACKAGE_LIBCDIO_PARANOIA),yy) -FFMPEG_CONF_OPTS += --enable-libcdio -FFMPEG_DEPENDENCIES += libcdio-paranoia -else -FFMPEG_CONF_OPTS += --disable-libcdio -endif - -ifeq ($(BR2_PACKAGE_GNUTLS),y) -FFMPEG_CONF_OPTS += --enable-gnutls --disable-openssl -FFMPEG_DEPENDENCIES += gnutls -else -FFMPEG_CONF_OPTS += --disable-gnutls -ifeq ($(BR2_PACKAGE_OPENSSL),y) -# openssl isn't license compatible with GPL -ifeq ($(BR2_PACKAGE_FFMPEG_GPL)x$(BR2_PACKAGE_FFMPEG_NONFREE),yx) -FFMPEG_CONF_OPTS += --disable-openssl -else -FFMPEG_CONF_OPTS += --enable-openssl -FFMPEG_DEPENDENCIES += openssl -endif -else -FFMPEG_CONF_OPTS += --disable-openssl -endif -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_GPL)$(BR2_PACKAGE_LIBEBUR128),yy) -FFMPEG_DEPENDENCIES += libebur128 -endif - -ifeq ($(BR2_PACKAGE_LIBDRM),y) -FFMPEG_CONF_OPTS += --enable-libdrm -FFMPEG_DEPENDENCIES += libdrm -else -FFMPEG_CONF_OPTS += --disable-libdrm -endif - -ifeq ($(BR2_PACKAGE_LIBOPENH264),y) -FFMPEG_CONF_OPTS += --enable-libopenh264 -FFMPEG_DEPENDENCIES += libopenh264 -else -FFMPEG_CONF_OPTS += --disable-libopenh264 -endif - -ifeq ($(BR2_PACKAGE_LIBVORBIS),y) -FFMPEG_DEPENDENCIES += libvorbis -FFMPEG_CONF_OPTS += \ - --enable-libvorbis \ - --enable-muxer=ogg \ - --enable-encoder=libvorbis -endif - -ifeq ($(BR2_PACKAGE_LIBVA),y) -FFMPEG_CONF_OPTS += --enable-vaapi -FFMPEG_DEPENDENCIES += libva -else -FFMPEG_CONF_OPTS += --disable-vaapi -endif - -ifeq ($(BR2_PACKAGE_LIBVDPAU),y) -FFMPEG_CONF_OPTS += --enable-vdpau -FFMPEG_DEPENDENCIES += libvdpau -else -FFMPEG_CONF_OPTS += --disable-vdpau -endif - -ifeq ($(BR2_PACKAGE_RPI_USERLAND)$(BR2_arm),yy) -FFMPEG_CONF_OPTS += --enable-mmal --enable-omx --enable-omx-rpi \ - --extra-cflags=-I$(STAGING_DIR)/usr/include/IL -FFMPEG_DEPENDENCIES += rpi-userland -else -FFMPEG_CONF_OPTS += --disable-mmal --disable-omx --disable-omx-rpi -endif - -# To avoid a circular dependency only use opencv if opencv itself does -# not depend on ffmpeg. -ifeq ($(BR2_PACKAGE_OPENCV3_LIB_IMGPROC)x$(BR2_PACKAGE_OPENCV3_WITH_FFMPEG),yx) -FFMPEG_CONF_OPTS += --enable-libopencv -FFMPEG_DEPENDENCIES += opencv3 -else -FFMPEG_CONF_OPTS += --disable-libopencv -endif - -ifeq ($(BR2_PACKAGE_OPUS),y) -FFMPEG_CONF_OPTS += --enable-libopus -FFMPEG_DEPENDENCIES += opus -else -FFMPEG_CONF_OPTS += --disable-libopus -endif - -ifeq ($(BR2_PACKAGE_LIBVPX),y) -FFMPEG_CONF_OPTS += --enable-libvpx -FFMPEG_DEPENDENCIES += libvpx -else -FFMPEG_CONF_OPTS += --disable-libvpx -endif - -ifeq ($(BR2_PACKAGE_LIBASS),y) -FFMPEG_CONF_OPTS += --enable-libass -FFMPEG_DEPENDENCIES += libass -else -FFMPEG_CONF_OPTS += --disable-libass -endif - -ifeq ($(BR2_PACKAGE_LIBBLURAY),y) -FFMPEG_CONF_OPTS += --enable-libbluray -FFMPEG_DEPENDENCIES += libbluray -else -FFMPEG_CONF_OPTS += --disable-libbluray -endif - -ifeq ($(BR2_PACKAGE_INTEL_MEDIASDK),y) -FFMPEG_CONF_OPTS += --enable-libmfx -FFMPEG_DEPENDENCIES += intel-mediasdk -else -FFMPEG_CONF_OPTS += --disable-libmfx -endif - -ifeq ($(BR2_PACKAGE_RTMPDUMP),y) -FFMPEG_CONF_OPTS += --enable-librtmp -FFMPEG_DEPENDENCIES += rtmpdump -else -FFMPEG_CONF_OPTS += --disable-librtmp -endif - -ifeq ($(BR2_PACKAGE_LAME),y) -FFMPEG_CONF_OPTS += --enable-libmp3lame -FFMPEG_DEPENDENCIES += lame -else -FFMPEG_CONF_OPTS += --disable-libmp3lame -endif - -ifeq ($(BR2_PACKAGE_LIBMODPLUG),y) -FFMPEG_CONF_OPTS += --enable-libmodplug -FFMPEG_DEPENDENCIES += libmodplug -else -FFMPEG_CONF_OPTS += --disable-libmodplug -endif - -ifeq ($(BR2_PACKAGE_SPEEX),y) -FFMPEG_CONF_OPTS += --enable-libspeex -FFMPEG_DEPENDENCIES += speex -else -FFMPEG_CONF_OPTS += --disable-libspeex -endif - -ifeq ($(BR2_PACKAGE_LIBTHEORA),y) -FFMPEG_CONF_OPTS += --enable-libtheora -FFMPEG_DEPENDENCIES += libtheora -else -FFMPEG_CONF_OPTS += --disable-libtheora -endif - -ifeq ($(BR2_PACKAGE_LIBICONV),y) -FFMPEG_CONF_OPTS += --enable-iconv -FFMPEG_DEPENDENCIES += libiconv -else -FFMPEG_CONF_OPTS += --disable-iconv -endif - -# ffmpeg freetype support require fenv.h which is only -# available/working on glibc. -# The microblaze variant doesn't provide the needed exceptions -ifeq ($(BR2_PACKAGE_FREETYPE)$(BR2_TOOLCHAIN_USES_GLIBC)x$(BR2_microblaze),yyx) -FFMPEG_CONF_OPTS += --enable-libfreetype -FFMPEG_DEPENDENCIES += freetype -else -FFMPEG_CONF_OPTS += --disable-libfreetype -endif - -ifeq ($(BR2_PACKAGE_FONTCONFIG),y) -FFMPEG_CONF_OPTS += --enable-fontconfig -FFMPEG_DEPENDENCIES += fontconfig -else -FFMPEG_CONF_OPTS += --disable-fontconfig -endif - -ifeq ($(BR2_PACKAGE_OPENJPEG),y) -FFMPEG_CONF_OPTS += --enable-libopenjpeg -FFMPEG_DEPENDENCIES += openjpeg -else -FFMPEG_CONF_OPTS += --disable-libopenjpeg -endif - -ifeq ($(BR2_PACKAGE_X264)$(BR2_PACKAGE_FFMPEG_GPL),yy) -FFMPEG_CONF_OPTS += --enable-libx264 -FFMPEG_DEPENDENCIES += x264 -else -FFMPEG_CONF_OPTS += --disable-libx264 -endif - -ifeq ($(BR2_PACKAGE_X265)$(BR2_PACKAGE_FFMPEG_GPL),yy) -FFMPEG_CONF_OPTS += --enable-libx265 -FFMPEG_DEPENDENCIES += x265 -else -FFMPEG_CONF_OPTS += --disable-libx265 -endif - -ifeq ($(BR2_PACKAGE_DAV1D),y) -FFMPEG_CONF_OPTS += --enable-libdav1d -FFMPEG_DEPENDENCIES += dav1d -else -FFMPEG_CONF_OPTS += --disable-libdav1d -endif - -ifeq ($(BR2_X86_CPU_HAS_MMX),y) -FFMPEG_CONF_OPTS += --enable-x86asm -FFMPEG_DEPENDENCIES += host-nasm -else -FFMPEG_CONF_OPTS += --disable-x86asm -FFMPEG_CONF_OPTS += --disable-mmx -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE),y) -FFMPEG_CONF_OPTS += --enable-sse -else -FFMPEG_CONF_OPTS += --disable-sse -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE2),y) -FFMPEG_CONF_OPTS += --enable-sse2 -else -FFMPEG_CONF_OPTS += --disable-sse2 -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE3),y) -FFMPEG_CONF_OPTS += --enable-sse3 -else -FFMPEG_CONF_OPTS += --disable-sse3 -endif - -ifeq ($(BR2_X86_CPU_HAS_SSSE3),y) -FFMPEG_CONF_OPTS += --enable-ssse3 -else -FFMPEG_CONF_OPTS += --disable-ssse3 -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE4),y) -FFMPEG_CONF_OPTS += --enable-sse4 -else -FFMPEG_CONF_OPTS += --disable-sse4 -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE42),y) -FFMPEG_CONF_OPTS += --enable-sse42 -else -FFMPEG_CONF_OPTS += --disable-sse42 -endif - -ifeq ($(BR2_X86_CPU_HAS_AVX),y) -FFMPEG_CONF_OPTS += --enable-avx -else -FFMPEG_CONF_OPTS += --disable-avx -endif - -ifeq ($(BR2_X86_CPU_HAS_AVX2),y) -FFMPEG_CONF_OPTS += --enable-avx2 -else -FFMPEG_CONF_OPTS += --disable-avx2 -endif - -# Explicitly disable everything that doesn't match for ARM -# FFMPEG "autodetects" by compiling an extended instruction via AS -# This works on compilers that aren't built for generic by default -ifeq ($(BR2_ARM_CPU_ARMV4),y) -FFMPEG_CONF_OPTS += --disable-armv5te -endif -ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y) -FFMPEG_CONF_OPTS += --enable-armv6 -else -FFMPEG_CONF_OPTS += --disable-armv6 --disable-armv6t2 -endif -ifeq ($(BR2_ARM_CPU_HAS_VFPV2),y) -FFMPEG_CONF_OPTS += --enable-vfp -else -FFMPEG_CONF_OPTS += --disable-vfp -endif -ifeq ($(BR2_ARM_CPU_HAS_NEON),y) -FFMPEG_CONF_OPTS += --enable-neon -else ifeq ($(BR2_aarch64),y) -FFMPEG_CONF_OPTS += --enable-neon -else -FFMPEG_CONF_OPTS += --disable-neon -endif - -ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y) -ifeq ($(BR2_MIPS_SOFT_FLOAT),y) -FFMPEG_CONF_OPTS += --disable-mipsfpu -else -FFMPEG_CONF_OPTS += --enable-mipsfpu -endif - -# Fix build failure on "addi opcode not supported" -ifeq ($(BR2_mips_32r6)$(BR2_mips_64r6),y) -FFMPEG_CONF_OPTS += --disable-asm -endif -endif # MIPS - -ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) -FFMPEG_CONF_OPTS += --enable-altivec -else -FFMPEG_CONF_OPTS += --disable-altivec -endif - -# Uses __atomic_fetch_add_4 -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -FFMPEG_CONF_OPTS += --extra-libs=-latomic -endif - -ifeq ($(BR2_STATIC_LIBS),) -FFMPEG_CONF_OPTS += --enable-pic -else -FFMPEG_CONF_OPTS += --disable-pic -endif - -# Default to --cpu=generic for MIPS architecture, in order to avoid a -# warning from ffmpeg's configure script. -ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y) -FFMPEG_CONF_OPTS += --cpu=generic -else ifneq ($(GCC_TARGET_CPU),) -FFMPEG_CONF_OPTS += --cpu="$(GCC_TARGET_CPU)" -else ifneq ($(GCC_TARGET_ARCH),) -FFMPEG_CONF_OPTS += --cpu="$(GCC_TARGET_ARCH)" -endif - -FFMPEG_CFLAGS = $(TARGET_CFLAGS) - -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) -FFMPEG_CONF_OPTS += --disable-optimizations -FFMPEG_CFLAGS += -O0 -endif - -FFMPEG_CONF_ENV += CFLAGS="$(FFMPEG_CFLAGS)" -FFMPEG_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF)) - -# Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others -define FFMPEG_CONFIGURE_CMDS - (cd $(FFMPEG_SRCDIR) && rm -rf config.cache && \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - $(FFMPEG_CONF_ENV) \ - ./configure \ - --enable-cross-compile \ - --cross-prefix=$(TARGET_CROSS) \ - --sysroot=$(STAGING_DIR) \ - --host-cc="$(HOSTCC)" \ - --arch=$(BR2_ARCH) \ - --target-os="linux" \ - --disable-stripping \ - --pkg-config="$(PKG_CONFIG_HOST_BINARY)" \ - $(SHARED_STATIC_LIBS_OPTS) \ - $(FFMPEG_CONF_OPTS) \ - ) -endef - -define FFMPEG_REMOVE_EXAMPLE_SRC_FILES - rm -rf $(TARGET_DIR)/usr/share/ffmpeg/examples -endef -FFMPEG_POST_INSTALL_TARGET_HOOKS += FFMPEG_REMOVE_EXAMPLE_SRC_FILES - -$(eval $(autotools-package)) diff --git a/buildroot-patches/0012-ffmpeg-rpi-userland-aarch64/buildroot/package/ffmpeg/ffmpeg.mk.orig b/buildroot-patches/0012-ffmpeg-rpi-userland-aarch64/buildroot/package/ffmpeg/ffmpeg.mk.orig deleted file mode 100644 index 8ff8ea8..0000000 --- a/buildroot-patches/0012-ffmpeg-rpi-userland-aarch64/buildroot/package/ffmpeg/ffmpeg.mk.orig +++ /dev/null @@ -1,578 +0,0 @@ -################################################################################ -# -# ffmpeg -# -################################################################################ - -FFMPEG_VERSION = 4.4 -FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz -FFMPEG_SITE = http://ffmpeg.org/releases -FFMPEG_INSTALL_STAGING = YES - -FFMPEG_LICENSE = LGPL-2.1+, libjpeg license -FFMPEG_LICENSE_FILES = LICENSE.md COPYING.LGPLv2.1 -ifeq ($(BR2_PACKAGE_FFMPEG_GPL),y) -FFMPEG_LICENSE += and GPL-2.0+ -FFMPEG_LICENSE_FILES += COPYING.GPLv2 -endif - -FFMPEG_CPE_ID_VENDOR = ffmpeg - -FFMPEG_CONF_OPTS = \ - --prefix=/usr \ - --enable-avfilter \ - --disable-version3 \ - --enable-logging \ - --enable-optimizations \ - --disable-extra-warnings \ - --enable-avdevice \ - --enable-avcodec \ - --enable-avformat \ - --enable-network \ - --disable-gray \ - --enable-swscale-alpha \ - --disable-small \ - --enable-dct \ - --enable-fft \ - --enable-mdct \ - --enable-rdft \ - --disable-crystalhd \ - --disable-dxva2 \ - --enable-runtime-cpudetect \ - --disable-hardcoded-tables \ - --disable-mipsdsp \ - --disable-mipsdspr2 \ - --disable-msa \ - --enable-hwaccels \ - --disable-cuda \ - --disable-cuvid \ - --disable-nvenc \ - --disable-avisynth \ - --disable-frei0r \ - --disable-libopencore-amrnb \ - --disable-libopencore-amrwb \ - --disable-libdc1394 \ - --disable-libgsm \ - --disable-libilbc \ - --disable-libvo-amrwbenc \ - --disable-symver \ - --disable-doc - -FFMPEG_DEPENDENCIES += host-pkgconf - -ifeq ($(BR2_PACKAGE_FFMPEG_GPL),y) -FFMPEG_CONF_OPTS += --enable-gpl -else -FFMPEG_CONF_OPTS += --disable-gpl -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_NONFREE),y) -FFMPEG_CONF_OPTS += --enable-nonfree -else -FFMPEG_CONF_OPTS += --disable-nonfree -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_FFMPEG),y) -FFMPEG_CONF_OPTS += --enable-ffmpeg -else -FFMPEG_CONF_OPTS += --disable-ffmpeg -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_FFPLAY),y) -FFMPEG_DEPENDENCIES += sdl2 -FFMPEG_CONF_OPTS += --enable-ffplay -FFMPEG_CONF_ENV += SDL_CONFIG=$(STAGING_DIR)/usr/bin/sdl2-config -else -FFMPEG_CONF_OPTS += --disable-ffplay -endif - -ifeq ($(BR2_PACKAGE_LIBV4L),y) -FFMPEG_DEPENDENCIES += libv4l -FFMPEG_CONF_OPTS += --enable-libv4l2 -else -FFMPEG_CONF_OPTS += --disable-libv4l2 -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE),y) -FFMPEG_CONF_OPTS += --enable-avresample -else -FFMPEG_CONF_OPTS += --disable-avresample -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_FFPROBE),y) -FFMPEG_CONF_OPTS += --enable-ffprobe -else -FFMPEG_CONF_OPTS += --disable-ffprobe -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_XCBGRAB),y) -FFMPEG_CONF_OPTS += \ - --enable-libxcb \ - --enable-libxcb-shape \ - --enable-libxcb-shm \ - --enable-libxcb-xfixes -FFMPEG_DEPENDENCIES += libxcb -else -FFMPEG_CONF_OPTS += --disable-libxcb -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_POSTPROC),y) -FFMPEG_CONF_OPTS += --enable-postproc -else -FFMPEG_CONF_OPTS += --disable-postproc -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_SWSCALE),y) -FFMPEG_CONF_OPTS += --enable-swscale -else -FFMPEG_CONF_OPTS += --disable-swscale -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_ENCODERS)),all) -FFMPEG_CONF_OPTS += --disable-encoders \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_ENCODERS)),--enable-encoder=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_DECODERS)),all) -FFMPEG_CONF_OPTS += --disable-decoders \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_DECODERS)),--enable-decoder=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_MUXERS)),all) -FFMPEG_CONF_OPTS += --disable-muxers \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_MUXERS)),--enable-muxer=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_DEMUXERS)),all) -FFMPEG_CONF_OPTS += --disable-demuxers \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_DEMUXERS)),--enable-demuxer=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_PARSERS)),all) -FFMPEG_CONF_OPTS += --disable-parsers \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_PARSERS)),--enable-parser=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),all) -FFMPEG_CONF_OPTS += --disable-bsfs \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),--enable-bsf=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_PROTOCOLS)),all) -FFMPEG_CONF_OPTS += --disable-protocols \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_PROTOCOLS)),--enable-protocol=$(x)) -endif - -ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_FILTERS)),all) -FFMPEG_CONF_OPTS += --disable-filters \ - $(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_FILTERS)),--enable-filter=$(x)) -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_INDEVS),y) -FFMPEG_CONF_OPTS += --enable-indevs -ifeq ($(BR2_PACKAGE_ALSA_LIB),y) -FFMPEG_CONF_OPTS += --enable-alsa -FFMPEG_DEPENDENCIES += alsa-lib -else -FFMPEG_CONF_OPTS += --disable-alsa -endif -else -FFMPEG_CONF_OPTS += --disable-indevs -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_OUTDEVS),y) -FFMPEG_CONF_OPTS += --enable-outdevs -ifeq ($(BR2_PACKAGE_ALSA_LIB),y) -FFMPEG_DEPENDENCIES += alsa-lib -endif -else -FFMPEG_CONF_OPTS += --disable-outdevs -endif - -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -FFMPEG_CONF_OPTS += --enable-pthreads -else -FFMPEG_CONF_OPTS += --disable-pthreads -endif - -ifeq ($(BR2_PACKAGE_ZLIB),y) -FFMPEG_CONF_OPTS += --enable-zlib -FFMPEG_DEPENDENCIES += zlib -else -FFMPEG_CONF_OPTS += --disable-zlib -endif - -ifeq ($(BR2_PACKAGE_BZIP2),y) -FFMPEG_CONF_OPTS += --enable-bzlib -FFMPEG_DEPENDENCIES += bzip2 -else -FFMPEG_CONF_OPTS += --disable-bzlib -endif - -ifeq ($(BR2_PACKAGE_FDK_AAC)$(BR2_PACKAGE_FFMPEG_NONFREE),yy) -FFMPEG_CONF_OPTS += --enable-libfdk-aac -FFMPEG_DEPENDENCIES += fdk-aac -else -FFMPEG_CONF_OPTS += --disable-libfdk-aac -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_GPL)$(BR2_PACKAGE_LIBCDIO_PARANOIA),yy) -FFMPEG_CONF_OPTS += --enable-libcdio -FFMPEG_DEPENDENCIES += libcdio-paranoia -else -FFMPEG_CONF_OPTS += --disable-libcdio -endif - -ifeq ($(BR2_PACKAGE_GNUTLS),y) -FFMPEG_CONF_OPTS += --enable-gnutls --disable-openssl -FFMPEG_DEPENDENCIES += gnutls -else -FFMPEG_CONF_OPTS += --disable-gnutls -ifeq ($(BR2_PACKAGE_OPENSSL),y) -# openssl isn't license compatible with GPL -ifeq ($(BR2_PACKAGE_FFMPEG_GPL)x$(BR2_PACKAGE_FFMPEG_NONFREE),yx) -FFMPEG_CONF_OPTS += --disable-openssl -else -FFMPEG_CONF_OPTS += --enable-openssl -FFMPEG_DEPENDENCIES += openssl -endif -else -FFMPEG_CONF_OPTS += --disable-openssl -endif -endif - -ifeq ($(BR2_PACKAGE_FFMPEG_GPL)$(BR2_PACKAGE_LIBEBUR128),yy) -FFMPEG_DEPENDENCIES += libebur128 -endif - -ifeq ($(BR2_PACKAGE_LIBDRM),y) -FFMPEG_CONF_OPTS += --enable-libdrm -FFMPEG_DEPENDENCIES += libdrm -else -FFMPEG_CONF_OPTS += --disable-libdrm -endif - -ifeq ($(BR2_PACKAGE_LIBOPENH264),y) -FFMPEG_CONF_OPTS += --enable-libopenh264 -FFMPEG_DEPENDENCIES += libopenh264 -else -FFMPEG_CONF_OPTS += --disable-libopenh264 -endif - -ifeq ($(BR2_PACKAGE_LIBVORBIS),y) -FFMPEG_DEPENDENCIES += libvorbis -FFMPEG_CONF_OPTS += \ - --enable-libvorbis \ - --enable-muxer=ogg \ - --enable-encoder=libvorbis -endif - -ifeq ($(BR2_PACKAGE_LIBVA),y) -FFMPEG_CONF_OPTS += --enable-vaapi -FFMPEG_DEPENDENCIES += libva -else -FFMPEG_CONF_OPTS += --disable-vaapi -endif - -ifeq ($(BR2_PACKAGE_LIBVDPAU),y) -FFMPEG_CONF_OPTS += --enable-vdpau -FFMPEG_DEPENDENCIES += libvdpau -else -FFMPEG_CONF_OPTS += --disable-vdpau -endif - -ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) -FFMPEG_CONF_OPTS += --enable-mmal --enable-omx --enable-omx-rpi \ - --extra-cflags=-I$(STAGING_DIR)/usr/include/IL -FFMPEG_DEPENDENCIES += rpi-userland -else -FFMPEG_CONF_OPTS += --disable-mmal --disable-omx --disable-omx-rpi -endif - -# To avoid a circular dependency only use opencv if opencv itself does -# not depend on ffmpeg. -ifeq ($(BR2_PACKAGE_OPENCV3_LIB_IMGPROC)x$(BR2_PACKAGE_OPENCV3_WITH_FFMPEG),yx) -FFMPEG_CONF_OPTS += --enable-libopencv -FFMPEG_DEPENDENCIES += opencv3 -else -FFMPEG_CONF_OPTS += --disable-libopencv -endif - -ifeq ($(BR2_PACKAGE_OPUS),y) -FFMPEG_CONF_OPTS += --enable-libopus -FFMPEG_DEPENDENCIES += opus -else -FFMPEG_CONF_OPTS += --disable-libopus -endif - -ifeq ($(BR2_PACKAGE_LIBVPX),y) -FFMPEG_CONF_OPTS += --enable-libvpx -FFMPEG_DEPENDENCIES += libvpx -else -FFMPEG_CONF_OPTS += --disable-libvpx -endif - -ifeq ($(BR2_PACKAGE_LIBASS),y) -FFMPEG_CONF_OPTS += --enable-libass -FFMPEG_DEPENDENCIES += libass -else -FFMPEG_CONF_OPTS += --disable-libass -endif - -ifeq ($(BR2_PACKAGE_LIBBLURAY),y) -FFMPEG_CONF_OPTS += --enable-libbluray -FFMPEG_DEPENDENCIES += libbluray -else -FFMPEG_CONF_OPTS += --disable-libbluray -endif - -ifeq ($(BR2_PACKAGE_INTEL_MEDIASDK),y) -FFMPEG_CONF_OPTS += --enable-libmfx -FFMPEG_DEPENDENCIES += intel-mediasdk -else -FFMPEG_CONF_OPTS += --disable-libmfx -endif - -ifeq ($(BR2_PACKAGE_RTMPDUMP),y) -FFMPEG_CONF_OPTS += --enable-librtmp -FFMPEG_DEPENDENCIES += rtmpdump -else -FFMPEG_CONF_OPTS += --disable-librtmp -endif - -ifeq ($(BR2_PACKAGE_LAME),y) -FFMPEG_CONF_OPTS += --enable-libmp3lame -FFMPEG_DEPENDENCIES += lame -else -FFMPEG_CONF_OPTS += --disable-libmp3lame -endif - -ifeq ($(BR2_PACKAGE_LIBMODPLUG),y) -FFMPEG_CONF_OPTS += --enable-libmodplug -FFMPEG_DEPENDENCIES += libmodplug -else -FFMPEG_CONF_OPTS += --disable-libmodplug -endif - -ifeq ($(BR2_PACKAGE_SPEEX),y) -FFMPEG_CONF_OPTS += --enable-libspeex -FFMPEG_DEPENDENCIES += speex -else -FFMPEG_CONF_OPTS += --disable-libspeex -endif - -ifeq ($(BR2_PACKAGE_LIBTHEORA),y) -FFMPEG_CONF_OPTS += --enable-libtheora -FFMPEG_DEPENDENCIES += libtheora -else -FFMPEG_CONF_OPTS += --disable-libtheora -endif - -ifeq ($(BR2_PACKAGE_LIBICONV),y) -FFMPEG_CONF_OPTS += --enable-iconv -FFMPEG_DEPENDENCIES += libiconv -else -FFMPEG_CONF_OPTS += --disable-iconv -endif - -# ffmpeg freetype support require fenv.h which is only -# available/working on glibc. -# The microblaze variant doesn't provide the needed exceptions -ifeq ($(BR2_PACKAGE_FREETYPE)$(BR2_TOOLCHAIN_USES_GLIBC)x$(BR2_microblaze),yyx) -FFMPEG_CONF_OPTS += --enable-libfreetype -FFMPEG_DEPENDENCIES += freetype -else -FFMPEG_CONF_OPTS += --disable-libfreetype -endif - -ifeq ($(BR2_PACKAGE_FONTCONFIG),y) -FFMPEG_CONF_OPTS += --enable-fontconfig -FFMPEG_DEPENDENCIES += fontconfig -else -FFMPEG_CONF_OPTS += --disable-fontconfig -endif - -ifeq ($(BR2_PACKAGE_OPENJPEG),y) -FFMPEG_CONF_OPTS += --enable-libopenjpeg -FFMPEG_DEPENDENCIES += openjpeg -else -FFMPEG_CONF_OPTS += --disable-libopenjpeg -endif - -ifeq ($(BR2_PACKAGE_X264)$(BR2_PACKAGE_FFMPEG_GPL),yy) -FFMPEG_CONF_OPTS += --enable-libx264 -FFMPEG_DEPENDENCIES += x264 -else -FFMPEG_CONF_OPTS += --disable-libx264 -endif - -ifeq ($(BR2_PACKAGE_X265)$(BR2_PACKAGE_FFMPEG_GPL),yy) -FFMPEG_CONF_OPTS += --enable-libx265 -FFMPEG_DEPENDENCIES += x265 -else -FFMPEG_CONF_OPTS += --disable-libx265 -endif - -ifeq ($(BR2_PACKAGE_DAV1D),y) -FFMPEG_CONF_OPTS += --enable-libdav1d -FFMPEG_DEPENDENCIES += dav1d -else -FFMPEG_CONF_OPTS += --disable-libdav1d -endif - -ifeq ($(BR2_X86_CPU_HAS_MMX),y) -FFMPEG_CONF_OPTS += --enable-x86asm -FFMPEG_DEPENDENCIES += host-nasm -else -FFMPEG_CONF_OPTS += --disable-x86asm -FFMPEG_CONF_OPTS += --disable-mmx -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE),y) -FFMPEG_CONF_OPTS += --enable-sse -else -FFMPEG_CONF_OPTS += --disable-sse -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE2),y) -FFMPEG_CONF_OPTS += --enable-sse2 -else -FFMPEG_CONF_OPTS += --disable-sse2 -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE3),y) -FFMPEG_CONF_OPTS += --enable-sse3 -else -FFMPEG_CONF_OPTS += --disable-sse3 -endif - -ifeq ($(BR2_X86_CPU_HAS_SSSE3),y) -FFMPEG_CONF_OPTS += --enable-ssse3 -else -FFMPEG_CONF_OPTS += --disable-ssse3 -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE4),y) -FFMPEG_CONF_OPTS += --enable-sse4 -else -FFMPEG_CONF_OPTS += --disable-sse4 -endif - -ifeq ($(BR2_X86_CPU_HAS_SSE42),y) -FFMPEG_CONF_OPTS += --enable-sse42 -else -FFMPEG_CONF_OPTS += --disable-sse42 -endif - -ifeq ($(BR2_X86_CPU_HAS_AVX),y) -FFMPEG_CONF_OPTS += --enable-avx -else -FFMPEG_CONF_OPTS += --disable-avx -endif - -ifeq ($(BR2_X86_CPU_HAS_AVX2),y) -FFMPEG_CONF_OPTS += --enable-avx2 -else -FFMPEG_CONF_OPTS += --disable-avx2 -endif - -# Explicitly disable everything that doesn't match for ARM -# FFMPEG "autodetects" by compiling an extended instruction via AS -# This works on compilers that aren't built for generic by default -ifeq ($(BR2_ARM_CPU_ARMV4),y) -FFMPEG_CONF_OPTS += --disable-armv5te -endif -ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y) -FFMPEG_CONF_OPTS += --enable-armv6 -else -FFMPEG_CONF_OPTS += --disable-armv6 --disable-armv6t2 -endif -ifeq ($(BR2_ARM_CPU_HAS_VFPV2),y) -FFMPEG_CONF_OPTS += --enable-vfp -else -FFMPEG_CONF_OPTS += --disable-vfp -endif -ifeq ($(BR2_ARM_CPU_HAS_NEON),y) -FFMPEG_CONF_OPTS += --enable-neon -else ifeq ($(BR2_aarch64),y) -FFMPEG_CONF_OPTS += --enable-neon -else -FFMPEG_CONF_OPTS += --disable-neon -endif - -ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y) -ifeq ($(BR2_MIPS_SOFT_FLOAT),y) -FFMPEG_CONF_OPTS += --disable-mipsfpu -else -FFMPEG_CONF_OPTS += --enable-mipsfpu -endif - -# Fix build failure on "addi opcode not supported" -ifeq ($(BR2_mips_32r6)$(BR2_mips_64r6),y) -FFMPEG_CONF_OPTS += --disable-asm -endif -endif # MIPS - -ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) -FFMPEG_CONF_OPTS += --enable-altivec -else -FFMPEG_CONF_OPTS += --disable-altivec -endif - -# Uses __atomic_fetch_add_4 -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -FFMPEG_CONF_OPTS += --extra-libs=-latomic -endif - -ifeq ($(BR2_STATIC_LIBS),) -FFMPEG_CONF_OPTS += --enable-pic -else -FFMPEG_CONF_OPTS += --disable-pic -endif - -# Default to --cpu=generic for MIPS architecture, in order to avoid a -# warning from ffmpeg's configure script. -ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y) -FFMPEG_CONF_OPTS += --cpu=generic -else ifneq ($(GCC_TARGET_CPU),) -FFMPEG_CONF_OPTS += --cpu="$(GCC_TARGET_CPU)" -else ifneq ($(GCC_TARGET_ARCH),) -FFMPEG_CONF_OPTS += --cpu="$(GCC_TARGET_ARCH)" -endif - -FFMPEG_CFLAGS = $(TARGET_CFLAGS) - -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) -FFMPEG_CONF_OPTS += --disable-optimizations -FFMPEG_CFLAGS += -O0 -endif - -FFMPEG_CONF_ENV += CFLAGS="$(FFMPEG_CFLAGS)" -FFMPEG_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF)) - -# Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others -define FFMPEG_CONFIGURE_CMDS - (cd $(FFMPEG_SRCDIR) && rm -rf config.cache && \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - $(FFMPEG_CONF_ENV) \ - ./configure \ - --enable-cross-compile \ - --cross-prefix=$(TARGET_CROSS) \ - --sysroot=$(STAGING_DIR) \ - --host-cc="$(HOSTCC)" \ - --arch=$(BR2_ARCH) \ - --target-os="linux" \ - --disable-stripping \ - --pkg-config="$(PKG_CONFIG_HOST_BINARY)" \ - $(SHARED_STATIC_LIBS_OPTS) \ - $(FFMPEG_CONF_OPTS) \ - ) -endef - -define FFMPEG_REMOVE_EXAMPLE_SRC_FILES - rm -rf $(TARGET_DIR)/usr/share/ffmpeg/examples -endef -FFMPEG_POST_INSTALL_TARGET_HOOKS += FFMPEG_REMOVE_EXAMPLE_SRC_FILES - -$(eval $(autotools-package))