Ignore:
Timestamp:
Mar 26, 2019 7:25:57 AM (6 years ago)
Author:
ming
Message:

Re #2185: Darwin SSL backend

  • Security framework availability will be automatically detected for Mac OS and iOS, and if found, Darwin SSL will be the default SSL backend.
  • OpenSSL availability will still be checked regardless of the above result, as it may be needed for DTLS.
  • Add configure option --disable-darwin-ssl to disable the automatic detection
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/aconfigure

    r5957 r5959  
    821821with_ssl 
    822822with_gnutls 
     823enable_darwin_ssl 
    823824enable_ssl 
    824825with_opencore_amrnb 
     
    14891490                          IPPSAMPLES env var or with --with-ipp and 
    14901491                          --with-ipp-samples options 
     1492  --disable-darwin-ssl    Exclude Darwin SSL (default: autodetect) 
    14911493  --disable-ssl           Exclude SSL support the build (default: autodetect) 
    14921494 
     
    15431545  --with-ipp-arch=ARCH    Specify the Intel IPP ARCH suffix, e.g. "64" or 
    15441546                          "em64t. Default is blank for IA32" 
    1545   --with-ssl=SSL_BACKEND/DIR 
    1546                           Specify alternate SSL library prefix or SSL 
    1547                           native-backend. You can specify "darwin" as the 
    1548                           native iOS/MacOS backend using Security framework, 
    1549                           or you can specify an alternate SSL library prefix 
    1550                           directory. If a directory is specified, this option 
     1547  --with-ssl=DIR          Specify alternate SSL library prefix. This option 
    15511548                          will try to find OpenSSL first, then if not found, 
    15521549                          GnuTLS. To skip OpenSSL finding, use --with-gnutls 
     
    79467943 
    79477944 
     7945 
     7946# Check whether --enable-darwin-ssl was given. 
     7947if test "${enable_darwin_ssl+set}" = set; then : 
     7948  enableval=$enable_darwin_ssl; if test "$enable_darwin_ssl" = "no"; then 
     7949                 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if Darwin SSL support is disabled... yes" >&5 
     7950$as_echo "Checking if Darwin SSL support is disabled... yes" >&6; } 
     7951                fi 
     7952else 
     7953 
     7954                case $target in 
     7955                *darwin*) 
     7956                    SAVED_LIBS="$LIBS" 
     7957                    LIBS="-framework Security" 
     7958                    cat confdefs.h - <<_ACEOF >conftest.$ac_ext 
     7959/* end confdefs.h.  */ 
     7960 
     7961int 
     7962main () 
     7963{ 
     7964 
     7965  ; 
     7966  return 0; 
     7967} 
     7968_ACEOF 
     7969if ac_fn_c_try_link "$LINENO"; then : 
     7970  ac_ssl_backend=darwin 
     7971fi 
     7972rm -f core conftest.err conftest.$ac_objext \ 
     7973    conftest$ac_exeext conftest.$ac_ext 
     7974                    LIBS="$SAVED_LIBS" 
     7975                    if test "x$ac_ssl_backend" = "xdarwin"; then 
     7976                        $as_echo "#define PJ_HAS_SSL_SOCK 1" >>confdefs.h 
     7977 
     7978                        $as_echo "#define PJ_SSL_SOCK_IMP PJ_SSL_SOCK_IMP_DARWIN" >>confdefs.h 
     7979 
     7980                        LIBS="$LIBS -framework Security" 
     7981                        { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if Security framework for Darwin SSL is available... yes" >&5 
     7982$as_echo "Checking if Security framework for Darwin SSL is available... yes" >&6; } 
     7983                    else 
     7984                        { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if Security framework for Darwin SSL is available... no" >&5 
     7985$as_echo "Checking if Security framework for Darwin SSL is available... no" >&6; } 
     7986                    fi 
     7987                    ;; 
     7988                esac 
     7989 
     7990fi 
     7991 
     7992 
    79487993# Check whether --enable-ssl was given. 
    79497994if test "${enable_ssl+set}" = set; then : 
     
    79578002else 
    79588003 
    7959                 if test "x$with_ssl" = "xdarwin"; then 
    7960                     SAVED_LIBS="$LIBS" 
    7961                     LIBS="-framework Security" 
    7962                     cat confdefs.h - <<_ACEOF >conftest.$ac_ext 
    7963 /* end confdefs.h.  */ 
    7964  
    7965 int 
    7966 main () 
    7967 { 
    7968  
    7969   ; 
    7970   return 0; 
    7971 } 
    7972 _ACEOF 
    7973 if ac_fn_c_try_link "$LINENO"; then : 
    7974   ac_ssl_backend=darwin 
    7975 fi 
    7976 rm -f core conftest.err conftest.$ac_objext \ 
    7977     conftest$ac_exeext conftest.$ac_ext 
    7978                     LIBS="$SAVED_LIBS" 
    7979                     if test "x$ac_ssl_backend" = "xdarwin"; then 
    7980                         $as_echo "#define PJ_HAS_SSL_SOCK 1" >>confdefs.h 
    7981  
    7982                         $as_echo "#define PJ_SSL_SOCK_IMP PJ_SSL_SOCK_IMP_DARWIN" >>confdefs.h 
    7983  
    7984                         LIBS="$LIBS -framework Security" 
    7985                         ac_ssl_backend="darwin" 
    7986                         { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if Security framework for Darwin SSL is available... yes" >&5 
    7987 $as_echo "Checking if Security framework for Darwin SSL is available... yes" >&6; } 
    7988                     else 
    7989                         { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if Security framework for Darwin SSL is available... no" >&5 
    7990 $as_echo "Checking if Security framework for Darwin SSL is available... no" >&6; } 
    7991                     fi 
    7992                 fi 
    7993  
    7994                 if test "x$ac_ssl_backend" = "x" -a "x$with_ssl" != "xno" -a "x$with_ssl" != "x"; then 
     8004                if test "x$with_ssl" != "xno" -a "x$with_ssl" != "x"; then 
    79958005                    CFLAGS="$CFLAGS -I$with_ssl/include" 
    79968006                    CPPFLAGS="$CPPFLAGS -I$with_ssl/include" 
     
    80008010                fi 
    80018011 
    8002                 if test "x$ac_ssl_backend" = "x" -a "x$with_gnutls" = "xno"; then 
    8003  
     8012                if test "x$with_gnutls" = "xno"; then 
     8013                    # We still need to check for OpenSSL installations even if 
     8014                    # we find Darwin SSL above since DTLS requires OpenSSL. 
    80048015                    { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for OpenSSL installations.." >&5 
    80058016$as_echo "checking for OpenSSL installations.." >&6; } 
     
    81658176                        fi 
    81668177 
    8167                         # PJSIP_HAS_TLS_TRANSPORT setting follows PJ_HAS_SSL_SOCK 
    8168                         #AC_DEFINE(PJSIP_HAS_TLS_TRANSPORT, 1) 
    8169                         $as_echo "#define PJ_HAS_SSL_SOCK 1" >>confdefs.h 
    8170  
    8171                         $as_echo "#define PJ_SSL_SOCK_IMP PJ_SSL_SOCK_IMP_OPENSSL" >>confdefs.h 
    8172  
    8173                         ac_ssl_backend="openssl" 
     8178                        if test "x$ac_ssl_backend" = "x"; then 
     8179                            # PJSIP_HAS_TLS_TRANSPORT setting follows PJ_HAS_SSL_SOCK 
     8180                            #AC_DEFINE(PJSIP_HAS_TLS_TRANSPORT, 1) 
     8181                            $as_echo "#define PJ_HAS_SSL_SOCK 1" >>confdefs.h 
     8182 
     8183                            $as_echo "#define PJ_SSL_SOCK_IMP PJ_SSL_SOCK_IMP_OPENSSL" >>confdefs.h 
     8184 
     8185                            ac_ssl_backend="openssl" 
     8186                        fi 
    81748187                    else 
    81758188                        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ** OpenSSL libraries not found **" >&5 
Note: See TracChangeset for help on using the changeset viewer.