Commit 251ca87c authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Configure, create a m4cro for checking dependencies in pkg_config

--enable-foo will search for the foo.pc and die if not provided
--disable-foo will not search anything related to foo
'' will search for foo.pc and give a message if foo.pc is not provided.
parent ed5c79cf
...@@ -3501,47 +3501,7 @@ fi ...@@ -3501,47 +3501,7 @@ fi
dnl dnl
dnl Speex plugin dnl Speex plugin
dnl dnl
AC_ARG_ENABLE(speex, PKG_ENABLE_MODULES_VLC([SPEEX], [speex >= 1.0.5], [Speex decoder support], [auto])
[ --enable-speex Speex decoder support (default enabled)])
if test "${enable_speex}" != "no"
then
AC_ARG_WITH(speex-tree,
[ --with-speex-tree=PATH speex tree for static linking])
if test -n "${with_speex_tree}"
then
AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
if test -z "${real_speex_tree}"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
fi
if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
then
dnl Use a custom speex
AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
VLC_ADD_PLUGIN([speex])
VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
else
dnl The given speex wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
fi
else
AC_CHECK_HEADERS(speex/speex.h, [
LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
AC_CHECK_LIB(speex, speex_decode_int, [
VLC_ADD_PLUGIN([speex])
VLC_ADD_LIBS([speex],[-lspeex]) ],
[ AC_MSG_RESULT([no])
AC_MSG_WARN([Your libspeex is too old, please get the development
version.]) ],[])
LDFLAGS="${LDFLAGS_save}"
],[])
fi
fi
dnl dnl
dnl tarkin decoder plugin dnl tarkin decoder plugin
...@@ -3574,50 +3534,17 @@ fi ...@@ -3574,50 +3534,17 @@ fi
dnl dnl
dnl theora decoder plugin dnl theora decoder plugin
dnl dnl
AC_ARG_ENABLE(theora, PKG_ENABLE_MODULES_VLC([THEORA], [theora >= 1.0], [experimental theora codec], [auto])
[ --enable-theora experimental theora codec (default disabled)])
if test "${enable_theora}" = "yes"
then
AC_CHECK_HEADERS(theora/theora.h, [
AC_CHECK_LIB(theora, theora_granule_time, [
VLC_ADD_PLUGIN([theora])
theora_libs="-ltheora -logg"
VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
You also need to check that you have a libogg posterior to the 1.0 release.])],
[-logg])
])
fi
dnl dnl
dnl dirac decoder plugin dnl dirac encoder plugin
dnl dnl
AC_ARG_ENABLE(dirac, PKG_ENABLE_MODULES_VLC([DIRAC], [dirac >= 0.10.0], [dirac encoder], [auto], [], [ -lstdc++])
[ --enable-dirac experimental dirac codec (default disabled)])
if test "${enable_dirac}" = "yes"; then
PKG_CHECK_MODULES(DIRAC,[dirac >= 0.10.0], [
VLC_ADD_PLUGIN([dirac])
VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
AC_MSG_ERROR([libdirac >= 0.10.0 doesn't appear to be installed on your system.])
])
fi
dnl dnl
dnl schroedinger decoder plugin (for dirac format video) dnl schroedinger decoder plugin (for dirac format video)
dnl dnl
AC_ARG_ENABLE(schroedinger, PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
[ --disable-schroedinger high performance dirac codec (default enabled)])
if test "${enable_schroedinger}" != "no"; then
PKG_CHECK_MODULES(SCHROEDINGER,[schroedinger-1.0 >= 1.0.6], [
VLC_ADD_PLUGIN([schroedinger])
VLC_ADD_CFLAGS([schroedinger],[$SCHROEDINGER_CFLAGS])
VLC_ADD_LIBS([schroedinger],[$SCHROEDINGER_LIBS]) ], [
AS_IF([test "x${enable_schroedinger}" != "x"], [
AC_MSG_ERROR([${SCHROEDINGER_PKG_ERRORS}])
])
])
fi
dnl dnl
dnl PNG decoder module dnl PNG decoder module
......
dnl with_pkg.m4 - Macros to ease the usage of pkg-config. -*- Autoconf -*-
dnl
dnl Copyright © 2008 Luca Barbato <lu_zero@gentoo.org>,
dnl Diego Pettenò <flameeyes@gentoo.org>
dnl Jean-Baptiste Kempf
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
dnl
dnl As a special exception to the GNU General Public License, if you
dnl distribute this file as part of a program that contains a
dnl configuration script generated by Autoconf, you may include it under
dnl the same distribution terms that you use for the rest of that program.
dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
dnl [DESCRIPTION], [DEFAULT])
dnl
dnl Prepare a --with-variable-prefix triggered check for module,
dnl disable by default.
dnl
AC_DEFUN([PKG_WITH_MODULES],
[
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
m4_pushdef([with_arg], m4_tolower([$1]))
m4_pushdef([description],
[m4_default([$5], [build with ]with_arg[ support enabled])])
m4_pushdef([def_arg], [m4_default([$6], [auto])])
m4_pushdef([def_action_if_found], [AS_TR_SH([enable_]with_arg)=yes])
m4_pushdef([def_action_if_not_found], [AS_TR_SH([enable_]with_arg)=no])
m4_case(def_arg,
[yes],[m4_pushdef([with_without], [--disable-]with_arg)],
[m4_pushdef([with_without],[--enable-]with_arg)])
AC_ARG_ENABLE(with_arg,
AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
[AS_TR_SH([enable_]with_arg)=def_arg])
AS_CASE([$AS_TR_SH([enable_]with_arg)],
[yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
[auto],[PKG_CHECK_MODULES([$1],[$2],
[m4_n([def_action_if_found]) $3],
[m4_n([def_action_if_not_found]) $4])])
m4_popdef([with_arg])
m4_popdef([description])
m4_popdef([def_arg])
]) dnl PKG_WITH_MODULES
dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
dnl [DESCRIPTION], [DEFAULT])
dnl
AC_DEFUN([PKG_HAVE_WITH_MODULES],
[
PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
AM_CONDITIONAL([HAVE_][$1],
[test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
])
dnl PKG_ENABLE_MODULES_VLC(VARIABLE-PREFIX, MODULES,
dnl [DESCRIPTION], [DEFAULT],
dnl [EXTRA_CFLAGS], [EXTRA_LIBS])
AC_DEFUN([PKG_ENABLE_MODULES_VLC],
[
PKG_WITH_MODULES([$1],[$2],
VLC_ADD_PLUGIN(m4_tolower([$1]))
VLC_ADD_CFLAGS(m4_tolower([$1]),[$$1_CFLAGS] [$5] )
VLC_ADD_LIBS(m4_tolower([$1]),[$$1_LIBS] [$6]),
AS_IF([test x"$AS_TR_SH([enable_]m4_tolower([$1]))" = "xyes"],
[AC_MSG_ERROR(Library [$2] needed for [m4_tolower([$1]) was not found])],
[AC_MSG_WARN(Library [$2] needed for [m4_tolower([$1]) was not found])]
),
[$3],[$4])
AM_CONDITIONAL([HAVE_][$1],
[test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
])
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment