comparison acinclude.m4 @ 2718:37f75d10f46a

And more updates to acinclude.m4.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 17 Jun 2008 20:08:47 +0300
parents 1b4fcab95915
children dd8b44fbfd6f
comparison
equal deleted inserted replaced
2717:1b4fcab95915 2718:37f75d10f46a
1 1
2 dnl ** ADD_PKG_REQUIRES([requirement]) 2 dnl ** ADD_PKG_REQUIRES([requirement])
3 dnl ** Adds a dependency to package's pkg-config file.
3 AC_DEFUN([ADD_PC_REQUIRES], [ 4 AC_DEFUN([ADD_PC_REQUIRES], [
4 if test "x$PC_REQUIRES" = "x"; then 5 if test "x$PC_REQUIRES" = "x"; then
5 PC_REQUIRES="$1" 6 PC_REQUIRES="$1"
6 else 7 else
7 PC_REQUIRES="$PC_REQUIRES, $1" 8 PC_REQUIRES="$PC_REQUIRES, $1"
8 fi 9 fi
9 AC_SUBST([PC_REQUIRES]) 10 AC_SUBST([PC_REQUIRES])
10 ]) 11 ])
11 12
12 13
13 dnl ** Like PKG_CHECK_MODULES, but provides an informative error message.
14 dnl ** AUD_CHECK_MODULE([define name], [module], [version required], 14 dnl ** AUD_CHECK_MODULE([define name], [module], [version required],
15 dnl ** [informational name], [additional error message]) 15 dnl ** [informational name], [additional error message])
16 dnl **
17 dnl ** Works like PKG_CHECK_MODULES, but provides an informative
18 dnl ** error message if the package is not found. NOTICE! Unlike
19 dnl ** PKG_C_M, this macro ONLY supports one module name!
16 dnl ** 20 dnl **
17 dnl ** AUD_CHECK_MODULE([GLIB], [gtk+-2.0], [>= 2.10.0], [Gtk+2], [See http://www.gtk.org/]) 21 dnl ** AUD_CHECK_MODULE([GLIB], [gtk+-2.0], [>= 2.10.0], [Gtk+2], [See http://www.gtk.org/])
18 AC_DEFUN([AUD_CHECK_MODULE], [ 22 AC_DEFUN([AUD_CHECK_MODULE], [
19 PKG_CHECK_MODULES([$1], [$2 $3], [ 23 PKG_CHECK_MODULES([$1], [$2 $3], [
20 ADD_PC_REQUIRES([$2 $3]) 24 ADD_PC_REQUIRES([$2 $3])
32 ]) 36 ])
33 ]) 37 ])
34 ]) 38 ])
35 39
36 40
37 dnl ** Simplifying wrapper 41 dnl ** AUD_CONDITIONAL([symbol], [variable to test][, value])
42 dnl ** Simplifying wrapper for AM_CONDITIONAL.
43 dnl **
44 dnl ** AUD_CONDITIONAL([FOO], [foo])
38 AC_DEFUN([AUD_CONDITIONAL], 45 AC_DEFUN([AUD_CONDITIONAL],
39 [if test "x${$2}" = m4_ifval([$3], ["x$3"],["xyes"]) ; then 46 [if test "x${$2}" = m4_ifval([$3], ["x$3"],["xyes"]) ; then
40 $1="yes" 47 $1="yes"
41 else 48 else
42 $1="no" 49 $1="no"
46 53
47 54
48 dnl ** Simple wrapper for AC_ARG_ENABLE 55 dnl ** Simple wrapper for AC_ARG_ENABLE
49 dnl ** AUD_ARG_ENABLE([name], [default value], [help string], [if enabled], [if disabled]) 56 dnl ** AUD_ARG_ENABLE([name], [default value], [help string], [if enabled], [if disabled])
50 AC_DEFUN([AUD_ARG_ENABLE], [dnl 57 AC_DEFUN([AUD_ARG_ENABLE], [dnl
51 define([Name], [translit([$1], [./-], [___])])dnl 58 define([Name], [translit([$1], [./-], [___])])dnl
52 define([cBasce], [ifelse([$2],[yes],[Disable],[Enable]) $3 (def: ifelse([$2],[yes],[enabled],[disabled]))])dnl 59 define([cBasce], [ifelse([$2],[yes],[Disable],[Enable]) $3 (def: ifelse([$2],[yes],[enabled],[disabled]))])dnl
53 AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$2],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_[]Name=$2]) 60 AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$2],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_[]Name=$2])
54 if test "x${enable_[]Name}" = "xyes"; then 61 if test "x${enable_[]Name}" = "xyes"; then
55 m4_ifvaln([$4], [$4], [:])dnl 62 m4_ifvaln([$4], [$4], [:])dnl
56 m4_ifvaln([$5], [else $5])dnl 63 m4_ifvaln([$5], [else $5])dnl
57 fi 64 fi
58 ]) 65 ])
59 66
60 67
61 AC_DEFUN([AUD_ARG_SIMPLE], [dnl 68 AC_DEFUN([AUD_ARG_SIMPLE], [dnl
62 define([Name], [translit([$1], [./-], [___])])dnl 69 define([Name], [translit([$1], [./-], [___])])dnl
63 define([cBasce], [ifelse([$2],[yes],[Disable],[Enable]) $3 (def: ifelse([$2],[yes],[enabled],[disabled]))])dnl 70 define([cBasce], [ifelse([$2],[yes],[Disable],[Enable]) $3 (def: ifelse([$2],[yes],[enabled],[disabled]))])dnl
64 AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$2],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_[]Name=$2]) 71 AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$2],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_[]Name=$2])
65 if test "x${enable_[]Name}" = "xyes"; then 72 if test "x${enable_[]Name}" = "xyes"; then
66 AC_DEFINE([$4], [$5], [$6]) 73 AC_DEFINE([$4], [$5], [$6])
67 fi 74 fi
68 AUD_CONDITIONAL([$4], [enable_$1]) 75 AUD_CONDITIONAL([$4], [enable_$1])
134 define([aud_get_plugin_dirs_defined],[1])dnl 141 define([aud_get_plugin_dirs_defined],[1])dnl
135 ])dnl 142 ])dnl
136 143
137 144
138 145
139 dnl *** 146 dnl **
140 dnl *** Common checks 147 dnl ** Common checks
141 dnl *** 148 dnl **
142 AC_DEFUN([AUD_COMMON_PROGS], [ 149 AC_DEFUN([AUD_COMMON_PROGS], [
143 150
144 dnl Check for C and C++ compilers 151 dnl Check for C and C++ compilers
145 dnl ============================= 152 dnl =============================
146 AUD_CHECK_GNU_MAKE 153 AUD_CHECK_GNU_MAKE
230 ]) 237 ])
231 238
232 ]) 239 ])
233 240
234 241
235 dnl Plugin helper macros 242 dnl **
236 dnl ==================== 243 dnl ** Plugin helper macros
244 dnl **
245
246 dnl ** Unconditionally add a plugin to "build these" list
237 AC_DEFUN([AUD_PLUGIN_ADD], [dnl 247 AC_DEFUN([AUD_PLUGIN_ADD], [dnl
238 define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl 248 define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl
239 have_[]Name="yes"; res_short_[]Name="$1" 249 have_[]Name="yes"; res_short_[]Name="$1"
240 res_desc_[]Name="$3"; ifdef([aud_def_plugin_$2], [$2[]_PLUGINS="${$2[]_PLUGINS} $1"], [$2[]_PLUGINS="$1"])dnl 250 res_desc_[]Name="$3"; ifdef([aud_def_plugin_$2], [$2[]_PLUGINS="${$2[]_PLUGINS} $1"], [$2[]_PLUGINS="$1"])dnl
241 define([aud_def_plugin_$2],[1])dnl 251 define([aud_def_plugin_$2],[1])dnl
242 ]) 252 ])
243 253
254
255 dnl ** Generic template for macros below
244 AC_DEFUN([AUD_PLUGIN_CHK], [dnl 256 AC_DEFUN([AUD_PLUGIN_CHK], [dnl
245 define([cBasce], [$5 (def: ifelse([$2],[yes],[enabled],[disabled]))])dnl 257 define([cBasce], [ifelse([$3],[yes],[Disable],[Enable]) $5 (def: ifelse([$3],[yes],[enabled],[disabled]))])dnl
246 AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$2],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_$2="$3"])dnl 258 AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$3],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_$2="$3"])dnl
247 have_$2="no" 259 have_$2="no"
248 if test "x${enable_$2}" = "xyes"; then 260 if test "x${enable_$2}" = "xyes"; then
249 m4_ifvaln([$6], [$6], [:]) 261 m4_ifvaln([$6], [$6], [:])
250 if test "x${have_$2}" = "xyes"; then 262 if test "x${have_$2}" = "xyes"; then
251 m4_ifvaln([$7], [$7], [:])dnl 263 m4_ifvaln([$7], [$7], [:])dnl
257 res_msg_$2="(disabled)" 269 res_msg_$2="(disabled)"
258 m4_ifvaln([$9], [$9], [:])dnl 270 m4_ifvaln([$9], [$9], [:])dnl
259 fi 271 fi
260 ]) 272 ])
261 273
274
275 dnl ** Add a plugin based on --enable/--disable options
262 AC_DEFUN([AUD_PLUGIN_CHECK_SIMPLE], [dnl 276 AC_DEFUN([AUD_PLUGIN_CHECK_SIMPLE], [dnl
263 define([cBasce], [$6 (def: ifelse([$2],[yes],[enabled],[disabled]))])dnl 277 define([cBasce], [ifelse([$2],[yes],[Disable],[Enable]) $6 (def: ifelse([$2],[yes],[enabled],[disabled]))])dnl
264 AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$2],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_$2="$3"])dnl 278 AC_ARG_ENABLE([$1], [AS_HELP_STRING([ifelse([$2],[yes],[--disable-$1],[--enable-$1])], cBasce)],, [enable_$2="$3"])dnl
265 have_$2="no" 279 have_$2="no"
266 if test "x${enable_$2}" = "xyes"; then 280 if test "x${enable_$2}" = "xyes"; then
267 m4_ifvaln([$6], [$6], [:]) 281 m4_ifvaln([$6], [$6], [:])
268 else 282 else
270 m4_ifvaln([$7], [$7], [:])dnl 284 m4_ifvaln([$7], [$7], [:])dnl
271 fi 285 fi
272 ]) 286 ])
273 287
274 288
275 dnl Check and enable a plugin with a pkg-config check 289 dnl ** Check and enable a plugin with a pkg-config check
276 AC_DEFUN([AUD_PLUGIN_CHECK_PKG], [dnl 290 AC_DEFUN([AUD_PLUGIN_CHECK_PKG], [dnl
277 define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl 291 define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl
278 define([BigN], [translit([$1], [a-z./-], [A-Z___])])dnl 292 define([BigN], [translit([$1], [a-z./-], [A-Z___])])dnl
279 AUD_PLUGIN_CHK([$1], Name, [$2], [$4], [$6], [dnl 293 AUD_PLUGIN_CHK([$1], Name, [$2], [$4], [$6], [dnl
280 PKG_CHECK_MODULES([]BigN, [$7], [have_[]Name[]="yes"], [have_[]Name[]="no"]) 294 PKG_CHECK_MODULES([]BigN, [$7], [have_[]Name[]="yes"], [have_[]Name[]="no"])
282 AUD_PLUGIN_ADD([$5], [$3]) 296 AUD_PLUGIN_ADD([$5], [$3])
283 m4_ifvaln([$8], [$8]) 297 m4_ifvaln([$8], [$8])
284 ], [$9], [$10]) 298 ], [$9], [$10])
285 ]) 299 ])
286 300
287 dnl Check and enable a plugin with a header files check 301
302 dnl ** Check and enable a plugin with a header files check
288 AC_DEFUN([AUD_PLUGIN_CHECK_HEADERS], [ 303 AC_DEFUN([AUD_PLUGIN_CHECK_HEADERS], [
289 define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl 304 define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl
290 AUD_PLUGIN_CHK([$1], Name, [$2], [$4], [$6], [ 305 AUD_PLUGIN_CHK([$1], Name, [$2], [$4], [$6], [
291 AC_CHECK_HEADERS([$7], [have_[]Name[]="yes"], [have_[]Name[]="no"]) 306 AC_CHECK_HEADERS([$7], [have_[]Name[]="yes"], [have_[]Name[]="no"])
292 ], [ 307 ], [
293 AUD_PLUGIN_ADD([$5], [$3]) 308 AUD_PLUGIN_ADD([$5], [$3])
294 m4_ifvaln([$8], [$8]) 309 m4_ifvaln([$8], [$8])
295 ], [$9], [$10]) 310 ], [$9], [$10])
296 ]) 311 ])
297 312
298 dnl Check and enable a plugin with complex checks 313
314 dnl ** Check and enable a plugin with a complex check
299 AC_DEFUN([AUD_PLUGIN_CHECK_COMPLEX], [ 315 AC_DEFUN([AUD_PLUGIN_CHECK_COMPLEX], [
300 # CHECK_COMPLEX #1 : $1 316 # CHECK_COMPLEX #1 : $1
301 define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl 317 define([Name], [translit([$1], [A-Z./-], [a-z___])])dnl
302 AUD_PLUGIN_CHK([$1], Name, [$2], [$4], [$6], [ 318 AUD_PLUGIN_CHK([$1], Name, [$2], [$4], [$6], [
303 # CHECK_COMPLEX #2 BEGIN 319 # CHECK_COMPLEX #2 BEGIN
307 # CHECK_COMPLEX #3 BEGIN 323 # CHECK_COMPLEX #3 BEGIN
308 AUD_PLUGIN_ADD([$5], [$3]) 324 AUD_PLUGIN_ADD([$5], [$3])
309 m4_ifvaln([$8], [$8]) 325 m4_ifvaln([$8], [$8])
310 # CHECK_COMPLEX #3 END 326 # CHECK_COMPLEX #3 END
311 ], [$9], [$10]) 327 ], [$9], [$10])
312 ]) 328 # CHECK_COMPLEX #4 END
313 329 ])