X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=m4%2Fwith_pkg.m4;fp=m4%2Fwith_pkg.m4;h=23a7525404dfade2a4b73a491b9f51a2765329d8;hb=251ca87c73952a9731b3822b0e73ead755dd4777;hp=0000000000000000000000000000000000000000;hpb=ed5c79cf0d27a142677d04f6effbb81b333e7b46;p=vlc diff --git a/m4/with_pkg.m4 b/m4/with_pkg.m4 new file mode 100644 index 0000000000..23a7525404 --- /dev/null +++ b/m4/with_pkg.m4 @@ -0,0 +1,98 @@ +dnl with_pkg.m4 - Macros to ease the usage of pkg-config. -*- Autoconf -*- +dnl +dnl Copyright © 2008 Luca Barbato , +dnl Diego Pettenò +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"]) + +]) +