mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	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
This commit is contained in:
		
							
								
								
									
										10
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								CHANGES
									
									
									
									
									
								
							| @@ -34,6 +34,16 @@ app_queue | ||||
|    queue position has improved since the last time that we annouced their | ||||
|    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 ------------ | ||||
| ------------------------------------------------------------------------------ | ||||
|   | ||||
| @@ -33,6 +33,10 @@ Core: | ||||
|    ARI. As a result, the 'DataGet' AMI action as well as the 'data get' | ||||
|    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: | ||||
|  | ||||
| Core: | ||||
|   | ||||
| @@ -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." | ||||
|   | ||||
							
								
								
									
										39
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								configure
									
									
									
									
										vendored
									
									
								
							| @@ -1228,6 +1228,7 @@ AST_NESTED_FUNCTIONS | ||||
| AST_CODE_COVERAGE | ||||
| EXTERNALS_CACHE_DIR | ||||
| SOUNDS_CACHE_DIR | ||||
| AST_DOWNLOAD_CACHE | ||||
| AST_DEVMODE_STRICT | ||||
| AST_DEVMODE | ||||
| NOISY_BUILD | ||||
| @@ -1381,6 +1382,7 @@ ac_user_opts=' | ||||
| enable_option_checking | ||||
| with_gnu_ld | ||||
| enable_dev_mode | ||||
| with_download_cache | ||||
| with_sounds_cache | ||||
| with_externals_cache | ||||
| enable_coverage | ||||
| @@ -2128,12 +2130,15 @@ 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 | ||||
|                           use cached external module tarfiles in PATH | ||||
|   --with-pjproject-bundled | ||||
|                           Use bundled pjproject libraries | ||||
|                           Use bundled pjproject libraries (default) | ||||
|   --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 | ||||
| @@ -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. | ||||
| if test "${with_sounds_cache+set}" = set; then : | ||||
|   withval=$with_sounds_cache; | ||||
| @@ -9254,7 +9283,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||||
| 	CFLAGS="$save_CFLAGS" | ||||
|  | ||||
|  | ||||
| PJPROJECT_BUNDLED=no | ||||
| PJPROJECT_BUNDLED=yes | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -9317,11 +9346,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 | ||||
| @@ -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_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 | ||||
|  | ||||
|   | ||||
| @@ -407,6 +407,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], []) | ||||
|  | ||||
| @@ -424,12 +425,12 @@ AC_SUBST(AST_CODE_COVERAGE) | ||||
| AST_CHECK_RAII() | ||||
| 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.]) | ||||
|  | ||||
| AC_ARG_WITH([pjproject-bundled], | ||||
| 	[AS_HELP_STRING([--with-pjproject-bundled], | ||||
| 		[Use bundled pjproject libraries])], | ||||
| 		[Use bundled pjproject libraries (default)])], | ||||
| 	[case "${withval}" in | ||||
| 	      n|no) PJPROJECT_BUNDLED=no ;; | ||||
| 	      *) PJPROJECT_BUNDLED=yes ;; | ||||
|   | ||||
| @@ -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