1*3da8d17dSfengbojiang(姜凤波) 2*3da8d17dSfengbojiang(姜凤波)# Copyright (C) Igor Sysoev 3*3da8d17dSfengbojiang(姜凤波)# Copyright (C) Nginx, Inc. 4*3da8d17dSfengbojiang(姜凤波) 5*3da8d17dSfengbojiang(姜凤波) 6*3da8d17dSfengbojiang(姜凤波)if [ $OPENSSL != NONE ]; then 7*3da8d17dSfengbojiang(姜凤波) 8*3da8d17dSfengbojiang(姜凤波) case "$CC" in 9*3da8d17dSfengbojiang(姜凤波) 10*3da8d17dSfengbojiang(姜凤波) cl | bcc32) 11*3da8d17dSfengbojiang(姜凤波) have=NGX_OPENSSL . auto/have 12*3da8d17dSfengbojiang(姜凤波) have=NGX_SSL . auto/have 13*3da8d17dSfengbojiang(姜凤波) 14*3da8d17dSfengbojiang(姜凤波) CFLAGS="$CFLAGS -DNO_SYS_TYPES_H" 15*3da8d17dSfengbojiang(姜凤波) 16*3da8d17dSfengbojiang(姜凤波) CORE_INCS="$CORE_INCS $OPENSSL/openssl/include" 17*3da8d17dSfengbojiang(姜凤波) CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h" 18*3da8d17dSfengbojiang(姜凤波) 19*3da8d17dSfengbojiang(姜凤波) if [ -f $OPENSSL/ms/do_ms.bat ]; then 20*3da8d17dSfengbojiang(姜凤波) # before OpenSSL 1.1.0 21*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib" 22*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib" 23*3da8d17dSfengbojiang(姜凤波) else 24*3da8d17dSfengbojiang(姜凤波) # OpenSSL 1.1.0+ 25*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.lib" 26*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.lib" 27*3da8d17dSfengbojiang(姜凤波) fi 28*3da8d17dSfengbojiang(姜凤波) 29*3da8d17dSfengbojiang(姜凤波) # libeay32.lib requires gdi32.lib 30*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS gdi32.lib" 31*3da8d17dSfengbojiang(姜凤波) # OpenSSL 1.0.0 requires crypt32.lib 32*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS crypt32.lib" 33*3da8d17dSfengbojiang(姜凤波) ;; 34*3da8d17dSfengbojiang(姜凤波) 35*3da8d17dSfengbojiang(姜凤波) *) 36*3da8d17dSfengbojiang(姜凤波) have=NGX_OPENSSL . auto/have 37*3da8d17dSfengbojiang(姜凤波) have=NGX_SSL . auto/have 38*3da8d17dSfengbojiang(姜凤波) 39*3da8d17dSfengbojiang(姜凤波) CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include" 40*3da8d17dSfengbojiang(姜凤波) CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" 41*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a" 42*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a" 43*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS $NGX_LIBDL" 44*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS $NGX_LIBPTHREAD" 45*3da8d17dSfengbojiang(姜凤波) 46*3da8d17dSfengbojiang(姜凤波) if [ "$NGX_PLATFORM" = win32 ]; then 47*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32" 48*3da8d17dSfengbojiang(姜凤波) fi 49*3da8d17dSfengbojiang(姜凤波) ;; 50*3da8d17dSfengbojiang(姜凤波) esac 51*3da8d17dSfengbojiang(姜凤波) 52*3da8d17dSfengbojiang(姜凤波)else 53*3da8d17dSfengbojiang(姜凤波) 54*3da8d17dSfengbojiang(姜凤波) if [ "$NGX_PLATFORM" != win32 ]; then 55*3da8d17dSfengbojiang(姜凤波) 56*3da8d17dSfengbojiang(姜凤波) OPENSSL=NO 57*3da8d17dSfengbojiang(姜凤波) 58*3da8d17dSfengbojiang(姜凤波) ngx_feature="OpenSSL library" 59*3da8d17dSfengbojiang(姜凤波) ngx_feature_name="NGX_OPENSSL" 60*3da8d17dSfengbojiang(姜凤波) ngx_feature_run=no 61*3da8d17dSfengbojiang(姜凤波) ngx_feature_incs="#include <openssl/ssl.h>" 62*3da8d17dSfengbojiang(姜凤波) ngx_feature_path= 63*3da8d17dSfengbojiang(姜凤波) ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL $NGX_LIBPTHREAD" 64*3da8d17dSfengbojiang(姜凤波) ngx_feature_test="SSL_CTX_set_options(NULL, 0)" 65*3da8d17dSfengbojiang(姜凤波) . auto/feature 66*3da8d17dSfengbojiang(姜凤波) 67*3da8d17dSfengbojiang(姜凤波) if [ $ngx_found = no ]; then 68*3da8d17dSfengbojiang(姜凤波) 69*3da8d17dSfengbojiang(姜凤波) # FreeBSD port 70*3da8d17dSfengbojiang(姜凤波) 71*3da8d17dSfengbojiang(姜凤波) ngx_feature="OpenSSL library in /usr/local/" 72*3da8d17dSfengbojiang(姜凤波) ngx_feature_path="/usr/local/include" 73*3da8d17dSfengbojiang(姜凤波) 74*3da8d17dSfengbojiang(姜凤波) if [ $NGX_RPATH = YES ]; then 75*3da8d17dSfengbojiang(姜凤波) ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto" 76*3da8d17dSfengbojiang(姜凤波) else 77*3da8d17dSfengbojiang(姜凤波) ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto" 78*3da8d17dSfengbojiang(姜凤波) fi 79*3da8d17dSfengbojiang(姜凤波) 80*3da8d17dSfengbojiang(姜凤波) ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" 81*3da8d17dSfengbojiang(姜凤波) 82*3da8d17dSfengbojiang(姜凤波) . auto/feature 83*3da8d17dSfengbojiang(姜凤波) fi 84*3da8d17dSfengbojiang(姜凤波) 85*3da8d17dSfengbojiang(姜凤波) if [ $ngx_found = no ]; then 86*3da8d17dSfengbojiang(姜凤波) 87*3da8d17dSfengbojiang(姜凤波) # NetBSD port 88*3da8d17dSfengbojiang(姜凤波) 89*3da8d17dSfengbojiang(姜凤波) ngx_feature="OpenSSL library in /usr/pkg/" 90*3da8d17dSfengbojiang(姜凤波) ngx_feature_path="/usr/pkg/include" 91*3da8d17dSfengbojiang(姜凤波) 92*3da8d17dSfengbojiang(姜凤波) if [ $NGX_RPATH = YES ]; then 93*3da8d17dSfengbojiang(姜凤波) ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto" 94*3da8d17dSfengbojiang(姜凤波) else 95*3da8d17dSfengbojiang(姜凤波) ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto" 96*3da8d17dSfengbojiang(姜凤波) fi 97*3da8d17dSfengbojiang(姜凤波) 98*3da8d17dSfengbojiang(姜凤波) ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" 99*3da8d17dSfengbojiang(姜凤波) 100*3da8d17dSfengbojiang(姜凤波) . auto/feature 101*3da8d17dSfengbojiang(姜凤波) fi 102*3da8d17dSfengbojiang(姜凤波) 103*3da8d17dSfengbojiang(姜凤波) if [ $ngx_found = no ]; then 104*3da8d17dSfengbojiang(姜凤波) 105*3da8d17dSfengbojiang(姜凤波) # MacPorts 106*3da8d17dSfengbojiang(姜凤波) 107*3da8d17dSfengbojiang(姜凤波) ngx_feature="OpenSSL library in /opt/local/" 108*3da8d17dSfengbojiang(姜凤波) ngx_feature_path="/opt/local/include" 109*3da8d17dSfengbojiang(姜凤波) 110*3da8d17dSfengbojiang(姜凤波) if [ $NGX_RPATH = YES ]; then 111*3da8d17dSfengbojiang(姜凤波) ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto" 112*3da8d17dSfengbojiang(姜凤波) else 113*3da8d17dSfengbojiang(姜凤波) ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto" 114*3da8d17dSfengbojiang(姜凤波) fi 115*3da8d17dSfengbojiang(姜凤波) 116*3da8d17dSfengbojiang(姜凤波) ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" 117*3da8d17dSfengbojiang(姜凤波) 118*3da8d17dSfengbojiang(姜凤波) . auto/feature 119*3da8d17dSfengbojiang(姜凤波) fi 120*3da8d17dSfengbojiang(姜凤波) 121*3da8d17dSfengbojiang(姜凤波) if [ $ngx_found = yes ]; then 122*3da8d17dSfengbojiang(姜凤波) have=NGX_SSL . auto/have 123*3da8d17dSfengbojiang(姜凤波) CORE_INCS="$CORE_INCS $ngx_feature_path" 124*3da8d17dSfengbojiang(姜凤波) CORE_LIBS="$CORE_LIBS $ngx_feature_libs" 125*3da8d17dSfengbojiang(姜凤波) OPENSSL=YES 126*3da8d17dSfengbojiang(姜凤波) fi 127*3da8d17dSfengbojiang(姜凤波) fi 128*3da8d17dSfengbojiang(姜凤波) 129*3da8d17dSfengbojiang(姜凤波) if [ $OPENSSL != YES ]; then 130*3da8d17dSfengbojiang(姜凤波) 131*3da8d17dSfengbojiang(姜凤波)cat << END 132*3da8d17dSfengbojiang(姜凤波) 133*3da8d17dSfengbojiang(姜凤波)$0: error: SSL modules require the OpenSSL library. 134*3da8d17dSfengbojiang(姜凤波)You can either do not enable the modules, or install the OpenSSL library 135*3da8d17dSfengbojiang(姜凤波)into the system, or build the OpenSSL library statically from the source 136*3da8d17dSfengbojiang(姜凤波)with nginx by using --with-openssl=<path> option. 137*3da8d17dSfengbojiang(姜凤波) 138*3da8d17dSfengbojiang(姜凤波)END 139*3da8d17dSfengbojiang(姜凤波) exit 1 140*3da8d17dSfengbojiang(姜凤波) fi 141*3da8d17dSfengbojiang(姜凤波) 142*3da8d17dSfengbojiang(姜凤波)fi 143