Make --with-pjproject-bundled the default for Asterisk 15

'--with-pjproject-bundled' is now the default when running
./configure. It can be disabled with '--without-pjproject-bundled'.

To make building without an internet connection easier, a new
./configure option '--with-download-cache' was added that sets
the cache for externals (like pjproject, the codecs and the DPMA),
AND the sounds files.  It can also be specified as an environment
variable named "AST_DOWNLOAD_CACHE".  The existing
'--with-sounds-cache' option / SOUNDS_CACHE_DIR env variable and
'--with-externals-cache' option / EXTERNALS_CACHE_DIR env variable
remain and if specified, will override '--with-downloads-cache'.

ASTERISK-27189

Change-Id: Ifa9783fddf44aafadb060c9feba713dfa81d38ce
pull/9/head
George Joseph 8 years ago
parent 62092bc114
commit 305bd0d99f

@ -34,6 +34,16 @@ app_queue
queue position has improved since the last time that we annouced their queue position has improved since the last time that we annouced their
position. This default is no. position. This default is no.
Build System
------------------
* '--with-pjproject-bundled' is now the default when running ./configure
It can be disabled with '--without-pjproject-bundled'.
* A '--with-download-cache' option is now available which is equivalent to
setting '--with-sounds-cache' and '--with-externals-cache' to the same
value. The download cache can also be set via the AST_DOWNLOAD_CACHE
environment variable.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
--- Functionality changes from Asterisk 14.6.0 to Asterisk 14.7.0 ------------ --- Functionality changes from Asterisk 14.6.0 to Asterisk 14.7.0 ------------
------------------------------------------------------------------------------ ------------------------------------------------------------------------------

@ -33,6 +33,10 @@ Core:
ARI. As a result, the 'DataGet' AMI action as well as the 'data get' ARI. As a result, the 'DataGet' AMI action as well as the 'data get'
CLI command have been removed. CLI command have been removed.
Build System:
- '--with-pjproject-bundled' is now the default when running ./configure
It can be disabled with '--without-pjproject-bundled'.
From 14.6.0 to 14.7.0: From 14.6.0 to 14.7.0:
Core: Core:

@ -26,7 +26,11 @@ if [[ -z "${tmpdir}" ]] ; then
fi fi
trap "rm -rf ${tmpdir}" EXIT trap "rm -rf ${tmpdir}" EXIT
sed -r -e "s/^([^ =]+)\s*=\s*(.*)$/\1=\"\2\"/g" ${ASTTOPDIR}/makeopts >${tmpdir}/makeopts # We have to pre-process the makeopts file so it will be parsable by bash
# Surround values with double quotes
# Convert make $(or) functions to bash ${name:-value}
sed -r -e "s/^([^ =]+)\s*=\s*(.*)$/\1=\"\2\"/g" \
-e 's/^([^ =]+)="\$\(or ([^,]*),([^)]+)\)"/_tmp="\2"\n\1="${_tmp:-\3}"/g' ${ASTTOPDIR}/makeopts >${tmpdir}/makeopts
source ${tmpdir}/makeopts source ${tmpdir}/makeopts
if [[ -z "${ASTMODDIR}" ]] ; then if [[ -z "${ASTMODDIR}" ]] ; then
echo "${module_name}: Unable to parse ${ASTTOPDIR}/makeopts." echo "${module_name}: Unable to parse ${ASTTOPDIR}/makeopts."

@ -14,7 +14,11 @@ if [[ -z "${tmpdir}" ]] ; then
fi fi
trap "rm -rf ${tmpdir}" EXIT trap "rm -rf ${tmpdir}" EXIT
sed -r -e "s/^([^ =]+)\s*=\s*(.*)$/\1=\"\2\"/g" ${ASTTOPDIR}/makeopts >${tmpdir}/makeopts # We have to pre-process the makeopts file so it will be parsable by bash
# Surround values with double quotes
# Convert make $(or) functions to bash ${name:-value}
sed -r -e "s/^([^ =]+)\s*=\s*(.*)$/\1=\"\2\"/g" \
-e 's/^([^ =]+)="\$\(or ([^,]*),([^)]+)\)"/_tmp="\2"\n\1="${_tmp:-\3}"/g' ${ASTTOPDIR}/makeopts >${tmpdir}/makeopts
source ${tmpdir}/makeopts source ${tmpdir}/makeopts
if [[ -z "${ASTMODDIR}" ]] ; then if [[ -z "${ASTMODDIR}" ]] ; then
echo "${module_name}: Unable to parse ${ASTTOPDIR}/makeopts." echo "${module_name}: Unable to parse ${ASTTOPDIR}/makeopts."

39
configure vendored

