comparison mupdf-source/thirdparty/curl/m4/curl-openssl.m4 @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
comparison
equal deleted inserted replaced
1:1d09e1dec1d9 2:b50eed0cc0ef
1 #***************************************************************************
2 # _ _ ____ _
3 # Project ___| | | | _ \| |
4 # / __| | | | |_) | |
5 # | (__| |_| | _ <| |___
6 # \___|\___/|_| \_\_____|
7 #
8 # Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
9 #
10 # This software is licensed as described in the file COPYING, which
11 # you should have received as part of this distribution. The terms
12 # are also available at https://curl.haxx.se/docs/copyright.html.
13 #
14 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
15 # copies of the Software, and permit persons to whom the Software is
16 # furnished to do so, under the terms of the COPYING file.
17 #
18 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 # KIND, either express or implied.
20 #
21 #***************************************************************************
22
23 # File version for 'aclocal' use. Keep it a single number.
24 # serial 5
25
26
27 dnl CURL_CHECK_OPENSSL_API_HEADERS
28 dnl -------------------------------------------------
29 dnl Find out OpenSSL headers API version, as reported
30 dnl by OPENSSL_VERSION_NUMBER. No runtime checks
31 dnl allowed here for cross-compilation support.
32 dnl HAVE_OPENSSL_API_HEADERS is defined as appropriate
33 dnl only for systems which actually run the configure
34 dnl script. Config files generated manually or in any
35 dnl other way shall not define this.
36
37 AC_DEFUN([CURL_CHECK_OPENSSL_API_HEADERS], [
38 #
39 tst_api="unknown"
40 #
41 AC_MSG_CHECKING([for OpenSSL headers version])
42 CURL_CHECK_DEF([OPENSSL_VERSION_NUMBER], [
43 # ifdef USE_OPENSSL
44 # include <openssl/crypto.h>
45 # else
46 # include <crypto.h>
47 # endif
48 ], [silent])
49 if test "$curl_cv_have_def_OPENSSL_VERSION_NUMBER" = "yes"; then
50 tst_verlen=`expr "$curl_cv_def_OPENSSL_VERSION_NUMBER" : '.*'`
51 case "x$tst_verlen" in
52 x6)
53 tst_vermaj=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 3`
54 tst_vermin=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 4`
55 tst_verfix=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 5`
56 tst_api=0x$tst_vermaj$tst_vermin$tst_verfix
57 ;;
58 x11|x10)
59 tst_vermaj=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 3`
60 tst_vermin=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 5`
61 tst_verfix=`echo $curl_cv_def_OPENSSL_VERSION_NUMBER | cut -c 7`
62 tst_api=0x$tst_vermaj$tst_vermin$tst_verfix
63 ;;
64 *)
65 tst_api="unknown"
66 ;;
67 esac
68 case $tst_api in
69 0x111) tst_show="1.1.1" ;;
70 0x110) tst_show="1.1.0" ;;
71 0x102) tst_show="1.0.2" ;;
72 0x101) tst_show="1.0.1" ;;
73 0x100) tst_show="1.0.0" ;;
74 0x099) tst_show="0.9.9" ;;
75 0x098) tst_show="0.9.8" ;;
76 0x097) tst_show="0.9.7" ;;
77 0x096) tst_show="0.9.6" ;;
78 0x095) tst_show="0.9.5" ;;
79 0x094) tst_show="0.9.4" ;;
80 0x093) tst_show="0.9.3" ;;
81 0x092) tst_show="0.9.2" ;;
82 0x091) tst_show="0.9.1" ;;
83 *) tst_show="unknown" ;;
84 esac
85 tst_show="$tst_show - $curl_cv_def_OPENSSL_VERSION_NUMBER"
86 else
87 tst_show="unknown"
88 fi
89 AC_MSG_RESULT([$tst_show])
90 #
91 dnl if test "$tst_api" != "unknown"; then
92 dnl AC_DEFINE_UNQUOTED(HAVE_OPENSSL_API_HEADERS, $tst_api,
93 dnl [OpenSSL headers configure time API. Defined only by configure script.
94 dnl No matter what, do not ever define this manually or by any other means.])
95 dnl fi
96 curl_openssl_api_headers=$tst_api
97 ])
98
99
100 dnl CURL_CHECK_OPENSSL_API_LIBRARY
101 dnl -------------------------------------------------
102 dnl Find out OpenSSL library API version, performing
103 dnl only link tests in order to avoid getting fooled
104 dnl by mismatched OpenSSL headers. No runtime checks
105 dnl allowed here for cross-compilation support.
106 dnl HAVE_OPENSSL_API_LIBRARY is defined as appropriate
107 dnl only for systems which actually run the configure
108 dnl script. Config files generated manually or in any
109 dnl other way shall not define this.
110 dnl
111 dnl Most probably we should not bother attempting to
112 dnl detect OpenSSL library development API versions
113 dnl 0.9.9 and 1.1.0. For our intended use, detecting
114 dnl released versions should be good enough.
115 dnl
116 dnl Given that currently we are not using the result
117 dnl of this check, except for informative purposes,
118 dnl lets try to figure out everything.
119
120 AC_DEFUN([CURL_CHECK_OPENSSL_API_LIBRARY], [
121 #
122 tst_api="unknown"
123 #
124 AC_MSG_CHECKING([for OpenSSL library version])
125 if test "$tst_api" = "unknown"; then
126 AC_LINK_IFELSE([
127 AC_LANG_FUNC_LINK_TRY([ERR_clear_last_mark])
128 ],[
129 tst_api="0x111"
130 ])
131 fi
132 if test "$tst_api" = "unknown"; then
133 case $host in
134 *-*-vms*)
135 AC_LINK_IFELSE([
136 AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_not_resumbl_sess_cb])
137 ],[
138 tst_api="0x110"
139 ])
140 ;;
141 *)
142 AC_LINK_IFELSE([
143 AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_not_resumable_session_callback])
144 ],[
145 tst_api="0x110"
146 ])
147 ;;
148 esac
149 fi
150 if test "$tst_api" = "unknown"; then
151 AC_LINK_IFELSE([
152 AC_LANG_FUNC_LINK_TRY([SSL_CONF_CTX_new])
153 ],[
154 tst_api="0x102"
155 ])
156 fi
157 if test "$tst_api" = "unknown"; then
158 AC_LINK_IFELSE([
159 AC_LANG_FUNC_LINK_TRY([SSL_renegotiate_abbreviated])
160 ],[
161 tst_api="0x101"
162 ])
163 fi
164 if test "$tst_api" = "unknown"; then
165 AC_LINK_IFELSE([
166 AC_LANG_FUNC_LINK_TRY([OBJ_add_sigid])
167 ],[
168 tst_api="0x100"
169 ])
170 fi
171 if test "$tst_api" = "unknown"; then
172 AC_LINK_IFELSE([
173 AC_LANG_FUNC_LINK_TRY([ERR_set_mark])
174 ],[
175 tst_api="0x098"
176 ])
177 fi
178 if test "$tst_api" = "unknown"; then
179 AC_LINK_IFELSE([
180 AC_LANG_FUNC_LINK_TRY([ERR_peek_last_error])
181 ],[
182 tst_api="0x097"
183 ])
184 fi
185 if test "$tst_api" = "unknown"; then
186 AC_LINK_IFELSE([
187 AC_LANG_FUNC_LINK_TRY([c2i_ASN1_OBJECT])
188 ],[
189 tst_api="0x096"
190 ])
191 fi
192 if test "$tst_api" = "unknown"; then
193 AC_LINK_IFELSE([
194 AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_purpose])
195 ],[
196 tst_api="0x095"
197 ])
198 fi
199 if test "$tst_api" = "unknown"; then
200 AC_LINK_IFELSE([
201 AC_LANG_FUNC_LINK_TRY([OBJ_obj2txt])
202 ],[
203 tst_api="0x094"
204 ])
205 fi
206 if test "$tst_api" = "unknown"; then
207 AC_LINK_IFELSE([
208 AC_LANG_FUNC_LINK_TRY([SSL_get_verify_depth])
209 ],[
210 tst_api="0x093"
211 ])
212 fi
213 if test "$tst_api" = "unknown"; then
214 AC_LINK_IFELSE([
215 AC_LANG_FUNC_LINK_TRY([SSL_library_init])
216 ],[
217 tst_api="0x092"
218 ])
219 fi
220 if test "$tst_api" = "unknown"; then
221 AC_LINK_IFELSE([
222 AC_LANG_FUNC_LINK_TRY([SSL_CTX_set_cipher_list])
223 ],[
224 tst_api="0x091"
225 ])
226 fi
227 case $tst_api in
228 0x111) tst_show="1.1.1" ;;
229 0x110) tst_show="1.1.0" ;;
230 0x102) tst_show="1.0.2" ;;
231 0x101) tst_show="1.0.1" ;;
232 0x100) tst_show="1.0.0" ;;
233 0x099) tst_show="0.9.9" ;;
234 0x098) tst_show="0.9.8" ;;
235 0x097) tst_show="0.9.7" ;;
236 0x096) tst_show="0.9.6" ;;
237 0x095) tst_show="0.9.5" ;;
238 0x094) tst_show="0.9.4" ;;
239 0x093) tst_show="0.9.3" ;;
240 0x092) tst_show="0.9.2" ;;
241 0x091) tst_show="0.9.1" ;;
242 *) tst_show="unknown" ;;
243 esac
244 AC_MSG_RESULT([$tst_show])
245 #
246 dnl if test "$tst_api" != "unknown"; then
247 dnl AC_DEFINE_UNQUOTED(HAVE_OPENSSL_API_LIBRARY, $tst_api,
248 dnl [OpenSSL library link time API. Defined only by configure script.
249 dnl No matter what, do not ever define this manually or by any other means.])
250 dnl fi
251 curl_openssl_api_library=$tst_api
252 ])
253
254
255 dnl CURL_CHECK_OPENSSL_API
256 dnl -------------------------------------------------
257
258 AC_DEFUN([CURL_CHECK_OPENSSL_API], [
259 #
260 CURL_CHECK_OPENSSL_API_HEADERS
261 CURL_CHECK_OPENSSL_API_LIBRARY
262 #
263 tst_match="yes"
264 #
265 AC_MSG_CHECKING([for OpenSSL headers and library versions matching])
266 if test "$curl_openssl_api_headers" = "unknown" ||
267 test "$curl_openssl_api_library" = "unknown"; then
268 tst_match="fail"
269 tst_warns="Can not compare OpenSSL headers and library versions."
270 elif test "$curl_openssl_api_headers" != "$curl_openssl_api_library"; then
271 tst_match="no"
272 tst_warns="OpenSSL headers and library versions do not match."
273 fi
274 AC_MSG_RESULT([$tst_match])
275 if test "$tst_match" != "yes"; then
276 AC_MSG_WARN([$tst_warns])
277 fi
278 ])