0006-auto-lib-openssl-conf-use-pkg-config.patch 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. From 4ba4b1e0bd1b69e124eb34c95ae9e7c087370efa Mon Sep 17 00:00:00 2001
  2. From: Martin Bark <martin@barkynet.com>
  3. Date: Fri, 6 May 2016 14:48:31 +0100
  4. Subject: [PATCH] auto/lib/openssl/conf: use pkg-config
  5. Change to using pkg-config to find the path to openssl and its
  6. dependencies.
  7. Signed-off-by: Martin Bark <martin@barkynet.com>
  8. ---
  9. auto/lib/openssl/conf | 187 +++++++++++++++++++++---------------------
  10. 1 file changed, 94 insertions(+), 93 deletions(-)
  11. diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf
  12. index 4fb52df7..9f30490d 100644
  13. --- a/auto/lib/openssl/conf
  14. +++ b/auto/lib/openssl/conf
  15. @@ -1,4 +1,3 @@
  16. -
  17. # Copyright (C) Igor Sysoev
  18. # Copyright (C) Nginx, Inc.
  19. @@ -7,123 +6,125 @@ if [ $OPENSSL != NONE ]; then
  20. case "$CC" in
  21. - cl | bcc32)
  22. - have=NGX_OPENSSL . auto/have
  23. - have=NGX_SSL . auto/have
  24. -
  25. - CFLAGS="$CFLAGS -DNO_SYS_TYPES_H"
  26. -
  27. - CORE_INCS="$CORE_INCS $OPENSSL/openssl/include"
  28. - CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h"
  29. -
  30. - if [ -f $OPENSSL/ms/do_ms.bat ]; then
  31. - # before OpenSSL 1.1.0
  32. - CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib"
  33. - CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib"
  34. - else
  35. - # OpenSSL 1.1.0+
  36. - CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.lib"
  37. - CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.lib"
  38. - fi
  39. -
  40. - # libeay32.lib requires gdi32.lib
  41. - CORE_LIBS="$CORE_LIBS gdi32.lib"
  42. - # OpenSSL 1.0.0 requires crypt32.lib
  43. - CORE_LIBS="$CORE_LIBS crypt32.lib"
  44. - ;;
  45. -
  46. - *)
  47. - have=NGX_OPENSSL . auto/have
  48. - have=NGX_SSL . auto/have
  49. -
  50. - CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
  51. - CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
  52. - CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
  53. - CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
  54. - CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
  55. - CORE_LIBS="$CORE_LIBS $NGX_LIBPTHREAD"
  56. -
  57. - if [ "$NGX_PLATFORM" = win32 ]; then
  58. - CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32"
  59. - fi
  60. - ;;
  61. + cl | bcc32)
  62. + have=NGX_OPENSSL . auto/have
  63. + have=NGX_SSL . auto/have
  64. +
  65. + CFLAGS="$CFLAGS -DNO_SYS_TYPES_H"
  66. +
  67. + CORE_INCS="$CORE_INCS $OPENSSL/openssl/include"
  68. + CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h"
  69. +
  70. + if [ -f $OPENSSL/ms/do_ms.bat ]; then
  71. + # before OpenSSL 1.1.0
  72. + CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib"
  73. + CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib"
  74. + else
  75. + # OpenSSL 1.1.0+
  76. + CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.lib"
  77. + CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.lib"
  78. + fi
  79. +
  80. + # libeay32.lib requires gdi32.lib
  81. + CORE_LIBS="$CORE_LIBS gdi32.lib"
  82. + # OpenSSL 1.0.0 requires crypt32.lib
  83. + CORE_LIBS="$CORE_LIBS crypt32.lib"
  84. + ;;
  85. +
  86. + *)
  87. + have=NGX_OPENSSL . auto/have
  88. + have=NGX_SSL . auto/have
  89. +
  90. + CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
  91. + CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
  92. + CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
  93. + CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
  94. + CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
  95. + CORE_LIBS="$CORE_LIBS $NGX_LIBPTHREAD"
  96. +
  97. + if [ "$NGX_PLATFORM" = win32 ]; then
  98. + CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32"
  99. + fi
  100. + ;;
  101. esac
  102. else
  103. if [ "$NGX_PLATFORM" != win32 ]; then
  104. - OPENSSL=NO
  105. + OPENSSL=NO
  106. - ngx_feature="OpenSSL library"
  107. - ngx_feature_name="NGX_OPENSSL"
  108. - ngx_feature_run=no
  109. - ngx_feature_incs="#include <openssl/ssl.h>"
  110. - ngx_feature_path=
  111. - ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL $NGX_LIBPTHREAD"
  112. - ngx_feature_test="SSL_CTX_set_options(NULL, 0)"
  113. - . auto/feature
  114. + ngx_feature="OpenSSL library"
  115. + ngx_feature_name="NGX_OPENSSL"
  116. + ngx_feature_run=no
  117. + ngx_feature_incs="#include <openssl/ssl.h>"
  118. + ngx_feature_path=
  119. + ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I openssl|
  120. + sed -re 's/(^|\s)-I\s*(\S+)/\1\2/g')"
  121. + ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs openssl)"
  122. + ngx_feature_test="SSL_CTX_set_options(NULL, 0)"
  123. + . auto/feature
  124. - if [ $ngx_found = no ]; then
  125. + if [ $ngx_found = no ]; then
  126. - # FreeBSD port
  127. + # FreeBSD port
  128. - ngx_feature="OpenSSL library in /usr/local/"
  129. - ngx_feature_path="/usr/local/include"
  130. + ngx_feature="OpenSSL library in /usr/local/"
  131. + ngx_feature_path="/usr/local/include"
  132. - if [ $NGX_RPATH = YES ]; then
  133. - ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto"
  134. - else
  135. - ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto"
  136. - fi
  137. + if [ $NGX_RPATH = YES ]; then
  138. + ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto"
  139. + else
  140. + ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto"
  141. + fi
  142. - ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
  143. + ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
  144. - . auto/feature
  145. - fi
  146. + . auto/feature
  147. + fi
  148. - if [ $ngx_found = no ]; then
  149. + if [ $ngx_found = no ]; then
  150. - # NetBSD port
  151. + # NetBSD port
  152. - ngx_feature="OpenSSL library in /usr/pkg/"
  153. - ngx_feature_path="/usr/pkg/include"
  154. + ngx_feature="OpenSSL library in /usr/pkg/"
  155. + ngx_feature_path="/usr/pkg/include"
  156. - if [ $NGX_RPATH = YES ]; then
  157. - ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto"
  158. - else
  159. - ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto"
  160. - fi
  161. + if [ $NGX_RPATH = YES ]; then
  162. + ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto"
  163. + else
  164. + ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto"
  165. + fi
  166. - ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
  167. + ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
  168. - . auto/feature
  169. - fi
  170. + . auto/feature
  171. + fi
  172. - if [ $ngx_found = no ]; then
  173. + if [ $ngx_found = no ]; then
  174. - # MacPorts
  175. + # MacPorts
  176. - ngx_feature="OpenSSL library in /opt/local/"
  177. - ngx_feature_path="/opt/local/include"
  178. + ngx_feature="OpenSSL library in /opt/local/"
  179. + ngx_feature_path="/opt/local/include"
  180. - if [ $NGX_RPATH = YES ]; then
  181. - ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto"
  182. - else
  183. - ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto"
  184. - fi
  185. + if [ $NGX_RPATH = YES ]; then
  186. + ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto"
  187. + else
  188. + ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto"
  189. + fi
  190. - ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
  191. + ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
  192. - . auto/feature
  193. - fi
  194. + . auto/feature
  195. + fi
  196. - if [ $ngx_found = yes ]; then
  197. - have=NGX_SSL . auto/have
  198. - CORE_INCS="$CORE_INCS $ngx_feature_path"
  199. - CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
  200. - OPENSSL=YES
  201. - fi
  202. + if [ $ngx_found = yes ]; then
  203. + have=NGX_SSL . auto/have
  204. + CORE_INCS="$CORE_INCS $ngx_feature_path"
  205. + CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
  206. + OPENSSL=YES
  207. + fi
  208. fi
  209. if [ $OPENSSL != YES ]; then
  210. @@ -136,7 +137,7 @@ into the system, or build the OpenSSL library statically from the source
  211. with nginx by using --with-openssl=<path> option.
  212. END
  213. - exit 1
  214. + exit 1
  215. fi
  216. fi
  217. --
  218. 2.17.1