1dnl AC_SEARCH_LIBS_VAR(FUNCTION, SEARCH-LIBS [, ACTION-IF-FOUND 2dnl [, ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES [, VAR]]]]) 3dnl Search for a library defining FUNC, if it's not already available. 4dnl If a library is needed, add it to VAR (typically prog_LDADD) but 5dnl not to LIBS 6 7AC_DEFUN([AC_SEARCH_LIBS_VAR], 8[AC_PREREQ([2.13]) 9AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1], 10[ac_func_search_save_LIBS="$LIBS" 11ac_cv_search_$1="no" 12AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="none required"]) 13test "$ac_cv_search_$1" = "no" && for i in $2; do 14LIBS="-l$i $5 $ac_func_search_save_LIBS" 15AC_TRY_LINK_FUNC([$1], 16[ac_cv_search_$1="-l$i" 17break]) 18done 19LIBS="$ac_func_search_save_LIBS"]) 20if test "$ac_cv_search_$1" != "no"; then 21 test "$ac_cv_search_$1" = "none required" || $6="$$6 $ac_cv_search_$1" 22 $3 23else : 24 $4 25fi]) 26 27 28dnl AC_FUNC_MKFIFO 29dnl Test whether mkfifo(const char* pathname, mode_t mode) works 30dnl This is necessary to detect Cygwin mkfifo() which is a nonfunctional 31dnl stub 32AC_DEFUN([AC_FUNC_MKFIFO], [ 33AC_MSG_CHECKING(for working mkfifo) 34AC_TRY_RUN( 35changequote(<<, >>)dnl 36<<#include <stdlib.h> 37#include <sys/types.h> 38#include <sys/stat.h> 39int main(){ 40int error = 0; 41if (mkfifo("test_the_fifo", 0777) != 0) { 42error=1; 43} 44else { 45unlink("test_the_fifo"); 46} 47exit (error); 48} 49>>, 50changequote([, ])dnl 51ac_cv_func_mkfifo=yes, 52ac_cv_func_mkfifo=no, 53ac_cv_func_mkfifo=no 54) 55AC_MSG_RESULT($ac_cv_func_mkfifo) 56if test $ac_cv_func_mkfifo = yes ; then 57 AC_DEFINE(HAVE_MKFIFO) 58fi 59]) 60 61dnl Check for a required version of Perl. The separate shell variable and 62dnl the changequotes are necessary for autoconf 2.13; autoconf 2.50 will 63dnl provide a different interface that will allow this to work correctly. 64dnl stolen from Russ Allbery <rra@stanford.edu> 65dnl REFDB_PERL_VERSION(perlbin, requiredversion) 66AC_DEFUN([REFDB_PERL_VERSION], 67[AC_CACHE_CHECK(for Perl version, refdb_perl_version, 68[if $1 -e 'require $2;' > /dev/null 2>&1 ; then 69 refdb_perl_version=`$1 -e "$refdb_perl_command"` 70else 71 AC_MSG_WARN(Perl $2 or greater is required for some scripts) 72fi])]) 73 74dnl Dito, but check for the existence of a Perl module 75dnl REFDB_PERL_MODULE(perlbin,modulename,varname) 76AC_DEFUN([REFDB_PERL_MODULE], 77[AC_CACHE_CHECK(for Perl module $2, $3, 78[if $1 -e 'use $2;' > /dev/null 2>&1 ; then 79 $3=$2 80else 81 AC_MSG_WARN(Perl module $2 is required for some scripts) 82fi])]) 83 84dnl Try to locate a stylesheet using xmlcatalog 85AC_DEFUN([REFDB_XML_FILE], 86[if test -r /etc/xml/catalog; then 87 refdb_xml_catalog="/etc/xml/catalog" 88else 89 refdb_xml_catalog=$XML_CATALOG_FILES 90fi 91 92AC_MSG_CHECKING(for XML file $2) 93xml_file=`$1 $refdb_xml_catalog $2` 94xml_file=`echo $xml_file | sed 's%file://%%'` 95AC_CHECK_FILE($xml_file,[ 96AC_MSG_RESULT(XML file found)],[ 97AC_MSG_RESULT(XML file not found, you may wish to check your XML catalog)] 98)]) 99