196 lines
4.5 KiB
Makefile
Raw Normal View History

#
# Copyright (C) 2008-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=gstreamer
PKG_VERSION:=0.10.29
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gstreamer/
PKG_MD5SUM:=c92d6bce4fc65fa9d5a3ad35cdd1a466
PKG_FIXUP:=libtool
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/gstreamer/Default
CATEGORY:=Multimedia
SECTION:=multimedia
TITLE:=GStreamer
URL:=http://gstreamer.freedesktop.org/
DEPENDS:= @!LINUX_2_4
endef
define Package/gstreamer/description/Default
GStreamer open source multimedia framework
endef
define Package/gstreamer
$(call Package/gstreamer/Default)
TITLE+= framework
DEPENDS+= +libgstreamer \
+libgstcheck \
+libgstcontroller \
+libgstdataprotocol \
+libgstnet
endef
define Package/gstreamer/description
$(call Package/gstreamer/description/Default)
.
This meta package contains only dependencies on the other GStreamer
componenents.
endef
define Package/gstreamer-utils
$(call Package/gstreamer/Default)
TITLE+= utilities
DEPENDS+= +libgstreamer
endef
define Package/gstreamer-utils/description
$(call Package/gstreamer/description/Default)
.
This package contains the GStreamer utilities.
endef
define Package/libgstreamer
$(call Package/gstreamer/Default)
TITLE+= library (core)
DEPENDS+= +glib2 +libpthread +libxml2
endef
define Package/libgstreamer/description
$(call Package/gstreamer/description/Default)
.
This package contains the GStreamer core library.
endef
GST_VERSION:=0.10
CONFIGURE_ARGS += \
--disable-debug \
--disable-examples \
--disable-tests \
--disable-valgrind \
\
--disable-gst-debug \
\
--without-libiconv-prefix \
--without-libintl-prefix \
--without-x \
EXTRA_LDFLAGS+= \
-Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/include/gstreamer-$(GST_VERSION)/* \
$(1)/usr/include/gstreamer-$(GST_VERSION)/ \
)
$(INSTALL_DIR) $(1)/usr/lib
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
$(1)/usr/lib/ \
)
$(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/lib/gstreamer-$(GST_VERSION)/libgst*.{la,so} \
$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
)
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/lib/pkgconfig/gstreamer*-$(GST_VERSION).pc \
$(1)/usr/lib/pkgconfig/ \
)
$(INSTALL_DIR) $(2)/share/aclocal
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/share/aclocal/* \
$(2)/share/aclocal/ \
)
endef
define Package/gstreamer/install
/bin/true
endef
define Package/gstreamer-utils/install
$(INSTALL_DIR) $(1)/usr/bin
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/bin/gst-feedback* \
./usr/bin/gst-launch* \
./usr/bin/gst-inspect* \
./usr/bin/gst-typefind* \
./usr/bin/gst-xmlinspect* \
./usr/bin/gst-xmllaunch* \
$(1)/usr/bin/ \
)
endef
define Package/libgstreamer/install
$(INSTALL_DIR) $(1)/usr/lib
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/lib/libgstbase-$(GST_VERSION).so.* \
./usr/lib/libgstreamer-$(GST_VERSION).so.* \
$(1)/usr/lib/ \
)
$(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
)
endef
# 1: short name
# 2: description
# 3: dependencies on other gstreamer libraries (short name)
# 4: dependencies on other packages
define GstBuildLibrary
define Package/libgst$(1)
$(call Package/gstreamer/Default)
TITLE+= $(2) library (core)
DEPENDS+= +libgstreamer $$(foreach p,$(3),+libgst$$(p)) $(4)
endef
define Package/libgst$(1)/description
$(call Package/gstreamer/description/Default)
.
This package contains the GStreamer $(2) library.
endef
define Package/libgst$(1)/install
$(INSTALL_DIR) $$(1)/usr/lib
( cd $(PKG_INSTALL_DIR); $(CP) \
./usr/lib/libgst$(1)-$(GST_VERSION).so.* \
$$(1)/usr/lib/ \
)
endef
$$(eval $$(call BuildPackage,libgst$(1)))
endef
$(eval $(call GstBuildLibrary,check,check unit testing))
$(eval $(call GstBuildLibrary,controller,dynamic parameter control))
$(eval $(call GstBuildLibrary,dataprotocol,data protocol))
$(eval $(call GstBuildLibrary,net,network classes))
$(eval $(call BuildPackage,gstreamer))
$(eval $(call BuildPackage,gstreamer-utils))
$(eval $(call BuildPackage,libgstreamer))