mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@153787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Helper function to setup variables for a package.
 | |
| # $1 -> the package name. Used in configure.ac and also as a prefix
 | |
| #	for the variables ($1_DIR, $1_INCLUDE, $1_LIB) in makeopts
 | |
| # $3 ->	option name, used in --with-$3 or --without-$3 when calling configure.
 | |
| # $2 and $4 are just text describing the package (short and long form)
 | |
| 
 | |
| # AST_EXT_LIB_SETUP([package], [short description], [configure option name], [long description])
 | |
| 
 | |
| AC_DEFUN([AST_EXT_LIB_SETUP],
 | |
| [
 | |
|     $1_DESCRIP="$2"
 | |
|     $1_OPTION="$3"
 | |
|     PBX_$1=0
 | |
|     AC_ARG_WITH([$3], AC_HELP_STRING([--with-$3=PATH],[use $2 files in PATH $4]),
 | |
|     [
 | |
| 	case ${withval} in
 | |
| 	n|no)
 | |
| 	USE_$1=no
 | |
| 	# -1 is a magic value used by menuselect to know that the package
 | |
| 	# was disabled, other than 'not found'
 | |
| 	PBX_$1=-1
 | |
| 	;;
 | |
| 	y|ye|yes)
 | |
| 	ac_mandatory_list="${ac_mandatory_list} $1"
 | |
| 	;;
 | |
| 	*)
 | |
| 	$1_DIR="${withval}"
 | |
| 	ac_mandatory_list="${ac_mandatory_list} $1"
 | |
| 	;;
 | |
| 	esac
 | |
|     ])
 | |
|     AC_SUBST([$1_LIB])
 | |
|     AC_SUBST([$1_INCLUDE])
 | |
|     AC_SUBST([$1_DIR])
 | |
|     AC_SUBST([PBX_$1])
 | |
| ])
 | |
| 
 | |
| # Check for existence of a given package ($1), either looking up a function
 | |
| # in a library, or, if no function is supplied, only check for the
 | |
| # existence of the header files.
 | |
| 
 | |
| # AST_EXT_LIB_CHECK([package], [library], [function], [header],
 | |
| #	 [extra libs], [extra cflags], [version])
 | |
| AC_DEFUN([AST_EXT_LIB_CHECK],
 | |
| [
 | |
| if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then
 | |
|    pbxlibdir=""
 | |
|    # if --with-$1=DIR has been specified, use it.
 | |
|    if test "x${$1_DIR}" != "x"; then
 | |
|       if test -d ${$1_DIR}/lib; then
 | |
|       	 pbxlibdir="-L${$1_DIR}/lib"
 | |
|       else
 | |
|       	 pbxlibdir="-L${$1_DIR}"
 | |
|       fi
 | |
|    fi
 | |
|    pbxfuncname="$3"
 | |
|    if test "x${pbxfuncname}" = "x" ; then   # empty lib, assume only headers
 | |
|       AST_$1_FOUND=yes
 | |
|    else
 | |
|       AC_CHECK_LIB([$2], [${pbxfuncname}], [AST_$1_FOUND=yes], [AST_$1_FOUND=no], ${pbxlibdir} $5)
 | |
|    fi
 | |
| 
 | |
|    # now check for the header.
 | |
|    if test "${AST_$1_FOUND}" = "yes"; then
 | |
|       $1_LIB="${pbxlibdir} -l$2 $5"
 | |
|       # if --with-$1=DIR has been specified, use it.
 | |
|       if test "x${$1_DIR}" != "x"; then
 | |
| 	 $1_INCLUDE="-I${$1_DIR}/include"
 | |
|       fi
 | |
|       $1_INCLUDE="${$1_INCLUDE} $6"
 | |
|       if test "x$4" = "x" ; then	# no header, assume found
 | |
|          $1_HEADER_FOUND="1"
 | |
|       else				# check for the header
 | |
|          saved_cppflags="${CPPFLAGS}"
 | |
|          CPPFLAGS="${CPPFLAGS} ${$1_INCLUDE}"
 | |
| 	 AC_CHECK_HEADER([$4], [$1_HEADER_FOUND=1], [$1_HEADER_FOUND=0])
 | |
|          CPPFLAGS="${saved_cppflags}"
 | |
|       fi
 | |
|       if test "x${$1_HEADER_FOUND}" = "x0" ; then
 | |
|          $1_LIB=""
 | |
|          $1_INCLUDE=""
 | |
|       else
 | |
|          if test "x${pbxfuncname}" = "x" ; then		# only checking headers -> no library
 | |
| 	    $1_LIB=""
 | |
| 	 fi
 | |
|          PBX_$1=1
 | |
|          # XXX don't know how to evaluate the description (third argument) in AC_DEFINE_UNQUOTED
 | |
|          AC_DEFINE_UNQUOTED([HAVE_$1], 1, [Define this to indicate the ${$1_DESCRIP} library])
 | |
| 	 AC_DEFINE_UNQUOTED([HAVE_$1_VERSION], [$7], [Define to indicate the ${$1_DESCRIP} library version])
 | |
|       fi
 | |
|    fi
 | |
| fi
 | |
| ])
 |