bundled_pjproject: Add tests for programs used by the Makefile, et al.
Added tests for bzip2, tar, patch, sed and nm to configure.ac. Set DOWNLOAD_TO_STDOUT to a working command line regardless of whether the download program is wget, curl or fetch. Added a 'configure.m4' file to the third-party directory which takes care of calling any third-party project setup. Had to move some pjproject_bundled stuff up in configure.ac so it was called before the third-party configure macro. The pjproject tarball is now downloaded to the externals_cache_dir if it was specified on the ./configure command line Removed regeneration of the pjproject aconfigure file. It was only needed for an old patch that no longer applies. Converted the tests for symbols to explicit tests since we know that they're now available in the bundled version. Saves a little time during configure. ASTERISK-26416 #close Reported-by: Corey Farrell Change-Id: Id1d94251c0155f8dd41b7de7067f35cfbaafbb9b (cherry picked from commite6b0053d75
) (cherry picked from commita0d02f3832
)
This commit is contained in:
parent
c5e8f50169
commit
5fb848eebd
4
Makefile
4
Makefile
|
@ -99,6 +99,10 @@ export WGET_EXTRA_ARGS
|
|||
export LDCONFIG
|
||||
export LDCONFIG_FLAGS
|
||||
export PYTHON
|
||||
export TAR
|
||||
export PATCH
|
||||
export SED
|
||||
export NM
|
||||
|
||||
# makeopts is required unless the goal is clean or distclean
|
||||
ifeq ($(findstring clean,$(MAKECMDGOALS)),)
|
||||
|
|
|
@ -977,11 +977,6 @@ PBX_PJSIP_DLG_CREATE_UAS_AND_INC_LOCK
|
|||
PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_DIR
|
||||
PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_INCLUDE
|
||||
PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_LIB
|
||||
PJPROJECT_BUNDLED
|
||||
PBX_PJPROJECT
|
||||
PJPROJECT_DIR
|
||||
PJPROJECT_INCLUDE
|
||||
PJPROJECT_LIB
|
||||
PBX_PGSQL
|
||||
PGSQL_DIR
|
||||
PGSQL_INCLUDE
|
||||
|
@ -1198,6 +1193,11 @@ PBX_ALSA
|
|||
ALSA_DIR
|
||||
ALSA_INCLUDE
|
||||
ALSA_LIB
|
||||
PJPROJECT_INCLUDE
|
||||
PJPROJECT_LIB
|
||||
PBX_PJPROJECT
|
||||
PJPROJECT_DIR
|
||||
PJPROJECT_BUNDLED
|
||||
AST_C_COMPILER_FAMILY
|
||||
AST_CLANG_BLOCKS
|
||||
AST_CLANG_BLOCKS_LIBS
|
||||
|
@ -1219,8 +1219,13 @@ PBX_BISON
|
|||
OPENSSL
|
||||
SHA1SUM
|
||||
LDCONFIG
|
||||
DOWNLOAD_TO_STDOUT
|
||||
DOWNLOAD
|
||||
FETCH
|
||||
NM
|
||||
PATCH
|
||||
TAR
|
||||
BZIP2
|
||||
ALEMBIC
|
||||
GIT
|
||||
BASH
|
||||
|
@ -1325,7 +1330,6 @@ infodir
|
|||
docdir
|
||||
oldincludedir
|
||||
includedir
|
||||
runstatedir
|
||||
localstatedir
|
||||
sharedstatedir
|
||||
sysconfdir
|
||||
|
@ -1351,6 +1355,7 @@ enable_option_checking
|
|||
with_gnu_ld
|
||||
enable_dev_mode
|
||||
enable_coverage
|
||||
with_pjproject_bundled
|
||||
with_asound
|
||||
with_bfd
|
||||
with_execinfo
|
||||
|
@ -1402,7 +1407,6 @@ with_osptk
|
|||
with_oss
|
||||
with_postgres
|
||||
with_pjproject
|
||||
with_pjproject_bundled
|
||||
with_popt
|
||||
with_portaudio
|
||||
with_pri
|
||||
|
@ -1507,7 +1511,6 @@ datadir='${datarootdir}'
|
|||
sysconfdir='${prefix}/etc'
|
||||
sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
runstatedir='${localstatedir}/run'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
|
@ -1760,15 +1763,6 @@ do
|
|||
| -silent | --silent | --silen | --sile | --sil)
|
||||
silent=yes ;;
|
||||
|
||||
-runstatedir | --runstatedir | --runstatedi | --runstated \
|
||||
| --runstate | --runstat | --runsta | --runst | --runs \
|
||||
| --run | --ru | --r)
|
||||
ac_prev=runstatedir ;;
|
||||
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
|
||||
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
|
||||
| --run=* | --ru=* | --r=*)
|
||||
runstatedir=$ac_optarg ;;
|
||||
|
||||
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
|
||||
ac_prev=sbindir ;;
|
||||
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
|
||||
|
@ -1906,7 +1900,7 @@ fi
|
|||
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
|
||||
datadir sysconfdir sharedstatedir localstatedir includedir \
|
||||
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
|
||||
libdir localedir mandir runstatedir
|
||||
libdir localedir mandir
|
||||
do
|
||||
eval ac_val=\$$ac_var
|
||||
# Remove trailing slashes.
|
||||
|
@ -2059,7 +2053,6 @@ Fine tuning of the installation directories:
|
|||
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
|
||||
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
|
||||
--libdir=DIR object code libraries [EPREFIX/lib]
|
||||
--includedir=DIR C header files [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc [/usr/include]
|
||||
|
@ -2105,6 +2098,8 @@ Optional Packages:
|
|||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
|
||||
--with-pjproject-bundled
|
||||
Use bundled pjproject libraries
|
||||
--with-asound=PATH use Advanced Linux Sound Architecture files in PATH
|
||||
--with-bfd=PATH use Debug symbol decoding files in PATH
|
||||
--with-execinfo=PATH use Stack Backtrace files in PATH
|
||||
|
@ -2160,8 +2155,6 @@ Optional Packages:
|
|||
--with-oss=PATH use Open Sound System files in PATH
|
||||
--with-postgres=PATH use PostgreSQL files in PATH
|
||||
--with-pjproject=PATH use PJPROJECT files in PATH
|
||||
--with-pjproject-bundled
|
||||
Use bundled pjproject libraries
|
||||
--with-popt=PATH use popt files in PATH
|
||||
--with-portaudio=PATH use PortAudio files in PATH
|
||||
--with-pri=PATH use ISDN PRI files in PATH
|
||||
|
@ -7646,10 +7639,218 @@ $as_echo "no" >&6; }
|
|||
fi
|
||||
|
||||
|
||||
# Extract the first word of "bzip2", so it can be a program name with args.
|
||||
set dummy bzip2; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_BZIP2+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $BZIP2 in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_BZIP2="$BZIP2" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_BZIP2="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
test -z "$ac_cv_path_BZIP2" && ac_cv_path_BZIP2=":"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
BZIP2=$ac_cv_path_BZIP2
|
||||
if test -n "$BZIP2"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $BZIP2" >&5
|
||||
$as_echo "$BZIP2" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
# Extract the first word of "tar", so it can be a program name with args.
|
||||
set dummy tar; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_TAR+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $TAR in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_TAR="$TAR" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
test -z "$ac_cv_path_TAR" && ac_cv_path_TAR=":"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
TAR=$ac_cv_path_TAR
|
||||
if test -n "$TAR"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5
|
||||
$as_echo "$TAR" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
# Extract the first word of "patch", so it can be a program name with args.
|
||||
set dummy patch; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_PATCH+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $PATCH in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_PATCH="$PATCH" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_PATCH="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
test -z "$ac_cv_path_PATCH" && ac_cv_path_PATCH=":"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
PATCH=$ac_cv_path_PATCH
|
||||
if test -n "$PATCH"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATCH" >&5
|
||||
$as_echo "$PATCH" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
# Extract the first word of "sed", so it can be a program name with args.
|
||||
set dummy sed; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_SED+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $SED in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_SED="$SED" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
test -z "$ac_cv_path_SED" && ac_cv_path_SED=":"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
SED=$ac_cv_path_SED
|
||||
if test -n "$SED"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5
|
||||
$as_echo "$SED" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
# Extract the first word of "nm", so it can be a program name with args.
|
||||
set dummy nm; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_NM+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $NM in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_NM="$NM" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_NM="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
test -z "$ac_cv_path_NM" && ac_cv_path_NM=":"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
NM=$ac_cv_path_NM
|
||||
if test -n "$NM"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $NM" >&5
|
||||
$as_echo "$NM" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test "${WGET}" != ":" ; then
|
||||
DOWNLOAD=${WGET}
|
||||
DOWNLOAD_TO_STDOUT="${WGET} -O-"
|
||||
else if test "${CURL}" != ":" ; then
|
||||
DOWNLOAD="${CURL} -O --progress-bar -w \"%{url_effective}\n\""
|
||||
DOWNLOAD_TO_STDOUT="${CURL} -L --progress-bar -w \"%{url_effective}\n\""
|
||||
else
|
||||
# Extract the first word of "fetch", so it can be a program name with args.
|
||||
set dummy fetch; ac_word=$2
|
||||
|
@ -7693,9 +7894,12 @@ fi
|
|||
|
||||
|
||||
DOWNLOAD=${FETCH}
|
||||
DOWNLOAD_TO_STDOUT="${FETCH} -o-"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Extract the first word of "ldconfig", so it can be a program name with args.
|
||||
set dummy ldconfig; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
|
@ -8921,6 +9125,118 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
|
||||
PJPROJECT_BUNDLED=no
|
||||
|
||||
|
||||
|
||||
# Check whether --with-pjproject-bundled was given.
|
||||
if test "${with_pjproject_bundled+set}" = set; then :
|
||||
withval=$with_pjproject_bundled; case "${enableval}" in
|
||||
n|no) PJPROJECT_BUNDLED=no ;;
|
||||
*) PJPROJECT_BUNDLED=yes ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
if test "$PJPROJECT_BUNDLED" = "yes" ; then
|
||||
|
||||
if test "${ac_mandatory_list#*PJPROJECT*}" != "$ac_mandatory_list" ; then
|
||||
as_fn_error $? "--with-pjproject and --with-pjproject-bundled can't both be specified" "$LINENO" 5
|
||||
fi
|
||||
|
||||
ac_mandatory_list="$ac_mandatory_list PJPROJECT"
|
||||
PJPROJECT_DIR="${ac_top_build_prefix}third-party/pjproject"
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for embedded pjproject (may have to download)" >&5
|
||||
$as_echo_n "checking for embedded pjproject (may have to download)... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: configuring" >&5
|
||||
$as_echo "configuring" >&6; }
|
||||
|
||||
if test "x${DOWNLOAD_TO_STDOUT}" = "x" ; then
|
||||
as_fn_error $? "A download utility (wget, curl or fetch) is required to download bundled pjproject" "$LINENO" 5
|
||||
fi
|
||||
if test "${BZIP2}" = ":" ; then
|
||||
as_fn_error $? "bzip2 is required to extract the pjproject tar file" "$LINENO" 5
|
||||
fi
|
||||
if test "${TAR}" = ":" ; then
|
||||
as_fn_error $? "tar is required to extract the pjproject tar file" "$LINENO" 5
|
||||
fi
|
||||
if test "${PATCH}" = ":" ; then
|
||||
as_fn_error $? "patch is required to configure bundled pjproject" "$LINENO" 5
|
||||
fi
|
||||
if test "${SED}" = ":" ; then
|
||||
as_fn_error $? "sed is required to configure bundled pjproject" "$LINENO" 5
|
||||
fi
|
||||
if test "${NM}" = ":" ; then
|
||||
as_fn_error $? "nm is required to build bundled pjproject" "$LINENO" 5
|
||||
fi
|
||||
|
||||
export TAR PATCH SED NM EXTERNALS_CACHE_DIR DOWNLOAD_TO_STDOUT
|
||||
${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} configure
|
||||
if test $? -ne 0 ; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
|
||||
$as_echo "failed" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: Unable to configure ${PJPROJECT_DIR}" >&5
|
||||
$as_echo "$as_me: Unable to configure ${PJPROJECT_DIR}" >&6;}
|
||||
as_fn_error $? "Run \"${GNU_MAKE} -C ${PJPROJECT_DIR} NOISY_BUILD=yes configure\" to see error details." "$LINENO" 5
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bundled pjproject" >&5
|
||||
$as_echo_n "checking for bundled pjproject... " >&6; }
|
||||
|
||||
PJPROJECT_INCLUDE=$(${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} echo_cflags)
|
||||
PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE"
|
||||
PBX_PJPROJECT=1
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJPROJECT 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJPROJECT_BUNDLED 1" >>confdefs.h
|
||||
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_DLG_CREATE_UAS_AND_INC_LOCK 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJ_TRANSACTION_GRP_LOCK 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_REPLACE_MEDIA_STREAM 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_GET_DEST_INFO 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJ_SSL_CERT_LOAD_FROM_FILES2 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_EXTERNAL_RESOLVER 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_TLS_TRANSPORT_PROTO 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_EVSUB_GRP_LOCK 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_INV_SESSION_REF 1" >>confdefs.h
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# AST_EXT_LIB_SETUP is used to tell configure to handle variables for
|
||||
# various packages.
|
||||
# $1 is the prefix for the variables in makeopts and autoconfig.h
|
||||
|
@ -10938,6 +11254,7 @@ fi
|
|||
|
||||
|
||||
|
||||
if test "x${PBX_PJPROJECT}" != "x1" ; then
|
||||
|
||||
PJPROJECT_DESCRIP="PJPROJECT"
|
||||
PJPROJECT_OPTION="pjproject"
|
||||
|
@ -10970,29 +11287,6 @@ fi
|
|||
|
||||
|
||||
|
||||
PJPROJECT_BUNDLED=no
|
||||
|
||||
|
||||
|
||||
# Check whether --with-pjproject-bundled was given.
|
||||
if test "${with_pjproject_bundled+set}" = set; then :
|
||||
withval=$with_pjproject_bundled; case "${enableval}" in
|
||||
n|no) PJPROJECT_BUNDLED=no ;;
|
||||
*) PJPROJECT_BUNDLED=yes ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test "$PJPROJECT_BUNDLED" = "yes" -a "${ac_mandatory_list#*PJPROJECT*}" != "$ac_mandatory_list" ; then
|
||||
as_fn_error $? "--with-pjproject and --with-pjproject-bundled can't both be specified" "$LINENO" 5
|
||||
fi
|
||||
|
||||
if test "$PJPROJECT_BUNDLED" = "yes" ; then
|
||||
ac_mandatory_list="$ac_mandatory_list PJPROJECT"
|
||||
PJPROJECT_DIR="${ac_top_build_prefix}third-party/pjproject"
|
||||
fi
|
||||
|
||||
|
||||
PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_DESCRIP="PJSIP Dialog Create UAS with Incremented Lock"
|
||||
PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_OPTION=pjsip
|
||||
|
@ -11101,6 +11395,7 @@ PBX_PJSIP_INV_SESSION_REF=0
|
|||
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
POPT_DESCRIP="popt"
|
||||
|
@ -25153,251 +25448,7 @@ $as_echo "$as_me: *** including --without-postgres" >&6;}
|
|||
fi
|
||||
|
||||
if test "$USE_PJPROJECT" != "no" ; then
|
||||
if test "$PJPROJECT_BUNDLED" = "yes" ; then
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for embedded pjproject (may have to download)" >&5
|
||||
$as_echo_n "checking for embedded pjproject (may have to download)... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: configuring" >&5
|
||||
$as_echo "configuring" >&6; }
|
||||
${GNU_MAKE} --quiet --no-print-directory -C $PJPROJECT_DIR configure
|
||||
if test $? -ne 0 ; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
|
||||
$as_echo "failed" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: Unable to configure $PJPROJECT_DIR" >&5
|
||||
$as_echo "$as_me: Unable to configure $PJPROJECT_DIR" >&6;}
|
||||
as_fn_error $? "Run \"${GNU_MAKE} -C $PJPROJECT_DIR NOISY_BUILD=yes configure\" to see error details." "$LINENO" 5
|
||||
fi
|
||||
|
||||
PJPROJECT_INCLUDE=$(${GNU_MAKE} --quiet --no-print-directory -C $PJPROJECT_DIR echo_cflags)
|
||||
PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE"
|
||||
PBX_PJPROJECT=1
|
||||
PJPROJECT_BUNDLED=yes
|
||||
|
||||
$as_echo "#define HAVE_PJPROJECT 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJPROJECT_BUNDLED 1" >>confdefs.h
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for embedded pjproject" >&5
|
||||
$as_echo_n "checking for embedded pjproject... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
|
||||
|
||||
PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pjsip_dlg_create_uas_and_inc_lock declared in pjsip.h" >&5
|
||||
$as_echo_n "checking for pjsip_dlg_create_uas_and_inc_lock declared in pjsip.h... " >&6; }
|
||||
|
||||
saved_cpp="$CPPFLAGS"
|
||||
CPPFLAGS="$PJPROJECT_INCLUDE"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <pjsip.h>
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "pjsip_dlg_create_uas_and_inc_lock" >/dev/null 2>&1; then :
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
PBX_PJSIP_DLG_CREATE_UAS_AND_INC_LOCK=1
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_DLG_CREATE_UAS_AND_INC_LOCK 1" >>confdefs.h
|
||||
|
||||
|
||||
else
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
|
||||
CPPGLAGS="$saved_cpp"
|
||||
PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
|
||||
|
||||
PJ_TRANSACTION_GRP_LOCK_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pjsip_tsx_create_uac2 declared in pjsip.h" >&5
|
||||
$as_echo_n "checking for pjsip_tsx_create_uac2 declared in pjsip.h... " >&6; }
|
||||
|
||||
saved_cpp="$CPPFLAGS"
|
||||
CPPFLAGS="$PJPROJECT_INCLUDE"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <pjsip.h>
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "pjsip_tsx_create_uac2" >/dev/null 2>&1; then :
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
PBX_PJ_TRANSACTION_GRP_LOCK=1
|
||||
|
||||
$as_echo "#define HAVE_PJ_TRANSACTION_GRP_LOCK 1" >>confdefs.h
|
||||
|
||||
|
||||
else
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
|
||||
CPPGLAGS="$saved_cpp"
|
||||
PJ_TRANSACTION_GRP_LOCK_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
|
||||
|
||||
PJSIP_REPLACE_MEDIA_STREAM_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE declared in pjmedia.h" >&5
|
||||
$as_echo_n "checking for PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE declared in pjmedia.h... " >&6; }
|
||||
|
||||
saved_cpp="$CPPFLAGS"
|
||||
CPPFLAGS="$PJPROJECT_INCLUDE"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <pjmedia.h>
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE" >/dev/null 2>&1; then :
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
PBX_PJSIP_REPLACE_MEDIA_STREAM=1
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_REPLACE_MEDIA_STREAM 1" >>confdefs.h
|
||||
|
||||
|
||||
else
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
|
||||
CPPGLAGS="$saved_cpp"
|
||||
PJSIP_REPLACE_MEDIA_STREAM_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
|
||||
|
||||
PJSIP_GET_DEST_INFO_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pjsip_get_dest_info declared in pjsip.h" >&5
|
||||
$as_echo_n "checking for pjsip_get_dest_info declared in pjsip.h... " >&6; }
|
||||
|
||||
saved_cpp="$CPPFLAGS"
|
||||
CPPFLAGS="$PJPROJECT_INCLUDE"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <pjsip.h>
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "pjsip_get_dest_info" >/dev/null 2>&1; then :
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
PBX_PJSIP_GET_DEST_INFO=1
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_GET_DEST_INFO 1" >>confdefs.h
|
||||
|
||||
|
||||
else
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
|
||||
CPPGLAGS="$saved_cpp"
|
||||
PJSIP_GET_DEST_INFO_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
|
||||
|
||||
PJ_SSL_CERT_LOAD_FROM_FILES2_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pj_ssl_cert_load_from_files2 declared in pjlib.h" >&5
|
||||
$as_echo_n "checking for pj_ssl_cert_load_from_files2 declared in pjlib.h... " >&6; }
|
||||
|
||||
saved_cpp="$CPPFLAGS"
|
||||
CPPFLAGS="$PJPROJECT_INCLUDE"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <pjlib.h>
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "pj_ssl_cert_load_from_files2" >/dev/null 2>&1; then :
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
PBX_PJ_SSL_CERT_LOAD_FROM_FILES2=1
|
||||
|
||||
$as_echo "#define HAVE_PJ_SSL_CERT_LOAD_FROM_FILES2 1" >>confdefs.h
|
||||
|
||||
|
||||
else
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
|
||||
CPPGLAGS="$saved_cpp"
|
||||
PJ_SSL_CERT_LOAD_FROM_FILES2_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
|
||||
|
||||
PJSIP_EXTERNAL_RESOLVER_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pjsip_endpt_set_ext_resolver declared in pjsip.h" >&5
|
||||
$as_echo_n "checking for pjsip_endpt_set_ext_resolver declared in pjsip.h... " >&6; }
|
||||
|
||||
saved_cpp="$CPPFLAGS"
|
||||
CPPFLAGS="$PJPROJECT_INCLUDE"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <pjsip.h>
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "pjsip_endpt_set_ext_resolver" >/dev/null 2>&1; then :
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
PBX_PJSIP_EXTERNAL_RESOLVER=1
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_EXTERNAL_RESOLVER 1" >>confdefs.h
|
||||
|
||||
|
||||
else
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
|
||||
CPPGLAGS="$saved_cpp"
|
||||
PJSIP_EXTERNAL_RESOLVER_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_TLS_TRANSPORT_PROTO 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_EVSUB_GRP_LOCK 1" >>confdefs.h
|
||||
|
||||
|
||||
$as_echo "#define HAVE_PJSIP_INV_SESSION_REF 1" >>confdefs.h
|
||||
|
||||
|
||||
else
|
||||
if test "$PJPROJECT_BUNDLED" = "no" ; then
|
||||
|
||||
if test "x${PBX_PJPROJECT}" != "x1" -a "${USE_PJPROJECT}" != "no"; then
|
||||
|
||||
|
|
51
configure.ac
51
configure.ac
|
@ -284,16 +284,27 @@ AC_PATH_PROG([XMLSTARLET], [xmlstarlet], :)
|
|||
AC_PATH_PROG([BASH], [bash], :)
|
||||
AC_PATH_PROG([GIT], [git], :)
|
||||
AC_PATH_PROG([ALEMBIC], [alembic], :)
|
||||
AC_PATH_PROG([BZIP2], [bzip2], :)
|
||||
AC_PATH_PROG([TAR], [tar], :)
|
||||
AC_PATH_PROG([PATCH], [patch], :)
|
||||
AC_PATH_PROG([SED], [sed], :)
|
||||
AC_PATH_PROG([NM], [nm], :)
|
||||
|
||||
if test "${WGET}" != ":" ; then
|
||||
DOWNLOAD=${WGET}
|
||||
DOWNLOAD_TO_STDOUT="${WGET} -O-"
|
||||
else if test "${CURL}" != ":" ; then
|
||||
DOWNLOAD="${CURL} -O --progress-bar -w \"%{url_effective}\n\""
|
||||
DOWNLOAD_TO_STDOUT="${CURL} -L --progress-bar -w \"%{url_effective}\n\""
|
||||
else
|
||||
AC_PATH_PROG([FETCH], [fetch], [:])
|
||||
DOWNLOAD=${FETCH}
|
||||
DOWNLOAD_TO_STDOUT="${FETCH} -o-"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_SUBST(DOWNLOAD)
|
||||
AC_SUBST(DOWNLOAD_TO_STDOUT)
|
||||
AC_PATH_PROG([LDCONFIG], [ldconfig], :)
|
||||
AC_PATH_PROG([SHA1SUM], [sha1sum], $ac_aux_dir/build_tools/sha1sum-sh)
|
||||
AC_PATH_PROG([OPENSSL], [openssl], :)
|
||||
|
@ -404,6 +415,19 @@ AC_SUBST(AST_CODE_COVERAGE)
|
|||
AST_CHECK_RAII()
|
||||
AST_CHECK_STRSEP_ARRAY_BOUNDS()
|
||||
|
||||
PJPROJECT_BUNDLED=no
|
||||
AH_TEMPLATE(m4_bpatsubst([[HAVE_PJPROJECT_BUNDLED]], [(.*)]), [Define to 1 when using the bundled pjproject.])
|
||||
|
||||
AC_ARG_WITH([pjproject-bundled],
|
||||
[AS_HELP_STRING([--with-pjproject-bundled],
|
||||
[Use bundled pjproject libraries])],
|
||||
[case "${enableval}" in
|
||||
n|no) PJPROJECT_BUNDLED=no ;;
|
||||
*) PJPROJECT_BUNDLED=yes ;;
|
||||
esac])
|
||||
|
||||
THIRD_PARTY_CONFIGURE()
|
||||
|
||||
# AST_EXT_LIB_SETUP is used to tell configure to handle variables for
|
||||
# various packages.
|
||||
# $1 is the prefix for the variables in makeopts and autoconfig.h
|
||||
|
@ -472,28 +496,8 @@ AST_EXT_LIB_SETUP([OSPTK], [OSP Toolkit], [osptk])
|
|||
AST_EXT_LIB_SETUP([OSS], [Open Sound System], [oss])
|
||||
AST_EXT_LIB_SETUP([PGSQL], [PostgreSQL], [postgres])
|
||||
|
||||
if test "x${PBX_PJPROJECT}" != "x1" ; then
|
||||
AST_EXT_LIB_SETUP([PJPROJECT], [PJPROJECT], [pjproject])
|
||||
PJPROJECT_BUNDLED=no
|
||||
AH_TEMPLATE(m4_bpatsubst([[HAVE_PJPROJECT_BUNDLED]], [(.*)]), [Define to 1 when using the bundled pjproject.])
|
||||
|
||||
AC_ARG_WITH([pjproject-bundled],
|
||||
[AS_HELP_STRING([--with-pjproject-bundled],
|
||||
[Use bundled pjproject libraries])],
|
||||
[case "${enableval}" in
|
||||
n|no) PJPROJECT_BUNDLED=no ;;
|
||||
*) PJPROJECT_BUNDLED=yes ;;
|
||||
esac])
|
||||
AC_SUBST(PJPROJECT_BUNDLED)
|
||||
|
||||
if test "$PJPROJECT_BUNDLED" = "yes" -a "${ac_mandatory_list#*PJPROJECT*}" != "$ac_mandatory_list" ; then
|
||||
AC_MSG_ERROR(--with-pjproject and --with-pjproject-bundled can't both be specified)
|
||||
fi
|
||||
|
||||
if test "$PJPROJECT_BUNDLED" = "yes" ; then
|
||||
ac_mandatory_list="$ac_mandatory_list PJPROJECT"
|
||||
PJPROJECT_DIR="${ac_top_build_prefix}third-party/pjproject"
|
||||
fi
|
||||
|
||||
AST_EXT_LIB_SETUP_OPTIONAL([PJSIP_DLG_CREATE_UAS_AND_INC_LOCK], [PJSIP Dialog Create UAS with Incremented Lock], [PJPROJECT], [pjsip])
|
||||
AST_EXT_LIB_SETUP_OPTIONAL([PJ_TRANSACTION_GRP_LOCK], [PJSIP Transaction Group Lock Support], [PJPROJECT], [pjsip])
|
||||
AST_EXT_LIB_SETUP_OPTIONAL([PJSIP_REPLACE_MEDIA_STREAM], [PJSIP Media Stream Replacement Support], [PJPROJECT], [pjsip])
|
||||
|
@ -503,6 +507,7 @@ AST_EXT_LIB_SETUP_OPTIONAL([PJSIP_EXTERNAL_RESOLVER], [PJSIP External Resolver S
|
|||
AST_EXT_LIB_SETUP_OPTIONAL([PJSIP_TLS_TRANSPORT_PROTO], [PJSIP TLS Transport proto field support], [PJPROJECT], [pjsip])
|
||||
AST_EXT_LIB_SETUP_OPTIONAL([PJSIP_EVSUB_GRP_LOCK], [PJSIP EVSUB Group Lock support], [PJPROJECT], [pjsip])
|
||||
AST_EXT_LIB_SETUP_OPTIONAL([PJSIP_INV_SESSION_REF], [PJSIP INVITE Session Reference Count support], [PJPROJECT], [pjsip])
|
||||
fi
|
||||
|
||||
AST_EXT_LIB_SETUP([POPT], [popt], [popt])
|
||||
AST_EXT_LIB_SETUP([PORTAUDIO], [PortAudio], [portaudio])
|
||||
|
@ -2198,9 +2203,7 @@ if test "${PG_CONFIG}" != No; then
|
|||
fi
|
||||
|
||||
if test "$USE_PJPROJECT" != "no" ; then
|
||||
if test "$PJPROJECT_BUNDLED" = "yes" ; then
|
||||
PJPROJECT_CONFIGURE([$PJPROJECT_DIR])
|
||||
else
|
||||
if test "$PJPROJECT_BUNDLED" = "no" ; then
|
||||
AST_PKG_CONFIG_CHECK([PJPROJECT], [libpjproject])
|
||||
|
||||
AST_EXT_LIB_CHECK([PJSIP_DLG_CREATE_UAS_AND_INC_LOCK], [pjsip], [pjsip_dlg_create_uas_and_inc_lock], [pjsip.h], [$PJPROJECT_LIBS], [$PJPROJECT_CFLAGS])
|
||||
|
|
|
@ -586,19 +586,22 @@
|
|||
/* Define if your system has PJPROJECT_BUNDLED */
|
||||
#undef HAVE_PJPROJECT_BUNDLED
|
||||
|
||||
/* Define if your system has pjsip_dlg_create_uas_and_inc_lock declared. */
|
||||
/* Define to 1 if PJPROJECT has the PJSIP Dialog Create UAS with Incremented
|
||||
Lock feature. */
|
||||
#undef HAVE_PJSIP_DLG_CREATE_UAS_AND_INC_LOCK
|
||||
|
||||
/* Define if your system has PJSIP_EVSUB_GRP_LOCK */
|
||||
/* Define to 1 if PJPROJECT has the PJSIP EVSUB Group Lock support feature. */
|
||||
#undef HAVE_PJSIP_EVSUB_GRP_LOCK
|
||||
|
||||
/* Define if your system has pjsip_endpt_set_ext_resolver declared. */
|
||||
/* Define to 1 if PJPROJECT has the PJSIP External Resolver Support feature.
|
||||
*/
|
||||
#undef HAVE_PJSIP_EXTERNAL_RESOLVER
|
||||
|
||||
/* Define if your system has pjsip_get_dest_info declared. */
|
||||
/* Define to 1 if PJPROJECT has the pjsip_get_dest_info support feature. */
|
||||
#undef HAVE_PJSIP_GET_DEST_INFO
|
||||
|
||||
/* Define if your system has PJSIP_INV_SESSION_REF */
|
||||
/* Define to 1 if PJPROJECT has the PJSIP INVITE Session Reference Count
|
||||
support feature. */
|
||||
#undef HAVE_PJSIP_INV_SESSION_REF
|
||||
|
||||
/* Define if your system has the PJSIP_REPLACE_MEDIA_STREAM headers. */
|
||||
|
@ -607,10 +610,12 @@
|
|||
/* Define if your system has the PJSIP_TLS_TRANSPORT_PROTO headers. */
|
||||
#undef HAVE_PJSIP_TLS_TRANSPORT_PROTO
|
||||
|
||||
/* Define if your system has pj_ssl_cert_load_from_files2 declared. */
|
||||
/* Define to 1 if PJPROJECT has the pj_ssl_cert_load_from_files2 support
|
||||
feature. */
|
||||
#undef HAVE_PJ_SSL_CERT_LOAD_FROM_FILES2
|
||||
|
||||
/* Define if your system has pjsip_tsx_create_uac2 declared. */
|
||||
/* Define to 1 if PJPROJECT has the PJSIP Transaction Group Lock Support
|
||||
feature. */
|
||||
#undef HAVE_PJ_TRANSACTION_GRP_LOCK
|
||||
|
||||
/* Define to 1 if your system defines IP_PKTINFO. */
|
||||
|
|
|
@ -27,6 +27,7 @@ STRIP=@STRIP@
|
|||
WGET=@WGET@
|
||||
FETCH=@FETCH@
|
||||
DOWNLOAD=@DOWNLOAD@
|
||||
DOWNLOAD_TO_STDOUT=@DOWNLOAD_TO_STDOUT@
|
||||
SOUNDS_CACHE_DIR=@SOUNDS_CACHE_DIR@
|
||||
EXTERNALS_CACHE_DIR=@EXTERNALS_CACHE_DIR@
|
||||
RUBBER=@RUBBER@
|
||||
|
@ -41,6 +42,10 @@ OPENSSL=@OPENSSL@
|
|||
LDCONFIG=@LDCONFIG@
|
||||
GIT=@GIT@
|
||||
ALEMBIC=@ALEMBIC@
|
||||
TAR=@TAR@
|
||||
PATCH=@PATCH@
|
||||
SED=@SED@
|
||||
NM=@NM@
|
||||
|
||||
BUILD_PLATFORM=@BUILD_PLATFORM@
|
||||
BUILD_CPU=@BUILD_CPU@
|
||||
|
|
|
@ -13,18 +13,6 @@ QUIET_CONFIGURE=
|
|||
REALLY_QUIET=
|
||||
endif
|
||||
|
||||
DOWNLOAD := $(shell which wget 2>/dev/null)
|
||||
DOWNLOAD := $(if $(DOWNLOAD),$(DOWNLOAD) -O- ,)
|
||||
|
||||
ifeq ($(DOWNLOAD),)
|
||||
DOWNLOAD := $(shell which curl 2>/dev/null)
|
||||
DOWNLOAD := $(if $(DOWNLOAD), $(DOWNLOAD) -L ,)
|
||||
endif
|
||||
|
||||
ifeq ($(DOWNLOAD),)
|
||||
DOWNLOAD := echo "No download program available" ; exit 1;
|
||||
endif
|
||||
|
||||
export SUBMAKE
|
||||
export ECHO_PREFIX
|
||||
export CMD_PREFIX
|
||||
|
@ -34,3 +22,8 @@ export ASTTOPDIR
|
|||
export ASTSBINDIR
|
||||
export DESTDIR
|
||||
export ASTDATADIR
|
||||
export TAR
|
||||
export PATCH
|
||||
export SED
|
||||
export NM
|
||||
export DOWNLOAD
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
|
||||
|
||||
AC_DEFUN([THIRD_PARTY_CONFIGURE],
|
||||
[
|
||||
PJPROJECT_CONFIGURE()
|
||||
])
|
||||
|
|
@ -7,8 +7,6 @@ SPECIAL_TARGETS :=
|
|||
ifneq ($(findstring configure,$(MAKECMDGOALS))$(findstring echo_cflags,$(MAKECMDGOALS)),)
|
||||
# Run from $(ASTTOPDIR)/configure
|
||||
SPECIAL_TARGETS += configure
|
||||
include ../Makefile.rules
|
||||
include Makefile.rules
|
||||
endif
|
||||
|
||||
ifeq ($(findstring echo_cflags,$(MAKECMDGOALS)),echo_cflags)
|
||||
|
@ -19,8 +17,10 @@ endif
|
|||
ifeq ($(findstring clean,$(MAKECMDGOALS)),clean)
|
||||
# clean or distclean
|
||||
SPECIAL_TARGETS += clean
|
||||
include ../Makefile.rules
|
||||
include Makefile.rules
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard ../../makeopts),)
|
||||
include ../../makeopts
|
||||
endif
|
||||
|
||||
ifeq ($(SPECIAL_TARGETS),)
|
||||
|
@ -28,17 +28,17 @@ ifeq ($(SPECIAL_TARGETS),)
|
|||
ifeq ($(wildcard ../../makeopts),)
|
||||
$(error ASTTOPDIR/configure hasn't been run)
|
||||
endif
|
||||
include ../../makeopts
|
||||
|
||||
ifeq ($(PJPROJECT_BUNDLED),yes)
|
||||
-include ../../menuselect.makeopts
|
||||
include ../Makefile.rules
|
||||
ifneq ($(wildcard ../../menuselect.makeopts),)
|
||||
include ../../menuselect.makeopts
|
||||
else
|
||||
$(warning ASTTOPDIR/menuselect hasn't been run yet. Can't find debug options.)
|
||||
endif
|
||||
|
||||
all: _all
|
||||
install: _install
|
||||
|
||||
include ../../Makefile.rules
|
||||
include Makefile.rules
|
||||
include source/user.mak
|
||||
include source/build.mak
|
||||
CF := $(filter-out -W%,$(CC_CFLAGS))
|
||||
|
@ -66,25 +66,25 @@ ifeq ($(SPECIAL_TARGETS),)
|
|||
endif
|
||||
endif
|
||||
|
||||
include ../../Makefile.rules
|
||||
include ../Makefile.rules
|
||||
include Makefile.rules
|
||||
|
||||
ECHO_PREFIX := $(ECHO_PREFIX) echo '[pjproject] '
|
||||
|
||||
ifndef $(TMPDIR)
|
||||
ifneq ($(wildcard /tmp),)
|
||||
TMPDIR=/tmp
|
||||
else
|
||||
TMPDIR=.
|
||||
endif
|
||||
endif
|
||||
_all: $(TARGETS)
|
||||
|
||||
TMPDIR ?= $(or $(EXTERNALS_CACHE_DIR),$(wildcard /tmp),.)
|
||||
|
||||
$(TMPDIR)/pjproject-$(PJPROJECT_VERSION).tar.bz2 : ../versions.mak
|
||||
$(ECHO_PREFIX) Downloading $@ with $(DOWNLOAD)
|
||||
$(CMD_PREFIX) $(DOWNLOAD) $(PJPROJECT_URL)/$(@F) > $@
|
||||
$(ECHO_PREFIX) Downloading $(PJPROJECT_URL)/$(@F) to $@
|
||||
$(CMD_PREFIX) $(DOWNLOAD_TO_STDOUT) $(PJPROJECT_URL)/$(@F) > $@
|
||||
|
||||
source/.unpacked: $(TMPDIR)/pjproject-$(PJPROJECT_VERSION).tar.bz2
|
||||
$(ECHO_PREFIX) Unpacking $<
|
||||
-@rm -rf source >/dev/null 2>&1
|
||||
-@mkdir source >/dev/null 2>&1
|
||||
$(CMD_PREFIX) tar --strip-components=1 -C source -xjf $<
|
||||
$(CMD_PREFIX) $(TAR) --strip-components=1 -C source -xjf $<
|
||||
$(ECHO_PREFIX) Applying patches
|
||||
$(CMD_PREFIX) ./apply_patches $(QUIET_CONFIGURE) ./patches ./source
|
||||
-@touch source/.unpacked
|
||||
|
@ -99,8 +99,8 @@ source/pjlib/include/pj/%.h : ./patches/%.h
|
|||
|
||||
build.mak: source/.unpacked $(addprefix source/pjlib/include/pj/,$(notdir $(wildcard ./patches/*.h))) source/user.mak Makefile.rules
|
||||
$(ECHO_PREFIX) Configuring with $(PJPROJECT_CONFIG_OPTS)
|
||||
$(CMD_PREFIX) (cd source ; autoconf aconfigure.ac > aconfigure && ./aconfigure $(QUIET_CONFIGURE) $(PJPROJECT_CONFIG_OPTS))
|
||||
@sed -r -e "/prefix|export PJ_SHARED_LIBRARIES|MACHINE_NAME|OS_NAME|HOST_NAME|CC_NAME|CROSS_COMPILE|LINUX_POLL/d" source/build.mak > build.mak
|
||||
$(CMD_PREFIX) (cd source ; ./aconfigure $(QUIET_CONFIGURE) $(PJPROJECT_CONFIG_OPTS))
|
||||
$(SED) -r -e "/prefix|export PJ_SHARED_LIBRARIES|MACHINE_NAME|OS_NAME|HOST_NAME|CC_NAME|CROSS_COMPILE|LINUX_POLL/d" source/build.mak > build.mak
|
||||
|
||||
configure: build.mak
|
||||
|
||||
|
@ -128,7 +128,7 @@ $(LIB_FILES): $(PJLIB_UTIL_LIB_FILES)
|
|||
|
||||
pjproject.symbols: $(ALL_LIB_FILES)
|
||||
$(ECHO_PREFIX) Generating symbols
|
||||
$(CMD_PREFIX) nm -Pog $(ALL_LIB_FILES) | sed -n -r -e "s/.+: ([pP][jJ][^ ]+) .+/\1/gp" | sort -u > pjproject.symbols
|
||||
$(CMD_PREFIX) $(NM) -Pog $(PJ_LIB_FILES) | $(SED) -n -r -e "s/.+: ([pP][jJ][^ ]+) .+/\1/gp" | sort -u > pjproject.symbols
|
||||
|
||||
source/pjsip-apps/src/asterisk_malloc_debug.c: patches/asterisk_malloc_debug.c
|
||||
$(ECHO_PREFIX) Copying $< to $@
|
||||
|
@ -155,8 +155,6 @@ source/pjsip-apps/src/python/_pjsua.so: source/pjsip-apps/src/python/_pjsua.o
|
|||
$(ECHO_PREFIX) Linking python bindings $(@F)
|
||||
$(CMD_PREFIX) gcc -shared -pthread -o $@ $< $(LDFLAGS) $(PJ_LDFLAGS) $(APP_LDLIBS) $(PYTHONDEV_LIB) $(REALLY_QUIET)
|
||||
|
||||
_all: $(TARGETS)
|
||||
|
||||
_install: _all
|
||||
@if [ ! -d "$(DESTDIR)$(ASTDATADIR)/third-party/pjproject" ]; then \
|
||||
$(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/third-party/pjproject"; \
|
||||
|
@ -188,4 +186,3 @@ clean:
|
|||
distclean:
|
||||
$(ECHO_PREFIX) Distcleaning
|
||||
-$(CMD_PREFIX) rm -rf source pjproject.symbols pjproject-*.tar.bz2 build.mak .rebuild_needed
|
||||
|
||||
|
|
|
@ -5,6 +5,8 @@ if [ "$1" = "-q" ] ; then
|
|||
shift
|
||||
fi
|
||||
|
||||
PATCH=${PATCH:-patch}
|
||||
|
||||
patchdir=${1:?You must supply a patches directory}
|
||||
sourcedir=${2?:You must supply a source directory}
|
||||
|
||||
|
@ -27,12 +29,12 @@ if [ ! "$(ls -A $patchdir/*.patch 2>/dev/null)" ] ; then
|
|||
fi
|
||||
|
||||
for patchfile in $patchdir/*.patch ; do
|
||||
patch -d $sourcedir -p1 -s -r- -f -N --dry-run -i "$patchfile" || (echo "Patchfile $(basename $patchfile) failed to apply" >&2 ; exit 1) || exit 1
|
||||
${PATCH} -d $sourcedir -p1 -s -r- -f -N --dry-run -i "$patchfile" || (echo "Patchfile $(basename $patchfile) failed to apply" >&2 ; exit 1) || exit 1
|
||||
done
|
||||
|
||||
for patchfile in "$patchdir"/*.patch ; do
|
||||
[ -z $quiet ] && echo "Applying patch $(basename $patchfile)"
|
||||
patch -d "$sourcedir" -p1 -s -i "$patchfile" || exit 1
|
||||
${PATCH} -d "$sourcedir" -p1 -s -i "$patchfile" || exit 1
|
||||
done
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -1,49 +1,73 @@
|
|||
AC_DEFUN([PJPROJECT_SYMBOL_CHECK],
|
||||
AC_DEFUN([_PJPROJECT_CONFIGURE],
|
||||
[
|
||||
$1_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
AC_MSG_CHECKING([for $2 declared in $3])
|
||||
if test "${ac_mandatory_list#*PJPROJECT*}" != "$ac_mandatory_list" ; then
|
||||
AC_MSG_ERROR(--with-pjproject and --with-pjproject-bundled can't both be specified)
|
||||
fi
|
||||
|
||||
saved_cpp="$CPPFLAGS"
|
||||
CPPFLAGS="$PJPROJECT_INCLUDE"
|
||||
AC_EGREP_HEADER($2, $3, [
|
||||
AC_MSG_RESULT(yes)
|
||||
PBX_$1=1
|
||||
AC_DEFINE([HAVE_$1], 1, [Define if your system has $2 declared.])
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
ac_mandatory_list="$ac_mandatory_list PJPROJECT"
|
||||
PJPROJECT_DIR="${ac_top_build_prefix}third-party/pjproject"
|
||||
|
||||
CPPGLAGS="$saved_cpp"
|
||||
$1_INCLUDE="$PJPROJECT_INCLUDE"
|
||||
AC_MSG_CHECKING(for embedded pjproject (may have to download))
|
||||
AC_MSG_RESULT(configuring)
|
||||
|
||||
if test "x${DOWNLOAD_TO_STDOUT}" = "x" ; then
|
||||
AC_MSG_ERROR(A download utility (wget, curl or fetch) is required to download bundled pjproject)
|
||||
fi
|
||||
if test "${BZIP2}" = ":" ; then
|
||||
AC_MSG_ERROR(bzip2 is required to extract the pjproject tar file)
|
||||
fi
|
||||
if test "${TAR}" = ":" ; then
|
||||
AC_MSG_ERROR(tar is required to extract the pjproject tar file)
|
||||
fi
|
||||
if test "${PATCH}" = ":" ; then
|
||||
AC_MSG_ERROR(patch is required to configure bundled pjproject)
|
||||
fi
|
||||
if test "${SED}" = ":" ; then
|
||||
AC_MSG_ERROR(sed is required to configure bundled pjproject)
|
||||
fi
|
||||
if test "${NM}" = ":" ; then
|
||||
AC_MSG_ERROR(nm is required to build bundled pjproject)
|
||||
fi
|
||||
|
||||
export TAR PATCH SED NM EXTERNALS_CACHE_DIR DOWNLOAD_TO_STDOUT
|
||||
${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} configure
|
||||
if test $? -ne 0 ; then
|
||||
AC_MSG_RESULT(failed)
|
||||
AC_MSG_NOTICE(Unable to configure ${PJPROJECT_DIR})
|
||||
AC_MSG_ERROR(Run "${GNU_MAKE} -C ${PJPROJECT_DIR} NOISY_BUILD=yes configure" to see error details.)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for bundled pjproject)
|
||||
|
||||
PJPROJECT_INCLUDE=$(${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} echo_cflags)
|
||||
PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE"
|
||||
PBX_PJPROJECT=1
|
||||
|
||||
AC_DEFINE([HAVE_PJPROJECT], 1, [Define if your system has PJPROJECT])
|
||||
AC_DEFINE([HAVE_PJPROJECT_BUNDLED], 1, [Define if your system has PJPROJECT_BUNDLED])
|
||||
|
||||
AC_DEFINE([HAVE_PJSIP_DLG_CREATE_UAS_AND_INC_LOCK], 1, [Define if your system has pjsip_dlg_create_uas_and_inc_lock declared.])
|
||||
AC_DEFINE([HAVE_PJ_TRANSACTION_GRP_LOCK], 1, [Define if your system has pjsip_tsx_create_uac2 declared.])
|
||||
AC_DEFINE([HAVE_PJSIP_REPLACE_MEDIA_STREAM], 1, [Define if your system has PJSIP_REPLACE_MEDIA_STREAM declared])
|
||||
AC_DEFINE([HAVE_PJSIP_GET_DEST_INFO], 1, [Define if your system has pjsip_get_dest_info declared.])
|
||||
AC_DEFINE([HAVE_PJ_SSL_CERT_LOAD_FROM_FILES2], 1, [Define if your system has pj_ssl_cert_load_from_files2 declared.])
|
||||
AC_DEFINE([HAVE_PJSIP_EXTERNAL_RESOLVER], 1, [Define if your system has pjsip_endpt_set_ext_resolver declared.])
|
||||
AC_DEFINE([HAVE_PJSIP_TLS_TRANSPORT_PROTO], 1, [Define if your system has PJSIP_TLS_TRANSPORT_PROTO])
|
||||
AC_DEFINE([HAVE_PJSIP_EVSUB_GRP_LOCK], 1, [Define if your system has PJSIP_EVSUB_GRP_LOCK])
|
||||
AC_DEFINE([HAVE_PJSIP_INV_SESSION_REF], 1, [Define if your system has PJSIP_INV_SESSION_REF])
|
||||
|
||||
AC_SUBST([PJPROJECT_BUNDLED])
|
||||
AC_SUBST([PJPROJECT_DIR])
|
||||
AC_SUBST([PBX_PJPROJECT])
|
||||
AC_SUBST([PJPROJECT_LIB])
|
||||
AC_SUBST([PJPROJECT_INCLUDE])
|
||||
AC_MSG_RESULT(yes)
|
||||
])
|
||||
|
||||
AC_DEFUN([PJPROJECT_CONFIGURE],
|
||||
[
|
||||
AC_MSG_CHECKING(for embedded pjproject (may have to download))
|
||||
AC_MSG_RESULT(configuring)
|
||||
${GNU_MAKE} --quiet --no-print-directory -C $1 configure
|
||||
if test $? -ne 0 ; then
|
||||
AC_MSG_RESULT(failed)
|
||||
AC_MSG_NOTICE(Unable to configure $1)
|
||||
AC_MSG_ERROR(Run "${GNU_MAKE} -C $1 NOISY_BUILD=yes configure" to see error details.)
|
||||
if test "$PJPROJECT_BUNDLED" = "yes" ; then
|
||||
_PJPROJECT_CONFIGURE()
|
||||
fi
|
||||
|
||||
PJPROJECT_INCLUDE=$(${GNU_MAKE} --quiet --no-print-directory -C $1 echo_cflags)
|
||||
PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE"
|
||||
PBX_PJPROJECT=1
|
||||
PJPROJECT_BUNDLED=yes
|
||||
AC_DEFINE([HAVE_PJPROJECT], 1, [Define if your system has PJPROJECT])
|
||||
AC_DEFINE([HAVE_PJPROJECT_BUNDLED], 1, [Define if your system has PJPROJECT_BUNDLED])
|
||||
AC_MSG_CHECKING(for embedded pjproject)
|
||||
AC_MSG_RESULT(yes)
|
||||
|
||||
PJPROJECT_SYMBOL_CHECK([PJSIP_DLG_CREATE_UAS_AND_INC_LOCK], [pjsip_dlg_create_uas_and_inc_lock], [pjsip.h])
|
||||
PJPROJECT_SYMBOL_CHECK([PJ_TRANSACTION_GRP_LOCK], [pjsip_tsx_create_uac2], [pjsip.h])
|
||||
PJPROJECT_SYMBOL_CHECK([PJSIP_REPLACE_MEDIA_STREAM], [PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE], [pjmedia.h])
|
||||
PJPROJECT_SYMBOL_CHECK([PJSIP_GET_DEST_INFO], [pjsip_get_dest_info], [pjsip.h])
|
||||
PJPROJECT_SYMBOL_CHECK([PJ_SSL_CERT_LOAD_FROM_FILES2], [pj_ssl_cert_load_from_files2], [pjlib.h])
|
||||
PJPROJECT_SYMBOL_CHECK([PJSIP_EXTERNAL_RESOLVER], [pjsip_endpt_set_ext_resolver], [pjsip.h])
|
||||
AC_DEFINE([HAVE_PJSIP_TLS_TRANSPORT_PROTO], 1, [Define if your system has PJSIP_TLS_TRANSPORT_PROTO])
|
||||
AC_DEFINE([HAVE_PJSIP_EVSUB_GRP_LOCK], 1, [Define if your system has PJSIP_EVSUB_GRP_LOCK])
|
||||
AC_DEFINE([HAVE_PJSIP_INV_SESSION_REF], 1, [Define if your system has PJSIP_INV_SESSION_REF])
|
||||
])
|
||||
|
Loading…
Reference in New Issue