[packages] gst-plugins-base: update to 0.10.29, rework Makefile:
[openwrt/svn-archive/archive.git] / multimedia / gst-plugins-base / Makefile
1 #
2 # Copyright (C) 2008-2010 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:=gst-plugins-base
11 PKG_VERSION:=0.10.29
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-base/
16 PKG_MD5SUM:=d07e251152cccbaa81807c14cf0fd8c0
17
18 PKG_BUILD_DEPENDS:= gstreamer liboil
19
20 PKG_FIXUP:=libtool
21 PKG_INSTALL:=1
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/gstreamer/Default
26 CATEGORY:=Multimedia
27 SECTION:=multimedia
28 TITLE:=GStreamer
29 URL:=http://gstreamer.freedesktop.org/
30 endef
31
32 define Package/gstreamer/description/Default
33 GStreamer open source multimedia framework
34 endef
35
36
37 define Package/gst-plugins-base
38 $(call Package/gstreamer/Default)
39 TITLE+= plugins collection (base)
40 DEPENDS+= $(GST_DEPENDS)
41 endef
42
43 define Package/gts-plugins-base/description
44 $(call Package/gstreamer/description/Default)
45 .
46 This meta package contains only dependencies to the other libraries and
47 plugins from the base plugins collection.
48 endef
49
50
51 GST_VERSION:=0.10
52
53 CONFIGURE_ARGS += \
54 --disable-debug \
55 --disable-examples \
56 \
57 --disable-cdparanoia \
58 --disable-ffmpegcolorspace \
59 --disable-freetypetest \
60 --disable-gnome_vfs \
61 --disable-gst_v4l \
62 --disable-libvisual \
63 --disable-oggtest \
64 --disable-pango \
65 --disable-subparse \
66 --disable-videorate \
67 --disable-videoscale \
68 --disable-vorbistest \
69 --disable-x \
70 --disable-xshm \
71 --disable-xvideo \
72 \
73 --without-libiconv-prefix \
74 --without-libintl-prefix \
75 --without-x \
76 \
77 --with-audioresample-format=int \
78
79 EXTRA_LDFLAGS+= \
80 -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
81
82
83 define Build/InstallDev
84 $(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
85 ( cd $(PKG_INSTALL_DIR); $(CP) \
86 ./usr/include/gstreamer-$(GST_VERSION)/* \
87 $(1)/usr/include/gstreamer-$(GST_VERSION)/ \
88 )
89 $(INSTALL_DIR) $(1)/usr/lib
90 ( cd $(PKG_INSTALL_DIR); $(CP) \
91 ./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
92 $(1)/usr/lib/ \
93 )
94 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
95 ( cd $(PKG_INSTALL_DIR); $(CP) \
96 ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.{la,so} \
97 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
98 )
99 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
100 ( cd $(PKG_INSTALL_DIR); $(CP) \
101 ./usr/lib/pkgconfig/gstreamer*-$(GST_VERSION).pc \
102 $(1)/usr/lib/pkgconfig/ \
103 )
104 endef
105
106
107 define Package/gst-plugins-base/install
108 /bin/true
109 endef
110
111
112 # 1: short name
113 # 2: description
114 # 3: dependencies on other gstreamer libraries (short name)
115 # 4: dependencies on other packages
116 define GstBuildLibrary
117
118 GST_DEPENDS += +libgst$(1)
119
120 define Package/libgst$(1)
121 $(call Package/gstreamer/Default)
122 TITLE+= $(2) library (base)
123 DEPENDS+= +libgstreamer $$(foreach p,$(3),+libgst$$(p)) $(4)
124 endef
125
126 define Package/libgst$(1)/description
127 $(call Package/gstreamer/description/Default)
128 .
129 This package contains the GStreamer $(2) library.
130 endef
131
132 define Package/libgst$(1)/install
133 $(INSTALL_DIR) $$(1)/usr/lib
134 ( cd $(PKG_INSTALL_DIR); $(CP) \
135 ./usr/lib/libgst$(1)-$(GST_VERSION).so.* \
136 $$(1)/usr/lib/ \
137 )
138 endef
139
140 $$(eval $$(call BuildPackage,libgst$(1)))
141 endef
142
143 $(eval $(call GstBuildLibrary,app,app,,))
144 $(eval $(call GstBuildLibrary,audio,audio,interfaces,))
145 $(eval $(call GstBuildLibrary,cdda,CDDA,,))
146 $(eval $(call GstBuildLibrary,fft,FFT,,))
147 $(eval $(call GstBuildLibrary,interfaces,interfaces,))
148 $(eval $(call GstBuildLibrary,netbuffer,network buffer,,))
149 $(eval $(call GstBuildLibrary,pbutils,utils,,))
150 $(eval $(call GstBuildLibrary,riff,RIFF media,audio tag,,))
151 $(eval $(call GstBuildLibrary,rtp,RTP,,))
152 $(eval $(call GstBuildLibrary,rtsp,RTSP,,))
153 $(eval $(call GstBuildLibrary,sdp,SDP,,))
154 $(eval $(call GstBuildLibrary,tag,tag support,,))
155 $(eval $(call GstBuildLibrary,video,video,,))
156
157
158 # 1: short name
159 # 2: description
160 # 3: dependencies on other gstreamer libraries (short name)
161 # 4: dependencies on other gstreamer plugins (short name)
162 # 5: dependencies on other packages
163 define GstBuildPlugin
164
165 GST_DEPENDS += +gst-mod-$(1)
166
167 define Package/gst-mod-$(1)
168 $(call Package/gstreamer/Default)
169 TITLE+= $(2) plugin (base)
170 DEPENDS+= +libgstreamer $$(foreach p,$(3),+libgst$$(p)) $$(foreach p,$(4),+gst-mod-$$(p)) $(5)
171 endef
172
173 define Package/gst-mod-$(1)/description
174 $(call Package/gstreamer/description/Default)
175 .
176 This package contains the GStreamer $(2) plugin.
177 endef
178
179 define Package/gst-mod-$(1)/install
180 $(INSTALL_DIR) $$(1)/usr/lib/gstreamer-$(GST_VERSION)
181 ( cd $(PKG_INSTALL_DIR); $(CP) \
182 ./usr/lib/gstreamer-$(GST_VERSION)/libgst$(1).so* \
183 $$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
184 )
185 endef
186
187 $$(eval $$(call BuildPackage,gst-mod-$(1)))
188 endef
189
190 $(eval $(call GstBuildPlugin,alsa,ALSA,audio,,+alsa-lib))
191 $(eval $(call GstBuildPlugin,app,app,app,,))
192 $(eval $(call GstBuildPlugin,audioconvert,audio format conversion,audio,,))
193 $(eval $(call GstBuildPlugin,audiorate,audio rate adjusting,,,))
194 $(eval $(call GstBuildPlugin,audioresample,audio resampling,,,))
195 $(eval $(call GstBuildPlugin,audiotestsrc,audio test,controller,,))
196 $(eval $(call GstBuildPlugin,decodebin,media decoder,pbutils,,))
197 $(eval $(call GstBuildPlugin,decodebin2,media decoder (v2),pbutils,,))
198 $(eval $(call GstBuildPlugin,gio,GIO,,,))
199 $(eval $(call GstBuildPlugin,ogg,Ogg,riff tag,,+libogg))
200 $(eval $(call GstBuildPlugin,playbin,playback,interfaces pbutils,,))
201 $(eval $(call GstBuildPlugin,tcp,TCP,dataprotocol,,))
202 $(eval $(call GstBuildPlugin,theora,Theora,tag,ogg,+libtheora))
203 $(eval $(call GstBuildPlugin,typefindfunctions,'typefind' functions,,,))
204 $(eval $(call GstBuildPlugin,videotestsrc,video test,,,+liboil))
205 $(eval $(call GstBuildPlugin,volume,volume,audio controller,,+liboil))
206 $(eval $(call GstBuildPlugin,vorbis,Vorbis,audio tag,ogg,+libvorbis))
207
208 $(eval $(call BuildPackage,gst-plugins-base))