Add libogg media container package for vorbis
authorUlf Samuelsson <ulf.samuelsson@atmel.com>
Wed, 31 Oct 2007 06:35:06 +0000 (06:35 -0000)
committerUlf Samuelsson <ulf.samuelsson@atmel.com>
Wed, 31 Oct 2007 06:35:06 +0000 (06:35 -0000)
package/Config.in
package/libogg/Config.in [new file with mode: 0644]
package/libogg/libogg.mk [new file with mode: 0644]

index edd18aeb16cba1c9b29a9e966f416e6010db3151..a4b5c15dd676c69791c43c0ffdbc6942a6ccaea4 100644 (file)
@@ -273,6 +273,7 @@ source "package/asterisk/Config.in"
 source "package/aumix/Config.in"
 source "package/libid3tag/Config.in"
 source "package/libmad/Config.in"
+source "package/libogg/Config.in"
 source "package/libsndfile/Config.in"
 source "package/libvorbis/Config.in"
 source "package/madplay/Config.in"
diff --git a/package/libogg/Config.in b/package/libogg/Config.in
new file mode 100644 (file)
index 0000000..09c5689
--- /dev/null
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_LIBOGG
+       bool "libogg"
+       default n
+       help
+         Ogg is the name of Xiph.org's container format for audio, video, and metadata
+
+config BR2_PACKAGE_LIBOGG_HEADERS
+       bool "libogg target headers"
+       default n
+       depends on BR2_PACKAGE_LIBOGG
+       help
+         Add target headers for the Ogg open source container format
+         - Not yet implemented
diff --git a/package/libogg/libogg.mk b/package/libogg/libogg.mk
new file mode 100644 (file)
index 0000000..461adab
--- /dev/null
@@ -0,0 +1,85 @@
+#############################################################
+#
+# libogg
+#
+#############################################################
+LIBOGG_VERSION:=1.1.3
+LIBOGG_NAME:=libogg-$(LIBOGG_VERSION)
+LIBOGG_SOURCE:=$(LIBOGG_NAME).tar.gz
+LIBOGG_SITE:=http://downloads.xiph.org/releases/ogg/$(LIBOGG-SOURCE)
+LIBOGG_DIR:=$(BUILD_DIR)/libogg-$(LIBOGG_VERSION)
+LIBOGG_BINARY:=libogg
+LIBOGG_TARGET_BINARY:=usr/lib/libogg
+LIBOGG_CAT:=$(ZCAT)
+
+$(DL_DIR)/$(LIBOGG_SOURCE):
+       $(WGET) -P $(DL_DIR) $(LIBOGG_SITE)/$(LIBOGG_SOURCE)
+
+$(LIBOGG_DIR)/.source: $(DL_DIR)/$(LIBOGG_SOURCE)
+       $(LIBOGG_CAT) $(DL_DIR)/$(LIBOGG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       touch $@
+
+$(LIBOGG_DIR)/.configured: $(LIBOGG_DIR)/.source
+       (cd $(LIBOGG_DIR); rm -rf config.cache; \
+               $(TARGET_CONFIGURE_ARGS) \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               PKG_CONFIG_PATH="$(STAGING_DIR)/lib/pkconfig:$(STAGING_DIR)/usr/lib/pkgconfig" \
+               PKG_CONFIG="$(STAGING_DIR)/usr/bin/pkg-config" \
+               PKG_CONFIG_SYSROOT=$(STAGING_DIR) \
+               ./configure \
+               --target=$(GNU_TARGET_NAME) \
+               --host=$(GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --prefix=/usr \
+               --sysconfdir=/etc \
+               --enable-shared \
+               --enable-static \
+               --disable-oggtest \
+               $(DISABLE_NLS) \
+       )
+       touch $@
+
+$(LIBOGG_DIR)/.libs: $(LIBOGG_DIR)/.configured
+       $(MAKE) CC=$(TARGET_CC) -C $(LIBOGG_DIR)
+       touch $@
+
+$(TARGET_DIR)/usr/lib/libogg.so: $(LIBOGG_DIR)/.libs
+       $(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBOGG_DIR) install
+ifneq ($(strip $(BR2_HAVE_MANPAGES)),y)
+       rm -rf $(TARGET_DIR)/usr/share/doc/$(LIBOGG_NAME)
+endif
+       touch $@
+
+$(TARGET_DIR)/usr/lib/libogg.a: $(TARGET_DIR)/usr/lib/libogg.so
+       cp -dpf $(LIBOGG_DIR)/lib/libogg.a $(TARGET_DIR)/usr/lib/
+       touch $@
+
+libogg-header: $(TARGET_DIR)/usr/lib/libogg.a
+       mkdir -p $(TARGET_DIR)/usr/include/ogg
+       cp -dpf $(LIBOGG_DIR)/include/ogg/*.h \
+               $(TARGET_DIR)/usr/include/ogg
+
+libogg: uclibc pkgconfig $(TARGET_DIR)/usr/lib/libogg.so
+
+libogg-source: $(DL_DIR)/$(LIBOGG_SOURCE)
+
+libogg-clean:
+       $(MAKE) prefix=$(STAGING_DIR)/usr -C $(LIBOGG_DIR) uninstall
+       -$(MAKE) -C $(LIBOGG_DIR) clean
+
+libogg-dirclean:
+       rm -rf $(LIBOGG_DIR)
+
+############################################################
+#
+# Toplevel Makefile options
+#
+############################################################
+ifeq ($(strip $(BR2_PACKAGE_LIBOGG)),y)
+TARGETS+=libogg
+endif
+
+ifeq ($(strip $(BR2_PACKAGE_LIBOGG_HEADERS)),y)
+TARGETS+=libogg-header
+endif