Home | History | Annotate | Line # | Download | only in cf
      1  1.1.1.2     elric dnl Id
      2      1.1     elric dnl
      3  1.1.1.3  christos dnl rk_TEST_PACKAGE(package,program,libraries,extra libs,
      4      1.1     elric dnl			default locations, conditional, config-program, headers)
      5      1.1     elric 
      6      1.1     elric AC_DEFUN([rk_TEST_PACKAGE],[
      7      1.1     elric AC_ARG_WITH($1,
      8      1.1     elric 	AS_HELP_STRING([--with-$1=dir],[use $1 in dir]))
      9      1.1     elric AC_ARG_WITH($1-lib,
     10      1.1     elric 	AS_HELP_STRING([--with-$1-lib=dir],[use $1 libraries in dir]),
     11      1.1     elric [if test "$withval" = "yes" -o "$withval" = "no"; then
     12      1.1     elric   AC_MSG_ERROR([No argument for --with-$1-lib])
     13      1.1     elric elif test "X$with_$1" = "X"; then
     14      1.1     elric   with_$1=yes
     15      1.1     elric fi])
     16      1.1     elric AC_ARG_WITH($1-include,
     17      1.1     elric 	AS_HELP_STRING([--with-$1-include=dir],[use $1 headers in dir]),
     18      1.1     elric [if test "$withval" = "yes" -o "$withval" = "no"; then
     19      1.1     elric   AC_MSG_ERROR([No argument for --with-$1-include])
     20      1.1     elric elif test "X$with_$1" = "X"; then
     21      1.1     elric   with_$1=yes
     22      1.1     elric fi])
     23      1.1     elric AC_ARG_WITH($1-config,
     24      1.1     elric 	AS_HELP_STRING([--with-$1-config=path],[config program for $1]))
     25      1.1     elric 
     26      1.1     elric m4_ifval([$6],
     27      1.1     elric 	m4_define([rk_pkgname], $6),
     28      1.1     elric 	m4_define([rk_pkgname], AS_TR_CPP($1)))
     29      1.1     elric 
     30      1.1     elric AC_MSG_CHECKING(for $1)
     31      1.1     elric 
     32      1.1     elric case "$with_$1" in
     33      1.1     elric yes|"") d='$5' ;;
     34      1.1     elric no)	d= ;;
     35      1.1     elric *)	d="$with_$1" ;;
     36      1.1     elric esac
     37      1.1     elric 
     38      1.1     elric header_dirs=
     39      1.1     elric lib_dirs=
     40      1.1     elric for i in $d; do
     41      1.1     elric 	if test "$with_$1_include" = ""; then
     42      1.1     elric 		if test -d "$i/include/$1"; then
     43      1.1     elric 			header_dirs="$header_dirs $i/include/$1"
     44      1.1     elric 		fi
     45      1.1     elric 		if test -d "$i/include"; then
     46      1.1     elric 			header_dirs="$header_dirs $i/include"
     47      1.1     elric 		fi
     48      1.1     elric 	fi
     49      1.1     elric 	if test "$with_$1_lib" = ""; then
     50      1.1     elric 		if test -d "$i/lib$abilibdirext"; then
     51      1.1     elric 			lib_dirs="$lib_dirs $i/lib$abilibdirext"
     52      1.1     elric 		fi
     53      1.1     elric 	fi
     54      1.1     elric done
     55      1.1     elric 
     56      1.1     elric if test "$with_$1_include"; then
     57      1.1     elric 	header_dirs="$with_$1_include $header_dirs"
     58      1.1     elric fi
     59      1.1     elric if test "$with_$1_lib"; then
     60      1.1     elric 	lib_dirs="$with_$1_lib $lib_dirs"
     61      1.1     elric fi
     62      1.1     elric 
     63      1.1     elric if test "$with_$1_config" = ""; then
     64      1.1     elric 	with_$1_config='$7'
     65      1.1     elric fi
     66      1.1     elric 
     67      1.1     elric $1_cflags=
     68      1.1     elric $1_libs=
     69      1.1     elric 
     70      1.1     elric case "$with_$1_config" in
     71      1.1     elric yes|no|""|"$7")
     72      1.1     elric 	if test -f $with_$1/bin/$7 ; then
     73      1.1     elric 		with_$1_config=$with_$1/bin/$7
     74      1.1     elric 	fi
     75      1.1     elric 	;;
     76      1.1     elric esac
     77      1.1     elric 
     78      1.1     elric case "$with_$1_config" in
     79      1.1     elric yes|no|"")
     80      1.1     elric 	;;
     81      1.1     elric *)
     82      1.1     elric 	$1_cflags="`$with_$1_config --cflags 2>&1`"
     83      1.1     elric 	$1_libs="`$with_$1_config --libs 2>&1`"
     84      1.1     elric 	;;
     85      1.1     elric esac
     86      1.1     elric 
     87      1.1     elric found=no
     88      1.1     elric if test "$with_$1" != no; then
     89      1.1     elric 	save_CFLAGS="$CFLAGS"
     90      1.1     elric 	save_LIBS="$LIBS"
     91      1.1     elric 	if test "$[]$1_cflags" -a "$[]$1_libs"; then
     92      1.1     elric 		CFLAGS="$[]$1_cflags $save_CFLAGS"
     93      1.1     elric 		LIBS="$[]$1_libs $save_LIBS"
     94      1.1     elric 		m4_ifval([$8],[AC_CHECK_HEADERS([[$8]])])
     95      1.1     elric 		AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2]],[[]])],[
     96      1.1     elric 			INCLUDE_$1="$[]$1_cflags"
     97      1.1     elric 			LIB_$1="$[]$1_libs"
     98      1.1     elric 			AC_MSG_RESULT([from $with_$1_config])
     99      1.1     elric 			found=yes])
    100      1.1     elric 	fi
    101      1.1     elric 	if test "$found" = no; then
    102      1.1     elric 		ires= lres=
    103      1.1     elric 		for i in $header_dirs; do
    104      1.1     elric 			CFLAGS="-I$i $save_CFLAGS"
    105      1.1     elric 			m4_ifval([$8],[AC_CHECK_HEADERS([[$8]])])
    106      1.1     elric 			AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$2]],[[]])],[ires=$i;break])
    107      1.1     elric 		done
    108      1.1     elric 		for i in $lib_dirs; do
    109      1.1     elric 			LIBS="-L$i $3 $4 $save_LIBS"
    110      1.1     elric 			AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2]],[[]])],[lres=$i;break])
    111      1.1     elric 		done
    112      1.1     elric 		if test "$ires" -a "$lres" -a "$with_$1" != "no"; then
    113      1.1     elric 			INCLUDE_$1="-I$ires"
    114      1.1     elric 			LIB_$1="-L$lres $3 $4"
    115      1.1     elric 			found=yes
    116      1.1     elric 			AC_MSG_RESULT([headers $ires, libraries $lres])
    117      1.1     elric 		fi
    118      1.1     elric 	fi
    119      1.1     elric 	CFLAGS="$save_CFLAGS"
    120      1.1     elric 	LIBS="$save_LIBS"
    121      1.1     elric fi
    122      1.1     elric 
    123      1.1     elric if test "$found" = yes; then
    124      1.1     elric 	AC_DEFINE_UNQUOTED(rk_pkgname, 1, [Define if you have the $1 package.])
    125      1.1     elric 	with_$1=yes
    126      1.1     elric else
    127      1.1     elric 	with_$1=no
    128      1.1     elric 	INCLUDE_$1=
    129      1.1     elric 	LIB_$1=
    130      1.1     elric 	AC_MSG_RESULT(no)
    131      1.1     elric fi
    132      1.1     elric 
    133      1.1     elric AC_SUBST(INCLUDE_$1)
    134      1.1     elric AC_SUBST(LIB_$1)
    135      1.1     elric ])
    136