From c07e3c2f4d644155ff72d393987c2679bdd93da6 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Tue, 19 Oct 2021 10:35:26 -0600 Subject: [PATCH] BuildSystem: Check for alternate openssl packages OpenSSL is one of those packages that often have alternatives with later versions. For instance, CentOS/EL 7 has an openssl package at version 1.0.2 but there's an openssl11 package from the epel repository that has 1.1.1. This gets installed to /usr/include/openssl11 and /usr/lib64/openssl11. Unfortunately, the existing --with-ssl and --with-crypto ./configure options expect to point to a source tree and don't work in this situation. Also unfortunately, the checks in ./configure don't use pkg-config. In order to make this work with the existing situation, you'd have to run... ./configure --with-ssl=/usr/lib64/openssl11 \ --with-crypto=/usr/lib64/openssl11 \ CFLAGS=-I/usr/include/openssl11 BUT... those options don't get passed down to bundled pjproject so when you run make, you have to include the CFLAGS again which is a big pain. Oh... To make matters worse, although you can specify PJPROJECT_CONFIGURE_OPTS on the ./configure command line, they don't get saved so if you do a make clean, which will force a re-configure of bundled pjproject, those options don't get used. So... * In configure.ac... Since pkg-config is installed by install_prereq anyway, we now use it to check for the system openssl >= 1.1.0. If that works, great. If not, we check for the openssl11 package. If that works, great. If not, we fall back to just checking for any openssl. If pkg-config isn't installed for some reason, or --with-ssl= or --with-crypto= were specified on the ./configure command line, we fall back to the existing logic that uses AST_EXT_LIB_CHECK(). * The whole OpenSSL check process has been moved up before THIRD_PARTY_CONFIGURE(), which does the initial pjproject bundled configure, is run. This way the results of the above checks, which may result in new include or library directories, is included. * Although not strictly needed for openssl, We now save the value of PJPROJECT_CONFIGURE_OPTS in the makeopts file so it can be used again if a re-configure is triggered. ASTERISK-29693 Change-Id: I341ab7603e6b156aa15a66f43675ac5029d5fbde --- configure | 1359 +++++++++++++++++----------- configure.ac | 61 +- include/asterisk/autoconfig.h.in | 2 +- makeopts.in | 1 + menuselect/configure | 14 +- third-party/pjproject/Makefile | 6 +- third-party/pjproject/configure.m4 | 1 + 7 files changed, 902 insertions(+), 542 deletions(-) diff --git a/configure b/configure index 0ce03e96ea..f89bac93d0 100755 --- a/configure +++ b/configure @@ -711,9 +711,6 @@ UUID_LIB UUID_INCLUDE LIBEDIT_LIBS LIBEDIT_CFLAGS -PKG_CONFIG_LIBDIR -PKG_CONFIG_PATH -PKG_CONFIG ALLOCA PBX_ZLIB ZLIB_DIR @@ -759,10 +756,6 @@ PBX_RT RT_DIR RT_INCLUDE RT_LIB -PBX_OPENSSL -OPENSSL_DIR -OPENSSL_INCLUDE -OPENSSL_LIB PBX_SRTP_GET_VERSION SRTP_GET_VERSION_DIR SRTP_GET_VERSION_INCLUDE @@ -1153,14 +1146,6 @@ PBX_DAHDI DAHDI_DIR DAHDI_INCLUDE DAHDI_LIB -PBX_OPENSSL_BIO_METHOD -OPENSSL_BIO_METHOD_DIR -OPENSSL_BIO_METHOD_INCLUDE -OPENSSL_BIO_METHOD_LIB -PBX_CRYPTO -CRYPTO_DIR -CRYPTO_INCLUDE -CRYPTO_LIB PBX_CRYPT CRYPT_DIR CRYPT_INCLUDE @@ -1208,6 +1193,20 @@ JANSSON_LIB PBX_JANSSON JANSSON_BUNDLED JANSSON_CONFIGURE_OPTS +OPENSSL_LIBS +OPENSSL_CFLAGS +PBX_OPENSSL_BIO_METHOD +OPENSSL_BIO_METHOD_DIR +OPENSSL_BIO_METHOD_INCLUDE +OPENSSL_BIO_METHOD_LIB +PBX_OPENSSL +OPENSSL_DIR +OPENSSL_INCLUDE +OPENSSL_LIB +PBX_CRYPTO +CRYPTO_DIR +CRYPTO_INCLUDE +CRYPTO_LIB AST_C_COMPILER_FAMILY AST_CLANG_BLOCKS AST_CLANG_BLOCKS_LIBS @@ -1230,6 +1229,9 @@ PBX_BASH PBX_XMLSTARLET PBX_FLEX PBX_BISON +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG OPENSSL SHA1SUM LDCONFIG @@ -1377,6 +1379,8 @@ with_externals_cache enable_coverage with_jansson_bundled with_pjproject_bundled +with_crypto +with_ssl with_asound with_bfd with_execinfo @@ -1385,7 +1389,6 @@ with_cap with_codec2 with_cpg with_crypt -with_crypto with_dahdi with_avcodec with_gsm @@ -1442,7 +1445,6 @@ with_speexdsp with_sqlite with_sqlite3 with_srtp -with_ssl with_suppserv with_tds with_timerfd @@ -1473,12 +1475,14 @@ CXX CXXFLAGS CCC CXXCPP -JANSSON_CONFIGURE_OPTS -PJPROJECT_CONFIGURE_OPTS -LUA_VERSIONS PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR +OPENSSL_CFLAGS +OPENSSL_LIBS +JANSSON_CONFIGURE_OPTS +PJPROJECT_CONFIGURE_OPTS +LUA_VERSIONS LIBEDIT_CFLAGS LIBEDIT_LIBS JANSSON_CFLAGS @@ -2148,6 +2152,8 @@ Optional Packages: --with-jansson-bundled Use bundled jansson library --with-pjproject-bundled Use bundled pjproject libraries (default) + --with-crypto=PATH use OpenSSL Cryptography files in PATH + --with-ssl=PATH use OpenSSL Secure Sockets Layer 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-execinfo=PATH use Stack Backtrace files in PATH @@ -2156,7 +2162,6 @@ Optional Packages: --with-codec2=PATH use Codec 2 Audio Decoder/Encoder files in PATH --with-cpg=PATH use Corosync files in PATH --with-crypt=PATH use password and data encryption files in PATH - --with-crypto=PATH use OpenSSL Cryptography files in PATH --with-dahdi=PATH use DAHDI files in PATH --with-avcodec=PATH use Ffmpeg and avcodec files in PATH --with-gsm=PATH use External GSM files in PATH, use 'internal' GSM @@ -2217,7 +2222,6 @@ Optional Packages: --with-sqlite=PATH use SQLite files in PATH --with-sqlite3=PATH use SQLite files in PATH --with-srtp=PATH use Secure RTP files in PATH - --with-ssl=PATH use OpenSSL Secure Sockets Layer files in PATH --with-suppserv=PATH use mISDN Supplemental Services files in PATH --with-tds=PATH use FreeTDS files in PATH --with-timerfd=PATH use timerfd files in PATH @@ -2241,17 +2245,21 @@ Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor + PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path + OPENSSL_CFLAGS + C compiler flags for OPENSSL, overriding pkg-config + OPENSSL_LIBS + linker flags for OPENSSL, overriding pkg-config JANSSON_CONFIGURE_OPTS Additional configure options to pass to bundled jansson PJPROJECT_CONFIGURE_OPTS Additional configure options to pass to bundled pjproject LUA_VERSIONS A space separated list of target lua versions to test. - PKG_CONFIG path to pkg-config utility - PKG_CONFIG_PATH - directories to add to pkg-config's search path - PKG_CONFIG_LIBDIR - path overriding pkg-config's built-in search path LIBEDIT_CFLAGS C compiler flags for LIBEDIT, overriding pkg-config LIBEDIT_LIBS @@ -7870,6 +7878,127 @@ fi + + + + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bison that supports parse-param" >&5 $as_echo_n "checking for bison that supports parse-param... " >&6; } if ${ac_cv_path_BISON2+:} false; then : @@ -9084,6 +9213,679 @@ if test "${with_pjproject}" == "no" || test "${with_pjproject}" == "n" ; then PJPROJECT_BUNDLED=no fi +# +# OpenSSL stuff has to be done here because we want to pass +# any resulting CFLAGS and LDFLAGS to the bundled pjproject +# configure done in THIRD_PARTY_CONFIGURE() +# + + CRYPTO_DESCRIP="OpenSSL Cryptography" + CRYPTO_OPTION="crypto" + PBX_CRYPTO=0 + +# Check whether --with-crypto was given. +if test "${with_crypto+set}" = set; then : + withval=$with_crypto; + case ${withval} in + n|no) + USE_CRYPTO=no + # -1 is a magic value used by menuselect to know that the package + # was disabled, other than 'not found' + PBX_CRYPTO=-1 + ;; + y|ye|yes) + ac_mandatory_list="${ac_mandatory_list} CRYPTO" + ;; + *) + CRYPTO_DIR="${withval}" + ac_mandatory_list="${ac_mandatory_list} CRYPTO" + ;; + esac + +fi + + + + + + + + + OPENSSL_DESCRIP="OpenSSL Secure Sockets Layer" + OPENSSL_OPTION="ssl" + PBX_OPENSSL=0 + +# Check whether --with-ssl was given. +if test "${with_ssl+set}" = set; then : + withval=$with_ssl; + case ${withval} in + n|no) + USE_OPENSSL=no + # -1 is a magic value used by menuselect to know that the package + # was disabled, other than 'not found' + PBX_OPENSSL=-1 + ;; + y|ye|yes) + ac_mandatory_list="${ac_mandatory_list} OPENSSL" + ;; + *) + OPENSSL_DIR="${withval}" + ac_mandatory_list="${ac_mandatory_list} OPENSSL" + ;; + esac + +fi + + + + + + + + +OPENSSL_BIO_METHOD_DESCRIP="OpenSSL BIO Method Support" +OPENSSL_BIO_METHOD_OPTION=crypto +OPENSSL_BIO_METHOD_DIR=${CRYPTO_DIR} + +PBX_OPENSSL_BIO_METHOD=0 + + + + + + + +# If neither --without-ssl (PBX_OPENSSL=-1) nor --without-crypto (PBX_CRYPTO=-1) +# and there were no directories atdded to --with-ssl and --with-crypto, and +# pkg-config is installed (which is should be by install_prereq). +if test "x$PKG_CONFIG" != "x" -a $PBX_OPENSSL -ge 0 -a $PBX_CRYPTO -ge 0 -a "x$OPENSSL_DIR" == "x" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking OPENSSL with pkg-config" >&5 +$as_echo "$as_me: checking OPENSSL with pkg-config" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system openssl > 1.1.0" >&5 +$as_echo "$as_me: checking whether system openssl > 1.1.0" >&6;} + + if test "x${PBX_OPENSSL}" != "x1" -a "${USE_OPENSSL}" != "no"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OPENSSL" >&5 +$as_echo_n "checking for OPENSSL... " >&6; } + +if test -n "$OPENSSL_CFLAGS"; then + pkg_cv_OPENSSL_CFLAGS="$OPENSSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "openssl >= 1.1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl >= 1.1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$OPENSSL_LIBS"; then + pkg_cv_OPENSSL_LIBS="$OPENSSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "openssl >= 1.1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl >= 1.1.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + OPENSSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "openssl >= 1.1.0" 2>&1` + else + OPENSSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "openssl >= 1.1.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$OPENSSL_PKG_ERRORS" >&5 + + + PBX_OPENSSL=0 + + +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + PBX_OPENSSL=0 + + +else + OPENSSL_CFLAGS=$pkg_cv_OPENSSL_CFLAGS + OPENSSL_LIBS=$pkg_cv_OPENSSL_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + + PBX_OPENSSL=1 + OPENSSL_INCLUDE=$(echo ${OPENSSL_CFLAGS} | $SED -e "s|-std=c99||g") + OPENSSL_LIB="$OPENSSL_LIBS" + +$as_echo "#define HAVE_OPENSSL 1" >>confdefs.h + + +fi + fi + + if test $PBX_OPENSSL -eq 0 ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether alternate openssl11 is installed" >&5 +$as_echo "$as_me: checking whether alternate openssl11 is installed" >&6;} + + if test "x${PBX_OPENSSL}" != "x1" -a "${USE_OPENSSL}" != "no"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OPENSSL" >&5 +$as_echo_n "checking for OPENSSL... " >&6; } + +if test -n "$OPENSSL_CFLAGS"; then + pkg_cv_OPENSSL_CFLAGS="$OPENSSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl11\""; } >&5 + ($PKG_CONFIG --exists --print-errors "openssl11") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl11" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$OPENSSL_LIBS"; then + pkg_cv_OPENSSL_LIBS="$OPENSSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl11\""; } >&5 + ($PKG_CONFIG --exists --print-errors "openssl11") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl11" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + OPENSSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "openssl11" 2>&1` + else + OPENSSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "openssl11" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$OPENSSL_PKG_ERRORS" >&5 + + + PBX_OPENSSL=0 + + +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + PBX_OPENSSL=0 + + +else + OPENSSL_CFLAGS=$pkg_cv_OPENSSL_CFLAGS + OPENSSL_LIBS=$pkg_cv_OPENSSL_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + + PBX_OPENSSL=1 + OPENSSL_INCLUDE=$(echo ${OPENSSL_CFLAGS} | $SED -e "s|-std=c99||g") + OPENSSL_LIB="$OPENSSL_LIBS" + +$as_echo "#define HAVE_OPENSSL 1" >>confdefs.h + + +fi + fi + + fi + if test $PBX_OPENSSL -eq 1 ; then + $as_echo "#define HAVE_OPENSSL_BIO_METHOD 1" >>confdefs.h + + PBX_OPENSSL_BIO_METHOD=1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking fallback system openssl" >&5 +$as_echo "$as_me: checking fallback system openssl" >&6;} + + if test "x${PBX_OPENSSL}" != "x1" -a "${USE_OPENSSL}" != "no"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OPENSSL" >&5 +$as_echo_n "checking for OPENSSL... " >&6; } + +if test -n "$OPENSSL_CFLAGS"; then + pkg_cv_OPENSSL_CFLAGS="$OPENSSL_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl\""; } >&5 + ($PKG_CONFIG --exists --print-errors "openssl") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$OPENSSL_LIBS"; then + pkg_cv_OPENSSL_LIBS="$OPENSSL_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl\""; } >&5 + ($PKG_CONFIG --exists --print-errors "openssl") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + OPENSSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "openssl" 2>&1` + else + OPENSSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "openssl" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$OPENSSL_PKG_ERRORS" >&5 + + + PBX_OPENSSL=0 + + +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + PBX_OPENSSL=0 + + +else + OPENSSL_CFLAGS=$pkg_cv_OPENSSL_CFLAGS + OPENSSL_LIBS=$pkg_cv_OPENSSL_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + + PBX_OPENSSL=1 + OPENSSL_INCLUDE=$(echo ${OPENSSL_CFLAGS} | $SED -e "s|-std=c99||g") + OPENSSL_LIB="$OPENSSL_LIBS" + +$as_echo "#define HAVE_OPENSSL 1" >>confdefs.h + + +fi + fi + + fi + + if test $PBX_OPENSSL -eq 1; then + $as_echo "#define HAVE_CRYPTO 1" >>confdefs.h + + PBX_CRYPTO=1 + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: Checking OPENSSL without pkg-config" >&5 +$as_echo "$as_me: Checking OPENSSL without pkg-config" >&6;} + +if test "x${PBX_CRYPTO}" != "x1" -a "${USE_CRYPTO}" != "no"; then + pbxlibdir="" + # if --with-CRYPTO=DIR has been specified, use it. + if test "x${CRYPTO_DIR}" != "x"; then + if test -d ${CRYPTO_DIR}/lib; then + pbxlibdir="-L${CRYPTO_DIR}/lib" + else + pbxlibdir="-L${CRYPTO_DIR}" + fi + fi + + ast_ext_lib_check_save_CFLAGS="${CFLAGS}" + CFLAGS="${CFLAGS} " + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AES_encrypt in -lcrypto" >&5 +$as_echo_n "checking for AES_encrypt in -lcrypto... " >&6; } +if ${ac_cv_lib_crypto_AES_encrypt+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcrypto ${pbxlibdir} $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char AES_encrypt (); +int +main () +{ +return AES_encrypt (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_crypto_AES_encrypt=yes +else + ac_cv_lib_crypto_AES_encrypt=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_AES_encrypt" >&5 +$as_echo "$ac_cv_lib_crypto_AES_encrypt" >&6; } +if test "x$ac_cv_lib_crypto_AES_encrypt" = xyes; then : + AST_CRYPTO_FOUND=yes +else + AST_CRYPTO_FOUND=no +fi + + CFLAGS="${ast_ext_lib_check_save_CFLAGS}" + + + # now check for the header. + if test "${AST_CRYPTO_FOUND}" = "yes"; then + CRYPTO_LIB="${pbxlibdir} -lcrypto " + # if --with-CRYPTO=DIR has been specified, use it. + if test "x${CRYPTO_DIR}" != "x"; then + CRYPTO_INCLUDE="-I${CRYPTO_DIR}/include" + fi + CRYPTO_INCLUDE="${CRYPTO_INCLUDE} " + + # check for the header + ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" + CPPFLAGS="${CPPFLAGS} ${CRYPTO_INCLUDE}" + ac_fn_c_check_header_mongrel "$LINENO" "openssl/aes.h" "ac_cv_header_openssl_aes_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_aes_h" = xyes; then : + CRYPTO_HEADER_FOUND=1 +else + CRYPTO_HEADER_FOUND=0 +fi + + + CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}" + + if test "x${CRYPTO_HEADER_FOUND}" = "x0" ; then + CRYPTO_LIB="" + CRYPTO_INCLUDE="" + else + + PBX_CRYPTO=1 + cat >>confdefs.h <<_ACEOF +#define HAVE_CRYPTO 1 +_ACEOF + + fi + fi +fi + + + if test "$PBX_CRYPTO" = "1"; + then + +if test "x${PBX_OPENSSL}" != "x1" -a "${USE_OPENSSL}" != "no"; then + pbxlibdir="" + # if --with-OPENSSL=DIR has been specified, use it. + if test "x${OPENSSL_DIR}" != "x"; then + if test -d ${OPENSSL_DIR}/lib; then + pbxlibdir="-L${OPENSSL_DIR}/lib" + else + pbxlibdir="-L${OPENSSL_DIR}" + fi + fi + + ast_ext_lib_check_save_CFLAGS="${CFLAGS}" + CFLAGS="${CFLAGS} " + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_connect in -lssl" >&5 +$as_echo_n "checking for SSL_connect in -lssl... " >&6; } +if ${ac_cv_lib_ssl_SSL_connect+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lssl ${pbxlibdir} -lcrypto $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char SSL_connect (); +int +main () +{ +return SSL_connect (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ssl_SSL_connect=yes +else + ac_cv_lib_ssl_SSL_connect=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_SSL_connect" >&5 +$as_echo "$ac_cv_lib_ssl_SSL_connect" >&6; } +if test "x$ac_cv_lib_ssl_SSL_connect" = xyes; then : + AST_OPENSSL_FOUND=yes +else + AST_OPENSSL_FOUND=no +fi + + CFLAGS="${ast_ext_lib_check_save_CFLAGS}" + + + # now check for the header. + if test "${AST_OPENSSL_FOUND}" = "yes"; then + OPENSSL_LIB="${pbxlibdir} -lssl -lcrypto" + # if --with-OPENSSL=DIR has been specified, use it. + if test "x${OPENSSL_DIR}" != "x"; then + OPENSSL_INCLUDE="-I${OPENSSL_DIR}/include" + fi + OPENSSL_INCLUDE="${OPENSSL_INCLUDE} " + + # check for the header + ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" + CPPFLAGS="${CPPFLAGS} ${OPENSSL_INCLUDE}" + ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_ssl_h" = xyes; then : + OPENSSL_HEADER_FOUND=1 +else + OPENSSL_HEADER_FOUND=0 +fi + + + CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}" + + if test "x${OPENSSL_HEADER_FOUND}" = "x0" ; then + OPENSSL_LIB="" + OPENSSL_INCLUDE="" + else + + PBX_OPENSSL=1 + cat >>confdefs.h <<_ACEOF +#define HAVE_OPENSSL 1 +_ACEOF + + fi + fi +fi + + + +if test "x${PBX_OPENSSL_BIO_METHOD}" != "x1" -a "${USE_OPENSSL_BIO_METHOD}" != "no"; then + pbxlibdir="" + # if --with-OPENSSL_BIO_METHOD=DIR has been specified, use it. + if test "x${OPENSSL_BIO_METHOD_DIR}" != "x"; then + if test -d ${OPENSSL_BIO_METHOD_DIR}/lib; then + pbxlibdir="-L${OPENSSL_BIO_METHOD_DIR}/lib" + else + pbxlibdir="-L${OPENSSL_BIO_METHOD_DIR}" + fi + fi + + ast_ext_lib_check_save_CFLAGS="${CFLAGS}" + CFLAGS="${CFLAGS} " + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BIO_meth_new in -lssl" >&5 +$as_echo_n "checking for BIO_meth_new in -lssl... " >&6; } +if ${ac_cv_lib_ssl_BIO_meth_new+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lssl ${pbxlibdir} -lcrypto $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char BIO_meth_new (); +int +main () +{ +return BIO_meth_new (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ssl_BIO_meth_new=yes +else + ac_cv_lib_ssl_BIO_meth_new=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_BIO_meth_new" >&5 +$as_echo "$ac_cv_lib_ssl_BIO_meth_new" >&6; } +if test "x$ac_cv_lib_ssl_BIO_meth_new" = xyes; then : + AST_OPENSSL_BIO_METHOD_FOUND=yes +else + AST_OPENSSL_BIO_METHOD_FOUND=no +fi + + CFLAGS="${ast_ext_lib_check_save_CFLAGS}" + + + # now check for the header. + if test "${AST_OPENSSL_BIO_METHOD_FOUND}" = "yes"; then + OPENSSL_BIO_METHOD_LIB="${pbxlibdir} -lssl -lcrypto" + # if --with-OPENSSL_BIO_METHOD=DIR has been specified, use it. + if test "x${OPENSSL_BIO_METHOD_DIR}" != "x"; then + OPENSSL_BIO_METHOD_INCLUDE="-I${OPENSSL_BIO_METHOD_DIR}/include" + fi + OPENSSL_BIO_METHOD_INCLUDE="${OPENSSL_BIO_METHOD_INCLUDE} " + + # check for the header + ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" + CPPFLAGS="${CPPFLAGS} ${OPENSSL_BIO_METHOD_INCLUDE}" + ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_ssl_h" = xyes; then : + OPENSSL_BIO_METHOD_HEADER_FOUND=1 +else + OPENSSL_BIO_METHOD_HEADER_FOUND=0 +fi + + + CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}" + + if test "x${OPENSSL_BIO_METHOD_HEADER_FOUND}" = "x0" ; then + OPENSSL_BIO_METHOD_LIB="" + OPENSSL_BIO_METHOD_INCLUDE="" + else + + PBX_OPENSSL_BIO_METHOD=1 + cat >>confdefs.h <<_ACEOF +#define HAVE_OPENSSL_BIO_METHOD 1 +_ACEOF + + fi + fi +fi + + + fi +fi +if test $PBX_OPENSSL -eq 0 ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL does not seem to be installed" >&5 +$as_echo "$as_me: WARNING: OpenSSL does not seem to be installed" >&2;} +fi + + if test "$JANSSON_BUNDLED" = "yes" ; then @@ -9362,6 +10164,7 @@ $as_echo "#define HAVE_PJPROJECT_ON_VALID_ICE_PAIR_CALLBACK 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -9653,50 +10456,6 @@ fi - CRYPTO_DESCRIP="OpenSSL Cryptography" - CRYPTO_OPTION="crypto" - PBX_CRYPTO=0 - -# Check whether --with-crypto was given. -if test "${with_crypto+set}" = set; then : - withval=$with_crypto; - case ${withval} in - n|no) - USE_CRYPTO=no - # -1 is a magic value used by menuselect to know that the package - # was disabled, other than 'not found' - PBX_CRYPTO=-1 - ;; - y|ye|yes) - ac_mandatory_list="${ac_mandatory_list} CRYPTO" - ;; - *) - CRYPTO_DIR="${withval}" - ac_mandatory_list="${ac_mandatory_list} CRYPTO" - ;; - esac - -fi - - - - - - - - -OPENSSL_BIO_METHOD_DESCRIP="OpenSSL BIO Method Support" -OPENSSL_BIO_METHOD_OPTION=crypto -OPENSSL_BIO_METHOD_DIR=${CRYPTO_DIR} - -PBX_OPENSSL_BIO_METHOD=0 - - - - - - - DAHDI_DESCRIP="DAHDI" DAHDI_OPTION="dahdi" PBX_DAHDI=0 @@ -12400,38 +13159,6 @@ PBX_SRTP_GET_VERSION=0 - OPENSSL_DESCRIP="OpenSSL Secure Sockets Layer" - OPENSSL_OPTION="ssl" - PBX_OPENSSL=0 - -# Check whether --with-ssl was given. -if test "${with_ssl+set}" = set; then : - withval=$with_ssl; - case ${withval} in - n|no) - USE_OPENSSL=no - # -1 is a magic value used by menuselect to know that the package - # was disabled, other than 'not found' - PBX_OPENSSL=-1 - ;; - y|ye|yes) - ac_mandatory_list="${ac_mandatory_list} OPENSSL" - ;; - *) - OPENSSL_DIR="${withval}" - ac_mandatory_list="${ac_mandatory_list} OPENSSL" - ;; - esac - -fi - - - - - - - - RT_DESCRIP="Realtime functions" RT_DIR=${rt_DIR} @@ -13242,127 +13969,6 @@ fi done - - - - - - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi -fi - # Find required NetBSD Editline library (libedit). if test "x${PBX_LIBEDIT}" != "x1" -a "${USE_LIBEDIT}" != "no"; then @@ -14685,7 +15291,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]; @@ -14731,7 +15337,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]; @@ -14755,7 +15361,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]; @@ -14800,7 +15406,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]; @@ -14824,7 +15430,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]; @@ -16124,8 +16730,6 @@ main () if (*(data + i) != *(data3 + i)) return 14; close (fd); - free (data); - free (data3); return 0; } _ACEOF @@ -31007,299 +31611,6 @@ $as_echo "#define HAVE_CRYPT_R 1" >>confdefs.h fi - -if test "x${PBX_CRYPTO}" != "x1" -a "${USE_CRYPTO}" != "no"; then - pbxlibdir="" - # if --with-CRYPTO=DIR has been specified, use it. - if test "x${CRYPTO_DIR}" != "x"; then - if test -d ${CRYPTO_DIR}/lib; then - pbxlibdir="-L${CRYPTO_DIR}/lib" - else - pbxlibdir="-L${CRYPTO_DIR}" - fi - fi - - ast_ext_lib_check_save_CFLAGS="${CFLAGS}" - CFLAGS="${CFLAGS} " - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AES_encrypt in -lcrypto" >&5 -$as_echo_n "checking for AES_encrypt in -lcrypto... " >&6; } -if ${ac_cv_lib_crypto_AES_encrypt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrypto ${pbxlibdir} $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char AES_encrypt (); -int -main () -{ -return AES_encrypt (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_crypto_AES_encrypt=yes -else - ac_cv_lib_crypto_AES_encrypt=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_AES_encrypt" >&5 -$as_echo "$ac_cv_lib_crypto_AES_encrypt" >&6; } -if test "x$ac_cv_lib_crypto_AES_encrypt" = xyes; then : - AST_CRYPTO_FOUND=yes -else - AST_CRYPTO_FOUND=no -fi - - CFLAGS="${ast_ext_lib_check_save_CFLAGS}" - - - # now check for the header. - if test "${AST_CRYPTO_FOUND}" = "yes"; then - CRYPTO_LIB="${pbxlibdir} -lcrypto " - # if --with-CRYPTO=DIR has been specified, use it. - if test "x${CRYPTO_DIR}" != "x"; then - CRYPTO_INCLUDE="-I${CRYPTO_DIR}/include" - fi - CRYPTO_INCLUDE="${CRYPTO_INCLUDE} " - - # check for the header - ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" - CPPFLAGS="${CPPFLAGS} ${CRYPTO_INCLUDE}" - ac_fn_c_check_header_mongrel "$LINENO" "openssl/aes.h" "ac_cv_header_openssl_aes_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_aes_h" = xyes; then : - CRYPTO_HEADER_FOUND=1 -else - CRYPTO_HEADER_FOUND=0 -fi - - - CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}" - - if test "x${CRYPTO_HEADER_FOUND}" = "x0" ; then - CRYPTO_LIB="" - CRYPTO_INCLUDE="" - else - - PBX_CRYPTO=1 - cat >>confdefs.h <<_ACEOF -#define HAVE_CRYPTO 1 -_ACEOF - - fi - fi -fi - - - -if test "$PBX_CRYPTO" = "1"; -then - -if test "x${PBX_OPENSSL}" != "x1" -a "${USE_OPENSSL}" != "no"; then - pbxlibdir="" - # if --with-OPENSSL=DIR has been specified, use it. - if test "x${OPENSSL_DIR}" != "x"; then - if test -d ${OPENSSL_DIR}/lib; then - pbxlibdir="-L${OPENSSL_DIR}/lib" - else - pbxlibdir="-L${OPENSSL_DIR}" - fi - fi - - ast_ext_lib_check_save_CFLAGS="${CFLAGS}" - CFLAGS="${CFLAGS} " - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_connect in -lssl" >&5 -$as_echo_n "checking for SSL_connect in -lssl... " >&6; } -if ${ac_cv_lib_ssl_SSL_connect+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lssl ${pbxlibdir} -lcrypto $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char SSL_connect (); -int -main () -{ -return SSL_connect (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ssl_SSL_connect=yes -else - ac_cv_lib_ssl_SSL_connect=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_SSL_connect" >&5 -$as_echo "$ac_cv_lib_ssl_SSL_connect" >&6; } -if test "x$ac_cv_lib_ssl_SSL_connect" = xyes; then : - AST_OPENSSL_FOUND=yes -else - AST_OPENSSL_FOUND=no -fi - - CFLAGS="${ast_ext_lib_check_save_CFLAGS}" - - - # now check for the header. - if test "${AST_OPENSSL_FOUND}" = "yes"; then - OPENSSL_LIB="${pbxlibdir} -lssl -lcrypto" - # if --with-OPENSSL=DIR has been specified, use it. - if test "x${OPENSSL_DIR}" != "x"; then - OPENSSL_INCLUDE="-I${OPENSSL_DIR}/include" - fi - OPENSSL_INCLUDE="${OPENSSL_INCLUDE} " - - # check for the header - ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" - CPPFLAGS="${CPPFLAGS} ${OPENSSL_INCLUDE}" - ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_ssl_h" = xyes; then : - OPENSSL_HEADER_FOUND=1 -else - OPENSSL_HEADER_FOUND=0 -fi - - - CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}" - - if test "x${OPENSSL_HEADER_FOUND}" = "x0" ; then - OPENSSL_LIB="" - OPENSSL_INCLUDE="" - else - - PBX_OPENSSL=1 - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL 1 -_ACEOF - - fi - fi -fi - - - -if test "x${PBX_OPENSSL_BIO_METHOD}" != "x1" -a "${USE_OPENSSL_BIO_METHOD}" != "no"; then - pbxlibdir="" - # if --with-OPENSSL_BIO_METHOD=DIR has been specified, use it. - if test "x${OPENSSL_BIO_METHOD_DIR}" != "x"; then - if test -d ${OPENSSL_BIO_METHOD_DIR}/lib; then - pbxlibdir="-L${OPENSSL_BIO_METHOD_DIR}/lib" - else - pbxlibdir="-L${OPENSSL_BIO_METHOD_DIR}" - fi - fi - - ast_ext_lib_check_save_CFLAGS="${CFLAGS}" - CFLAGS="${CFLAGS} " - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BIO_meth_new in -lssl" >&5 -$as_echo_n "checking for BIO_meth_new in -lssl... " >&6; } -if ${ac_cv_lib_ssl_BIO_meth_new+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lssl ${pbxlibdir} -lcrypto $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char BIO_meth_new (); -int -main () -{ -return BIO_meth_new (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ssl_BIO_meth_new=yes -else - ac_cv_lib_ssl_BIO_meth_new=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_BIO_meth_new" >&5 -$as_echo "$ac_cv_lib_ssl_BIO_meth_new" >&6; } -if test "x$ac_cv_lib_ssl_BIO_meth_new" = xyes; then : - AST_OPENSSL_BIO_METHOD_FOUND=yes -else - AST_OPENSSL_BIO_METHOD_FOUND=no -fi - - CFLAGS="${ast_ext_lib_check_save_CFLAGS}" - - - # now check for the header. - if test "${AST_OPENSSL_BIO_METHOD_FOUND}" = "yes"; then - OPENSSL_BIO_METHOD_LIB="${pbxlibdir} -lssl -lcrypto" - # if --with-OPENSSL_BIO_METHOD=DIR has been specified, use it. - if test "x${OPENSSL_BIO_METHOD_DIR}" != "x"; then - OPENSSL_BIO_METHOD_INCLUDE="-I${OPENSSL_BIO_METHOD_DIR}/include" - fi - OPENSSL_BIO_METHOD_INCLUDE="${OPENSSL_BIO_METHOD_INCLUDE} " - - # check for the header - ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" - CPPFLAGS="${CPPFLAGS} ${OPENSSL_BIO_METHOD_INCLUDE}" - ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_ssl_h" = xyes; then : - OPENSSL_BIO_METHOD_HEADER_FOUND=1 -else - OPENSSL_BIO_METHOD_HEADER_FOUND=0 -fi - - - CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}" - - if test "x${OPENSSL_BIO_METHOD_HEADER_FOUND}" = "x0" ; then - OPENSSL_BIO_METHOD_LIB="" - OPENSSL_BIO_METHOD_INCLUDE="" - else - - PBX_OPENSSL_BIO_METHOD=1 - cat >>confdefs.h <<_ACEOF -#define HAVE_OPENSSL_BIO_METHOD 1 -_ACEOF - - fi - fi -fi - - -fi - if test "$PBX_OPENSSL" = "1"; then diff --git a/configure.ac b/configure.ac index d0c3976fb3..6e814e2cbb 100644 --- a/configure.ac +++ b/configure.ac @@ -313,6 +313,8 @@ AC_PATH_PROG([LDCONFIG], [ldconfig], :) AC_PATH_PROG([SHA1SUM], [sha1sum], $ac_aux_dir/build_tools/sha1sum-sh) AC_PATH_PROG([OPENSSL], [openssl], :) +PKG_PROG_PKG_CONFIG() + AC_CACHE_CHECK([for bison that supports parse-param], [ac_cv_path_BISON2], [ if test "x$BISON" != "x:" ; then # Create a temporary directory $tmp in $TMPDIR (default /tmp). @@ -458,6 +460,52 @@ if test "${with_pjproject}" == "no" || test "${with_pjproject}" == "n" ; then PJPROJECT_BUNDLED=no fi +# +# OpenSSL stuff has to be done here because we want to pass +# any resulting CFLAGS and LDFLAGS to the bundled pjproject +# configure done in THIRD_PARTY_CONFIGURE() +# +AST_EXT_LIB_SETUP([CRYPTO], [OpenSSL Cryptography], [crypto]) +AST_EXT_LIB_SETUP([OPENSSL], [OpenSSL Secure Sockets Layer], [ssl]) +AST_EXT_LIB_SETUP_OPTIONAL([OPENSSL_BIO_METHOD], [OpenSSL BIO Method Support], [CRYPTO], [crypto]) + +# If neither --without-ssl (PBX_OPENSSL=-1) nor --without-crypto (PBX_CRYPTO=-1) +# and there were no directories atdded to --with-ssl and --with-crypto, and +# pkg-config is installed (which is should be by install_prereq). +if test "x$PKG_CONFIG" != "x" -a $PBX_OPENSSL -ge 0 -a $PBX_CRYPTO -ge 0 -a "x$OPENSSL_DIR" == "x" ; then + AC_MSG_NOTICE(checking OPENSSL with pkg-config) + AC_MSG_NOTICE(checking whether system openssl > 1.1.0) + AST_PKG_CONFIG_CHECK([OPENSSL], [openssl >= 1.1.0]) + if test $PBX_OPENSSL -eq 0 ; then + AC_MSG_NOTICE(checking whether alternate openssl11 is installed) + AST_PKG_CONFIG_CHECK([OPENSSL], [openssl11]) + fi + if test $PBX_OPENSSL -eq 1 ; then + AC_DEFINE([HAVE_OPENSSL_BIO_METHOD], 1) + PBX_OPENSSL_BIO_METHOD=1 + else + AC_MSG_NOTICE(checking fallback system openssl) + AST_PKG_CONFIG_CHECK([OPENSSL], [openssl]) + fi + + if test $PBX_OPENSSL -eq 1; then + AC_DEFINE([HAVE_CRYPTO], 1) + PBX_CRYPTO=1 + fi +else + AC_MSG_NOTICE(Checking OPENSSL without pkg-config) + AST_EXT_LIB_CHECK([CRYPTO], [crypto], [AES_encrypt], [openssl/aes.h]) + if test "$PBX_CRYPTO" = "1"; + then + AST_EXT_LIB_CHECK([OPENSSL], [ssl], [SSL_connect], [openssl/ssl.h], [-lcrypto]) + AST_EXT_LIB_CHECK([OPENSSL_BIO_METHOD], [ssl], [BIO_meth_new], [openssl/ssl.h], [-lcrypto]) + fi +fi +if test $PBX_OPENSSL -eq 0 ; then + AC_MSG_WARN(OpenSSL does not seem to be installed) +fi + + THIRD_PARTY_CONFIGURE() # AST_EXT_LIB_SETUP is used to tell configure to handle variables for @@ -482,8 +530,6 @@ AST_EXT_LIB_SETUP([CODEC2], [Codec 2 Audio Decoder/Encoder], [codec2]) AST_EXT_LIB_SETUP([COROSYNC], [Corosync], [cpg]) AST_EXT_LIB_SETUP_OPTIONAL([COROSYNC_CFG_STATE_TRACK], [A callback only in corosync 1.x], [COROSYNC], [cfg]) AST_EXT_LIB_SETUP([CRYPT], [password and data encryption], [crypt]) -AST_EXT_LIB_SETUP([CRYPTO], [OpenSSL Cryptography], [crypto]) -AST_EXT_LIB_SETUP_OPTIONAL([OPENSSL_BIO_METHOD], [OpenSSL BIO Method Support], [CRYPTO], [crypto]) AST_EXT_LIB_SETUP([DAHDI], [DAHDI], [dahdi]) AST_EXT_LIB_SETUP([FFMPEG], [Ffmpeg and avcodec], [avcodec]) AST_EXT_LIB_SETUP([GSM], [External GSM], [gsm], [, use 'internal' GSM otherwise]) @@ -593,7 +639,6 @@ AST_EXT_LIB_SETUP_OPTIONAL([SRTP_192], [SRTP Library AES-192 (ICM)], [SRTP], [sr AST_EXT_LIB_SETUP_OPTIONAL([SRTP_GCM], [SRTP Library AES-128 (GCM) and AES-256 (GCM)], [SRTP], [srtp]) AST_EXT_LIB_SETUP_OPTIONAL([SRTP_SHUTDOWN], [SRTP Library Shutdown Function], [SRTP], [srtp]) AST_EXT_LIB_SETUP_OPTIONAL([SRTP_GET_VERSION], [SRTP Library Version Function], [SRTP], [srtp]) -AST_EXT_LIB_SETUP([OPENSSL], [OpenSSL Secure Sockets Layer], [ssl]) AST_EXT_LIB_SETUP_OPTIONAL([RT], [Realtime functions], [rt]) AST_EXT_LIB_SETUP([SUPPSERV], [mISDN Supplemental Services], [suppserv]) AST_EXT_LIB_SETUP([FREETDS], [FreeTDS], [tds]) @@ -640,8 +685,6 @@ AC_CHECK_HEADERS([ \ AC_CHECK_HEADERS([arpa/inet.h libintl.h malloc.h netdb.h stddef.h strings.h sys/event.h utime.h]) -PKG_PROG_PKG_CONFIG() - # Find required NetBSD Editline library (libedit). AST_PKG_CONFIG_CHECK(LIBEDIT, libedit) # some platforms do not list libedit via pkg-config, for example OpenBSD 6.2 @@ -2642,14 +2685,6 @@ AC_SUBST(CRYPT_INCLUDE) AC_CHECK_LIB([crypt], [crypt_r], [AC_DEFINE([HAVE_CRYPT_R], [1], [Define to 1 if you have the 'crypt_r' function.])]) -AST_EXT_LIB_CHECK([CRYPTO], [crypto], [AES_encrypt], [openssl/aes.h]) - -if test "$PBX_CRYPTO" = "1"; -then - AST_EXT_LIB_CHECK([OPENSSL], [ssl], [SSL_connect], [openssl/ssl.h], [-lcrypto]) - AST_EXT_LIB_CHECK([OPENSSL_BIO_METHOD], [ssl], [BIO_meth_new], [openssl/ssl.h], [-lcrypto]) -fi - if test "$PBX_OPENSSL" = "1"; then AST_CHECK_OSPTK([4], [0], [0]) diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index 27c64aa928..af6df9d070 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -585,7 +585,7 @@ /* Define to 1 if you have the MFR2 library. */ #undef HAVE_OPENR2 -/* Define to 1 if you have the OpenSSL Secure Sockets Layer library. */ +/* Define if your system has the OPENSSL libraries. */ #undef HAVE_OPENSSL /* Define to 1 if CRYPTO has the OpenSSL BIO Method Support feature. */ diff --git a/makeopts.in b/makeopts.in index 27a5bdc15b..61d6437610 100644 --- a/makeopts.in +++ b/makeopts.in @@ -239,6 +239,7 @@ PJPROJECT_BUNDLED=@PJPROJECT_BUNDLED@ PJPROJECT_INCLUDE=@PJPROJECT_INCLUDE@ PJPROJECT_LIB=@PJPROJECT_LIB@ PJPROJECT_DIR=@PJPROJECT_DIR@ +PJPROJECT_CONFIGURE_OPTS=@PJPROJECT_CONFIGURE_OPTS@ POPT_INCLUDE=@POPT_INCLUDE@ POPT_LIB=@POPT_LIB@ diff --git a/menuselect/configure b/menuselect/configure index 1d15c1c138..9986b4f989 100755 --- a/menuselect/configure +++ b/menuselect/configure @@ -696,6 +696,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -777,6 +778,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' @@ -1029,6 +1031,15 @@ 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=* \ @@ -1166,7 +1177,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 + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1319,6 +1330,7 @@ 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] diff --git a/third-party/pjproject/Makefile b/third-party/pjproject/Makefile index fce27687d0..96a6491555 100644 --- a/third-party/pjproject/Makefile +++ b/third-party/pjproject/Makefile @@ -88,8 +88,8 @@ else endif export PJ_CFLAGS := $(filter-out -O% -g%,$(PJ_CFLAGS)) -export CFLAGS += $(CF) -export LDFLAGS += $(CC_LDFLAGS) +export CFLAGS += $(CF) $(OPENSSL_INCLUDE) +export LDFLAGS += $(CC_LDFLAGS) $(OPENSSL_LIB) ECHO_PREFIX := $(ECHO_PREFIX) echo '[pjproject] ' SHELL_ECHO_PREFIX := echo '[pjproject] ' @@ -129,7 +129,7 @@ source/pjlib/include/pj/%.h: patches/%.h $(CMD_PREFIX) $(MAKE) clean $(REALLY_QUIET) source/build.mak: Makefile.rules source/version.mak source/user.mak $(addprefix source/pjlib/include/pj/,$(notdir $(wildcard patches/*.h))) .rebuild_needed - $(ECHO_PREFIX) Configuring with $(PJPROJECT_CONFIG_OPTS) + $(ECHO_PREFIX) Configuring with $(PJPROJECT_CONFIG_OPTS) $(CMD_PREFIX) (cd source ; ./aconfigure $(QUIET_CONFIGURE) $(PJPROJECT_CONFIG_OPTS)) build.mak: source/build.mak diff --git a/third-party/pjproject/configure.m4 b/third-party/pjproject/configure.m4 index 485e4f1a74..f67ef577e2 100644 --- a/third-party/pjproject/configure.m4 +++ b/third-party/pjproject/configure.m4 @@ -117,6 +117,7 @@ AC_DEFUN([_PJPROJECT_CONFIGURE], AC_SUBST([PBX_PJPROJECT]) AC_SUBST([PJPROJECT_LIB]) AC_SUBST([PJPROJECT_INCLUDE]) + AC_SUBST([PJPROJECT_CONFIGURE_OPTS]) AC_MSG_RESULT(yes) fi