8dfd59d114
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
179 lines
4.5 KiB
Makefile
179 lines
4.5 KiB
Makefile
################################################################################
|
|
#
|
|
# mplayer
|
|
#
|
|
################################################################################
|
|
|
|
MPLAYER_VERSION = 1.1
|
|
MPLAYER_SOURCE = MPlayer-$(MPLAYER_VERSION).tar.xz
|
|
MPLAYER_SITE = http://www.mplayerhq.hu/MPlayer/releases
|
|
|
|
MPLAYER_CFLAGS = $(TARGET_CFLAGS)
|
|
MPLAYER_LDFLAGS = $(TARGET_LDFLAGS)
|
|
|
|
# mplayer needs pcm+mixer support, but configure fails to check for it
|
|
ifeq ($(BR2_PACKAGE_ALSA_LIB)$(BR2_PACKAGE_ALSA_LIB_MIXER)$(BR2_PACKAGE_ALSA_LIB_PCM),yyy)
|
|
MPLAYER_DEPENDENCIES += alsa-lib
|
|
MPLAYER_CONF_OPTS += --enable-alsa
|
|
else
|
|
MPLAYER_CONF_OPTS += --disable-alsa
|
|
endif
|
|
|
|
ifeq ($(BR2_ENDIAN),"BIG")
|
|
MPLAYER_CONF_OPTS += --enable-big-endian
|
|
else
|
|
MPLAYER_CONF_OPTS += --disable-big-endian
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_SDL),y)
|
|
MPLAYER_CONF_OPTS += \
|
|
--enable-sdl \
|
|
--with-sdl-config=$(STAGING_DIR)/usr/bin/sdl-config
|
|
MPLAYER_DEPENDENCIES += sdl
|
|
else
|
|
MPLAYER_CONF_OPTS += --disable-sdl
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_FREETYPE),y)
|
|
MPLAYER_CONF_OPTS += \
|
|
--enable-freetype \
|
|
--with-freetype-config=$(STAGING_DIR)/usr/bin/freetype-config
|
|
MPLAYER_DEPENDENCIES += freetype
|
|
else
|
|
MPLAYER_CONF_OPTS += --disable-freetype
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBDVDREAD),y)
|
|
MPLAYER_CONF_OPTS += \
|
|
--enable-dvdread \
|
|
--disable-dvdread-internal \
|
|
--with-dvdread-config=$(STAGING_DIR)/usr/bin/dvdread-config
|
|
MPLAYER_DEPENDENCIES += libdvdread
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBDVDNAV),y)
|
|
MPLAYER_CONF_OPTS += \
|
|
--enable-dvdnav \
|
|
--with-dvdnav-config=$(STAGING_DIR)/usr/bin/dvdnav-config
|
|
MPLAYER_DEPENDENCIES += libdvdnav
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_MPLAYER_MPLAYER),y)
|
|
MPLAYER_CONF_OPTS += --enable-mplayer
|
|
else
|
|
MPLAYER_CONF_OPTS += --disable-mplayer
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_MPLAYER_MENCODER),y)
|
|
MPLAYER_CONF_OPTS += --enable-mencoder
|
|
else
|
|
MPLAYER_CONF_OPTS += --disable-mencoder
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_TREMOR),y)
|
|
MPLAYER_DEPENDENCIES += tremor
|
|
MPLAYER_CONF_OPTS += --disable-tremor-internal --enable-tremor
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
|
|
MPLAYER_DEPENDENCIES += libvorbis
|
|
MPLAYER_CONF_OPTS += --enable-libvorbis
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBMAD),y)
|
|
MPLAYER_DEPENDENCIES += libmad
|
|
MPLAYER_CONF_OPTS += --enable-mad
|
|
else
|
|
MPLAYER_CONF_OPTS += --disable-mad
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIVE555),y)
|
|
MPLAYER_DEPENDENCIES += live555
|
|
MPLAYER_CONF_OPTS += --enable-live
|
|
MPLAYER_LIVE555 = liveMedia groupsock UsageEnvironment BasicUsageEnvironment
|
|
MPLAYER_CFLAGS += \
|
|
$(addprefix -I$(STAGING_DIR)/usr/include/live/,$(MPLAYER_LIVE555))
|
|
MPLAYER_LDFLAGS += $(addprefix -l,$(MPLAYER_LIVE555)) -lstdc++
|
|
else
|
|
MPLAYER_CONF_OPTS += --disable-live
|
|
endif
|
|
|
|
MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBTHEORA),libtheora)
|
|
MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBPNG),libpng)
|
|
MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_JPEG),jpeg)
|
|
MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_XLIB_LIBX11),xlib_libX11)
|
|
MPLAYER_DEPENDENCIES += $(if $(BR2_PACKAGE_XLIB_LIBXV),xlib_libXv)
|
|
|
|
# ARM optimizations
|
|
ifeq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),armv5te)
|
|
MPLAYER_CONF_OPTS += --enable-armv5te
|
|
endif
|
|
|
|
ifeq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),armv6j)
|
|
MPLAYER_CONF_OPTS += --enable-armv6
|
|
endif
|
|
|
|
ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
|
|
MPLAYER_CONF_OPTS += --enable-neon
|
|
endif
|
|
|
|
ifeq ($(BR2_i386),y)
|
|
# inline asm breaks with "can't find a register in class 'GENERAL_REGS'"
|
|
# inless we free up ebp
|
|
MPLAYER_CFLAGS += -fomit-frame-pointer
|
|
endif
|
|
|
|
define MPLAYER_CONFIGURE_CMDS
|
|
(cd $(@D); rm -rf config.cache; \
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
$(TARGET_CONFIGURE_ARGS) \
|
|
./configure \
|
|
--prefix=/usr \
|
|
--confdir=/etc \
|
|
--target=$(GNU_TARGET_NAME) \
|
|
--host-cc="$(HOSTCC)" \
|
|
--cc="$(TARGET_CC)" \
|
|
--as="$(TARGET_AS)" \
|
|
--charset=UTF-8 \
|
|
--extra-cflags="$(MPLAYER_CFLAGS)" \
|
|
--extra-ldflags="$(MPLAYER_LDFLAGS)" \
|
|
--yasm='' \
|
|
--enable-fbdev \
|
|
$(MPLAYER_CONF_OPTS) \
|
|
--enable-cross-compile \
|
|
--disable-ivtv \
|
|
--enable-dynamic-plugins \
|
|
)
|
|
endef
|
|
|
|
# this is available on uClibc 0.9.31 even without ipv6 support, breaking the
|
|
# build in ffmpeg/libavformat/udp.c
|
|
ifneq ($(BR2_INET_IPV6),y)
|
|
define MPLAYER_FIXUP_IPV6_MREQ_DETECTION
|
|
$(SED) 's/\(#define HAVE_STRUCT_IPV6_MREQ\) 1/\1 0/' $(@D)/config.h
|
|
endef
|
|
|
|
MPLAYER_POST_CONFIGURE_HOOKS += MPLAYER_FIXUP_IPV6_MREQ_DETECTION
|
|
MPLAYER_CONF_OPTS += --disable-inet6
|
|
else
|
|
MPLAYER_CONF_OPTS += --enable-inet6
|
|
endif
|
|
|
|
define MPLAYER_BUILD_CMDS
|
|
$(MAKE) -C $(@D)
|
|
endef
|
|
|
|
define MPLAYER_INSTALL_TARGET_CMDS
|
|
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install
|
|
endef
|
|
|
|
define MPLAYER_UNINSTALL_TARGET_CMDS
|
|
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) uninstall
|
|
endef
|
|
|
|
define MPLAYER_CLEAN_CMDS
|
|
$(MAKE) -C $(@D) clean
|
|
endef
|
|
|
|
$(eval $(generic-package))
|