test-privserver-client: wait for server to die between iterations
[platform/upstream/dbus.git] / acinclude.m4
1 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
2 #
3 # Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 # General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 #
19 # As a special exception to the GNU General Public License, if you
20 # distribute this file as part of a program that contains a
21 # configuration script generated by Autoconf, you may include it under
22 # the same distribution terms that you use for the rest of that program.
23
24 # PKG_PROG_PKG_CONFIG([MIN-VERSION])
25 # ----------------------------------
26 AC_DEFUN([PKG_PROG_PKG_CONFIG],
27 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
28 m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
29 AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
30 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
31         AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
32 fi
33 if test -n "$PKG_CONFIG"; then
34         _pkg_min_version=m4_default([$1], [0.9.0])
35         AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
36         if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
37                 AC_MSG_RESULT([yes])
38         else
39                 AC_MSG_RESULT([no])
40                 PKG_CONFIG=""
41         fi
42
43 fi[]dnl
44 ])# PKG_PROG_PKG_CONFIG
45
46 # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
47 #
48 # Check to see whether a particular set of modules exists.  Similar
49 # to PKG_CHECK_MODULES(), but does not set variables or print errors.
50 #
51 #
52 # Similar to PKG_CHECK_MODULES, make sure that the first instance of
53 # this or PKG_CHECK_MODULES is called, or make sure to call
54 # PKG_CHECK_EXISTS manually
55 # --------------------------------------------------------------
56 AC_DEFUN([PKG_CHECK_EXISTS],
57 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
58 if test -n "$PKG_CONFIG" && \
59     AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
60   m4_ifval([$2], [$2], [:])
61 m4_ifvaln([$3], [else
62   $3])dnl
63 fi])
64
65
66 # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
67 # ---------------------------------------------
68 m4_define([_PKG_CONFIG],
69 [if test -n "$$1"; then
70     pkg_cv_[]$1="$$1"
71  elif test -n "$PKG_CONFIG"; then
72     PKG_CHECK_EXISTS([$3],
73                      [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
74                      [pkg_failed=yes])
75  else
76     pkg_failed=untried
77 fi[]dnl
78 ])# _PKG_CONFIG
79
80 # _PKG_SHORT_ERRORS_SUPPORTED
81 # -----------------------------
82 AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
83 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])
84 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
85         _pkg_short_errors_supported=yes
86 else
87         _pkg_short_errors_supported=no
88 fi[]dnl
89 ])# _PKG_SHORT_ERRORS_SUPPORTED
90
91
92 # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
93 # [ACTION-IF-NOT-FOUND])
94 #
95 #
96 # Note that if there is a possibility the first call to
97 # PKG_CHECK_MODULES might not happen, you should be sure to include an
98 # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
99 #
100 #
101 # --------------------------------------------------------------
102 AC_DEFUN([PKG_CHECK_MODULES],
103 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
104 AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
105 AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
106
107 pkg_failed=no
108 AC_MSG_CHECKING([for $1])
109
110 _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
111 _PKG_CONFIG([$1][_LIBS], [libs], [$2])
112
113 m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
114 and $1[]_LIBS to avoid the need to call pkg-config.
115 See the pkg-config man page for more details.])
116
117 if test $pkg_failed = yes; then
118         _PKG_SHORT_ERRORS_SUPPORTED
119         if test $_pkg_short_errors_supported = yes; then
120                 $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
121         else
122                 $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
123         fi
124         # Put the nasty error message in config.log where it belongs
125         echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
126
127         ifelse([$4], , [AC_MSG_ERROR(dnl
128 [Package requirements ($2) were not met:
129
130 $$1_PKG_ERRORS
131
132 Consider adjusting the PKG_CONFIG_PATH environment variable if you
133 installed software in a non-standard prefix.
134
135 _PKG_TEXT
136 ])],
137                 [AC_MSG_RESULT([no])
138                 $4])
139 elif test $pkg_failed = untried; then
140         ifelse([$4], , [AC_MSG_FAILURE(dnl
141 [The pkg-config script could not be found or is too old.  Make sure it
142 is in your PATH or set the PKG_CONFIG environment variable to the full
143 path to pkg-config.
144
145 _PKG_TEXT
146
147 To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
148                 [$4])
149 else
150         $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
151         $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
152         AC_MSG_RESULT([yes])
153         ifelse([$3], , :, [$3])
154 fi[]dnl
155 ])# PKG_CHECK_MODULES
156
157
158
159 dnl a macro to check for ability to create python extensions
160 dnl  AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
161 dnl function also defines PYTHON_INCLUDES
162 AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
163 [AC_REQUIRE([AM_PATH_PYTHON])
164 AC_MSG_CHECKING(for headers required to compile python extensions)
165 dnl deduce PYTHON_INCLUDES
166 py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
167 py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
168 PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
169 if test "$py_prefix" != "$py_exec_prefix"; then
170   PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
171 fi
172 AC_SUBST(PYTHON_INCLUDES)
173 dnl check if the headers exist:
174 save_CPPFLAGS="$CPPFLAGS"
175 CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
176 AC_TRY_CPP([#include <Python.h>],dnl
177 [AC_MSG_RESULT(found)
178 $1],dnl
179 [AC_MSG_RESULT(not found)
180 $2])
181 CPPFLAGS="$save_CPPFLAGS"
182 ])
183
184
185 dnl as-ac-expand.m4 0.2.0                                   -*- autoconf -*-
186 dnl autostars m4 macro for expanding directories using configure's prefix
187
188 dnl (C) 2003, 2004, 2005 Thomas Vander Stichele <thomas at apestaart dot org>
189
190 dnl Copying and distribution of this file, with or without modification,
191 dnl are permitted in any medium without royalty provided the copyright
192 dnl notice and this notice are preserved.
193
194 dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR)
195
196 dnl example:
197 dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
198 dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local
199
200 AC_DEFUN([AS_AC_EXPAND],
201 [
202   EXP_VAR=[$1]
203   FROM_VAR=[$2]
204
205   dnl first expand prefix and exec_prefix if necessary
206   prefix_save=$prefix
207   exec_prefix_save=$exec_prefix
208
209   dnl if no prefix given, then use /usr/local, the default prefix
210   if test "x$prefix" = "xNONE"; then
211     prefix="$ac_default_prefix"
212   fi
213   dnl if no exec_prefix given, then use prefix
214   if test "x$exec_prefix" = "xNONE"; then
215     exec_prefix=$prefix
216   fi
217
218   full_var="$FROM_VAR"
219   dnl loop until it doesn't change anymore
220   while true; do
221     new_full_var="`eval echo $full_var`"
222     if test "x$new_full_var" = "x$full_var"; then break; fi
223     full_var=$new_full_var
224   done
225
226   dnl clean up
227   full_var=$new_full_var
228   AC_SUBST([$1], "$full_var")
229
230   dnl restore prefix and exec_prefix
231   prefix=$prefix_save
232   exec_prefix=$exec_prefix_save
233 ])