mirror of
https://github.com/videolan/vlc.git
synced 2024-12-14 04:04:45 +08:00
46ef2de1ce
First, this cannot work properly as the invocation of AM_CONDITIONAL must be inconditional. Second, this would introduce pointless automake conditional and thus needlessly slowing down the build system.
104 lines
3.8 KiB
Plaintext
104 lines
3.8 KiB
Plaintext
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,
|
|
dnl VLC_MODULE_NAME dnl (if empty, same as VARIABLE-PREFIX)
|
|
dnl PKG MODULES,
|
|
dnl [DESCRIPTION], [DEFAULT],
|
|
dnl [EXTRA_CFLAGS], [EXTRA_LIBS], [EXTRA_CPPFLAGS]
|
|
AC_DEFUN([PKG_ENABLE_MODULES_VLC],
|
|
[
|
|
m4_pushdef([module_name], AS_TR_SH(m4_default(m4_tolower([$2]),m4_tolower([$1]))))
|
|
m4_pushdef([enable_arg], m4_tolower([$1]))
|
|
|
|
PKG_WITH_MODULES([$1],[$3],
|
|
VLC_ADD_PLUGIN(module_name)
|
|
m4_ifval( m4_normalize([$8]), VLC_ADD_CPPFLAGS(module_name, [$8]))
|
|
VLC_ADD_CFLAGS(module_name,[$$1_CFLAGS] [$6])
|
|
VLC_ADD_LIBS(module_name,[$$1_LIBS] [$7]),
|
|
AS_IF([test x"$AS_TR_SH([enable_]enable_arg)" = "xyes"],
|
|
[AC_MSG_ERROR(Library [$3] needed for [m4_tolower([$1])] was not found)],
|
|
[AC_MSG_WARN(Library [$3] needed for [m4_tolower([$1])] was not found)]
|
|
),
|
|
[$4],[$5])
|
|
|
|
m4_popdef([module_name])
|
|
m4_popdef([enable_arg])
|
|
|
|
])
|
|
|