1 dnl Copyright © 2010-2011 Nick Bowler
3 dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2.
4 dnl This is free software: you are free to do what the fuck you want to.
5 dnl There is NO WARRANTY, to the extent permitted by law.
7 m4_pattern_forbid([^_?DX_])
9 dnl DX_PKG_CONFIG(env-base, [pkg-id], [pkg-help])
10 AC_DEFUN([DX_PKG_CONFIG], [dnl
11 AC_ARG_VAR(m4_toupper([$1])[_CFLAGS], [C compiler flags for ]ifelse(
12 [$3], [], [$1], [$3]))dnl
13 AC_ARG_VAR(m4_toupper([$1])[_LIBS], [linker flags for ]ifelse(
14 [$3], [], [$1], [$3]))dnl
16 ifelse([$2], [], [], [dnl
17 AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
18 if test x"$PKG_CONFIG" != x; then
19 AC_MSG_CHECKING([pkg-config database for $2])
21 _PKG_CONFIG(m4_tolower([$1])[_cflags], [cflags], [$2])
22 _PKG_CONFIG(m4_tolower([$1])[_libs], [libs], [$2])
23 if test x$pkg_failed = xyes; then
24 errors=`$PKG_CONFIG --errors-to-stdout --print-errors $2`
25 echo "$errors" >&AS_MESSAGE_LOG_FD
32 dnl _DX_CHECK_LIB(env-base, check-func, [cflags], [libs], [test])
33 AC_DEFUN([_DX_CHECK_LIB], [dnl
34 if test x"$dx_cv_[]m4_tolower([$1])_found" = x"no"; then
35 if ifelse([$5], [], [:], [$5]); then
36 CFLAGS="$3 $dx_old_cflags"
37 LIBS="$4 $dx_old_libs"
40 dx_cv_[]m4_tolower([$1])_found="yes"
41 dx_cv_[]m4_tolower([$1])_cflags="$3"
42 dx_cv_[]m4_tolower([$1])_libs="$4"
48 dnl DX_CHECK_LIB_EXT(env-base, message, check-func,
49 dnl [[[cflags1],[libs1],[test1]],[[cflags2],[libs2],[test2]],...])
50 AC_DEFUN([DX_CHECK_LIB_EXT], [dnl
55 AC_CACHE_CHECK([$2], [dx_cv_]m4_tolower([$1])[_found], [dnl
56 AC_CACHE_VAL([dx_cv_]m4_tolower([$1])[_libs], [dnl
57 AC_CACHE_VAL([dx_cv_]m4_tolower([$1])[_cflags], [dnl
58 dx_cv_[]m4_tolower([$1])_found=no
59 m4_foreach([dx_tuple], [$4], [_DX_CHECK_LIB([$1], [$3], dx_tuple)])
62 if test x"$dx_cv_[]m4_tolower([$1])_found" = x"yes"; then
63 m4_toupper([$1])_CFLAGS=$dx_cv_[]m4_tolower([$1])_cflags
64 m4_toupper([$1])_LIBS=$dx_cv_[]m4_tolower([$1])_libs
65 AC_SUBST(m4_toupper([$1])[_CFLAGS])
66 AC_SUBST(m4_toupper([$1])[_LIBS])
74 dnl DX_CHECK_LIB(env-base, message, test-program,
75 dnl [[[cflags1],[libs1],[test1]],[[cflags2],[libs2],[test2]],...])
76 AC_DEFUN([DX_CHECK_LIB], [dnl
77 DX_CHECK_LIB_EXT([$1], [$2], [m4_curry([AC_LINK_IFELSE], [$3])], [$4])