Skip to content
Snippets Groups Projects
Commit 6e2dd16f authored by Gregory Maxwell's avatar Gregory Maxwell
Browse files

Add an m4 macro set for pkgconfig less usage with autotools.

parent 865124f7
No related branches found
No related tags found
No related merge requests found
......@@ -85,6 +85,7 @@ endif
EXTRA_DIST = version.mk \
opus.pc.in \
opus-uninstalled.pc.in \
opus.m4 \
tests/run_vectors.sh \
opus.sln \
celt/celt.vcxproj \
......@@ -111,6 +112,8 @@ EXTRA_DIST = version.mk \
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = opus.pc
m4datadir = $(datadir)/aclocal
m4data_DATA = opus.m4
# Targets to build and install just the library without the docs
opus check-opus install-opus: export NO_DOXYGEN = 1
......
opus.m4 0 → 100644
# Configure paths for libopus
# Gregory Maxwell <greg@xiph.org> 08-30-2012
# Shamelessly stolen from Jack Moffitt (libogg) who
# Shamelessly stole from Owen Taylor and Manish Singh
dnl XIPH_PATH_OPUS([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
dnl Test for libopus, and define OPUS_CFLAGS and OPUS_LIBS
dnl
AC_DEFUN([XIPH_PATH_OPUS],
[dnl
dnl Get the cflags and libraries
dnl
AC_ARG_WITH(opus,AC_HELP_STRING([--with-opus=PFX],[Prefix where opus is installed (optional)]), opus_prefix="$withval", opus_prefix="")
AC_ARG_WITH(opus-libraries,AC_HELP_STRING([--with-opus-libraries=DIR],[Directory where the opus library is installed (optional)]), opus_libraries="$withval", opus_libraries="")
AC_ARG_WITH(opus-includes,AC_HELP_STRING([--with-opus-includes=DIR],[Directory where the opus header files are installed (optional)]), opus_includes="$withval", opus_includes="")
AC_ARG_ENABLE(opustest,AC_HELP_STRING([--disable-opustest],[Do not try to compile and run a test opus program]),, enable_opustest=yes)
if test "x$opus_libraries" != "x" ; then
OPUS_LIBS="-L$opus_libraries"
elif test "x$opus_prefix" = "xno" || test "x$opus_prefix" = "xyes" ; then
OPUS_LIBS=""
elif test "x$opus_prefix" != "x" ; then
OPUS_LIBS="-L$opus_prefix/lib"
elif test "x$prefix" != "xNONE" ; then
OPUS_LIBS="-L$prefix/lib"
fi
if test "x$opus_prefix" != "xno" ; then
OPUS_LIBS="$OPUS_LIBS -lopus"
fi
if test "x$opus_includes" != "x" ; then
OPUS_CFLAGS="-I$opus_includes"
elif test "x$opus_prefix" = "xno" || test "x$opus_prefix" = "xyes" ; then
OPUS_CFLAGS=""
elif test "x$opus_prefix" != "x" ; then
OPUS_CFLAGS="-I$opus_prefix/include"
elif test "x$prefix" != "xNONE"; then
OPUS_CFLAGS="-I$prefix/include"
fi
AC_MSG_CHECKING(for Opus)
if test "x$opus_prefix" = "xno" ; then
no_opus="disabled"
enable_opustest="no"
else
no_opus=""
fi
if test "x$enable_opustest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $OPUS_CFLAGS"
LIBS="$LIBS $OPUS_LIBS"
dnl
dnl Now check if the installed Opus is sufficiently new.
dnl
rm -f conf.opustest
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <opus.h>
int main ()
{
system("touch conf.opustest");
return 0;
}
],, no_opus=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
if test "x$no_opus" = "xdisabled" ; then
AC_MSG_RESULT(no)
ifelse([$2], , :, [$2])
elif test "x$no_opus" = "x" ; then
AC_MSG_RESULT(yes)
ifelse([$1], , :, [$1])
else
AC_MSG_RESULT(no)
if test -f conf.opustest ; then
:
else
echo "*** Could not run Opus test program, checking why..."
CFLAGS="$CFLAGS $OPUS_CFLAGS"
LIBS="$LIBS $OPUS_LIBS"
AC_TRY_LINK([
#include <stdio.h>
#include <opus.h>
], [ return 0; ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding Opus or finding the wrong"
echo "*** version of Opus. If it is not finding Opus, 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 Opus was incorrectly installed"
echo "*** or that you have moved Opus since it was installed." ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
OPUS_CFLAGS=""
OPUS_LIBS=""
ifelse([$2], , :, [$2])
fi
AC_SUBST(OPUS_CFLAGS)
AC_SUBST(OPUS_LIBS)
rm -f conf.opustest
])
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment