AC_DEFUN([DX_LIB_LIBDISCID], [DX_LIB_SETUP([libdiscid])dnl DX_LIB_PKGCONFIG_FLAGS([libdiscid]) AC_MSG_CHECKING([for libdiscid[]m4_ifnblank([$1], [ at least version $1])]) DX_LIB_SEARCH_LINK([libdiscid], [m4_apply([_DX_LIB_LIBDISCID_TEST], m4_split([$1], [\.]))], [ [[$LIBDISCID_CFLAGS], [$LIBDISCID_LIBS]], [[$dx_cv_libdiscid_pkg_cflags], [$dx_cv_libdiscid_pkg_libs], [test x"$dx_cv_libdiscid_pkg_found" = x"yes"]], [[], [-ldiscid]] ]) AS_IF([test x"$dx_cv_libdiscid_lib_found" = x"yes"], [$2], [m4_default([$3], [AC_MSG_FAILURE( [libdiscid[]m4_ifnblank([$1], [ version $1 or newer]) is required. The latest version may be found at . m4_newline([DX_LIB_USERFLAG_BLURB([libdiscid])]) m4_newline([DX_LIB_PKGCONFIG_BLURB([libdiscid])]) ])])])]) dnl Internal test program for libdiscid. Check that the version numbers in the dnl header are sufficient and that some important functions are defined. m4_define([_DX_LIB_LIBDISCID_TEST], [AC_LANG_PROGRAM( [#include m4_ifnblank([$1], [dnl #if DISCID_VERSION_MAJOR < $1 DX_LIB_COMPILE_ERROR([major version insufficient]) m4_ifnblank([$2], [dnl #elif DISCID_VERSION_MAJOR == $1 # if DISCID_VERSION_MINOR < $2 DX_LIB_COMPILE_ERROR([minor version insufficient]) m4_ifnblank([$3], [dnl # elif DISCID_VERSION_MINOR == $2 # if DISCID_VERSION_PATCH < $3 DX_LIB_COMPILE_ERROR([patch version insufficient]) # endif ])dnl # endif ])dnl #endif ])], [discid_free(discid_new());])])