mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 03:50:31 +00:00
configure: Add --with-download-cache option
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'. Change-Id: I5c3cf15ee61e8fe191b52732303e969854f8d861
This commit is contained in:
7
CHANGES
7
CHANGES
@@ -17,6 +17,13 @@ Core
|
||||
* VP9 is now a supported passthrough video codec and it can be used by
|
||||
specifying "vp9" in the allow line.
|
||||
|
||||
Build System
|
||||
------------------
|
||||
* 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.
|
||||
|
||||
res_pjsip
|
||||
------------------
|
||||
* The "external_media_address" on transports is now resolved using dnsmgr and
|
||||
|
@@ -26,7 +26,11 @@ if [[ -z "${tmpdir}" ]] ; then
|
||||
fi
|
||||
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
|
||||
if [[ -z "${ASTMODDIR}" ]] ; then
|
||||
echo "${module_name}: Unable to parse ${ASTTOPDIR}/makeopts."
|
||||
|
@@ -14,7 +14,11 @@ if [[ -z "${tmpdir}" ]] ; then
|
||||
fi
|
||||
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
|
||||
if [[ -z "${ASTMODDIR}" ]] ; then
|
||||
echo "${module_name}: Unable to parse ${ASTTOPDIR}/makeopts."
|
||||
|
35
configure
vendored
35
configure
vendored
@@ -1200,6 +1200,7 @@ AST_NESTED_FUNCTIONS
|
||||
AST_CODE_COVERAGE
|
||||
EXTERNALS_CACHE_DIR
|
||||
SOUNDS_CACHE_DIR
|
||||
AST_DOWNLOAD_CACHE
|
||||
AST_DEVMODE_STRICT
|
||||
AST_DEVMODE
|
||||
NOISY_BUILD
|
||||
@@ -1353,6 +1354,7 @@ ac_user_opts='
|
||||
enable_option_checking
|
||||
with_gnu_ld
|
||||
enable_dev_mode
|
||||
with_download_cache
|
||||
with_sounds_cache
|
||||
with_externals_cache
|
||||
enable_coverage
|
||||
@@ -2096,6 +2098,9 @@ 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-download-cache=PATH
|
||||
use cached sound AND external module tarfiles in
|
||||
PATH
|
||||
--with-sounds-cache=PATH
|
||||
use cached sound tarfiles in PATH
|
||||
--with-externals-cache=PATH
|
||||
@@ -9016,6 +9021,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.
|
||||
if test "${with_sounds_cache+set}" = set; then :
|
||||
withval=$with_sounds_cache;
|
||||
@@ -9278,11 +9307,11 @@ $as_echo "configuring" >&6; }
|
||||
PJPROJECT_CONFIGURE_OPTS+=" --host=$host"
|
||||
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
|
||||
${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} \
|
||||
PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" \
|
||||
EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR}" \
|
||||
EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR:-${AST_DOWNLOAD_CACHE}}" \
|
||||
configure
|
||||
if test $? -ne 0 ; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
|
||||
@@ -9295,7 +9324,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_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"
|
||||
PBX_PJPROJECT=1
|
||||
|
||||
|
@@ -408,6 +408,7 @@ AC_SUBST(NOISY_BUILD)
|
||||
AC_SUBST(AST_DEVMODE)
|
||||
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([externals-cache], [EXTERNALS_CACHE_DIR], [cached external module tarfiles], [])
|
||||
|
||||
|
@@ -29,8 +29,9 @@ FETCH=@FETCH@
|
||||
DOWNLOAD=@DOWNLOAD@
|
||||
DOWNLOAD_TO_STDOUT=@DOWNLOAD_TO_STDOUT@
|
||||
DOWNLOAD_TIMEOUT=@DOWNLOAD_TIMEOUT@
|
||||
SOUNDS_CACHE_DIR=@SOUNDS_CACHE_DIR@
|
||||
EXTERNALS_CACHE_DIR=@EXTERNALS_CACHE_DIR@
|
||||
AST_DOWNLOAD_CACHE=@AST_DOWNLOAD_CACHE@
|
||||
SOUNDS_CACHE_DIR=$(or @SOUNDS_CACHE_DIR@,${AST_DOWNLOAD_CACHE})
|
||||
EXTERNALS_CACHE_DIR=$(or @EXTERNALS_CACHE_DIR@,${AST_DOWNLOAD_CACHE})
|
||||
RUBBER=@RUBBER@
|
||||
CATDVI=@CATDVI@
|
||||
KPATHSEA=@KPATHSEA@
|
||||
|
6
third-party/pjproject/configure.m4
vendored
6
third-party/pjproject/configure.m4
vendored
@@ -49,11 +49,11 @@ AC_DEFUN([_PJPROJECT_CONFIGURE],
|
||||
PJPROJECT_CONFIGURE_OPTS+=" --host=$host"
|
||||
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
|
||||
${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} \
|
||||
PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" \
|
||||
EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR}" \
|
||||
EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_DIR:-${AST_DOWNLOAD_CACHE}}" \
|
||||
configure
|
||||
if test $? -ne 0 ; then
|
||||
AC_MSG_RESULT(failed)
|
||||
@@ -63,7 +63,7 @@ AC_DEFUN([_PJPROJECT_CONFIGURE],
|
||||
|
||||
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"
|
||||
PBX_PJPROJECT=1
|
||||
|
||||
|
Reference in New Issue
Block a user