dnl Copyright © 2010-2011 Nick Bowler dnl dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2. dnl This is free software: you are free to do what the fuck you want to. dnl There is NO WARRANTY, to the extent permitted by law. m4_pattern_forbid([^_?DX_]) dnl DX_PKG_CONFIG(env-base, [pkg-id], [pkg-help]) AC_DEFUN([DX_PKG_CONFIG], [dnl AC_ARG_VAR(m4_toupper([$1])[_CFLAGS], [C compiler flags for ]ifelse( [$3], [], [$1], [$3]))dnl AC_ARG_VAR(m4_toupper([$1])[_LIBS], [linker flags for ]ifelse( [$3], [], [$1], [$3]))dnl ifelse([$2], [], [], [dnl AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test x"$PKG_CONFIG" != x; then AC_MSG_CHECKING([pkg-config database for $2]) pkg_failed=no _PKG_CONFIG(m4_tolower([$1])[_cflags], [cflags], [$2]) _PKG_CONFIG(m4_tolower([$1])[_libs], [libs], [$2]) if test x$pkg_failed = xyes; then errors=`$PKG_CONFIG --errors-to-stdout --print-errors $2` echo "$errors" >&AS_MESSAGE_LOG_FD AC_MSG_RESULT([no]) else AC_MSG_RESULT([yes]) fi fi])]) dnl _DX_CHECK_LIB(env-base, check-func, [cflags], [libs], [test]) AC_DEFUN([_DX_CHECK_LIB], [dnl if test x"$dx_cv_[]m4_tolower([$1])_found" = x"no"; then if ifelse([$5], [], [:], [$5]); then CFLAGS="$3 $dx_old_cflags" LIBS="$4 $dx_old_libs" $2([dnl dx_cv_[]m4_tolower([$1])_found="yes" dx_cv_[]m4_tolower([$1])_cflags="$3" dx_cv_[]m4_tolower([$1])_libs="$4" ]) fi fi ]) dnl DX_CHECK_LIB_EXT(env-base, message, check-func, dnl [[[cflags1],[libs1],[test1]],[[cflags2],[libs2],[test2]],...]) AC_DEFUN([DX_CHECK_LIB_EXT], [dnl AC_LANG_PUSH([C]) dx_old_cflags=$CFLAGS dx_old_libs=$LIBS AC_CACHE_CHECK([$2], [dx_cv_]m4_tolower([$1])[_found], [dnl AC_CACHE_VAL([dx_cv_]m4_tolower([$1])[_libs], [dnl AC_CACHE_VAL([dx_cv_]m4_tolower([$1])[_cflags], [dnl dx_cv_[]m4_tolower([$1])_found=no m4_foreach([dx_tuple], [$4], [_DX_CHECK_LIB([$1], [$3], dx_tuple)]) ])])]) if test x"$dx_cv_[]m4_tolower([$1])_found" = x"yes"; then m4_toupper([$1])_CFLAGS=$dx_cv_[]m4_tolower([$1])_cflags m4_toupper([$1])_LIBS=$dx_cv_[]m4_tolower([$1])_libs AC_SUBST(m4_toupper([$1])[_CFLAGS]) AC_SUBST(m4_toupper([$1])[_LIBS]) fi CFLAGS=$dx_old_cflags LIBS=$dx_old_libs AC_LANG_POP([C]) ]) dnl DX_CHECK_LIB(env-base, message, test-program, dnl [[[cflags1],[libs1],[test1]],[[cflags2],[libs2],[test2]],...]) AC_DEFUN([DX_CHECK_LIB], [dnl DX_CHECK_LIB_EXT([$1], [$2], [m4_curry([AC_LINK_IFELSE], [$3])], [$4]) ])