mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 11:58:52 +00:00
pjproject_bundled: Allow passing configure options to bundled
There wasn't any good way to pass options like --host or --build down to the pjproject configure which makes cross-compiling difficult. * Added a new PJPROJECT_CONFIGURE_OPTS environment variable which can be used to pass arbitrary options to pjproject configure. * Automatically set the pjproject configure --host and --build options to match those supplied for the asterisk configure. ASTERISK-27097 #close Reported-by: Kinsey Moore Change-Id: I5fa776e110262851173002a26ffe1172e4c35b2e
This commit is contained in:
8
CHANGES
8
CHANGES
@@ -54,6 +54,14 @@ chan_pjsip
|
||||
from the SDP, unless the remote side sends a different codec and we will
|
||||
switch to match.
|
||||
|
||||
Build System
|
||||
------------------
|
||||
* Added a new PJPROJECT_CONFIGURE_OPTS environment variable which can be used
|
||||
to pass arbitrary options to the bundled pjproject configure.
|
||||
|
||||
* Automatically set the bundled pjproject configure --host and --build
|
||||
options to match those supplied for the asterisk configure.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
--- Functionality changes from Asterisk 13.15.0 to Asterisk 13.16.0 ----------
|
||||
------------------------------------------------------------------------------
|
||||
|
47
configure
vendored
47
configure
vendored
@@ -1191,6 +1191,7 @@ PJPROJECT_LIB
|
||||
PBX_PJPROJECT
|
||||
PJPROJECT_DIR
|
||||
PJPROJECT_BUNDLED
|
||||
PJPROJECT_CONFIGURE_OPTS
|
||||
AST_C_COMPILER_FAMILY
|
||||
AST_CLANG_BLOCKS
|
||||
AST_CLANG_BLOCKS_LIBS
|
||||
@@ -1327,7 +1328,6 @@ infodir
|
||||
docdir
|
||||
oldincludedir
|
||||
includedir
|
||||
runstatedir
|
||||
localstatedir
|
||||
sharedstatedir
|
||||
sysconfdir
|
||||
@@ -1452,6 +1452,7 @@ CXX
|
||||
CXXFLAGS
|
||||
CCC
|
||||
CXXCPP
|
||||
PJPROJECT_CONFIGURE_OPTS
|
||||
PKG_CONFIG
|
||||
PKG_CONFIG_PATH
|
||||
PKG_CONFIG_LIBDIR
|
||||
@@ -1507,7 +1508,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 +1760,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 +1897,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 +2050,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]
|
||||
@@ -2206,6 +2196,8 @@ Some influential environment variables:
|
||||
CXX C++ compiler command
|
||||
CXXFLAGS C++ compiler flags
|
||||
CXXCPP C++ preprocessor
|
||||
PJPROJECT_CONFIGURE_OPTS
|
||||
Additional configure options to pass to bundled pjproject
|
||||
PKG_CONFIG path to pkg-config utility
|
||||
PKG_CONFIG_PATH
|
||||
directories to add to pkg-config's search path
|
||||
@@ -9276,20 +9268,33 @@ $as_echo "configuring" >&6; }
|
||||
as_fn_error $? "cat is required to build bundled pjproject" "$LINENO" 5
|
||||
fi
|
||||
|
||||
|
||||
this_host=$(./config.sub $(./config.guess))
|
||||
if test "$build" != "$this_host" ; then
|
||||
PJPROJECT_CONFIGURE_OPTS+=" --build=$build"
|
||||
fi
|
||||
if test "$host" != "$this_host" ; then
|
||||
PJPROJECT_CONFIGURE_OPTS+=" --host=$host"
|
||||
fi
|
||||
|
||||
export TAR PATCH SED NM EXTERNALS_CACHE_DIR DOWNLOAD_TO_STDOUT DOWNLOAD_TIMEOUT DOWNLOAD MD5 CAT
|
||||
${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} EXTERNALS_CACHE_DIR=${EXTERNALS_CACHE_DIR} configure
|
||||
export NOISY_BUILD
|
||||
${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} \
|
||||
PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" \
|
||||
EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_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
|
||||
as_fn_error $? "Re-run the ./configure command with 'NOISY_BUILD=yes' appended 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} 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}" echo_cflags)
|
||||
PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE"
|
||||
PBX_PJPROJECT=1
|
||||
|
||||
@@ -14668,7 +14673,7 @@ else
|
||||
We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
||||
since some C++ compilers masquerading as C compilers
|
||||
incorrectly reject 9223372036854775807. */
|
||||
#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
|
||||
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
||||
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
||||
&& LARGE_OFF_T % 2147483647 == 1)
|
||||
? 1 : -1];
|
||||
@@ -14714,7 +14719,7 @@ else
|
||||
We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
||||
since some C++ compilers masquerading as C compilers
|
||||
incorrectly reject 9223372036854775807. */
|
||||
#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
|
||||
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
||||
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
||||
&& LARGE_OFF_T % 2147483647 == 1)
|
||||
? 1 : -1];
|
||||
@@ -14738,7 +14743,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
||||
since some C++ compilers masquerading as C compilers
|
||||
incorrectly reject 9223372036854775807. */
|
||||
#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
|
||||
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
||||
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
||||
&& LARGE_OFF_T % 2147483647 == 1)
|
||||
? 1 : -1];
|
||||
@@ -14783,7 +14788,7 @@ else
|
||||
We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
||||
since some C++ compilers masquerading as C compilers
|
||||
incorrectly reject 9223372036854775807. */
|
||||
#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
|
||||
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
||||
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
||||
&& LARGE_OFF_T % 2147483647 == 1)
|
||||
? 1 : -1];
|
||||
@@ -14807,7 +14812,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
We can't simply define LARGE_OFF_T to be 9223372036854775807,
|
||||
since some C++ compilers masquerading as C compilers
|
||||
incorrectly reject 9223372036854775807. */
|
||||
#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
|
||||
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
|
||||
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
|
||||
&& LARGE_OFF_T % 2147483647 == 1)
|
||||
? 1 : -1];
|
||||
|
5
third-party/configure.m4
vendored
5
third-party/configure.m4
vendored
@@ -1,4 +1,7 @@
|
||||
|
||||
#
|
||||
# If this file is changed, be sure to run ASTTOPDIR/bootstrap.sh
|
||||
# before committing.
|
||||
#
|
||||
|
||||
AC_DEFUN([THIRD_PARTY_CONFIGURE],
|
||||
[
|
||||
|
5
third-party/pjproject/Makefile.rules
vendored
5
third-party/pjproject/Makefile.rules
vendored
@@ -1,8 +1,11 @@
|
||||
PJPROJECT_URL ?= https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/$(PJPROJECT_VERSION)
|
||||
|
||||
# PJPROJECT_CONFIGURE_OPTS could come from the command line or could be
|
||||
# set/modified by configure.m4 if the build or host tuples aren't the same
|
||||
# as the current build environment (cross-compile).
|
||||
# Even though we're not installing pjproject, we're setting prefix to /opt/pjproject to be safe
|
||||
|
||||
PJPROJECT_CONFIG_OPTS = --prefix=/opt/pjproject \
|
||||
PJPROJECT_CONFIG_OPTS = $(PJPROJECT_CONFIGURE_OPTS) --prefix=/opt/pjproject \
|
||||
--disable-speex-codec \
|
||||
--disable-speex-aec \
|
||||
--disable-speex-aec \
|
||||
|
24
third-party/pjproject/configure.m4
vendored
24
third-party/pjproject/configure.m4
vendored
@@ -1,3 +1,8 @@
|
||||
#
|
||||
# If this file is changed, be sure to run ASTTOPDIR/bootstrap.sh
|
||||
# before committing.
|
||||
#
|
||||
|
||||
AC_DEFUN([_PJPROJECT_CONFIGURE],
|
||||
[
|
||||
if test "${ac_mandatory_list#*PJPROJECT*}" != "$ac_mandatory_list" ; then
|
||||
@@ -35,17 +40,30 @@ AC_DEFUN([_PJPROJECT_CONFIGURE],
|
||||
AC_MSG_ERROR(cat is required to build bundled pjproject)
|
||||
fi
|
||||
|
||||
AC_ARG_VAR([PJPROJECT_CONFIGURE_OPTS],[Additional configure options to pass to bundled pjproject])
|
||||
this_host=$(./config.sub $(./config.guess))
|
||||
if test "$build" != "$this_host" ; then
|
||||
PJPROJECT_CONFIGURE_OPTS+=" --build=$build"
|
||||
fi
|
||||
if test "$host" != "$this_host" ; then
|
||||
PJPROJECT_CONFIGURE_OPTS+=" --host=$host"
|
||||
fi
|
||||
|
||||
export TAR PATCH SED NM EXTERNALS_CACHE_DIR DOWNLOAD_TO_STDOUT DOWNLOAD_TIMEOUT DOWNLOAD MD5 CAT
|
||||
${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} EXTERNALS_CACHE_DIR=${EXTERNALS_CACHE_DIR} configure
|
||||
export NOISY_BUILD
|
||||
${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} \
|
||||
PJPROJECT_CONFIGURE_OPTS="$PJPROJECT_CONFIGURE_OPTS" \
|
||||
EXTERNALS_CACHE_DIR="${EXTERNALS_CACHE_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.)
|
||||
AC_MSG_ERROR(Re-run the ./configure command with 'NOISY_BUILD=yes' appended to see error details.)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for bundled pjproject)
|
||||
|
||||
PJPROJECT_INCLUDE=$(${GNU_MAKE} --quiet --no-print-directory -C ${PJPROJECT_DIR} 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}" echo_cflags)
|
||||
PJPROJECT_CFLAGS="$PJPROJECT_INCLUDE"
|
||||
PBX_PJPROJECT=1
|
||||
|
||||
|
Reference in New Issue
Block a user