10Sigor@sysoev.ru 20Sigor@sysoev.ru# Copyright (C) Igor Sysoev 30Sigor@sysoev.ru# Copyright (C) NGINX, Inc. 40Sigor@sysoev.ru 50Sigor@sysoev.ru 60Sigor@sysoev.ruNXT_OPENSSL_CFLAGS= 70Sigor@sysoev.ruNXT_OPENSSL_LIBS= 80Sigor@sysoev.ruNXT_GNUTLS_CFLAGS= 90Sigor@sysoev.ruNXT_GNUTLS_LIBS= 100Sigor@sysoev.ruNXT_OPENSSL_LIBS= 110Sigor@sysoev.ruNXT_CYASSL_CFLAGS= 120Sigor@sysoev.ruNXT_CYASSL_LIBS= 130Sigor@sysoev.ruNXT_POLARSSL_CFLAGS= 140Sigor@sysoev.ruNXT_POLARSSL_LIBS= 150Sigor@sysoev.ru 160Sigor@sysoev.ru 170Sigor@sysoev.ruif [ $NXT_OPENSSL = YES ]; then 180Sigor@sysoev.ru 190Sigor@sysoev.ru nxt_feature="OpenSSL library" 200Sigor@sysoev.ru nxt_feature_name=NXT_HAVE_OPENSSL 210Sigor@sysoev.ru nxt_feature_run=yes 220Sigor@sysoev.ru nxt_feature_incs= 230Sigor@sysoev.ru nxt_feature_libs="-lssl -lcrypto" 240Sigor@sysoev.ru nxt_feature_test="#include <openssl/ssl.h> 250Sigor@sysoev.ru 26*2228Sa.clayton@nginx.com int main(void) { 270Sigor@sysoev.ru SSL_library_init(); 280Sigor@sysoev.ru return 0; 290Sigor@sysoev.ru }" 300Sigor@sysoev.ru . auto/feature 310Sigor@sysoev.ru 320Sigor@sysoev.ru 330Sigor@sysoev.ru if [ $nxt_found = yes ]; then 34771Sigor@sysoev.ru NXT_TLS=YES 350Sigor@sysoev.ru NXT_OPENSSL_LIBS="$nxt_feature_libs" 360Sigor@sysoev.ru 370Sigor@sysoev.ru nxt_feature="OpenSSL version" 380Sigor@sysoev.ru nxt_feature_name=NXT_HAVE_OPENSSL_VERSION 390Sigor@sysoev.ru nxt_feature_run=value 400Sigor@sysoev.ru nxt_feature_test="#include <openssl/ssl.h> 410Sigor@sysoev.ru 42*2228Sa.clayton@nginx.com int main(void) { 430Sigor@sysoev.ru printf(\"\\\"%s\\\"\", 440Sigor@sysoev.ru SSLeay_version(SSLEAY_VERSION)); 450Sigor@sysoev.ru return 0; 460Sigor@sysoev.ru }" 470Sigor@sysoev.ru . auto/feature 480Sigor@sysoev.ru 490Sigor@sysoev.ru else 500Sigor@sysoev.ru $echo 510Sigor@sysoev.ru $echo $0: error: no OpenSSL library found. 520Sigor@sysoev.ru $echo 530Sigor@sysoev.ru exit 1; 540Sigor@sysoev.ru fi 551885Sa.suvorov@f5.com 561885Sa.suvorov@f5.com 571885Sa.suvorov@f5.com nxt_feature="OpenSSL SSL_CONF_cmd()" 581885Sa.suvorov@f5.com nxt_feature_name=NXT_HAVE_OPENSSL_CONF_CMD 591885Sa.suvorov@f5.com nxt_feature_run= 601885Sa.suvorov@f5.com nxt_feature_incs= 611885Sa.suvorov@f5.com nxt_feature_libs="$NXT_OPENSSL_LIBS" 621885Sa.suvorov@f5.com nxt_feature_test="#include <openssl/ssl.h> 631885Sa.suvorov@f5.com 64*2228Sa.clayton@nginx.com int main(void) { 651885Sa.suvorov@f5.com SSL_CONF_cmd(NULL, NULL, NULL); 661885Sa.suvorov@f5.com return 0; 671885Sa.suvorov@f5.com }" 681885Sa.suvorov@f5.com . auto/feature 691942Sa.suvorov@f5.com 701942Sa.suvorov@f5.com 711942Sa.suvorov@f5.com nxt_feature="OpenSSL tlsext support" 721942Sa.suvorov@f5.com nxt_feature_name=NXT_HAVE_OPENSSL_TLSEXT 731942Sa.suvorov@f5.com nxt_feature_run= 741942Sa.suvorov@f5.com nxt_feature_incs= 751942Sa.suvorov@f5.com nxt_feature_libs="$NXT_OPENSSL_LIBS" 761942Sa.suvorov@f5.com nxt_feature_test="#include <openssl/ssl.h> 771942Sa.suvorov@f5.com 78*2228Sa.clayton@nginx.com int main(void) { 791942Sa.suvorov@f5.com #if (OPENSSL_NO_TLSEXT) 801942Sa.suvorov@f5.com #error OpenSSL: no tlsext support. 811942Sa.suvorov@f5.com #else 821942Sa.suvorov@f5.com return 0; 831942Sa.suvorov@f5.com #endif 841942Sa.suvorov@f5.com }" 851942Sa.suvorov@f5.com . auto/feature 860Sigor@sysoev.rufi 870Sigor@sysoev.ru 880Sigor@sysoev.ru 890Sigor@sysoev.ruif [ $NXT_GNUTLS = YES ]; then 900Sigor@sysoev.ru 910Sigor@sysoev.ru if /bin/sh -c "(pkg-config gnutls --exists)" >> $NXT_AUTOCONF_ERR 2>&1; 920Sigor@sysoev.ru then 930Sigor@sysoev.ru NXT_GNUTLS_CFLAGS=`pkg-config gnutls --cflags` 940Sigor@sysoev.ru NXT_GNUTLS_LIBS=`pkg-config gnutls --libs` 950Sigor@sysoev.ru 960Sigor@sysoev.ru nxt_feature="GnuTLS library" 970Sigor@sysoev.ru nxt_feature_name=NXT_HAVE_GNUTLS 980Sigor@sysoev.ru nxt_feature_run=yes 990Sigor@sysoev.ru nxt_feature_incs=$NXT_GNUTLS_CFLAGS 1000Sigor@sysoev.ru nxt_feature_libs=$NXT_GNUTLS_LIBS 1010Sigor@sysoev.ru nxt_feature_test="#include <gnutls/gnutls.h> 1020Sigor@sysoev.ru 103*2228Sa.clayton@nginx.com int main(void) { 1040Sigor@sysoev.ru gnutls_global_init(); 1050Sigor@sysoev.ru gnutls_global_deinit(); 1060Sigor@sysoev.ru return 0; 1070Sigor@sysoev.ru }" 1080Sigor@sysoev.ru . auto/feature 1090Sigor@sysoev.ru 1100Sigor@sysoev.ru 1110Sigor@sysoev.ru if [ $nxt_found = yes ]; then 112771Sigor@sysoev.ru NXT_TLS=YES 1130Sigor@sysoev.ru 1140Sigor@sysoev.ru $echo " + GnuTLS version: `pkg-config gnutls --modversion`" 1150Sigor@sysoev.ru 1160Sigor@sysoev.ru 1170Sigor@sysoev.ru nxt_feature="gnutls_transport_set_vec_push_function" 1180Sigor@sysoev.ru nxt_feature_name=NXT_HAVE_GNUTLS_VEC_PUSH 1190Sigor@sysoev.ru nxt_feature_run=no 1200Sigor@sysoev.ru nxt_feature_incs=$NXT_GNUTLS_CFLAGS 1210Sigor@sysoev.ru nxt_feature_libs=$NXT_GNUTLS_LIBS 1220Sigor@sysoev.ru nxt_feature_test="#include <gnutls/gnutls.h> 1230Sigor@sysoev.ru 124*2228Sa.clayton@nginx.com int main(void) { 1250Sigor@sysoev.ru gnutls_transport_set_vec_push_function(NULL, NULL); 1260Sigor@sysoev.ru return 0; 1270Sigor@sysoev.ru }" 1280Sigor@sysoev.ru . auto/feature 1290Sigor@sysoev.ru 1300Sigor@sysoev.ru 1310Sigor@sysoev.ru nxt_feature="gnutls_global_set_time_function" 1320Sigor@sysoev.ru nxt_feature_name=NXT_HAVE_GNUTLS_SET_TIME 1330Sigor@sysoev.ru nxt_feature_run=no 1340Sigor@sysoev.ru nxt_feature_incs=$NXT_GNUTLS_CFLAGS 1350Sigor@sysoev.ru nxt_feature_libs=$NXT_GNUTLS_LIBS 1360Sigor@sysoev.ru nxt_feature_test="#include <gnutls/gnutls.h> 1370Sigor@sysoev.ru 138*2228Sa.clayton@nginx.com int main(void) { 1390Sigor@sysoev.ru gnutls_global_set_time_function(NULL); 1400Sigor@sysoev.ru return 0; 1410Sigor@sysoev.ru }" 1420Sigor@sysoev.ru . auto/feature 1430Sigor@sysoev.ru 1440Sigor@sysoev.ru else 1450Sigor@sysoev.ru $echo 1460Sigor@sysoev.ru $echo $0: error: no GnuTLS library found. 1470Sigor@sysoev.ru $echo 1480Sigor@sysoev.ru exit 1; 1490Sigor@sysoev.ru fi 1500Sigor@sysoev.ru fi 1510Sigor@sysoev.rufi 1520Sigor@sysoev.ru 1530Sigor@sysoev.ru 1540Sigor@sysoev.ruif [ $NXT_CYASSL = YES ]; then 1550Sigor@sysoev.ru 1560Sigor@sysoev.ru nxt_feature="CyaSSL library" 1570Sigor@sysoev.ru nxt_feature_name=NXT_HAVE_CYASSL 1580Sigor@sysoev.ru nxt_feature_run=yes 1590Sigor@sysoev.ru nxt_feature_incs= 1600Sigor@sysoev.ru nxt_feature_libs="-lcyassl" 1610Sigor@sysoev.ru nxt_feature_test="#include <cyassl/ssl.h> 1620Sigor@sysoev.ru 163*2228Sa.clayton@nginx.com int main(void) { 1640Sigor@sysoev.ru CyaSSL_Init(); 1650Sigor@sysoev.ru CyaSSL_Cleanup(); 1660Sigor@sysoev.ru return 0; 1670Sigor@sysoev.ru }" 1680Sigor@sysoev.ru . auto/feature 1690Sigor@sysoev.ru 1700Sigor@sysoev.ru 1710Sigor@sysoev.ru if [ $nxt_found = yes ]; then 172771Sigor@sysoev.ru NXT_TLS=YES 1730Sigor@sysoev.ru NXT_CYASSL_CFLAGS="$nxt_feature_incs" 1740Sigor@sysoev.ru NXT_CYASSL_LIBS="$nxt_feature_libs" 1750Sigor@sysoev.ru 1760Sigor@sysoev.ru else 1770Sigor@sysoev.ru $echo 1780Sigor@sysoev.ru $echo $0: error: no CyaSSL library found. 1790Sigor@sysoev.ru $echo 1800Sigor@sysoev.ru exit 1; 1810Sigor@sysoev.ru fi 1820Sigor@sysoev.rufi 1830Sigor@sysoev.ru 1840Sigor@sysoev.ru 1850Sigor@sysoev.ruif [ $NXT_POLARSSL = YES ]; then 1860Sigor@sysoev.ru 1870Sigor@sysoev.ru nxt_feature="PolarSSL library" 1880Sigor@sysoev.ru nxt_feature_name=NXT_HAVE_POLARSSL 1890Sigor@sysoev.ru nxt_feature_run=yes 1900Sigor@sysoev.ru nxt_feature_incs= 1910Sigor@sysoev.ru nxt_feature_libs="-lpolarssl" 1920Sigor@sysoev.ru nxt_feature_test="#include <polarssl/ssl.h> 1930Sigor@sysoev.ru 194*2228Sa.clayton@nginx.com int main(void) { 1950Sigor@sysoev.ru ssl_context ssl; 1960Sigor@sysoev.ru memset(&ssl, '\0', sizeof(ssl)); 1970Sigor@sysoev.ru ssl_init(&ssl); 1980Sigor@sysoev.ru ssl_free(&ssl); 1990Sigor@sysoev.ru return 0; 2000Sigor@sysoev.ru }" 2010Sigor@sysoev.ru . auto/feature 2020Sigor@sysoev.ru 2030Sigor@sysoev.ru 2040Sigor@sysoev.ru if [ $nxt_found = yes ]; then 205771Sigor@sysoev.ru NXT_TLS=YES 2060Sigor@sysoev.ru NXT_POLARSSL_CFLAGS="$nxt_feature_incs" 2070Sigor@sysoev.ru NXT_POLARSSL_LIBS="$nxt_feature_libs" 2080Sigor@sysoev.ru 2090Sigor@sysoev.ru else 2100Sigor@sysoev.ru $echo 2110Sigor@sysoev.ru $echo $0: error: no PolarSSL library found. 2120Sigor@sysoev.ru $echo 2130Sigor@sysoev.ru exit 1; 2140Sigor@sysoev.ru fi 2150Sigor@sysoev.rufi 216