@ -1228,6 +1228,7 @@ AST_NESTED_FUNCTIONS
AST_CODE_COVERAGE AST_CODE_COVERAGE
EXTERNALS_CACHE_DIR EXTERNALS_CACHE_DIR
SOUNDS_CACHE_DIR SOUNDS_CACHE_DIR
AST_DOWNLOAD_CACHE
AST_DEVMODE_STRICT AST_DEVMODE_STRICT
AST_DEVMODE AST_DEVMODE
NOISY_BUILD NOISY_BUILD
@ -1381,6 +1382,7 @@ ac_user_opts='
enable_option_checking enable_option_checking
with_gnu_ld with_gnu_ld
enable_dev_mode enable_dev_mode
with_download_cache
with_sounds_cache with_sounds_cache
with_externals_cache with_externals_cache
enable_coverage enable_coverage
@ -2128,12 +2130,15 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-download-cache=PATH
use cached sound AND external module tarfiles in
PATH
--with-sounds-cache=PATH --with-sounds-cache=PATH
use cached sound tarfiles in PATH use cached sound tarfiles in PATH
--with-externals-cache=PATH --with-externals-cache=PATH
use cached external module tarfiles in PATH use cached external module tarfiles in PATH
--with-pjproject-bundled --with-pjproject-bundled
Use bundled pjproject libraries Use bundled pjproject libraries (default)
--with-asound=PATH use Advanced Linux Sound Architecture files in PATH --with-asound=PATH use Advanced Linux Sound Architecture files in PATH
--with-bfd=PATH use Debug symbol decoding files in PATH --with-bfd=PATH use Debug symbol decoding files in PATH
--with-execinfo=PATH use Stack Backtrace files in PATH --with-execinfo=PATH use Stack Backtrace files in PATH
@ -9055,6 +9060,30 @@ fi
# Check whether --with-download-cache was given.
if test "${with_download_cache+set}" = set; then :
withval=$with_download_cache;
case ${withval} in
n|no)
unset AST_DOWNLOAD_CACHE
;;
*)
if test "x${withval}" = "x"; then
:
else
AST_DOWNLOAD_CACHE="${withval}"
fi
;;
esac
else
:
fi
# Check whether --with-sounds-cache was given. # Check whether --with-sounds-cache was given.
if test "${with_sounds_cache+set}" = set; then : if test "${with_sounds_cache+set}" = set; then :
withval=$with_sounds_cache; withval=$with_sounds_cache;
@ -9254,7 +9283,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$save_CFLAGS" CFLAGS="$save_CFLAGS"
PJPROJECT_BUNDLED=no PJPROJECT_BUNDLED=yes
@ -9317,11 +9346,11 @@ $as_echo "configuring" >&6; }
PJPROJECT_CONFIGURE_OPTS+=" --host=$host" PJPROJECT_CONFIGURE_OPTS+=" --host=$host"
fi fi
export TAR PATCH SED NM EXTERNALS_CACHE_DIR DOWNLOAD_TO_STDOUT DOWNLOAD_TIMEOUT DOWNLOAD MD5 CAT export TAR PATCH SED NM EXTERNALS_CACHE_DIR AST_DOWNLOAD_CACHE DOWNLOAD_TO_STDOUT DOWNLOAD_TIMEOUT DOWNLOAD MD5 CAT
export NOISY_BUILD export NOISY_BUILD
${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} \ ${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} \
PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" \ PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" \
EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR}" \ EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR:-${AST_DOWNLOAD_CACHE}}" \
configure configure
if test $? -ne 0 ; then if test $? -ne 0 ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
@ -9334,7 +9363,7 @@ $as_echo "$as_me: Unable to configure ${PJPROJECT_DIR}" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bundled pjproject" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bundled pjproject" >&5
$as_echo_n "checking for bundled pjproject... " >&6; } $as_echo_n "checking for bundled pjproject... " >&6; }
PJPROJECT_INCLUDE=$(${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR}" echo_cflags) PJPROJECT_INCLUDE=$(${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR:-${AST_DOWNLOAD_CACHE}}" echo_cflags)
PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE" PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE"
PBX_PJPROJECT=1 PBX_PJPROJECT=1

