From d3a6714158103120aeeffd62df662799858b0654 Mon Sep 17 00:00:00 2001 From: Jean Aunis Date: Wed, 23 Jan 2019 14:59:00 +0100 Subject: [PATCH] build : Fix cross-compilation errors Bundled pjproject and jansson must be configured with the host and build parameters provided to the configure script. Autotools do not permit to check for the existence of local header files, so the control of hrirs.h must not be done when cross-compiling. ASTERISK-28250 Change-Id: If0a76e52a87d4ab82b7d4c72d27d8759ca931880 --- configure | 13 ++++++++----- configure.ac | 5 ++++- third-party/jansson/configure.m4 | 4 ++-- third-party/pjproject/configure.m4 | 4 ++-- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/configure b/configure index a69ba62aba..d8e1cbf516 100755 --- a/configure +++ b/configure @@ -9270,10 +9270,10 @@ $as_echo "configuring" >&6; } this_host=$(./config.sub $(./config.guess)) if test "$build" != "$this_host" ; then - JANSSON_CONFIGURE_OPTS+=" --build=$build" + JANSSON_CONFIGURE_OPTS+=" --build=$build_alias" fi if test "$host" != "$this_host" ; then - JANSSON_CONFIGURE_OPTS+=" --host=$host" + JANSSON_CONFIGURE_OPTS+=" --host=$host_alias" fi export TAR PATCH SED NM EXTERNALS_CACHE_DIR AST_DOWNLOAD_CACHE DOWNLOAD_TO_STDOUT DOWNLOAD_TIMEOUT DOWNLOAD MD5 CAT CUT GREP @@ -9391,10 +9391,10 @@ $as_echo "configuring" >&6; } this_host=$(./config.sub $(./config.guess)) if test "$build" != "$this_host" ; then - PJPROJECT_CONFIGURE_OPTS+=" --build=$build" + PJPROJECT_CONFIGURE_OPTS+=" --build=$build_alias" fi if test "$host" != "$this_host" ; then - PJPROJECT_CONFIGURE_OPTS+=" --host=$host" + PJPROJECT_CONFIGURE_OPTS+=" --host=$host_alias" fi # This was a copy of the autoconf generated code from the root ./configure. # Hopefully, when you read this, the code is still the same. @@ -34577,7 +34577,9 @@ else fi # conf_bridge (binaural rendering): check if HRIRs are available -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bridges/bridge_softmix/include/hrirs.h" >&5 +# this check does not work when cross-compiling +if test "${cross_compiling}" = "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bridges/bridge_softmix/include/hrirs.h" >&5 $as_echo_n "checking for bridges/bridge_softmix/include/hrirs.h... " >&6; } if ${ac_cv_file_bridges_bridge_softmix_include_hrirs_h+:} false; then : $as_echo_n "(cached) " >&6 @@ -34600,6 +34602,7 @@ _ACEOF fi +fi ac_config_files="$ac_config_files build_tools/menuselect-deps makeopts" diff --git a/configure.ac b/configure.ac index 9a016f457b..7acfcbcabd 100644 --- a/configure.ac +++ b/configure.ac @@ -2811,7 +2811,10 @@ else fi # conf_bridge (binaural rendering): check if HRIRs are available -AC_CHECK_FILES([bridges/bridge_softmix/include/hrirs.h]) +# this check does not work when cross-compiling +if test "${cross_compiling}" = "no"; then + AC_CHECK_FILES([bridges/bridge_softmix/include/hrirs.h]) +fi AC_CONFIG_FILES([build_tools/menuselect-deps makeopts]) AST_CHECK_MANDATORY diff --git a/third-party/jansson/configure.m4 b/third-party/jansson/configure.m4 index 9b10cad2ce..4570de195a 100644 --- a/third-party/jansson/configure.m4 +++ b/third-party/jansson/configure.m4 @@ -49,10 +49,10 @@ AC_DEFUN([_JANSSON_CONFIGURE], AC_ARG_VAR([JANSSON_CONFIGURE_OPTS],[Additional configure options to pass to bundled jansson]) this_host=$(./config.sub $(./config.guess)) if test "$build" != "$this_host" ; then - JANSSON_CONFIGURE_OPTS+=" --build=$build" + JANSSON_CONFIGURE_OPTS+=" --build=$build_alias" fi if test "$host" != "$this_host" ; then - JANSSON_CONFIGURE_OPTS+=" --host=$host" + JANSSON_CONFIGURE_OPTS+=" --host=$host_alias" fi export TAR PATCH SED NM EXTERNALS_CACHE_DIR AST_DOWNLOAD_CACHE DOWNLOAD_TO_STDOUT DOWNLOAD_TIMEOUT DOWNLOAD MD5 CAT CUT GREP diff --git a/third-party/pjproject/configure.m4 b/third-party/pjproject/configure.m4 index 85417100e6..9175a1177e 100644 --- a/third-party/pjproject/configure.m4 +++ b/third-party/pjproject/configure.m4 @@ -49,10 +49,10 @@ AC_DEFUN([_PJPROJECT_CONFIGURE], 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" + PJPROJECT_CONFIGURE_OPTS+=" --build=$build_alias" fi if test "$host" != "$this_host" ; then - PJPROJECT_CONFIGURE_OPTS+=" --host=$host" + PJPROJECT_CONFIGURE_OPTS+=" --host=$host_alias" fi # This was a copy of the autoconf generated code from the root ./configure. # Hopefully, when you read this, the code is still the same.