mirror of
https://gitlab.xiph.org/xiph/icecast-common.git
synced 2024-12-04 14:46:31 -05:00
Added basic files for library building
This adds the basic infrastructure to create library out of the subdirectories. Most of the code is stolen from libshout. libicecast.c is a dummy file that is currently needed to build the library. If someone finds a ways to build without it please fix and delete the file.
This commit is contained in:
parent
a3e6a937fe
commit
ed89ba2b46
7
Makefile.am
Normal file
7
Makefile.am
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
AUTOMAKE_OPTIONS = foreign
|
||||||
|
|
||||||
|
SUBDIRS = avl net thread httpp log timing
|
||||||
|
|
||||||
|
lib_LTLIBRARIES = libicecast.la
|
||||||
|
libshout_la_SOURCES = libicecast.c
|
||||||
|
libicecast_la_LIBADD = net/libicenet.la timing/libicetiming.la avl/libiceavl.la httpp/libicehttpp.la thread/libicethread.la
|
116
autogen.sh
Executable file
116
autogen.sh
Executable file
@ -0,0 +1,116 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Run this to set up the build system: configure, makefiles, etc.
|
||||||
|
# (based on the version in enlightenment's cvs)
|
||||||
|
|
||||||
|
package="libicecast"
|
||||||
|
|
||||||
|
olddir=`pwd`
|
||||||
|
srcdir=`dirname $0`
|
||||||
|
test -z "$srcdir" && srcdir=.
|
||||||
|
|
||||||
|
cd "$srcdir"
|
||||||
|
DIE=0
|
||||||
|
|
||||||
|
echo "checking for autoconf... "
|
||||||
|
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
|
||||||
|
echo
|
||||||
|
echo "You must have autoconf installed to compile $package."
|
||||||
|
echo "Download the appropriate package for your distribution,"
|
||||||
|
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
||||||
|
DIE=1
|
||||||
|
}
|
||||||
|
|
||||||
|
VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9]*\).*/\1/"
|
||||||
|
VERSIONMKINT="sed -e s/[^0-9]//"
|
||||||
|
|
||||||
|
# do we need automake?
|
||||||
|
if test -r Makefile.am; then
|
||||||
|
AM_OPTIONS=`fgrep AUTOMAKE_OPTIONS Makefile.am`
|
||||||
|
AM_NEEDED=`echo $AM_OPTIONS | $VERSIONGREP`
|
||||||
|
if test "$AM_NEEDED" = "$AM_OPTIONS"; then
|
||||||
|
AM_NEEDED=""
|
||||||
|
fi
|
||||||
|
if test -z $AM_NEEDED; then
|
||||||
|
echo -n "checking for automake... "
|
||||||
|
AUTOMAKE=automake
|
||||||
|
ACLOCAL=aclocal
|
||||||
|
if ($AUTOMAKE --version < /dev/null > /dev/null 2>&1); then
|
||||||
|
echo "yes"
|
||||||
|
else
|
||||||
|
echo "no"
|
||||||
|
AUTOMAKE=
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -n "checking for automake $AM_NEEDED or later... "
|
||||||
|
for am in automake-$AM_NEEDED automake$AM_NEEDED automake; do
|
||||||
|
($am --version < /dev/null > /dev/null 2>&1) || continue
|
||||||
|
ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT`
|
||||||
|
verneeded=`echo $AM_NEEDED | $VERSIONMKINT`
|
||||||
|
if test $ver -ge $verneeded; then
|
||||||
|
AUTOMAKE=$am
|
||||||
|
echo $AUTOMAKE
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
test -z $AUTOMAKE && echo "no"
|
||||||
|
echo -n "checking for aclocal $AM_NEEDED or later... "
|
||||||
|
for ac in aclocal-$AM_NEEDED aclocal$AM_NEEDED aclocal; do
|
||||||
|
($ac --version < /dev/null > /dev/null 2>&1) || continue
|
||||||
|
ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT`
|
||||||
|
verneeded=`echo $AM_NEEDED | $VERSIONMKINT`
|
||||||
|
if test $ver -ge $verneeded; then
|
||||||
|
ACLOCAL=$ac
|
||||||
|
echo $ACLOCAL
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
test -z $ACLOCAL && echo "no"
|
||||||
|
fi
|
||||||
|
test -z $AUTOMAKE || test -z $ACLOCAL && {
|
||||||
|
echo
|
||||||
|
echo "You must have automake installed to compile $package."
|
||||||
|
echo "Download the appropriate package for your distribution,"
|
||||||
|
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n "checking for libtool... "
|
||||||
|
for LIBTOOLIZE in libtoolize glibtoolize nope; do
|
||||||
|
($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 && break
|
||||||
|
done
|
||||||
|
if test x$LIBTOOLIZE = xnope; then
|
||||||
|
echo "nope."
|
||||||
|
LIBTOOLIZE=libtoolize
|
||||||
|
else
|
||||||
|
echo $LIBTOOLIZE
|
||||||
|
fi
|
||||||
|
($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
|
||||||
|
echo
|
||||||
|
echo "You must have libtool installed to compile $package."
|
||||||
|
echo "Download the appropriate package for your system,"
|
||||||
|
echo "or get the source from one of the GNU ftp sites"
|
||||||
|
echo "listed in http://www.gnu.org/order/ftp.html"
|
||||||
|
DIE=1
|
||||||
|
}
|
||||||
|
|
||||||
|
if test "$DIE" -eq 1; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Generating configuration files for $package, please wait...."
|
||||||
|
|
||||||
|
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4"
|
||||||
|
echo " $ACLOCAL $ACLOCAL_FLAGS"
|
||||||
|
$ACLOCAL $ACLOCAL_FLAGS || exit 1
|
||||||
|
echo " autoheader"
|
||||||
|
autoheader || exit 1
|
||||||
|
echo " $LIBTOOLIZE --automake"
|
||||||
|
$LIBTOOLIZE --automake || exit 1
|
||||||
|
echo " $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
|
||||||
|
$AUTOMAKE --add-missing $AUTOMAKE_FLAGS || exit 1
|
||||||
|
echo " autoconf"
|
||||||
|
autoconf || exit 1
|
||||||
|
|
||||||
|
cd $olddir
|
||||||
|
$srcdir/configure "$@" && echo
|
149
configure.ac
Normal file
149
configure.ac
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
m4_define(libicecast_major, 2)
|
||||||
|
m4_define(libicecast_minor, 3)
|
||||||
|
m4_define(libicecast_micro, 1)
|
||||||
|
m4_define(libicecast_version, libicecast_major.libicecast_minor.libicecast_micro)
|
||||||
|
|
||||||
|
AC_INIT([libicecast], libicecast_version, [icecast-dev@xiph.org])
|
||||||
|
AC_PREREQ([2.54])
|
||||||
|
dnl AC_CONFIG_SRCDIR([src/shout.c])
|
||||||
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
# config.h guard
|
||||||
|
AH_TOP([#ifndef __CONFIG_H__
|
||||||
|
#define __CONFIG_H__ 1])
|
||||||
|
AH_BOTTOM([#endif])
|
||||||
|
|
||||||
|
AC_DEFINE([LIBICECAST_MAJOR], libicecast_major, [Icecast library major version])
|
||||||
|
AC_DEFINE([LIBICECAST_MINOR], libicecast_minor, [Icecast library minor version])
|
||||||
|
AC_DEFINE([LIBICECAST_MICRO], libicecast_micro, [Icecast library patch version])
|
||||||
|
|
||||||
|
VERSION=libicecast_version
|
||||||
|
|
||||||
|
AM_INIT_AUTOMAKE([libicecast], libicecast_version)
|
||||||
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
|
dnl create our name mangling macro
|
||||||
|
dnl the prefix must be hardwired because of AH limitations
|
||||||
|
AH_VERBATIM([_mangle], [
|
||||||
|
/* name mangling to protect code we share with other libraries */
|
||||||
|
#define _mangle(proc) _icecast_ ## proc
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_PROG_CC
|
||||||
|
AM_PROG_LIBTOOL
|
||||||
|
|
||||||
|
dnl Set some options based on environment
|
||||||
|
|
||||||
|
dnl openbsd headers break when _XOPEN_SOURCE is defined but without it seems
|
||||||
|
dnl to be fine
|
||||||
|
case "$ac_cv_host" in
|
||||||
|
*openbsd* | *solaris* | *irix*)
|
||||||
|
;;
|
||||||
|
*) AC_DEFINE(_XOPEN_SOURCE, 600, [Define if you have POSIX and XPG specifications])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if test -z "$GCC"; then
|
||||||
|
case $host in
|
||||||
|
*-*-irix*)
|
||||||
|
DEBUG="-g -signed"
|
||||||
|
CFLAGS="-O2 -w -signed"
|
||||||
|
PROFILE="-p -g3 -O2 -signed"
|
||||||
|
;;
|
||||||
|
sparc-sun-solaris*)
|
||||||
|
DEBUG="-v -g"
|
||||||
|
CFLAGS="-xO4 -fast -w -fsimple -native -xcg92"
|
||||||
|
PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
DEBUG="-g"
|
||||||
|
CFLAGS="-O"
|
||||||
|
PROFILE="-g -p"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
XIPH_CFLAGS="-Wall -ffast-math -fsigned-char"
|
||||||
|
AC_DEFINE(_GNU_SOURCE, ,[Define if you have POSIX and GNU specifications])
|
||||||
|
DEBUG="-g"
|
||||||
|
PROFILE="-pg -g"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Checks for programs.
|
||||||
|
|
||||||
|
dnl Checks for header files.
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_CHECK_HEADERS([strings.h sys/timeb.h])
|
||||||
|
|
||||||
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_C_CONST
|
||||||
|
AC_C_INLINE
|
||||||
|
XIPH_C99_INTTYPES
|
||||||
|
|
||||||
|
dnl Checks for library functions.
|
||||||
|
AC_CHECK_FUNCS([gettimeofday ftime])
|
||||||
|
|
||||||
|
dnl Module checks
|
||||||
|
XIPH_NET
|
||||||
|
|
||||||
|
ACX_PTHREAD([
|
||||||
|
LIBS="$LIBS $PTHREAD_LIBS"
|
||||||
|
XIPH_CFLAGS="$XIPH_CFLAGS $PTHREAD_CFLAGS $PTHREAD_CPPFLAGS"
|
||||||
|
CC="$PTHREAD_CC"
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl If pkgconfig is found, install a icecast.pc file.
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([pkgconfig],
|
||||||
|
AC_HELP_STRING([--disable-pkgconfig],[disable pkgconfig data files (auto)]),
|
||||||
|
[dopkgconfig="$enableval"], [dopkgconfig="maybe"])
|
||||||
|
if test "$dopkgconfig" = "maybe"
|
||||||
|
then
|
||||||
|
AC_CHECK_PROG([PKGCONFIG], [pkg-config], [yes], [no])
|
||||||
|
else
|
||||||
|
AC_MSG_CHECKING([whether pkgconfig should be used])
|
||||||
|
PKGCONFIG="$dopkgconfig"
|
||||||
|
AC_MSG_RESULT([$PKGCONFIG])
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL([HAVE_PKGCONFIG], [test "$PKGCONFIG" != "no"])
|
||||||
|
|
||||||
|
# Collect flags for icecast.pc
|
||||||
|
|
||||||
|
# I hate myself for doing this.
|
||||||
|
save_prefix="$prefix"
|
||||||
|
if test "$prefix" = "NONE"
|
||||||
|
then
|
||||||
|
prefix="$ac_default_prefix"
|
||||||
|
fi
|
||||||
|
eval icecast_includedir="$includedir"
|
||||||
|
prefix="$save_prefix"
|
||||||
|
|
||||||
|
ICECAST_VERSION="$VERSION"
|
||||||
|
ICECAST_CPPFLAGS="-I$icecast_includedir $VORBIS_CFLAGS $PTHREAD_CPPFLAGS"
|
||||||
|
ICECAST_CFLAGS="$PTHREAD_CFLAGS"
|
||||||
|
ICECAST_LIBS="-licecast"
|
||||||
|
|
||||||
|
XIPH_CLEAN_CCFLAGS([$ICECAST_CPPFLAGS], [ICECAST_CPPFLAGS])
|
||||||
|
XIPH_CLEAN_CCFLAGS([$ICECAST_CFLAGS], [ICECAST_CFLAGS])
|
||||||
|
XIPH_CLEAN_CCFLAGS([$PTHREAD_LIBS $LIBS], [ICECAST_LIBDEPS])
|
||||||
|
AC_SUBST(PTHREAD_CPPFLAGS)
|
||||||
|
AC_SUBST(ICECAST_LIBDEPS)
|
||||||
|
AC_SUBST(ICECAST_REQUIRES)
|
||||||
|
AC_SUBST(ICECAST_CPPFLAGS)
|
||||||
|
AC_SUBST(ICECAST_CFLAGS)
|
||||||
|
|
||||||
|
dnl Make substitutions
|
||||||
|
|
||||||
|
AC_SUBST(LIBTOOL_DEPS)
|
||||||
|
AC_SUBST(OPT)
|
||||||
|
AC_SUBST(LIBS)
|
||||||
|
AC_SUBST(DEBUG)
|
||||||
|
AC_SUBST(CFLAGS)
|
||||||
|
AC_SUBST(PROFILE)
|
||||||
|
AC_SUBST(XIPH_CFLAGS)
|
||||||
|
AC_SUBST(XIPH_CPPFLAGS)
|
||||||
|
|
||||||
|
AC_OUTPUT([Makefile
|
||||||
|
net/Makefile timing/Makefile
|
||||||
|
thread/Makefile avl/Makefile httpp/Makefile log/Makefile
|
||||||
|
icecast.pc])
|
15
icecast.pc.in
Normal file
15
icecast.pc.in
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# libicecast pkg-config source file
|
||||||
|
|
||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
cppflags=@ICECAST_CPPFLAGS@
|
||||||
|
cflags_only=@ICECAST_CFLAGS@
|
||||||
|
|
||||||
|
Name: Icecast
|
||||||
|
Description: icecast common code library
|
||||||
|
Version: @VERSION@
|
||||||
|
Requires.private: @ICECAST_REQUIRES@
|
||||||
|
Libs: -L${libdir} -lshout
|
||||||
|
Cflags: -I${includedir} @PTHREAD_CPPFLAGS@ @ICECAST_CFLAGS@
|
0
libicecast.c
Normal file
0
libicecast.c
Normal file
Loading…
Reference in New Issue
Block a user