@ -407,6 +407,7 @@ AC_SUBST(NOISY_BUILD)
AC_SUBST(AST_DEVMODE) AC_SUBST(AST_DEVMODE)
AC_SUBST(AST_DEVMODE_STRICT) AC_SUBST(AST_DEVMODE_STRICT)
AST_OPTION_ONLY([download-cache], [AST_DOWNLOAD_CACHE], [cached sound AND external module tarfiles], [])
AST_OPTION_ONLY([sounds-cache], [SOUNDS_CACHE_DIR], [cached sound tarfiles], []) AST_OPTION_ONLY([sounds-cache], [SOUNDS_CACHE_DIR], [cached sound tarfiles], [])
AST_OPTION_ONLY([externals-cache], [EXTERNALS_CACHE_DIR], [cached external module tarfiles], []) AST_OPTION_ONLY([externals-cache], [EXTERNALS_CACHE_DIR], [cached external module tarfiles], [])
@ -424,12 +425,12 @@ AC_SUBST(AST_CODE_COVERAGE)
AST_CHECK_RAII() AST_CHECK_RAII()
AST_CHECK_STRSEP_ARRAY_BOUNDS() AST_CHECK_STRSEP_ARRAY_BOUNDS()
PJPROJECT_BUNDLED=no PJPROJECT_BUNDLED=yes
AH_TEMPLATE(m4_bpatsubst([[HAVE_PJPROJECT_BUNDLED]], [(.*)]), [Define to 1 when using the bundled pjproject.]) AH_TEMPLATE(m4_bpatsubst([[HAVE_PJPROJECT_BUNDLED]], [(.*)]), [Define to 1 when using the bundled pjproject.])
AC_ARG_WITH([pjproject-bundled], AC_ARG_WITH([pjproject-bundled],
[AS_HELP_STRING([--with-pjproject-bundled], [AS_HELP_STRING([--with-pjproject-bundled],
[Use bundled pjproject libraries])], [Use bundled pjproject libraries (default)])],
[case "${withval}" in [case "${withval}" in
n|no) PJPROJECT_BUNDLED=no ;; n|no) PJPROJECT_BUNDLED=no ;;
*) PJPROJECT_BUNDLED=yes ;; *) PJPROJECT_BUNDLED=yes ;;

@ -29,8 +29,9 @@ FETCH=@FETCH@
DOWNLOAD=@DOWNLOAD@ DOWNLOAD=@DOWNLOAD@
DOWNLOAD_TO_STDOUT=@DOWNLOAD_TO_STDOUT@ DOWNLOAD_TO_STDOUT=@DOWNLOAD_TO_STDOUT@
DOWNLOAD_TIMEOUT=@DOWNLOAD_TIMEOUT@ DOWNLOAD_TIMEOUT=@DOWNLOAD_TIMEOUT@
SOUNDS_CACHE_DIR=@SOUNDS_CACHE_DIR@ AST_DOWNLOAD_CACHE=@AST_DOWNLOAD_CACHE@
EXTERNALS_CACHE_DIR=@EXTERNALS_CACHE_DIR@ SOUNDS_CACHE_DIR=$(or @SOUNDS_CACHE_DIR@,${AST_DOWNLOAD_CACHE})
EXTERNALS_CACHE_DIR=$(or @EXTERNALS_CACHE_DIR@,${AST_DOWNLOAD_CACHE})
RUBBER=@RUBBER@ RUBBER=@RUBBER@
CATDVI=@CATDVI@ CATDVI=@CATDVI@
KPATHSEA=@KPATHSEA@ KPATHSEA=@KPATHSEA@

@ -49,11 +49,11 @@ AC_DEFUN([_PJPROJECT_CONFIGURE],
PJPROJECT_CONFIGURE_OPTS+=" --host=$host" PJPROJECT_CONFIGURE_OPTS+=" --host=$host"
fi fi
export TAR PATCH SED NM EXTERNALS_CACHE_DIR DOWNLOAD_TO_STDOUT DOWNLOAD_TIMEOUT DOWNLOAD MD5 CAT export TAR PATCH SED NM EXTERNALS_CACHE_DIR AST_DOWNLOAD_CACHE DOWNLOAD_TO_STDOUT DOWNLOAD_TIMEOUT DOWNLOAD MD5 CAT
export NOISY_BUILD export NOISY_BUILD
${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} \ ${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} \
PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" \ PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" \
EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR}" \ EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR:-${AST_DOWNLOAD_CACHE}}" \
configure configure
if test $? -ne 0 ; then if test $? -ne 0 ; then
AC_MSG_RESULT(failed) AC_MSG_RESULT(failed)
@ -63,7 +63,7 @@ AC_DEFUN([_PJPROJECT_CONFIGURE],
AC_MSG_CHECKING(for bundled pjproject) AC_MSG_CHECKING(for bundled pjproject)
PJPROJECT_INCLUDE=$(${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR}" echo_cflags) PJPROJECT_INCLUDE=$(${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR:-${AST_DOWNLOAD_CACHE}}" echo_cflags)
PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE" PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE"
PBX_PJPROJECT=1 PBX_PJPROJECT=1

Loading…
Cancel
Save