mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2025-02-02 15:07:36 -05:00
Move macros into subdirectory to make it easier to manage them
svn path=/trunk/m4/; revision=4438
This commit is contained in:
parent
407ac0bb17
commit
e8bba09213
251
m4/ac_config_libconfig_in.m4
Normal file
251
m4/ac_config_libconfig_in.m4
Normal file
@ -0,0 +1,251 @@
|
||||
dnl Available from the GNU Autoconf Macro Archive at:
|
||||
dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_config_libconfig_in.html
|
||||
dnl
|
||||
# AC_CONFIG_LIBCONFIG_IN(LIBRARY, DESTINATION, MODULES)
|
||||
# -----------------------------------------------------
|
||||
# Generate a custom LIBRARY-config script. Create the script in the
|
||||
# DESTINATION directory, including support for MODULES.
|
||||
AC_DEFUN([AC_CONFIG_LIBCONFIG_IN],
|
||||
[# create a custom library-config file ($1-config)
|
||||
m4_if(AC_CONFIG_LIBCONFIG_IN_USEPKGCONFIG, [true],
|
||||
[AC_PATH_PROG(PKG_CONFIG, pkg-config)])
|
||||
pushdef([LIBCONFIG_DIR], [m4_if([$2], , , [$2/])])
|
||||
LIBCONFIG_FILE="LIBCONFIG_DIR[]$1-config.in"
|
||||
AC_SUBST(target)dnl
|
||||
AC_SUBST(host)dnl
|
||||
AC_SUBST(build)dnl
|
||||
dnl create directory if it does not preexist
|
||||
m4_if([$2], , , [AS_MKDIR_P([$2])])
|
||||
AC_MSG_NOTICE([creating $LIBCONFIG_FILE])
|
||||
echo '#! /bin/sh' >$LIBCONFIG_FILE
|
||||
echo "# $1-config library configuration script" >>$LIBCONFIG_FILE
|
||||
echo '# generated by ac_config_libconfig_in.m4' >>$LIBCONFIG_FILE
|
||||
echo ' ' >>$LIBCONFIG_FILE
|
||||
echo 'template_version="1.0.0"' >>$LIBCONFIG_FILE
|
||||
echo ' ' >>$LIBCONFIG_FILE
|
||||
echo 'package="@PACKAGE@"' >>$LIBCONFIG_FILE
|
||||
echo ' ' >>$LIBCONFIG_FILE
|
||||
echo '# usage instructions if no options given' >>$LIBCONFIG_FILE
|
||||
echo 'if test "'"\$""#"'" -eq 0; then' >>$LIBCONFIG_FILE
|
||||
echo ' cat <<EOF' >>$LIBCONFIG_FILE
|
||||
m4_if($3, ,
|
||||
[echo 'Usage: $1-config [[OPTIONS]]' >>$LIBCONFIG_FILE],
|
||||
[echo 'Usage: $1-config [[OPTIONS]] [[LIBRARIES]]' >>$LIBCONFIG_FILE])
|
||||
echo 'Options:' >>$LIBCONFIG_FILE
|
||||
echo ' [[--prefix[=DIR]]]' >>$LIBCONFIG_FILE
|
||||
echo ' [[--exec-prefix[=DIR]]]' >>$LIBCONFIG_FILE
|
||||
echo ' [[--package]]' >>$LIBCONFIG_FILE
|
||||
echo ' [[--version]]' >>$LIBCONFIG_FILE
|
||||
echo ' [[--cflags]]' >>$LIBCONFIG_FILE
|
||||
echo ' [[--libs]]' >>$LIBCONFIG_FILE
|
||||
echo ' [[--help]]' >>$LIBCONFIG_FILE
|
||||
m4_if($3, , ,
|
||||
[echo 'Libraries:' >>$LIBCONFIG_FILE
|
||||
for module in $1 $3 ; do
|
||||
echo " $module" >>$LIBCONFIG_FILE ;
|
||||
done])
|
||||
echo 'EOF' >>$LIBCONFIG_FILE
|
||||
echo 'fi' >>$LIBCONFIG_FILE
|
||||
echo ' ' >>$LIBCONFIG_FILE
|
||||
echo '# parse options' >>$LIBCONFIG_FILE
|
||||
echo 'o=""' >>$LIBCONFIG_FILE
|
||||
echo 'h=""' >>$LIBCONFIG_FILE
|
||||
echo 'for i ; do' >>$LIBCONFIG_FILE
|
||||
echo ' case $i in' >>$LIBCONFIG_FILE
|
||||
options="prefix exec-prefix eprefix package version cflags libs bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir infodir mandir target host build pkgdatadir pkglibdir pkgincludedir template-version help"
|
||||
echo ' --prefix=*) prefix=`echo $i | sed -e "s/--prefix=//"` ;;' >>$LIBCONFIG_FILE
|
||||
echo ' --exec-prefix=*) exec_prefix=`echo $i | sed -e "s/--exec-prefix=//"` ;;' >>$LIBCONFIG_FILE
|
||||
echo ' --eprefix=*) exec_prefix=`echo $i | sed -e "s/--eprefix=//"` ;;' >>$LIBCONFIG_FILE
|
||||
for option in $options ; do
|
||||
case $option in
|
||||
exec-prefix) echo " --$option) echo_exec_prefix=\"yes\" ;;" >>$LIBCONFIG_FILE ;;
|
||||
template-version) echo " --$option) echo_template_version=\"yes\" ;;" >>$LIBCONFIG_FILE ;;
|
||||
*) echo " --$option) echo_$option=\"yes\" ;;" >>$LIBCONFIG_FILE ;;
|
||||
esac
|
||||
done
|
||||
m4_if($3, , ,
|
||||
[for module in $1 $3 ; do
|
||||
echo " $module) echo_module_$module=\"yes\" ;" >>$LIBCONFIG_FILE ;
|
||||
echo ' echo_module="yes" ;;' >>$LIBCONFIG_FILE ;
|
||||
done])
|
||||
echo ' //*|/*//*|./*//*) echo_extra="yes" ;;' >>$LIBCONFIG_FILE
|
||||
echo ' *) eval "echo Unknown option: $i" ; exit 1 ;;' >>$LIBCONFIG_FILE
|
||||
echo ' esac' >>$LIBCONFIG_FILE
|
||||
echo 'done' >>$LIBCONFIG_FILE
|
||||
echo ' ' >>$LIBCONFIG_FILE
|
||||
# in the order of occurence a standard automake Makefile
|
||||
echo '# defaults from configure; set only if not set previously' >>$LIBCONFIG_FILE
|
||||
vars="prefix exec_prefix bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir infodir mandir includedir target host build"
|
||||
for var in $vars ; do
|
||||
echo "if test -z \"\$$var\" ; then" >>$LIBCONFIG_FILE
|
||||
echo " $var=\"@$var@\"" >>$LIBCONFIG_FILE
|
||||
echo 'fi' >>$LIBCONFIG_FILE
|
||||
done
|
||||
echo ' ' >>$LIBCONFIG_FILE
|
||||
echo '# generate output' >>$LIBCONFIG_FILE
|
||||
echo 'if test x$echo_module != xyes ; then' >>$LIBCONFIG_FILE
|
||||
echo ' echo_module_$1="yes"' >>$LIBCONFIG_FILE
|
||||
echo 'fi' >>$LIBCONFIG_FILE
|
||||
AC_CONFIG_LIBCONFIG_IN_MODULES(m4_if([$3], , [$1], [m4_translit([$1 $3], [ ], [,])]))dnl
|
||||
for option in $options extra; do
|
||||
case $option in
|
||||
exec-prefix) echo "if test x\$echo_exec_prefix = xyes ; then" >>$LIBCONFIG_FILE ;;
|
||||
template-version) echo "if test x\$echo_template_version = xyes ; then" >>$LIBCONFIG_FILE ;;
|
||||
*) echo "if test x\$echo_$option = xyes ; then" >>$LIBCONFIG_FILE ;;
|
||||
esac
|
||||
case $option in
|
||||
exec-prefix | eprefix) echo ' o="$o $exec_prefix"' >>$LIBCONFIG_FILE ;;
|
||||
template-version) echo ' o="$o $template_version"' >>$LIBCONFIG_FILE ;;
|
||||
cflags)
|
||||
echo ' i=`eval echo "$includedir"`' >>$LIBCONFIG_FILE ;
|
||||
echo ' i=`eval echo "$i"`' >>$LIBCONFIG_FILE ;
|
||||
echo ' if test "_$i" != "_/usr/include" ; then' >>$LIBCONFIG_FILE ;
|
||||
echo ' o="$o -I$includedir"' >>$LIBCONFIG_FILE ;
|
||||
echo ' fi' >>$LIBCONFIG_FILE ;
|
||||
echo ' o="$o $cflags"' >>$LIBCONFIG_FILE ;;
|
||||
libs) echo ' o="$o -L$libdir $libs"' >>$LIBCONFIG_FILE ;;
|
||||
help) echo ' h="1"' >>$LIBCONFIG_FILE ;;
|
||||
pkgdatadir) echo " o=\"$o \${datadir}/\${package}\"" >>$LIBCONFIG_FILE ;;
|
||||
pkglibdir) echo " o=\"$o \${libdir}/\${package}\"" >>$LIBCONFIG_FILE ;;
|
||||
pkgincludedir) echo " o=\"$o \${includedir}/\${package}\"" >>$LIBCONFIG_FILE ;;
|
||||
extra)
|
||||
echo ' v=`echo $i | sed -e s://:\$:g`' >>$LIBCONFIG_FILE ;
|
||||
echo ' v=`eval "echo $v"`' >>$LIBCONFIG_FILE ;
|
||||
echo ' o="$o $v"' >>$LIBCONFIG_FILE ;;
|
||||
*) echo " o=\"$o \$$option\"" >>$LIBCONFIG_FILE
|
||||
esac
|
||||
echo 'fi' >>$LIBCONFIG_FILE
|
||||
done
|
||||
echo ' ' >>$LIBCONFIG_FILE
|
||||
echo '# output data' >>$LIBCONFIG_FILE
|
||||
echo 'o=`eval "echo $o"`' >>$LIBCONFIG_FILE
|
||||
echo 'o=`eval "echo $o"`' >>$LIBCONFIG_FILE
|
||||
echo 'if test -n "$o" ; then ' >>$LIBCONFIG_FILE
|
||||
echo ' eval "echo $o"' >>$LIBCONFIG_FILE
|
||||
echo 'fi' >>$LIBCONFIG_FILE
|
||||
echo ' ' >>$LIBCONFIG_FILE
|
||||
echo '# help text' >>$LIBCONFIG_FILE
|
||||
echo 'if test ! -z "$h" ; then ' >>$LIBCONFIG_FILE
|
||||
echo ' cat <<EOF' >>$LIBCONFIG_FILE
|
||||
echo 'All available options:' >>$LIBCONFIG_FILE
|
||||
echo ' --prefix=DIR and change \$prefix and \$exec-prefix' >>$LIBCONFIG_FILE
|
||||
echo ' --exec-prefix=DIR (affects all other options)' >>$LIBCONFIG_FILE
|
||||
echo ' --prefix \$prefix $prefix' >>$LIBCONFIG_FILE
|
||||
echo ' --exec_prefix or... ' >>$LIBCONFIG_FILE
|
||||
echo ' --eprefix \$exec_prefix $exec_prefix' >>$LIBCONFIG_FILE
|
||||
echo ' --version \$version $version' >>$LIBCONFIG_FILE
|
||||
echo ' --cflags -I\$includedir unless it is /usr/include' >>$LIBCONFIG_FILE
|
||||
echo ' --libs -L\$libdir \$LIBS $libs' >>$LIBCONFIG_FILE
|
||||
echo ' --package \$package $package' >>$LIBCONFIG_FILE
|
||||
echo ' --bindir \$bindir $bindir' >>$LIBCONFIG_FILE
|
||||
echo ' --sbindir \$sbindir $sbindir' >>$LIBCONFIG_FILE
|
||||
echo ' --libexecdir \$libexecdir $libexecdir' >>$LIBCONFIG_FILE
|
||||
echo ' --datadir \$datadir $datadir' >>$LIBCONFIG_FILE
|
||||
echo ' --sysconfdir \$sysconfdir $sysconfdir' >>$LIBCONFIG_FILE
|
||||
echo ' --sharedstatedir \$sharedstatedir$sharedstatedir' >>$LIBCONFIG_FILE
|
||||
echo ' --localstatedir \$localstatedir $localstatedir' >>$LIBCONFIG_FILE
|
||||
echo ' --libdir \$libdir $libdir' >>$LIBCONFIG_FILE
|
||||
echo ' --infodir \$infodir $infodir' >>$LIBCONFIG_FILE
|
||||
echo ' --mandir \$mandir $mandir' >>$LIBCONFIG_FILE
|
||||
echo ' --target \$target $target' >>$LIBCONFIG_FILE
|
||||
echo ' --host \$host $host' >>$LIBCONFIG_FILE
|
||||
echo ' --build \$build $build' >>$LIBCONFIG_FILE
|
||||
echo ' --pkgdatadir \$datadir/\$package ${datadir}/${package}' >>$LIBCONFIG_FILE
|
||||
echo ' --pkglibdir \$libdir/\$package ${libdir}/${package}' >>$LIBCONFIG_FILE
|
||||
echo ' --pkgincludedir \$includedir/\$package ${includedir}/${package}' >>$LIBCONFIG_FILE
|
||||
echo ' --template-version \$template_version $template_version' >>$LIBCONFIG_FILE
|
||||
echo ' --help' >>$LIBCONFIG_FILE
|
||||
echo 'EOF' >>$LIBCONFIG_FILE
|
||||
echo 'fi' >>$LIBCONFIG_FILE
|
||||
m4_pushdef([LIBCONFIG_UP], [m4_translit([$1], [a-z], [A-Z])])dnl
|
||||
LIBCONFIG_UP[]_CONFIG="LIBCONFIG_DIR[]$1-config"
|
||||
AC_SUBST(LIBCONFIG_UP[]_CONFIG)
|
||||
dnl AC_CONFIG_FILES(LIBCONFIG_DIR[]$1[-config], [chmod +x ]LIBCONFIG_DIR[]$1[-config])
|
||||
m4_popdef([LIBCONFIG_DIR])
|
||||
m4_popdef([LIBCONFIG_UP])
|
||||
])
|
||||
|
||||
|
||||
# AC_CONFIG_LIBCONFIG_IN_MODULES [(MODULE1 [, MODULE2 [, ...]])]
|
||||
# --------------------------------------------------------------
|
||||
#Output shell script using custom module variables.
|
||||
AC_DEFUN([AC_CONFIG_LIBCONFIG_IN_MODULES],
|
||||
[m4_if([$1], , ,
|
||||
[# create module definition for $1
|
||||
dnl we're going to need uppercase, lowercase and user-friendly versions of the
|
||||
dnl string `MODULE'
|
||||
m4_pushdef([MODULE_UP], m4_translit([$1], [a-z], [A-Z]))dnl
|
||||
m4_pushdef([MODULE_DOWN], m4_translit([$1], [A-Z], [a-z]))dnl
|
||||
if test -z "$MODULE_DOWN[]_cflags" ; then
|
||||
if test -n "$MODULE_UP[]_CFLAGS" ; then
|
||||
MODULE_DOWN[]_cflags="$MODULE_UP[]_CFLAGS"
|
||||
else
|
||||
dnl AC_MSG_WARN([variable `MODULE_DOWN[]_cflags' undefined])
|
||||
MODULE_DOWN[]_cflags=''
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(MODULE_DOWN[]_cflags)dnl
|
||||
if test -z "$MODULE_DOWN[]_libs" ; then
|
||||
if test -n "$MODULE_UP[]_LIBS" ; then
|
||||
MODULE_DOWN[]_libs="$MODULE_UP[]_LIBS"
|
||||
else
|
||||
AC_MSG_WARN([variable `MODULE_DOWN[]_libs' and `MODULE_UP[]_LIBS' undefined])
|
||||
MODULE_DOWN[]_libs='-l$1'
|
||||
fi
|
||||
if test -n "$MODULE_UP[]_LIBDEPS" ; then
|
||||
MODULE_DOWN[]_libs="$MODULE_DOWN[]_libs $MODULE_UP[]_LIBDEPS"
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(MODULE_DOWN[]_libs)dnl
|
||||
if test -z "$MODULE_UP[]_VERSION" ; then
|
||||
AC_MSG_WARN([variable `MODULE_UP[]_VERSION' undefined])
|
||||
MODULE_UP[]_VERSION="$VERSION"
|
||||
fi
|
||||
AC_SUBST(MODULE_UP[]_VERSION)dnl
|
||||
echo 'if test x$echo_module_$1 = xyes ; then' >>$LIBCONFIG_FILE
|
||||
AC_CONFIG_LIBCONFIG_IN_MODULES_VARS([cflags], [MODULE_DOWN[]_cflags], [cflags])
|
||||
AC_CONFIG_LIBCONFIG_IN_MODULES_VARS([libs], [MODULE_DOWN[]_libs], [libs])
|
||||
AC_CONFIG_LIBCONFIG_IN_MODULES_VARS([version], [MODULE_UP[]_VERSION], [modversion])
|
||||
echo 'fi' >>$LIBCONFIG_FILE
|
||||
m4_popdef([MODULE_UP])dnl
|
||||
m4_popdef([MODULE_DOWN])dnl
|
||||
AC_CONFIG_LIBCONFIG_IN_MODULES(m4_shift($@))])dnl
|
||||
])
|
||||
|
||||
|
||||
# AC_CONFIG_LIBCONFIG_IN_MODULES_VARS [(VAR, SUBSTITUTION,
|
||||
# PKGCONFIG_ARGS)]
|
||||
# --------------------------------------------------------
|
||||
# Output AC_CONFIG_LIBCONFIG_IN_MODULES variables.
|
||||
# VAR = variable to set
|
||||
# SUBSTITUTION = set if pkg-config is not available
|
||||
# PKGCONFIG_ARGS = args for pkg-config
|
||||
AC_DEFUN([AC_CONFIG_LIBCONFIG_IN_MODULES_VARS],
|
||||
[m4_if(AC_CONFIG_LIBCONFIG_IN_USEPKGCONFIG, [true],
|
||||
[
|
||||
echo 'if test -x "`which pkg-config`" ; then' >>$LIBCONFIG_FILE
|
||||
echo ' if pkg-config --atleast-pkgconfig-version=0.7 --exists "MODULE_DOWN"; then' >>$LIBCONFIG_FILE
|
||||
echo ' $1="@S|@$1 `pkg-config --$3 MODULE_DOWN`"' >>$LIBCONFIG_FILE
|
||||
echo ' fi' >>$LIBCONFIG_FILE
|
||||
echo 'else' >>$LIBCONFIG_FILE
|
||||
echo ' $1="@S|@$1 @$2@"' >>$LIBCONFIG_FILE
|
||||
echo 'fi' >>$LIBCONFIG_FILE
|
||||
],
|
||||
[echo ' $1="@S|@$1 @$2@"' >>$LIBCONFIG_FILE
|
||||
])])
|
||||
|
||||
|
||||
# AC_CONFIG_LIBCONFIG_IN_PKGCONFIG
|
||||
# --------------------------------
|
||||
# Enable pkgconfig support in libconfig script (default)
|
||||
AC_DEFUN([AC_CONFIG_LIBCONFIG_IN_PKGCONFIG],
|
||||
[m4_define([AC_CONFIG_LIBCONFIG_IN_USEPKGCONFIG], [true])
|
||||
])dnl
|
||||
|
||||
|
||||
# AC_CONFIG_LIBCONFIG_IN_STATIC
|
||||
# -----------------------------
|
||||
# Disable pkgconfig support in libconfig script
|
||||
AC_DEFUN([AC_CONFIG_LIBCONFIG_IN_STATIC],
|
||||
[m4_define([AC_CONFIG_LIBCONFIG_IN_USEPKGCONFIG], [false])
|
||||
])dnl
|
190
m4/acx_pthread.m4
Normal file
190
m4/acx_pthread.m4
Normal file
@ -0,0 +1,190 @@
|
||||
dnl Available from the GNU Autoconf Macro Archive at:
|
||||
dnl http://www.gnu.org/software/ac-archive/htmldoc/acx_pthread.html
|
||||
dnl
|
||||
AC_DEFUN([ACX_PTHREAD], [
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
acx_pthread_ok=no
|
||||
|
||||
# We used to check for pthread.h first, but this fails if pthread.h
|
||||
# requires special compiler flags (e.g. on True64 or Sequent).
|
||||
# It gets checked for in the link test anyway.
|
||||
|
||||
# First of all, check if the user has set any of the PTHREAD_LIBS,
|
||||
# etcetera environment variables, and if threads linking works using
|
||||
# them:
|
||||
if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
save_LIBS="$LIBS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
|
||||
AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes)
|
||||
AC_MSG_RESULT($acx_pthread_ok)
|
||||
if test x"$acx_pthread_ok" = xno; then
|
||||
PTHREAD_LIBS=""
|
||||
PTHREAD_CFLAGS=""
|
||||
fi
|
||||
LIBS="$save_LIBS"
|
||||
CFLAGS="$save_CFLAGS"
|
||||
fi
|
||||
|
||||
# We must check for the threads library under a number of different
|
||||
# names; the ordering is very important because some systems
|
||||
# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
|
||||
# libraries is broken (non-POSIX).
|
||||
|
||||
# Create a list of thread flags to try. Items starting with a "-" are
|
||||
# C compiler flags, and other items are library names, except for "none"
|
||||
# which indicates that we try without any flags at all.
|
||||
|
||||
acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt"
|
||||
|
||||
# The ordering *is* (sometimes) important. Some notes on the
|
||||
# individual items follow:
|
||||
|
||||
# pthreads: AIX (must check this before -lpthread)
|
||||
# none: in case threads are in libc; should be tried before -Kthread and
|
||||
# other compiler flags to prevent continual compiler warnings
|
||||
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
|
||||
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
|
||||
# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
|
||||
# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
|
||||
# -pthreads: Solaris/gcc
|
||||
# -mthreads: Mingw32/gcc, Lynx/gcc
|
||||
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
|
||||
# doesn't hurt to check since this sometimes defines pthreads too;
|
||||
# also defines -D_REENTRANT)
|
||||
# pthread: Linux, etcetera
|
||||
# --thread-safe: KAI C++
|
||||
|
||||
case "${host_cpu}-${host_os}" in
|
||||
*solaris*)
|
||||
|
||||
# On Solaris (at least, for some versions), libc contains stubbed
|
||||
# (non-functional) versions of the pthreads routines, so link-based
|
||||
# tests will erroneously succeed. (We need to link with -pthread or
|
||||
# -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
|
||||
# a function called by this macro, so we could check for that, but
|
||||
# who knows whether they'll stub that too in a future libc.) So,
|
||||
# we'll just look for -pthreads and -lpthread first:
|
||||
|
||||
acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags"
|
||||
;;
|
||||
esac
|
||||
|
||||
if test x"$acx_pthread_ok" = xno; then
|
||||
for flag in $acx_pthread_flags; do
|
||||
|
||||
case $flag in
|
||||
none)
|
||||
AC_MSG_CHECKING([whether pthreads work without any flags])
|
||||
;;
|
||||
|
||||
-*)
|
||||
AC_MSG_CHECKING([whether pthreads work with $flag])
|
||||
PTHREAD_CFLAGS="$flag"
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_CHECKING([for the pthreads library -l$flag])
|
||||
PTHREAD_LIBS="-l$flag"
|
||||
;;
|
||||
esac
|
||||
|
||||
save_LIBS="$LIBS"
|
||||
save_CFLAGS="$CFLAGS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
|
||||
# Check for various functions. We must include pthread.h,
|
||||
# since some functions may be macros. (On the Sequent, we
|
||||
# need a special flag -Kthread to make this header compile.)
|
||||
# We check for pthread_join because it is in -lpthread on IRIX
|
||||
# while pthread_create is in libc. We check for pthread_attr_init
|
||||
# due to DEC craziness with -lpthreads. We check for
|
||||
# pthread_cleanup_push because it is one of the few pthread
|
||||
# functions on Solaris that doesn't have a non-functional libc stub.
|
||||
# We try pthread_create on general principles.
|
||||
AC_TRY_LINK([#include <pthread.h>],
|
||||
[pthread_t th; pthread_join(th, 0);
|
||||
pthread_attr_init(0); pthread_cleanup_push(0, 0);
|
||||
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
|
||||
[acx_pthread_ok=yes])
|
||||
|
||||
LIBS="$save_LIBS"
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
AC_MSG_RESULT($acx_pthread_ok)
|
||||
if test "x$acx_pthread_ok" = xyes; then
|
||||
break;
|
||||
fi
|
||||
|
||||
PTHREAD_LIBS=""
|
||||
PTHREAD_CFLAGS=""
|
||||
done
|
||||
fi
|
||||
|
||||
# Various other checks:
|
||||
if test "x$acx_pthread_ok" = xyes; then
|
||||
save_LIBS="$LIBS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
|
||||
# Detect AIX lossage: threads are created detached by default
|
||||
# and the JOINABLE attribute has a nonstandard name (UNDETACHED).
|
||||
AC_MSG_CHECKING([for joinable pthread attribute])
|
||||
AC_TRY_LINK([#include <pthread.h>],
|
||||
[int attr=PTHREAD_CREATE_JOINABLE;],
|
||||
ok=PTHREAD_CREATE_JOINABLE, ok=unknown)
|
||||
if test x"$ok" = xunknown; then
|
||||
AC_TRY_LINK([#include <pthread.h>],
|
||||
[int attr=PTHREAD_CREATE_UNDETACHED;],
|
||||
ok=PTHREAD_CREATE_UNDETACHED, ok=unknown)
|
||||
fi
|
||||
if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then
|
||||
AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok,
|
||||
[Define to the necessary symbol if this constant
|
||||
uses a non-standard name on your system.])
|
||||
fi
|
||||
AC_MSG_RESULT(${ok})
|
||||
if test x"$ok" = xunknown; then
|
||||
AC_MSG_WARN([we do not know how to create joinable pthreads])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if more special flags are required for pthreads])
|
||||
flag=no
|
||||
case "${host_cpu}-${host_os}" in
|
||||
*-aix* | *-freebsd*) flag="-D_THREAD_SAFE";;
|
||||
*solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
|
||||
esac
|
||||
AC_MSG_RESULT(${flag})
|
||||
if test "x$flag" != xno; then
|
||||
PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
|
||||
fi
|
||||
|
||||
LIBS="$save_LIBS"
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
# More AIX lossage: must compile with cc_r
|
||||
AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC})
|
||||
else
|
||||
PTHREAD_CC="$CC"
|
||||
fi
|
||||
|
||||
AC_SUBST(PTHREAD_LIBS)
|
||||
AC_SUBST(PTHREAD_CFLAGS)
|
||||
AC_SUBST(PTHREAD_CC)
|
||||
|
||||
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
|
||||
if test x"$acx_pthread_ok" = xyes; then
|
||||
ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
|
||||
:
|
||||
else
|
||||
acx_pthread_ok=no
|
||||
$2
|
||||
fi
|
||||
AC_LANG_RESTORE
|
||||
])dnl ACX_PTHREAD
|
102
m4/ogg.m4
Normal file
102
m4/ogg.m4
Normal file
@ -0,0 +1,102 @@
|
||||
# Configure paths for libogg
|
||||
# Jack Moffitt <jack@icecast.org> 10-21-2000
|
||||
# Shamelessly stolen from Owen Taylor and Manish Singh
|
||||
|
||||
dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
||||
dnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS
|
||||
dnl
|
||||
AC_DEFUN(XIPH_PATH_OGG,
|
||||
[dnl
|
||||
dnl Get the cflags and libraries
|
||||
dnl
|
||||
AC_ARG_WITH(ogg,[ --with-ogg=PFX Prefix where libogg is installed (optional)], ogg_prefix="$withval", ogg_prefix="")
|
||||
AC_ARG_WITH(ogg-libraries,[ --with-ogg-libraries=DIR Directory where libogg library is installed (optional)], ogg_libraries="$withval", ogg_libraries="")
|
||||
AC_ARG_WITH(ogg-includes,[ --with-ogg-includes=DIR Directory where libogg header files are installed (optional)], ogg_includes="$withval", ogg_includes="")
|
||||
AC_ARG_ENABLE(oggtest, [ --disable-oggtest Do not try to compile and run a test Ogg program],, enable_oggtest=yes)
|
||||
|
||||
if test "x$ogg_libraries" != "x" ; then
|
||||
OGG_LIBS="-L$ogg_libraries"
|
||||
elif test "x$ogg_prefix" != "x" ; then
|
||||
OGG_LIBS="-L$ogg_prefix/lib"
|
||||
elif test "x$prefix" != "xNONE" ; then
|
||||
OGG_LIBS="-L$prefix/lib"
|
||||
fi
|
||||
|
||||
OGG_LIBS="$OGG_LIBS -logg"
|
||||
|
||||
if test "x$ogg_includes" != "x" ; then
|
||||
OGG_CFLAGS="-I$ogg_includes"
|
||||
elif test "x$ogg_prefix" != "x" ; then
|
||||
OGG_CFLAGS="-I$ogg_prefix/include"
|
||||
elif test "$prefix" != "xNONE"; then
|
||||
OGG_CFLAGS="-I$prefix/include"
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for Ogg)
|
||||
no_ogg=""
|
||||
|
||||
|
||||
if test "x$enable_oggtest" = "xyes" ; then
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $OGG_CFLAGS"
|
||||
LIBS="$LIBS $OGG_LIBS"
|
||||
dnl
|
||||
dnl Now check if the installed Ogg is sufficiently new.
|
||||
dnl
|
||||
rm -f conf.oggtest
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ogg/ogg.h>
|
||||
|
||||
int main ()
|
||||
{
|
||||
system("touch conf.oggtest");
|
||||
return 0;
|
||||
}
|
||||
|
||||
],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
|
||||
if test "x$no_ogg" = "x" ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$1], , :, [$1])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test -f conf.oggtest ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run Ogg test program, checking why..."
|
||||
CFLAGS="$CFLAGS $OGG_CFLAGS"
|
||||
LIBS="$LIBS $OGG_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <ogg/ogg.h>
|
||||
], [ return 0; ],
|
||||
[ echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding Ogg or finding the wrong"
|
||||
echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your"
|
||||
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||
echo "*** to the installed location Also, make sure you have run ldconfig if that"
|
||||
echo "*** is required on your system"
|
||||
echo "***"
|
||||
echo "*** If you have an old version installed, it is best to remove it, although"
|
||||
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
|
||||
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means Ogg was incorrectly installed"
|
||||
echo "*** or that you have moved Ogg since it was installed." ])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
OGG_CFLAGS=""
|
||||
OGG_LIBS=""
|
||||
ifelse([$2], , :, [$2])
|
||||
fi
|
||||
AC_SUBST(OGG_CFLAGS)
|
||||
AC_SUBST(OGG_LIBS)
|
||||
rm -f conf.oggtest
|
||||
])
|
122
m4/vorbis.m4
Normal file
122
m4/vorbis.m4
Normal file
@ -0,0 +1,122 @@
|
||||
# Configure paths for libvorbis
|
||||
# Jack Moffitt <jack@icecast.org> 10-21-2000
|
||||
# Shamelessly stolen from Owen Taylor and Manish Singh
|
||||
# thomasvs added check for vorbis_bitrate_addblock which is new in rc3
|
||||
|
||||
dnl XIPH_PATH_VORBIS([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
||||
dnl Test for libvorbis, and define VORBIS_CFLAGS and VORBIS_LIBS
|
||||
dnl
|
||||
AC_DEFUN(XIPH_PATH_VORBIS,
|
||||
[dnl
|
||||
dnl Get the cflags and libraries
|
||||
dnl
|
||||
AC_ARG_WITH(vorbis,[ --with-vorbis=PFX Prefix where libvorbis is installed (optional)], vorbis_prefix="$withval", vorbis_prefix="")
|
||||
AC_ARG_WITH(vorbis-libraries,[ --with-vorbis-libraries=DIR Directory where libvorbis library is installed (optional)], vorbis_libraries="$withval", vorbis_libraries="")
|
||||
AC_ARG_WITH(vorbis-includes,[ --with-vorbis-includes=DIR Directory where libvorbis header files are installed (optional)], vorbis_includes="$withval", vorbis_includes="")
|
||||
AC_ARG_ENABLE(vorbistest, [ --disable-vorbistest Do not try to compile and run a test Vorbis program],, enable_vorbistest=yes)
|
||||
|
||||
if test "x$vorbis_libraries" != "x" ; then
|
||||
VORBIS_LIBS="-L$vorbis_libraries"
|
||||
elif test "x$vorbis_prefix" != "x" ; then
|
||||
VORBIS_LIBS="-L$vorbis_prefix/lib"
|
||||
elif test "x$prefix" != "xNONE"; then
|
||||
VORBIS_LIBS="-L$prefix/lib"
|
||||
fi
|
||||
|
||||
VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm"
|
||||
VORBISFILE_LIBS="-lvorbisfile"
|
||||
VORBISENC_LIBS="-lvorbisenc"
|
||||
|
||||
if test "x$vorbis_includes" != "x" ; then
|
||||
VORBIS_CFLAGS="-I$vorbis_includes"
|
||||
elif test "x$vorbis_prefix" != "x" ; then
|
||||
VORBIS_CFLAGS="-I$vorbis_prefix/include"
|
||||
elif test "x$prefix" != "xNONE"; then
|
||||
VORBIS_CFLAGS="-I$prefix/include"
|
||||
fi
|
||||
|
||||
|
||||
AC_MSG_CHECKING(for Vorbis)
|
||||
no_vorbis=""
|
||||
|
||||
|
||||
if test "x$enable_vorbistest" = "xyes" ; then
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $VORBIS_CFLAGS $OGG_CFLAGS"
|
||||
LIBS="$LIBS $VORBIS_LIBS $VORBISENC_LIBS $OGG_LIBS"
|
||||
dnl
|
||||
dnl Now check if the installed Vorbis is sufficiently new.
|
||||
dnl
|
||||
rm -f conf.vorbistest
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <vorbis/codec.h>
|
||||
#include <vorbis/vorbisenc.h>
|
||||
|
||||
int main ()
|
||||
{
|
||||
vorbis_block vb;
|
||||
vorbis_dsp_state vd;
|
||||
vorbis_info vi;
|
||||
|
||||
vorbis_info_init (&vi);
|
||||
vorbis_encode_init (&vi, 2, 44100, -1, 128000, -1);
|
||||
vorbis_analysis_init (&vd, &vi);
|
||||
vorbis_block_init (&vd, &vb);
|
||||
/* this function was added in 1.0rc3, so this is what we're testing for */
|
||||
vorbis_bitrate_addblock (&vb);
|
||||
|
||||
system("touch conf.vorbistest");
|
||||
return 0;
|
||||
}
|
||||
|
||||
],, no_vorbis=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
|
||||
if test "x$no_vorbis" = "x" ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$1], , :, [$1])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test -f conf.vorbistest ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run Vorbis test program, checking why..."
|
||||
CFLAGS="$CFLAGS $VORBIS_CFLAGS"
|
||||
LIBS="$LIBS $VORBIS_LIBS $OGG_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <vorbis/codec.h>
|
||||
], [ return 0; ],
|
||||
[ echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding Vorbis or finding the wrong"
|
||||
echo "*** version of Vorbis. If it is not finding Vorbis, you'll need to set your"
|
||||
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||
echo "*** to the installed location Also, make sure you have run ldconfig if that"
|
||||
echo "*** is required on your system"
|
||||
echo "***"
|
||||
echo "*** If you have an old version installed, it is best to remove it, although"
|
||||
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
|
||||
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means Vorbis was incorrectly installed"
|
||||
echo "*** or that you have moved Vorbis since it was installed." ])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
VORBIS_CFLAGS=""
|
||||
VORBIS_LIBS=""
|
||||
VORBISFILE_LIBS=""
|
||||
VORBISENC_LIBS=""
|
||||
ifelse([$2], , :, [$2])
|
||||
fi
|
||||
AC_SUBST(VORBIS_CFLAGS)
|
||||
AC_SUBST(VORBIS_LIBS)
|
||||
AC_SUBST(VORBISFILE_LIBS)
|
||||
AC_SUBST(VORBISENC_LIBS)
|
||||
rm -f conf.vorbistest
|
||||
])
|
Loading…
x
Reference in New Issue
Block a user