From: Juergen Beisert <jbe@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH 1/5] Add the 'libshout'
Date: Fri, 6 Apr 2012 14:45:16 +0200 [thread overview]
Message-ID: <1333716320-7923-2-git-send-email-jbe@pengutronix.de> (raw)
In-Reply-To: <1333716320-7923-1-git-send-email-jbe@pengutronix.de>
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
---
patches/libshout-2.2.2/autogen.sh | 1 +
patches/libshout-2.2.2/fix_buildsystem.diff | 210 +++++++++++++++++++++++++++
patches/libshout-2.2.2/series | 1 +
rules/libshout.in | 34 +++++
rules/libshout.make | 67 +++++++++
5 files changed, 313 insertions(+)
create mode 120000 patches/libshout-2.2.2/autogen.sh
create mode 100644 patches/libshout-2.2.2/fix_buildsystem.diff
create mode 100644 patches/libshout-2.2.2/series
create mode 100644 rules/libshout.in
create mode 100644 rules/libshout.make
diff --git a/patches/libshout-2.2.2/autogen.sh b/patches/libshout-2.2.2/autogen.sh
new file mode 120000
index 0000000..9f8a4cb
--- /dev/null
+++ b/patches/libshout-2.2.2/autogen.sh
@@ -0,0 +1 @@
+../autogen.sh
\ No newline at end of file
diff --git a/patches/libshout-2.2.2/fix_buildsystem.diff b/patches/libshout-2.2.2/fix_buildsystem.diff
new file mode 100644
index 0000000..a1d0e0b
--- /dev/null
+++ b/patches/libshout-2.2.2/fix_buildsystem.diff
@@ -0,0 +1,210 @@
+From: Juergen Beisert <jbe@pengutronix.de>
+Subject: Make external components really optional
+
+Singed-off-by: Juergen Beisert <jbe@pengutronix.de>
+
+---
+ configure.ac | 85 ++++++++++++++++++++++++++++++++++----------------------
+ m4/ogg.m4 | 5 +++
+ m4/vorbis.m4 | 7 ++++
+ src/Makefile.am | 6 +++
+ src/ogg.c | 2 +
+ 5 files changed, 72 insertions(+), 33 deletions(-)
+
+Index: libshout-2.2.2/m4/ogg.m4
+===================================================================
+--- libshout-2.2.2.orig/m4/ogg.m4
++++ libshout-2.2.2/m4/ogg.m4
+@@ -15,6 +15,10 @@ AC_ARG_WITH(ogg,
+ ogg_prefix="$withval",
+ ogg_prefix="$OGG_PREFIX"
+ )
++if test "x$with_ogg" = "xno"
++then
++ AC_MSG_RESULT([OGG support disabled by request])
++else
+ if test "x$ogg_prefix" = "x" -o "x$ogg_prefix" = "xyes"; then
+ if test "x$prefix" = "xNONE"; then
+ ogg_prefix=/usr/local
+@@ -59,6 +63,7 @@ else
+ OGG_LDFLAGS=""
+ ifelse([$2],,,[$2])
+ fi
++fi
+ AC_SUBST(OGG_LIBS)
+ AC_SUBST(OGG_CFLAGS)
+ AC_SUBST(OGG_LDFLAGS)
+Index: libshout-2.2.2/m4/vorbis.m4
+===================================================================
+--- libshout-2.2.2.orig/m4/vorbis.m4
++++ libshout-2.2.2/m4/vorbis.m4
+@@ -21,6 +21,12 @@ AC_ARG_WITH(vorbis,
+ vorbis_prefix="$withval",
+ vorbis_prefix="$VORBIS_PREFIX"
+ )
++
++if test "x$vorbis_prefix" = "xno"
++then
++ AC_MSG_RESULT([Vorbis support disabled by request])
++else
++
+ if test "x$vorbis_prefix" = "x" -o "x$vorbis_prefix" = "xyes"; then
+ if test "x$prefix" = "xNONE"; then
+ vorbis_prefix="/usr/local"
+@@ -83,6 +89,7 @@ else
+ VORBISENC_LIBS=""
+ ifelse([$2], ,, [$2])
+ fi
++fi
+ AC_SUBST(VORBIS_CFLAGS)
+ AC_SUBST(VORBIS_LDFLAGS)
+ AC_SUBST(VORBIS_LIBS)
+Index: libshout-2.2.2/configure.ac
+===================================================================
+--- libshout-2.2.2.orig/configure.ac
++++ libshout-2.2.2/configure.ac
+@@ -111,45 +111,66 @@ then
+ AC_DEFINE([NO_THREAD], 1, [Define if you don't want to use the thread library])
+ fi
+
++AC_ARG_WITH([ogg], AS_HELP_STRING([--with-ogg], [Build with ogg support]))
++if test "x$with_ogg" != xno; then
++PKG_CHECK_MODULES(OGG, ogg,
++ [AC_DEFINE([HAVE_OGG], 1, [Define if you want ogg streams supported])],
++ [AC_MSG_ERROR([requisite ogg library not found])])
++AC_SUBST(OGG_LIBS)
++AC_SUBST(OGG_CFLAGS)
++AM_CONDITIONAL(HAVE_OGG, [true])
+ SHOUT_REQUIRES="ogg"
++else
++AM_CONDITIONAL(HAVE_OGG, [false])
++fi
++
++XIPH_CFLAGS="$XIPH_CFLAGS $OGG_CFLAGS"
++
++AC_ARG_WITH([vorbis], AS_HELP_STRING([--with-vorbis], [Build with vorbis support]))
++if test "x$with_vorbis" != xno; then
++PKG_CHECK_MODULES(VORBIS, vorbis,
++ [AC_DEFINE([HAVE_VORBIS], 1, [Define if you want vorbis streams supported])],
++ [AC_MSG_RESULT([vorbis not found. Disabled])])
++AC_SUBST(VORBIS_LIBS)
++AC_SUBST(VORBIS_CFLAGS)
++AM_CONDITIONAL(HAVE_VORBIS, [true])
++SHOUT_REQUIRES="${SHOUT_REQUIRES}, vorbis"
++else
++AM_CONDITIONAL(HAVE_VORBIS, [false])
++fi
+
+-PKG_CHECK_MODULES(VORBIS, vorbis, [
+- HAVE_VORBIS="yes"
+- SHOUT_REQUIRES="$SHOUT_REQUIRES, vorbis"
+- ], [
+- XIPH_PATH_VORBIS(, [AC_MSG_ERROR([requisite Ogg Vorbis library not found])])
+- ])
+-VORBIS_LIBS="$VORBIS_LDFLAGS $VORBIS_LIBS"
+ XIPH_CFLAGS="$XIPH_CFLAGS $VORBIS_CFLAGS"
+
+-PKG_CHECK_MODULES(THEORA, theora, [
+- HAVE_THEORA="yes"
+- SHOUT_REQUIRES="$SHOUT_REQUIRES, theora"
+- ], [
+- XIPH_PATH_THEORA(, [AC_MSG_WARN([Theora library not found, disabling])])
+- ])
+-XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$THEORA_CFLAGS])
+-XIPH_VAR_PREPEND([XIPH_LIBS],[$THEORA LDFLAGS $THEORA_LIBS])
+-AM_CONDITIONAL([HAVE_THEORA], [test -n "$THEORA_LIBS"])
+-if test -n "$THEORA_LIBS"
+-then
+- AC_DEFINE([HAVE_THEORA], 1, [Define if you want theora streams supported])
++AC_ARG_WITH([theora], AS_HELP_STRING([--with-theora], [Build with theora support]))
++if test "x$with_theora" != xno; then
++PKG_CHECK_MODULES(THEORA, theora,
++ [AC_DEFINE([HAVE_THEORA], 1, [Define if you want theora streams supported])],
++ [AC_MSG_RESULT([theora not found. Disabled])])
++AC_SUBST(THEORA_LIBS)
++AC_SUBST(THEORA_CFLAGS)
++AM_CONDITIONAL(HAVE_THEORA, [true])
++SHOUT_REQUIRES="${SHOUT_REQUIRES}, theora"
++else
++AM_CONDITIONAL(HAVE_THEORA, [false])
+ fi
+
+-PKG_CHECK_MODULES(SPEEX, speex, [
+- HAVE_SPEEX="yes"
+- SHOUT_REQUIRES="$SHOUT_REQUIRES, speex"
+- ], [
+- XIPH_PATH_SPEEX(, [AC_MSG_WARN([Speex library not found, disabling])])
+- ])
+-XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$SPEEX_CFLAGS])
+-XIPH_VAR_PREPEND([XIPH_LIBS],[$SPEEX LDFLAGS $SPEEX_LIBS])
+-AM_CONDITIONAL([HAVE_SPEEX], [test -n "$SPEEX_LIBS"])
+-if test -n "$SPEEX_LIBS"
+-then
+- AC_DEFINE([HAVE_SPEEX], 1, [Define if you want speex streams supported])
++XIPH_CFLAGS="$XIPH_CFLAGS $THEORA_CFLAGS"
++
++AC_ARG_WITH([speex], AS_HELP_STRING([--with-speex], [Build with speex support]))
++if test "x$with_speex" != xno; then
++PKG_CHECK_MODULES(SPEEX, speex,
++ [AC_DEFINE([HAVE_SPEEX], 1, [Define if you want speex streams supported])],
++ [AC_MSG_RESULT([speex not found. Disabled])])
++AC_SUBST(SPEEX_LIBS)
++AC_SUBST(SPEEX_CFLAGS)
++AM_CONDITIONAL(HAVE_SPEEX, [true])
++SHOUT_REQUIRES="${SHOUT_REQUIRES}, speex"
++else
++AM_CONDITIONAL(HAVE_SPEEX, [false])
+ fi
+
++XIPH_CFLAGS="$XIPH_CFLAGS $SPEEX_CFLAGS"
++
+ dnl pkgconfig/shout-config.
+ dnl If pkgconfig is found, use it and disable shout-config, otherwise do the
+ dnl opposite, unless the user overrides.
+@@ -185,7 +206,7 @@ SHOUT_LIBS="-lshout"
+
+ XIPH_CLEAN_CCFLAGS([$SHOUT_CPPFLAGS], [SHOUT_CPPFLAGS])
+ XIPH_CLEAN_CCFLAGS([$SHOUT_CFLAGS], [SHOUT_CFLAGS])
+-XIPH_CLEAN_CCFLAGS([$VORBIS_LIBS $THEORA_LIBS $SPEEX_LIBS $PTHREAD_LIBS $LIBS], [SHOUT_LIBDEPS])
++XIPH_CLEAN_CCFLAGS([$OGG_LIBS $VORBIS_LIBS $THEORA_LIBS $SPEEX_LIBS $PTHREAD_LIBS $LIBS], [SHOUT_LIBDEPS])
+ AC_SUBST(PTHREAD_CPPFLAGS)
+ AC_SUBST(SHOUT_LIBDEPS)
+ AC_SUBST(SHOUT_REQUIRES)
+Index: libshout-2.2.2/src/Makefile.am
+===================================================================
+--- libshout-2.2.2.orig/src/Makefile.am
++++ libshout-2.2.2/src/Makefile.am
+@@ -15,6 +15,10 @@ if HAVE_SPEEX
+ MAYBE_SPEEX = speex.c
+ endif
+
++if HAVE_VORBIS
++ MAYBE_VORBIS = vorbis.c
++endif
++
+ SUBDIRS = avl net timing httpp $(MAYBE_THREAD)
+
+ lib_LTLIBRARIES = libshout.la
+@@ -22,7 +26,7 @@ libshout_la_LDFLAGS = -version-info 5:0:
+
+ EXTRA_DIST = theora.c speex.c
+ noinst_HEADERS = shout_ogg.h shout_private.h util.h
+-libshout_la_SOURCES = shout.c util.c ogg.c vorbis.c mp3.c $(MAYBE_THEORA) $(MAYBE_SPEEX)
++libshout_la_SOURCES = shout.c util.c ogg.c $(MAYBE_VORBIS) mp3.c $(MAYBE_THEORA) $(MAYBE_SPEEX)
+ AM_CFLAGS = @XIPH_CFLAGS@
+
+ libshout_la_LIBADD = net/libicenet.la timing/libicetiming.la avl/libiceavl.la\
+Index: libshout-2.2.2/src/ogg.c
+===================================================================
+--- libshout-2.2.2.orig/src/ogg.c
++++ libshout-2.2.2/src/ogg.c
+@@ -53,7 +53,9 @@ static int send_page(shout_t *self, ogg_
+
+ typedef int (*codec_open_t)(ogg_codec_t *codec, ogg_page *page);
+ static codec_open_t codecs[] = {
++#ifdef HAVE_VORBIS
+ _shout_open_vorbis,
++#endif
+ #ifdef HAVE_THEORA
+ _shout_open_theora,
+ #endif
diff --git a/patches/libshout-2.2.2/series b/patches/libshout-2.2.2/series
new file mode 100644
index 0000000..aaa56f7
--- /dev/null
+++ b/patches/libshout-2.2.2/series
@@ -0,0 +1 @@
+fix_buildsystem.diff
diff --git a/rules/libshout.in b/rules/libshout.in
new file mode 100644
index 0000000..b1dcc54
--- /dev/null
+++ b/rules/libshout.in
@@ -0,0 +1,34 @@
+## SECTION=multimedia_sound
+
+menuconfig LIBSHOUT
+ tristate
+ prompt "libshout "
+ select LIBOGG if ICEGENERATOR_VORBIS
+ select LIBVORBIS if ICEGENERATOR_VORBIS
+ select LIBTHEORA if ICEGENERATOR_THEORA
+ select SPEEX if ICEGENERATOR_SPEEX
+ help
+ Library which can be used to write a source client like 'ices' for
+ the 'icecast' streaming server
+
+if LIBSHOUT
+
+config ICEGENERATOR_VORBIS
+ bool
+ prompt "use VORBIS"
+ help
+ Enable support for VORBIS data format
+
+config ICEGENERATOR_THEORA
+ bool
+ prompt "use THEORA"
+ help
+ Enable support for THEORA data format
+
+config ICEGENERATOR_SPEEX
+ bool
+ prompt "use SPEEX"
+ help
+ Enable support for SPEEX data format
+
+endif
diff --git a/rules/libshout.make b/rules/libshout.make
new file mode 100644
index 0000000..f3d5e7e
--- /dev/null
+++ b/rules/libshout.make
@@ -0,0 +1,67 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Juergen Beisert <jbe@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBSHOUT) += libshout
+
+#
+# Paths and names
+#
+LIBSHOUT_VERSION := 2.2.2
+LIBSHOUT_MD5 := 4f75fc9901c724b712c371c9a1e782d3
+LIBSHOUT := libshout-$(LIBSHOUT_VERSION)
+LIBSHOUT_SUFFIX := tar.gz
+LIBSHOUT_URL := http://downloads.us.xiph.org/releases/libshout/$(LIBSHOUT).$(LIBSHOUT_SUFFIX)
+LIBSHOUT_SOURCE := $(SRCDIR)/$(LIBSHOUT).$(LIBSHOUT_SUFFIX)
+LIBSHOUT_DIR := $(BUILDDIR)/$(LIBSHOUT)
+LIBSHOUT_LICENSE := LGPLv2
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#LIBSHOUT_CONF_ENV := $(CROSS_ENV)
+
+#
+# autoconf
+#
+LIBSHOUT_CONF_TOOL := autoconf
+LIBSHOUT_CONF_OPT := \
+ $(CROSS_AUTOCONF_USR) \
+ --enable-shared \
+ --disable-static \
+ --enable-pkgconfig \
+ --with-ogg \
+ --$(call ptx/wwo, PTXCONF_ICEGENERATOR_VORBIS)-vorbis \
+ --$(call ptx/wwo, PTXCONF_ICEGENERATOR_THEORA)-theora \
+ --$(call ptx/wwo, PTXCONF_ICEGENERATOR_SPEEX)-speex
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/libshout.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, libshout)
+ @$(call install_fixup, libshout,PRIORITY,optional)
+ @$(call install_fixup, libshout,SECTION,base)
+ @$(call install_fixup, libshout,AUTHOR,"Juergen Beisert <jbe@pengutronix.de>")
+ @$(call install_fixup, libshout,DESCRIPTION,missing)
+
+ @$(call install_lib, libshout, 0, 0, 0644, libshout)
+
+ @$(call install_finish, libshout)
+
+ @$(call touch)
+
+# vim: syntax=make
--
1.7.9.5
--
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2012-04-06 12:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-06 12:45 [ptxdist] [PATCH] Add all tools to create a internet radio station Juergen Beisert
2012-04-06 12:45 ` Juergen Beisert [this message]
2012-04-06 12:45 ` [ptxdist] [PATCH 2/5] Add the 'id3lib' Juergen Beisert
2012-04-06 12:45 ` [ptxdist] [PATCH 3/5] ICECAST: add an audio streaming server Juergen Beisert
2012-04-06 12:45 ` [ptxdist] [PATCH 4/5] Add the 'icegenerator' Juergen Beisert
2012-04-06 12:45 ` [ptxdist] [PATCH 5/5] Add ices Juergen Beisert
2012-04-06 20:01 ` Michael Olbrich
2012-04-07 9:12 ` Juergen Beisert
2012-04-07 10:30 ` Michael Olbrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1333716320-7923-2-git-send-email-jbe@pengutronix.de \
--to=jbe@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox