Several changes in PTLib have occurred requiring build time detection. Changes accounted for include the library name change, config option change, install location change, and a boolean type change which is handled by ast_ptlib.h. Also, the sed check has been modified to properly work with autoconf >= 2.62. (closes issue #14224) Reported by: bergolth Patches: asterisk-autoconf-sed.patch uploaded by bergolth (license 661) asterisk-pwlib-v3.patch uploaded by bergolth (license 661) Tested by: jpeeler git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
264 lines
7.2 KiB
Text
264 lines
7.2 KiB
Text
AC_DEFUN([AST_CHECK_PWLIB_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!") ;
|
|
;;
|
|
esac
|
|
|
|
PWLIB_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!") ;;
|
|
esac
|
|
|
|
PWLIB_PLATFORM="${PWLIB_OSTYPE}_${PWLIB_MACHTYPE}"
|
|
|
|
AC_SUBST([PWLIB_PLATFORM])
|
|
])
|
|
|
|
AC_DEFUN([AST_CHECK_PWLIB], [
|
|
PWLIB_INCDIR=
|
|
PWLIB_LIBDIR=
|
|
AC_LANG_PUSH([C++])
|
|
if test "${PWLIBDIR:-unset}" != "unset" ; then
|
|
AC_CHECK_HEADER(${PWLIBDIR}/version.h, HAS_PWLIB=1, )
|
|
fi
|
|
if test "${HAS_PWLIB:-unset}" = "unset" ; then
|
|
if test "${OPENH323DIR:-unset}" != "unset"; then
|
|
AC_CHECK_HEADER(${OPENH323DIR}/../pwlib/version.h, HAS_PWLIB=1, )
|
|
fi
|
|
if test "${HAS_PWLIB:-unset}" != "unset" ; then
|
|
PWLIBDIR="${OPENH323DIR}/../pwlib"
|
|
else
|
|
AC_CHECK_HEADER(${HOME}/pwlib/include/ptlib.h, HAS_PWLIB=1, )
|
|
if test "${HAS_PWLIB:-unset}" != "unset" ; then
|
|
PWLIBDIR="${HOME}/pwlib"
|
|
else
|
|
AC_CHECK_HEADER(/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$PATH_SEPARATOR/usr/local/share/pwlib/make)
|
|
PWLIB_INCDIR="/usr/local/include"
|
|
PWLIB_LIBDIR=`${PTLIB_CONFIG} --pwlibdir 2>/dev/null`
|
|
if test "${PWLIB_LIBDIR:-unset}" = "unset"; then
|
|
PWLIB_LIBDIR=`${PTLIB_CONFIG} --ptlibdir 2>/dev/null`
|
|
fi
|
|
if test "${PWLIB_LIBDIR:-unset}" = "unset"; then
|
|
if test "x$LIB64" != "x"; then
|
|
PWLIB_LIBDIR="/usr/local/lib64"
|
|
else
|
|
PWLIB_LIBDIR="/usr/local/lib"
|
|
fi
|
|
fi
|
|
PWLIB_LIB=`${PTLIB_CONFIG} --ldflags --libs`
|
|
PWLIB_LIB="-L${PWLIB_LIBDIR} `echo ${PWLIB_LIB}`"
|
|
else
|
|
AC_CHECK_HEADER(/usr/include/ptlib.h, HAS_PWLIB=1, )
|
|
if test "${HAS_PWLIB:-unset}" != "unset" ; then
|
|
AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , /usr/bin$PATH_SEPARATOR/usr/share/pwlib/make)
|
|
PWLIB_INCDIR="/usr/include"
|
|
PWLIB_LIBDIR=`${PTLIB_CONFIG} --pwlibdir 2>/dev/null`
|
|
if test "${PWLIB_LIBDIR:-unset}" = "unset"; then
|
|
PWLIB_LIBDIR=`${PTLIB_CONFIG} --ptlibdir 2>/dev/null`
|
|
fi
|
|
if test "${PWLIB_LIBDIR:-unset}" = "unset"; then
|
|
if test "x$LIB64" != "x"; then
|
|
PWLIB_LIBDIR="/usr/lib64"
|
|
else
|
|
PWLIB_LIBDIR="/usr/lib"
|
|
fi
|
|
fi
|
|
PWLIB_LIB=`${PTLIB_CONFIG} --ldflags --libs`
|
|
PWLIB_LIB="-L${PWLIB_LIBDIR} `echo ${PWLIB_LIB}`"
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
#if test "${HAS_PWLIB:-unset}" = "unset" ; then
|
|
# echo "Cannot find pwlib - please install or set PWLIBDIR and try again"
|
|
# exit
|
|
#fi
|
|
|
|
if 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_LANG_POP([C++])
|
|
])
|
|
|
|
AC_DEFUN([AST_CHECK_PWLIB_VERSION], [
|
|
if test "x$7" != "x"; then
|
|
VNAME="$7"
|
|
else
|
|
VNAME="$2_VERSION"
|
|
fi
|
|
|
|
if test "${HAS_$2:-unset}" != "unset"; then
|
|
$2_VERSION=`grep "$VNAME" ${$2_INCDIR}/$3 | sed -e 's/[[[:space:]]]\{1,\}/ /g' | cut -f3 -d ' ' | sed -e 's/"//g'`
|
|
$2_MAJOR_VERSION=`echo ${$2_VERSION} | cut -f1 -d.`
|
|
$2_MINOR_VERSION=`echo ${$2_VERSION} | cut -f2 -d.`
|
|
$2_BUILD_NUMBER=`echo ${$2_VERSION} | cut -f3 -d.`
|
|
let $2_VER=${$2_MAJOR_VERSION}*10000+${$2_MINOR_VERSION}*100+${$2_BUILD_NUMBER}
|
|
let $2_REQ=$4*10000+$5*100+$6
|
|
|
|
AC_MSG_CHECKING(if $1 version ${$2_VERSION} is compatible with chan_h323)
|
|
if test ${$2_VER} -lt ${$2_REQ}; then
|
|
AC_MSG_RESULT(no)
|
|
unset HAS_$2
|
|
else
|
|
AC_MSG_RESULT(yes)
|
|
fi
|
|
fi
|
|
])
|
|
|
|
AC_DEFUN([AST_CHECK_PWLIB_BUILD], [
|
|
if test "${HAS_$2:-unset}" != "unset"; then
|
|
AC_MSG_CHECKING($1 installation validity)
|
|
|
|
saved_cppflags="${CPPFLAGS}"
|
|
saved_libs="${LIBS}"
|
|
if test "${$2_LIB:-unset}" != "unset"; then
|
|
LIBS="${LIBS} ${$2_LIB} $7"
|
|
else
|
|
LIBS="${LIBS} -L${$2_LIBDIR} -l${PLATFORM_$2} $7"
|
|
fi
|
|
CPPFLAGS="${CPPFLAGS} -I${$2_INCDIR} $6"
|
|
|
|
AC_LANG_PUSH([C++])
|
|
|
|
AC_LINK_IFELSE(
|
|
[AC_LANG_PROGRAM([$4],[$5])],
|
|
[ AC_MSG_RESULT(yes)
|
|
ac_cv_lib_$2="yes"
|
|
],
|
|
[ AC_MSG_RESULT(no)
|
|
ac_cv_lib_$2="no"
|
|
]
|
|
)
|
|
|
|
AC_LANG_POP([C++])
|
|
|
|
LIBS="${saved_libs}"
|
|
CPPFLAGS="${saved_cppflags}"
|
|
|
|
if test "${ac_cv_lib_$2}" = "yes"; then
|
|
if test "${$2_LIB:-undef}" = "undef"; then
|
|
if test "${$2_LIBDIR}" != "" -a "${$2_LIBDIR}" != "/usr/lib"; then
|
|
$2_LIB="-L${$2_LIBDIR} -l${PLATFORM_$2}"
|
|
else
|
|
$2_LIB="-l${PLATFORM_$2}"
|
|
fi
|
|
fi
|
|
if test "${$2_INCDIR}" != "" -a "${$2_INCDIR}" != "/usr/include"; then
|
|
$2_INCLUDE="-I${$2_INCDIR}"
|
|
fi
|
|
PBX_$2=1
|
|
AC_DEFINE([HAVE_$2], 1, [$3])
|
|
fi
|
|
fi
|
|
])
|