[Kimchi-devel] [PATCH] Add m4/pkg.m4 to source code
Aline Manera
alinefm at linux.vnet.ibm.com
Tue Aug 18 19:53:11 UTC 2015
On 18/08/2015 15:48, Aline Manera wrote:
>
>
> On 18/08/2015 15:34, Ramon Medeiros wrote:
>> what about create an entry at .gitignore as this file are
>> automatically created by make?
>
> I have thought about it in a first moment but I decided to add it to
> the source as we did the same for all the others .m4 files.
> And adding it to the source we make sure the build will have fewer
> interferences from outside as the file will be the same used across
> builds.
>
I was checking the other .m4 files closely and I identified those are
not auto-generated unless aclocal.m4 which is listed in the .gitignore. =)
So please, ignore this patch and I will send other one to add m4/pkg.m4
to .gitignore
>>
>> On 08/18/2015 03:32 PM, Aline Manera wrote:
>>> Commit aaa60fae added PKG_CONFIG as dependency. So the autoconf need
>>> the
>>> m4/pkg.m4 file in order to properly do the build.
>>>
>>> Signed-off-by: Aline Manera <alinefm at linux.vnet.ibm.com>
>>> ---
>>> m4/pkg.m4 | 214
>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>> 1 file changed, 214 insertions(+)
>>> create mode 100644 m4/pkg.m4
>>>
>>> diff --git a/m4/pkg.m4 b/m4/pkg.m4
>>> new file mode 100644
>>> index 0000000..c5b26b5
>>> --- /dev/null
>>> +++ b/m4/pkg.m4
>>> @@ -0,0 +1,214 @@
>>> +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
>>> +# serial 1 (pkg-config-0.24)
>>> +#
>>> +# Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
>>> +#
>>> +# This program is free software; you can redistribute it and/or modify
>>> +# it under the terms of the GNU General Public License as published by
>>> +# the Free Software Foundation; either version 2 of the License, or
>>> +# (at your option) any later version.
>>> +#
>>> +# This program is distributed in the hope that it will be useful, but
>>> +# WITHOUT ANY WARRANTY; without even the implied warranty of
>>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>>> +# General Public License for more details.
>>> +#
>>> +# You should have received a copy of the GNU General Public License
>>> +# along with this program; if not, write to the Free Software
>>> +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
>>> 02111-1307, USA.
>>> +#
>>> +# As a special exception to the GNU General Public License, if you
>>> +# distribute this file as part of a program that contains a
>>> +# configuration script generated by Autoconf, you may include it under
>>> +# the same distribution terms that you use for the rest of that
>>> program.
>>> +
>>> +# PKG_PROG_PKG_CONFIG([MIN-VERSION])
>>> +# ----------------------------------
>>> +AC_DEFUN([PKG_PROG_PKG_CONFIG],
>>> +[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
>>> +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
>>>
>>> +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
>>>
>>> +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
>>> +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's
>>> search path])
>>> +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's
>>> built-in search path])
>>> +
>>> +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
>>> + AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
>>> +fi
>>> +if test -n "$PKG_CONFIG"; then
>>> + _pkg_min_version=m4_default([$1], [0.9.0])
>>> + AC_MSG_CHECKING([pkg-config is at least version
>>> $_pkg_min_version])
>>> + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
>>> + AC_MSG_RESULT([yes])
>>> + else
>>> + AC_MSG_RESULT([no])
>>> + PKG_CONFIG=""
>>> + fi
>>> +fi[]dnl
>>> +])# PKG_PROG_PKG_CONFIG
>>> +
>>> +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
>>> +#
>>> +# Check to see whether a particular set of modules exists. Similar
>>> +# to PKG_CHECK_MODULES(), but does not set variables or print errors.
>>> +#
>>> +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
>>> +# only at the first occurence in configure.ac, so if the first place
>>> +# it's called might be skipped (such as if it is within an "if", you
>>> +# have to call PKG_CHECK_EXISTS manually
>>> +# --------------------------------------------------------------
>>> +AC_DEFUN([PKG_CHECK_EXISTS],
>>> +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
>>> +if test -n "$PKG_CONFIG" && \
>>> + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
>>> + m4_default([$2], [:])
>>> +m4_ifvaln([$3], [else
>>> + $3])dnl
>>> +fi])
>>> +
>>> +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
>>> +# ---------------------------------------------
>>> +m4_define([_PKG_CONFIG],
>>> +[if test -n "$$1"; then
>>> + pkg_cv_[]$1="$$1"
>>> + elif test -n "$PKG_CONFIG"; then
>>> + PKG_CHECK_EXISTS([$3],
>>> + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3"
>>> 2>/dev/null`
>>> + test "x$?" != "x0" && pkg_failed=yes ],
>>> + [pkg_failed=yes])
>>> + else
>>> + pkg_failed=untried
>>> +fi[]dnl
>>> +])# _PKG_CONFIG
>>> +
>>> +# _PKG_SHORT_ERRORS_SUPPORTED
>>> +# -----------------------------
>>> +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
>>> +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
>>> +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
>>> + _pkg_short_errors_supported=yes
>>> +else
>>> + _pkg_short_errors_supported=no
>>> +fi[]dnl
>>> +])# _PKG_SHORT_ERRORS_SUPPORTED
>>> +
>>> +
>>> +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
>>> +# [ACTION-IF-NOT-FOUND])
>>> +#
>>> +#
>>> +# Note that if there is a possibility the first call to
>>> +# PKG_CHECK_MODULES might not happen, you should be sure to include an
>>> +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
>>> +#
>>> +#
>>> +# --------------------------------------------------------------
>>> +AC_DEFUN([PKG_CHECK_MODULES],
>>> +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
>>> +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding
>>> pkg-config])dnl
>>> +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding
>>> pkg-config])dnl
>>> +
>>> +pkg_failed=no
>>> +AC_MSG_CHECKING([for $1])
>>> +
>>> +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
>>> +_PKG_CONFIG([$1][_LIBS], [libs], [$2])
>>> +
>>> +m4_define([_PKG_TEXT], [Alternatively, you may set the environment
>>> variables $1[]_CFLAGS
>>> +and $1[]_LIBS to avoid the need to call pkg-config.
>>> +See the pkg-config man page for more details.])
>>> +
>>> +if test $pkg_failed = yes; then
>>> + AC_MSG_RESULT([no])
>>> + _PKG_SHORT_ERRORS_SUPPORTED
>>> + if test $_pkg_short_errors_supported = yes; then
>>> + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors
>>> --print-errors --cflags --libs "$2" 2>&1`
>>> + else
>>> + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags
>>> --libs "$2" 2>&1`
>>> + fi
>>> + # Put the nasty error message in config.log where it belongs
>>> + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
>>> +
>>> + m4_default([$4], [AC_MSG_ERROR(
>>> +[Package requirements ($2) were not met:
>>> +
>>> +$$1_PKG_ERRORS
>>> +
>>> +Consider adjusting the PKG_CONFIG_PATH environment variable if you
>>> +installed software in a non-standard prefix.
>>> +
>>> +_PKG_TEXT])[]dnl
>>> + ])
>>> +elif test $pkg_failed = untried; then
>>> + AC_MSG_RESULT([no])
>>> + m4_default([$4], [AC_MSG_FAILURE(
>>> +[The pkg-config script could not be found or is too old. Make sure it
>>> +is in your PATH or set the PKG_CONFIG environment variable to the full
>>> +path to pkg-config.
>>> +
>>> +_PKG_TEXT
>>> +
>>> +To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
>>> + ])
>>> +else
>>> + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
>>> + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
>>> + AC_MSG_RESULT([yes])
>>> + $3
>>> +fi[]dnl
>>> +])# PKG_CHECK_MODULES
>>> +
>>> +
>>> +# PKG_INSTALLDIR(DIRECTORY)
>>> +# -------------------------
>>> +# Substitutes the variable pkgconfigdir as the location where a module
>>> +# should install pkg-config .pc files. By default the directory is
>>> +# $libdir/pkgconfig, but the default can be changed by passing
>>> +# DIRECTORY. The user can override through the --with-pkgconfigdir
>>> +# parameter.
>>> +AC_DEFUN([PKG_INSTALLDIR],
>>> +[m4_pushdef([pkg_default], [m4_default([$1],
>>> ['${libdir}/pkgconfig'])])
>>> +m4_pushdef([pkg_description],
>>> + [pkg-config installation directory @<:@]pkg_default[@:>@])
>>> +AC_ARG_WITH([pkgconfigdir],
>>> + [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
>>> + [with_pkgconfigdir=]pkg_default)
>>> +AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
>>> +m4_popdef([pkg_default])
>>> +m4_popdef([pkg_description])
>>> +]) dnl PKG_INSTALLDIR
>>> +
>>> +
>>> +# PKG_NOARCH_INSTALLDIR(DIRECTORY)
>>> +# -------------------------
>>> +# Substitutes the variable noarch_pkgconfigdir as the location where a
>>> +# module should install arch-independent pkg-config .pc files. By
>>> +# default the directory is $datadir/pkgconfig, but the default can be
>>> +# changed by passing DIRECTORY. The user can override through the
>>> +# --with-noarch-pkgconfigdir parameter.
>>> +AC_DEFUN([PKG_NOARCH_INSTALLDIR],
>>> +[m4_pushdef([pkg_default], [m4_default([$1],
>>> ['${datadir}/pkgconfig'])])
>>> +m4_pushdef([pkg_description],
>>> + [pkg-config arch-independent installation directory
>>> @<:@]pkg_default[@:>@])
>>> +AC_ARG_WITH([noarch-pkgconfigdir],
>>> + [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
>>> + [with_noarch_pkgconfigdir=]pkg_default)
>>> +AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
>>> +m4_popdef([pkg_default])
>>> +m4_popdef([pkg_description])
>>> +]) dnl PKG_NOARCH_INSTALLDIR
>>> +
>>> +
>>> +# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
>>> +# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
>>> +# -------------------------------------------
>>> +# Retrieves the value of the pkg-config variable for the given module.
>>> +AC_DEFUN([PKG_CHECK_VAR],
>>> +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
>>> +AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
>>> +
>>> +_PKG_CONFIG([$1], [variable="][$3]["], [$2])
>>> +AS_VAR_COPY([$1], [pkg_cv_][$1])
>>> +
>>> +AS_VAR_IF([$1], [""], [$5], [$4])dnl
>>> +])# PKG_CHECK_VAR
>>
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
More information about the Kimchi-devel
mailing list