dnl find_lib_and_headers(name, verify-header, library-name, requirded?) dnl Export dnl name_inc in -I"include-path" form dnl name_lib in -l"library-name" form dnl name_ld in -L"library-path" form dnl name_found set to "yes" if found AC_DEFUN([find_lib_and_headers], [ AC_LANG_PUSH(C++) OLD_CXXFLAGS=$CXXFLAGS; OLD_LDFLAGS=$LDFLAGS; OLD_LIBS=$LIBS; LIBS="$LIBS -l$3"; # Get include path and lib path AC_ARG_WITH([$1], [AS_HELP_STRING([--with-$1], [prefix of $1 ])], [given_inc_path="$withval/include"; CXXFLAGS="-I$given_inc_path $CXXFLAGS"; given_lib_path="$withval/lib"; LDFLAGS="-L$given_lib_path $LDFLAGS"], [given_inc_path=inc_not_give_$1; given_lib_path=lib_not_give_$1] ) # Check for library and headers works AC_MSG_CHECKING([for $1: $2 in $given_inc_path, and lib$3 in $given_lib_path]) # try to compile a file that includes a header of the library AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <$2>]], [[;]])], [AC_MSG_RESULT([ok]) AC_SUBST([$1_found],["yes"]) AS_IF([test "x$given_inc_path" != "xinc_not_give_$1"], [AC_SUBST([$1_inc],["-I$given_inc_path"])]) AC_SUBST([$1_lib],["-l$3"]) AS_IF([test "x$given_lib_path" != "xlib_not_give_$1"], [AC_SUBST([$1_ld],["-L$given_lib_path"])])], [AS_IF([test "x$4" = "xrequired"], [AC_MSG_ERROR([$1 required but not found])], [AC_MSG_RESULT([not found])])] ) # reset original CXXFLAGS CXXFLAGS=$OLD_CXXFLAGS LDFLAGS=$OLD_LDFLAGS; LIBS=$OLD_LIBS AC_LANG_POP(C++) ])