Update PUI to use ffi-curl
[sxemacs] / m4 / sxe-pkgconfig.m4
1 dnl pkgconfig.m4 --- pkgconfig helpers
2 dnl
3 dnl Copyright (C) 2008 Sebastian Freundt
4 dnl
5 dnl Author: Sebastian Freundt <hroptatyr@sxemacs.org>
6 dnl
7 dnl Redistribution and use in source and binary forms, with or without
8 dnl modification, are permitted provided that the following conditions
9 dnl are met:
10 dnl
11 dnl 1. Redistributions of source code must retain the above copyright
12 dnl    notice, this list of conditions and the following disclaimer.
13 dnl
14 dnl 2. Redistributions in binary form must reproduce the above copyright
15 dnl    notice, this list of conditions and the following disclaimer in the
16 dnl    documentation and/or other materials provided with the distribution.
17 dnl
18 dnl 3. Neither the name of the author nor the names of any contributors
19 dnl    may be used to endorse or promote products derived from this
20 dnl    software without specific prior written permission.
21 dnl
22 dnl THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
23 dnl IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
24 dnl WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 dnl DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 dnl FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 dnl CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 dnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
29 dnl BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
30 dnl WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
31 dnl OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
32 dnl IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 dnl
34 dnl This file is part of SXEmacs.
35 dnl
36 dnl
37 dnl Commentary:
38 dnl Be sure to use solely basic stuff that ships with autoconf.
39 dnl This file must sort of work stand-alone.
40
41
42 AC_DEFUN([SXE_CHECK_PKGCONFIG], [dnl
43         AC_CACHE_CHECK([for pkg-config], [sxe_cv_feat_pkgconfig], [
44                 AC_MSG_RESULT([answer deferred])
45                 AC_CHECK_PROG([have_pkg_config], [pkg-config], [yes], [no])
46                 AC_PATH_PROG([PKG_CONFIG], [pkg-config], [echo])
47                 if test "$have_pkg_config" = "yes" -a -n "$PKG_CONFIG"; then
48                         sxe_cv_feat_pkgconfig="yes"
49                 else
50                         AS_MESSAGE([
51 *** pkg-config not found.
52 *** See http://pkgconfig.sourceforge.net
53 *** Cannot check for various goodies, YOUR fault!])
54                         have_pkg_config="no"
55                         PKG_CONFIG="false"
56                         sxe_cv_feat_pkgconfig="no"
57                 fi
58                 AC_MSG_CHECKING([for pkg-config for real this time])
59                 ])
60 ])dnl SXE_CHECK_PKGCONFIG
61
62 AC_DEFUN([SXE_PC_CHECK_EXISTS], [dnl
63         ## arg1 is the module
64         ## defines sxe_cv_pc_<$1>_exists
65         pushdef([mod], [$1])
66         pushdef([shmod], translit([]mod[], [+-.], [___]))
67         pushdef([MOD], translit([]shmod[], [a-z], [A-Z]))
68         pushdef([existsvar], [sxe_cv_pc_]shmod[_exists])
69
70         AC_REQUIRE([SXE_CHECK_PKGCONFIG])
71         SXE_MSG_CHECKING([whether pkg-config for ]mod[ exists ])
72         if $PKG_CONFIG --exists []mod[]; then
73                 existsvar[]="yes"
74         else
75                 existsvar[]="no"
76         fi
77         SXE_MSG_RESULT([$]existsvar[])
78
79         popdef([existsvar])
80         popdef([shmod])
81         popdef([MOD])
82         popdef([mod])
83 ])dnl SXE_PC_CHECK_EXISTS
84
85 AC_DEFUN([SXE_PC_CHECK_VERSION_ATLEAST], [dnl
86         ## arg1 is the module
87         ## arg2 is the version we want to see
88         ## defines sxe_cv_pc_<$1>_version and
89         ## sxe_cv_pc_<$1>_recent_enough_p
90         pushdef([mod], [$1])
91         pushdef([ver], [$2])
92         pushdef([shmod], translit([]mod[], [+-.], [___]))
93         pushdef([MOD], translit([]shmod[], [a-z], [A-Z]))
94         pushdef([vervar], [sxe_cv_pc_]shmod[_version])
95         pushdef([verrecp], [sxe_cv_pc_]shmod[_recent_enough_p])
96
97         AC_REQUIRE([SXE_CHECK_PKGCONFIG])
98         SXE_MSG_CHECKING([whether ]mod[ is at least ]ver)
99         if $PKG_CONFIG --atleast-version []ver[] []mod[]; then
100                 verrecp[]="yes"
101         else
102                 verrecp[]="no"
103         fi
104         SXE_MSG_RESULT([$]verrecp[])
105
106         SXE_MSG_CHECKING([for ]mod['s actual version])
107         vervar[]=$($PKG_CONFIG --modversion []mod[])
108         []MOD[]_VERSION=[$]vervar[]
109         SXE_MSG_RESULT([$]vervar[])
110
111         AC_SUBST([]MOD[]_VERSION)
112
113         popdef([verrecp])
114         popdef([vervar])
115         popdef([shmod])
116         popdef([MOD])
117         popdef([mod])
118         popdef([ver])
119 ])dnl SXE_PC_CHECK_VERSION
120
121 AC_DEFUN([SXE_PC_CHECK_VERSION_ATMOST], [dnl
122         ## arg1 is the module
123         ## arg2 is the version we want to see
124         ## defines sxe_cv_pc_<$1>_version and
125         ## sxe_cv_pc_<$1>_recent_enough_p
126         pushdef([mod], [$1])
127         pushdef([ver], [$2])
128         pushdef([shmod], translit([]mod[], [+-.], [___]))
129         pushdef([MOD], translit([]shmod[], [a-z], [A-Z]))
130         pushdef([vervar], [sxe_cv_pc_]shmod[_version])
131         pushdef([veroldp], [sxe_cv_pc_]shmod[_old_enough_p])
132
133         AC_REQUIRE([SXE_CHECK_PKGCONFIG])
134         SXE_MSG_CHECKING([whether ]mod[ is at most ]ver)
135         if test "$PKG_CONFIG --max-version []ver[] []mod[]"; then
136                 veroldp[]="yes"
137         else
138                 veroldp[]="no"
139         fi
140         SXE_MSG_RESULT([$]veroldp[])
141
142         SXE_MSG_CHECKING([for ]mod['s actual version])
143         vervar[]=$($PKG_CONFIG --modversion []mod[])
144         []MOD[]_VERSION=[$]vervar[]
145         SXE_MSG_RESULT([$]vervar[])
146
147         AC_SUBST([]MOD[]_VERSION)
148
149         popdef([verrecp])
150         popdef([vervar])
151         popdef([shmod])
152         popdef([MOD])
153         popdef([mod])
154         popdef([ver])
155 ])dnl SXE_PC_CHECK_VERSION
156
157 AC_DEFUN([SXE_PC_CHECK_VERSION], [dnl
158         ## arg1 is the module
159         ## defines sxe_cv_pc_<$1>_version
160         pushdef([mod], [$1])
161         pushdef([shmod], translit([]mod[], [+-.], [___]))
162         pushdef([MOD], translit([]shmod[], [a-z], [A-Z]))
163         pushdef([vervar], [sxe_cv_pc_]shmod[_version])
164
165         AC_REQUIRE([SXE_CHECK_PKGCONFIG])
166         SXE_MSG_CHECKING([for ]mod[ version])
167         vervar[]=$($PKG_CONFIG --modversion []mod[])
168         []MOD[]_VERSION=[$]vervar[]
169         SXE_MSG_RESULT([$]vervar[])
170
171         AC_SUBST([]MOD[]_VERSION)
172
173         popdef([vervar])
174         popdef([shmod])
175         popdef([MOD])
176         popdef([mod])
177 ])dnl SXE_PC_CHECK_VERSION
178
179 AC_DEFUN([SXE_PC_CHECK_LIBS], [dnl
180         ## arg1 is the module
181         ## defines sxe_cv_pc_<$1>_libs
182         pushdef([mod], [$1])
183         pushdef([shmod], translit([]mod[], [+-.], [___]))
184         pushdef([MOD], translit([]shmod[], [a-z], [A-Z]))
185         pushdef([libvar], [sxe_cv_pc_]shmod[_libs])
186
187         AC_REQUIRE([SXE_CHECK_PKGCONFIG])
188         SXE_MSG_CHECKING([for ]mod[ libraries])
189         libvar[]=$($PKG_CONFIG --libs-only-l []mod[])
190         []MOD[]_LIBS=[$]libvar[]
191         SXE_MSG_RESULT([$]libvar[])
192
193         AC_SUBST([]MOD[]_LIBS)
194
195         popdef([libvar])
196         popdef([shmod])
197         popdef([MOD])
198         popdef([mod])
199 ])dnl SXE_PC_CHECK_VERSION
200
201 AC_DEFUN([SXE_PC_CHECK_LDFLAGS], [dnl
202         ## arg1 is the module
203         ## defines sxe_cv_pc_<$1>_ldflags
204         pushdef([mod], [$1])
205         pushdef([shmod], translit([]mod[], [+-.], [___]))
206         pushdef([MOD], translit([]shmod[], [a-z], [A-Z]))
207         pushdef([ldfvar], [sxe_cv_pc_]shmod[_ldflags])
208
209         AC_REQUIRE([SXE_CHECK_PKGCONFIG])
210         SXE_MSG_CHECKING([for ]mod[ ldflags])
211         ldfvar[]=$($PKG_CONFIG --libs-only-L []mod[])
212         []MOD[]_LDFLAGS=[$]ldfvar[]
213         SXE_MSG_RESULT([$]ldfvar[])
214
215         AC_SUBST([]MOD[]_LDFLAGS)
216
217         popdef([ldfvar])
218         popdef([shmod])
219         popdef([MOD])
220         popdef([mod])
221 ])dnl SXE_PC_CHECK_VERSION
222
223 AC_DEFUN([SXE_PC_CHECK_CPPFLAGS], [dnl
224         ## arg1 is the module
225         ## defines sxe_cv_pc_<$1>_cppflags
226         pushdef([mod], [$1])
227         pushdef([shmod], translit([]mod[], [+-.], [___]))
228         pushdef([MOD], translit([]shmod[], [a-z], [A-Z]))
229         pushdef([cfvar], [sxe_cv_pc_]shmod[_cppflags])
230
231         AC_REQUIRE([SXE_CHECK_PKGCONFIG])
232         SXE_MSG_CHECKING([for ]mod[ cppflags])
233         cfvar[]=$($PKG_CONFIG --cflags []mod[])
234         []MOD[]_CPPFLAGS=[$]cfvar[]
235         SXE_MSG_RESULT([$]cfvar[])
236
237         AC_SUBST([]MOD[]_CPPFLAGS)
238
239         popdef([cfvar])
240         popdef([shmod])
241         popdef([MOD])
242         popdef([mod])
243 ])dnl SXE_PC_CHECK_VERSION
244
245
246 dnl sxe-pkgconfig.m4 ends here