📄 acinclude.m4.svn-base
字号:
# AST_GCC_ATTRIBUTE([attribute name])AC_DEFUN([AST_GCC_ATTRIBUTE],[AC_MSG_CHECKING(for compiler 'attribute $1' support)AC_COMPILE_IFELSE( AC_LANG_PROGRAM([static int __attribute__(($1)) test(void) {}], []), AC_MSG_RESULT(yes) AC_DEFINE_UNQUOTED([HAVE_ATTRIBUTE_$1], 1, [Define to 1 if your GCC C compiler supports the '$1' attribute.]), AC_MSG_RESULT(no))])# AST_EXT_LIB_SETUP([package symbol name], [package friendly name], [package option name], [additional help text])AC_DEFUN([AST_EXT_LIB_SETUP],[$1_DESCRIP="$2"$1_OPTION="$3"AC_ARG_WITH([$3], AC_HELP_STRING([--with-$3=PATH],[use $2 files in PATH $4]),[case ${withval} in n|no) USE_$1=no ;; y|ye|yes) ac_mandatory_list="${ac_mandatory_list} $1" ;; *) $1_DIR="${withval}" ac_mandatory_list="${ac_mandatory_list} $1" ;;esac])PBX_$1=0AC_SUBST([$1_LIB])AC_SUBST([$1_INCLUDE])AC_SUBST([PBX_$1])])# Check whether any of the mandatory modules are not present, and# print error messages in case.AC_DEFUN([AST_CHECK_MANDATORY],[ AC_MSG_CHECKING([for mandatory modules: ${ac_mandatory_list}]) err=0; for i in ${ac_mandatory_list}; do eval "a=\${PBX_$i}" if test "x${a}" = "x1" ; then continue; fi if test ${err} = "0" ; then AC_MSG_RESULT(fail) ; fi AC_MSG_RESULT() eval "a=\${${i}_OPTION}" AC_MSG_NOTICE(***) AC_MSG_NOTICE(*** The $i installation appears to be missing or broken.) AC_MSG_NOTICE(*** Either correct the installation, or run configure) AC_MSG_NOTICE(*** including --without-${a}.) err=1 done if test $err = 1 ; then exit 1; fi AC_MSG_RESULT(ok)])#-- The following two tests are only performed if PBX_$1 != 1,# so you can use multiple tests and stop at the first matching one.# On success, set PBX_$1 = 1, and also #define HAVE_$1 1# and #define HAVE_$1_VERSION ${last_argument} so you can tell which# test succeeded.# They should be called after AST_EXT_LIB_SETUP($1, ...)# Check if a given macro is defined in a certain header.# AST_C_DEFINE_CHECK([package symbol name], [macro name], [header file], [version])AC_DEFUN([AST_C_DEFINE_CHECK],[ if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then AC_MSG_CHECKING([for $2 in $3]) saved_cppflags="${CPPFLAGS}" if test "x${$1_DIR}" != "x"; then $1_INCLUDE= "-I${$1_DIR}/include" fi CPPFLAGS="${CPPFLAGS} ${$1_INCLUDE}" AC_COMPILE_IFELSE( [ AC_LANG_PROGRAM( [#include <$3>], [int foo = $2;]) ], [ AC_MSG_RESULT(yes) PBX_$1=1 AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 headers.]) AC_DEFINE([HAVE_$1_VERSION], $4, [Define $1 headers version]) ], [ AC_MSG_RESULT(no) ] ) CPPFLAGS="${saved_cppflags}" fi])# 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 symbol name], [package library name], [function to check], [package header], [additional LIB data], [version])AC_DEFUN([AST_EXT_LIB_CHECK],[if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then pbxlibdir="" 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 if test "${AST_$1_FOUND}" = "yes"; then $1_LIB="-l$2 $5" $1_HEADER_FOUND="1" if test "x${$1_DIR}" != "x"; then $1_LIB="${pbxlibdir} ${$1_LIB}" $1_INCLUDE="-I${$1_DIR}/include" if test "x$4" != "x" ; then AC_CHECK_HEADER([${$1_DIR}/include/$4], [$1_HEADER_FOUND=1], [$1_HEADER_FOUND=0] ) fi else if test "x$4" != "x" ; then AC_CHECK_HEADER([$4], [$1_HEADER_FOUND=1], [$1_HEADER_FOUND=0] ) fi 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], [$6], [Define to indicate the ${$1_DESCRIP} library version]) fi fifi])AC_DEFUN([AST_CHECK_GNU_MAKE], [AC_CACHE_CHECK(for GNU make, GNU_MAKE, GNU_MAKE='Not Found' ; GNU_MAKE_VERSION_MAJOR=0 ; GNU_MAKE_VERSION_MINOR=0 ; for a in make gmake gnumake ; do if test -z "$a" ; then continue ; fi ; if ( sh -c "$a --version" 2> /dev/null | grep GNU 2>&1 > /dev/null ) ; then GNU_MAKE=$a ; GNU_MAKE_VERSION_MAJOR=`$GNU_MAKE --version | grep "GNU Make" | cut -f3 -d' ' | cut -f1 -d'.'` GNU_MAKE_VERSION_MINOR=`$GNU_MAKE --version | grep "GNU Make" | cut -f2 -d'.' | cut -c1-2` break; fi done ;) ;if test "x$GNU_MAKE" = "xNot Found" ; then AC_MSG_ERROR( *** Please install GNU make. It is required to build Asterisk!) exit 1fiAC_SUBST([GNU_MAKE])])AC_DEFUN([AST_CHECK_PWLIB], [PWLIB_INCDIR=PWLIB_LIBDIR=if test "${PWLIBDIR:-unset}" != "unset" ; then AC_CHECK_FILE(${PWLIBDIR}/version.h, HAS_PWLIB=1, )fiif test "${HAS_PWLIB:-unset}" = "unset" ; then if test "${OPENH323DIR:-unset}" != "unset"; then AC_CHECK_FILE(${OPENH323DIR}/../pwlib/version.h, HAS_PWLIB=1, ) fi if test "${HAS_PWLIB:-unset}" != "unset" ; then PWLIBDIR="${OPENH323DIR}/../pwlib" else AC_CHECK_FILE(${HOME}/pwlib/include/ptlib.h, HAS_PWLIB=1, ) if test "${HAS_PWLIB:-unset}" != "unset" ; then PWLIBDIR="${HOME}/pwlib" else AC_CHECK_FILE(/usr/local/include/ptlib.h, HAS_PWLIB=1, ) if test "${HAS_PWLIB:-unset}" != "unset" ; then AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , /usr/local/bin) if test "${PTLIB_CONFIG:-unset}" = "unset" ; then AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , /usr/local/share/pwlib/make) fi PWLIB_INCDIR="/usr/local/include" if test "x$LIB64" != "x"; then PWLIB_LIBDIR="/usr/local/lib64" else PWLIB_LIBDIR="/usr/local/lib" fi else AC_CHECK_FILE(/usr/include/ptlib.h, HAS_PWLIB=1, ) if test "${HAS_PWLIB:-unset}" != "unset" ; then AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , /usr/share/pwlib/make) PWLIB_INCDIR="/usr/include" if test "x$LIB64" != "x"; then PWLIB_LIBDIR="/usr/lib64" else PWLIB_LIBDIR="/usr/lib" fi fi fi fi fifi#if test "${HAS_PWLIB:-unset}" = "unset" ; then# echo "Cannot find pwlib - please install or set PWLIBDIR and try again"# exit#fiif test "${HAS_PWLIB:-unset}" != "unset" ; then if test "${PWLIBDIR:-unset}" = "unset" ; then if test "${PTLIB_CONFIG:-unset}" != "unset" ; then PWLIBDIR=`$PTLIB_CONFIG --prefix` else echo "Cannot find ptlib-config - please install and try again" exit fi fi if test "x$PWLIBDIR" = "x/usr" -o "x$PWLIBDIR" = "x/usr/"; then PWLIBDIR="/usr/share/pwlib" PWLIB_INCDIR="/usr/include" if test "x$LIB64" != "x"; then PWLIB_LIBDIR="/usr/lib64" else PWLIB_LIBDIR="/usr/lib" fi fi if test "x$PWLIBDIR" = "x/usr/local" -o "x$PWLIBDIR" = "x/usr/"; then PWLIBDIR="/usr/local/share/pwlib" PWLIB_INCDIR="/usr/local/include" if test "x$LIB64" != "x"; then PWLIB_LIBDIR="/usr/local/lib64" else PWLIB_LIBDIR="/usr/local/lib" fi fi if test "${PWLIB_INCDIR:-unset}" = "unset"; then PWLIB_INCDIR="${PWLIBDIR}/include" fi if test "${PWLIB_LIBDIR:-unset}" = "unset"; then PWLIB_LIBDIR="${PWLIBDIR}/lib" fi AC_SUBST([PWLIBDIR]) AC_SUBST([PWLIB_INCDIR]) AC_SUBST([PWLIB_LIBDIR])fi])AC_DEFUN([AST_CHECK_OPENH323_PLATFORM], [PWLIB_OSTYPE=case "$host_os" in linux*) PWLIB_OSTYPE=linux ; ;; freebsd* ) PWLIB_OSTYPE=FreeBSD ; ;; openbsd* ) PWLIB_OSTYPE=OpenBSD ; ENDLDLIBS="-lossaudio" ; ;; netbsd* ) PWLIB_OSTYPE=NetBSD ; ENDLDLIBS="-lossaudio" ; ;; solaris* | sunos* ) PWLIB_OSTYPE=solaris ; ;; darwin* ) PWLIB_OSTYPE=Darwin ; ;; beos*) PWLIB_OSTYPE=beos ; STDCCFLAGS="$STDCCFLAGS -D__BEOS__" ;; cygwin*) PWLIB_OSTYPE=cygwin ; ;; mingw*) PWLIB_OSTYPE=mingw ; STDCCFLAGS="$STDCCFLAGS -mms-bitfields" ; ENDLDLIBS="-lwinmm -lwsock32 -lsnmpapi -lmpr -lcomdlg32 -lgdi32 -lavicap32" ; ;; * ) PWLIB_OSTYPE="$host_os" ; AC_MSG_WARN("OS $PWLIB_OSTYPE not recognized - proceed with caution!") ; ;;esacPWLIB_MACHTYPE=case "$host_cpu" in x86 | i686 | i586 | i486 | i386 ) PWLIB_MACHTYPE=x86 ;; x86_64) PWLIB_MACHTYPE=x86_64 ; P_64BIT=1 ; LIB64=1 ; ;; alpha | alphaev56 | alphaev6 | alphaev67 | alphaev7) PWLIB_MACHTYPE=alpha ; P_64BIT=1 ; ;; sparc ) PWLIB_MACHTYPE=sparc ; ;; powerpc ) PWLIB_MACHTYPE=ppc ; ;; ppc ) PWLIB_MACHTYPE=ppc ; ;; powerpc64 ) PWLIB_MACHTYPE=ppc64 ; P_64BIT=1 ; LIB64=1 ; ;; ppc64 ) PWLIB_MACHTYPE=ppc64 ; P_64BIT=1 ; LIB64=1 ; ;; ia64) PWLIB_MACHTYPE=ia64 ; P_64BIT=1 ; ;; s390x) PWLIB_MACHTYPE=s390x ; P_64BIT=1 ; LIB64=1 ; ;; s390) PWLIB_MACHTYPE=s390 ; ;; * ) PWLIB_MACHTYPE="$host_cpu"; AC_MSG_WARN("CPU $PWLIB_MACHTYPE not recognized - proceed with caution!") ;;esacPWLIB_PLATFORM="${PWLIB_OSTYPE}_${PWLIB_MACHTYPE}"AC_SUBST([PWLIB_PLATFORM])])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -