0c6f83c3eb
AS "hack" is also needed for powerpc builds otherwise build fails on: AS libavcodec/ppc/fft_altivec.o /home/buildroot/autobuild/run/instance-2/output/host/bin/powerpc64-linux-as: invalid option -- '_' This error is raised because CPPFLAGS are (wrongly) passed to AS Fixes: - http://autobuild.buildroot.org/results/6710e72452fe70788d75191b8b735f90beff9361 - http://autobuild.buildroot.org/results/a1f22975d4a4a6cfc553a450da464a431702800f - http://autobuild.buildroot.org/results/be2d161443c5ab24979e6b9389eb21a53d4b4066 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
96 lines
2.8 KiB
Makefile
96 lines
2.8 KiB
Makefile
################################################################################
|
|
#
|
|
# gst1-libav
|
|
#
|
|
################################################################################
|
|
|
|
GST1_LIBAV_VERSION = 1.14.4
|
|
GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz
|
|
GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav
|
|
GST1_LIBAV_DEPENDENCIES = \
|
|
host-pkgconf gstreamer1 gst1-plugins-base \
|
|
$(if $(BR2_PACKAGE_BZIP2),bzip2) \
|
|
$(if $(BR2_PACKAGE_XZ),xz)
|
|
GST1_LIBAV_LICENSE = GPL-2.0+
|
|
GST1_LIBAV_LICENSE_FILES = COPYING
|
|
GST1_LIBAV_CONF_EXTRA_OPTS = --cross-prefix=$(TARGET_CROSS) --target-os=linux
|
|
|
|
# fixes arm/powerpc build: https://bugzilla.gnome.org/show_bug.cgi?id=694416
|
|
ifeq ($(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_aarch64_be)$(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y)
|
|
GST1_LIBAV_CONF_ENV = AS="$(TARGET_CROSS)gcc"
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-zlib
|
|
GST1_LIBAV_DEPENDENCIES += zlib
|
|
else
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-zlib
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_BZIP2),y)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-bzlib
|
|
GST1_LIBAV_DEPENDENCIES += bzip2
|
|
else
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-bzlib
|
|
endif
|
|
|
|
# Generic CPU setup for bundled ffmpeg
|
|
ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --cpu=$(BR2_GCC_TARGET_CPU)
|
|
else ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --cpu=$(BR2_GCC_TARGET_ARCH)
|
|
endif
|
|
|
|
ifeq ($(BR2_X86_CPU_HAS_MMX),y)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-yasm
|
|
GST1_LIBAV_DEPENDENCIES += host-yasm
|
|
else
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-yasm
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-mmx
|
|
endif
|
|
|
|
ifeq ($(BR2_X86_CPU_HAS_SSE),y)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-sse
|
|
else
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-sse
|
|
endif
|
|
|
|
ifeq ($(BR2_X86_CPU_HAS_SSSE3),y)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-ssse3
|
|
else
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-ssse3
|
|
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)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv5te
|
|
endif
|
|
ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-armv6
|
|
else
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-armv6 --disable-armv6t2
|
|
endif
|
|
ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-neon
|
|
else
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-neon
|
|
endif
|
|
ifeq ($(BR2_ARM_CPU_HAS_VFPV2),y)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-vfp
|
|
else
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-vfp
|
|
endif
|
|
|
|
ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --enable-altivec
|
|
else
|
|
GST1_LIBAV_CONF_EXTRA_OPTS += --disable-altivec
|
|
endif
|
|
|
|
GST1_LIBAV_CONF_OPTS = \
|
|
--with-libav-extra-configure="$(GST1_LIBAV_CONF_EXTRA_OPTS)"
|
|
|
|
$(eval $(autotools-package))
|