Makefile (4260B)
1 # 2 # Copyright (C) 2006-2016 OpenWrt.org 3 # 4 # This is free software, licensed under the GNU General Public License v2. 5 # See /LICENSE for more information. 6 # 7 8 include $(TOPDIR)/rules.mk 9 10 PKG_NAME:=gst1-libav 11 PKG_VERSION:=1.8.2 12 PKG_RELEASE:=2 13 14 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \ 15 Ted Hess <thess@kitschensync.net> 16 17 PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz 18 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-libav 19 PKG_MD5SUM:=b5f3c7a27b39b5f5c2f0bfd546b0c655020faf6b38d27b64b346c43e5ebf687a 20 21 PKG_LICENSE:=GPL-2.0 LGPL-2.0 22 PKG_LICENSE_FILES:=COPYING COPYING.LIB 23 24 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-libav-$(PKG_VERSION) 25 26 PKG_FIXUP:=autoreconf 27 PKG_INSTALL:=1 28 29 PKG_USE_MIPS16:=0 30 31 GST_VERSION:=1.0 32 33 LIBAV_ENCODERS:= \ 34 ac3 \ 35 jpegls \ 36 mpeg1video \ 37 mpeg2video \ 38 mpeg4 \ 39 pcm_s16be \ 40 pcm_s16le \ 41 png \ 42 vorbis \ 43 zlib \ 44 45 LIBAV_DECODERS:= \ 46 aac \ 47 ac3 \ 48 atrac3 \ 49 gif \ 50 h264 \ 51 jpegls \ 52 mp2 \ 53 mp3 \ 54 mpeg1video \ 55 mpeg2video \ 56 mpeg4 \ 57 mpegvideo \ 58 pcm_s16be \ 59 pcm_s16le \ 60 png \ 61 vorbis \ 62 wmav1 \ 63 wmav2 \ 64 zlib \ 65 66 LIBAV_MUXERS:= \ 67 ac3 \ 68 ffm \ 69 h264 \ 70 mp3 \ 71 mp4 \ 72 mpeg1video \ 73 mpeg2video \ 74 mpegts \ 75 ogg \ 76 oss \ 77 rtp \ 78 79 LIBAV_DEMUXERS:= \ 80 ac3 \ 81 ffm \ 82 h264 \ 83 mp3 \ 84 mpegps \ 85 mpegts \ 86 mpegvideo \ 87 ogg \ 88 rm \ 89 rtsp \ 90 sdp \ 91 v4l2 \ 92 93 LIBAV_PARSERS:= \ 94 aac \ 95 ac3 \ 96 h264 \ 97 mpegaudio \ 98 mpegvideo \ 99 mpeg4video \ 100 101 LIBAV_PROTOCOLS:= \ 102 file http pipe rtp tcp udp 103 104 PKG_CONFIG_DEPENDS:= \ 105 $(patsubst %,CONFIG_GST1_LIBAV_ENCODER_%,$(LIBAV_ENCODERS)) \ 106 $(patsubst %,CONFIG_GST1_LIBAV_DECODER_%,$(LIBAV_DECODERS)) \ 107 $(patsubst %,CONFIG_GST1_LIBAV_MUXER_%,$(LIBAV_DEMUXERS)) \ 108 $(patsubst %,CONFIG_GST1_LIBAV_DEMUXER_%,$(LIBAV_DEMUXERS)) \ 109 $(patsubst %,CONFIG_GST1_LIBAV_PARSER_%,$(LIBAV_PARSERS)) \ 110 $(patsubst %,CONFIG_GST1_LIBAV_PROTOCOL_%,$(LIBAV_PROTOCOLS)) 111 112 PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base 113 114 include $(INCLUDE_DIR)/package.mk 115 include $(INCLUDE_DIR)/nls.mk 116 117 define Package/gst1-libav 118 SECTION:=multimedia 119 CATEGORY:=Multimedia 120 TITLE:=GStreamer Libav plugin 121 URL:=http://www.gstreamer.net/modules/gst-libav.html 122 DEPENDS:= +libgstreamer1 +gstreamer1-plugins-base \ 123 +gst1-mod-alsa +libgst1audio +libgst1pbutils +libgst1video \ 124 +libbz2 +liblzma 125 endef 126 127 define Package/gst1-libav/description 128 GStreamer with libav bindings using internal Libav 129 endef 130 131 define Package/gst1-libav/config 132 source "$(SOURCE)/Config.in" 133 endef 134 135 FILTER_CONFIG= \ 136 $(foreach c, $(3), \ 137 $(if $(CONFIG_GST1_LIBAV_$(1)_$(c)),--enable-$(2)='$(c)') \ 138 ) 139 140 LIBAV_CONFIGURE_ENCODERS:=$(call FILTER_CONFIG,ENCODER,encoder,$(LIBAV_ENCODERS)) 141 LIBAV_CONFIGURE_DECODERS:=$(call FILTER_CONFIG,DECODER,decoder,$(LIBAV_DECODERS)) 142 LIBAV_CONFIGURE_MUXERS:=$(call FILTER_CONFIG,MUXER,muxer,$(LIBAV_MUXERS)) 143 LIBAV_CONFIGURE_DEMUXERS:=$(call FILTER_CONFIG,DEMUXER,demuxer,$(LIBAV_DEMUXERS)) 144 LIBAV_CONFIGURE_PARSERS:=$(call FILTER_CONFIG,PARSER,parser,$(LIBAV_PARSERS)) 145 LIBAV_CONFIGURE_PROTOCOLS:=$(call FILTER_CONFIG,PROTOCOL,protocol,$(LIBAV_PROTOCOLS)) 146 147 CONFIGURE_ARGS += \ 148 --without-system-libav \ 149 --with-libav-extra-configure="--target-os=linux \ 150 $(if $(findstring " ",$(CONFIG_CPU_TYPE)),,--cpu=$(CONFIG_CPU_TYPE)) \ 151 --disable-bsfs \ 152 --disable-programs \ 153 --disable-devices \ 154 --disable-encoders \ 155 $(LIBAV_CONFIGURE_ENCODERS) \ 156 --disable-decoders \ 157 $(LIBAV_CONFIGURE_DECODERS) \ 158 --disable-muxers \ 159 $(LIBAV_CONFIGURE_MUXERS) \ 160 --disable-demuxers \ 161 $(LIBAV_CONFIGURE_DEMUXERS) \ 162 --disable-parsers \ 163 $(LIBAV_CONFIGURE_PARSERS) \ 164 --disable-protocols \ 165 $(LIBAV_CONFIGURE_PROTOCOLS) \ 166 --disable-asm \ 167 --disable-altivec \ 168 --disable-amd3dnow \ 169 --disable-amd3dnowext \ 170 --disable-mmx \ 171 --disable-mmxext \ 172 --disable-sse \ 173 --disable-sse2 \ 174 --disable-sse3 \ 175 --disable-ssse3 \ 176 --disable-sse4 \ 177 --disable-sse42 \ 178 --disable-avx \ 179 --disable-xop \ 180 --disable-fma3 \ 181 --disable-fma4 \ 182 --disable-avx2 \ 183 --disable-inline-asm \ 184 --disable-yasm" 185 186 TARGET_CFLAGS += -D_GNU_SOURCE 187 188 TARGET_LDFLAGS += $(FPIC) 189 190 define Package/gst1-libav/install 191 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION) 192 ( cd $(PKG_INSTALL_DIR); $(CP) \ 193 ./usr/lib/gstreamer-$(GST_VERSION)/libgstlibav.so* \ 194 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \ 195 ) 196 endef 197 198 $(eval $(call BuildPackage,gst1-libav))