mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 21:19:50 +01:00
tools: partially detect quic support in shared_openssl
If the shared openssl does not have the `OPENSSL_INFO_QUIC` define, then it definitely does not have the QUIC apis. This is only a partially accurate check because it does not detect if the shared openssl was actually *built* without the OPENSSL_NO_QUIC define set. Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/37682 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
This commit is contained in:
parent
65e8864fa3
commit
2b710c1413
@ -38,6 +38,7 @@ import nodedownload
|
||||
sys.path.insert(0, 'tools')
|
||||
import getmoduleversion
|
||||
import getnapibuildversion
|
||||
import getsharedopensslhasquic
|
||||
from gyp_node import run_gyp
|
||||
|
||||
# parse our options
|
||||
@ -1348,6 +1349,7 @@ def configure_openssl(o):
|
||||
variables['node_shared_openssl'] = b(options.shared_openssl)
|
||||
variables['openssl_is_fips'] = b(options.openssl_is_fips)
|
||||
variables['openssl_fips'] = ''
|
||||
variables['openssl_quic'] = b(True)
|
||||
|
||||
if options.openssl_no_asm:
|
||||
variables['openssl_no_asm'] = 1
|
||||
@ -1403,6 +1405,9 @@ def configure_openssl(o):
|
||||
if options.openssl_fips or options.openssl_fips == '':
|
||||
error('FIPS is not supported in this version of Node.js')
|
||||
|
||||
if options.shared_openssl:
|
||||
variables['openssl_quic'] = b(getsharedopensslhasquic.get_has_quic(options.__dict__['shared_openssl_includes']))
|
||||
|
||||
configure_library('openssl', o)
|
||||
|
||||
|
||||
|
19
tools/getsharedopensslhasquic.py
Normal file
19
tools/getsharedopensslhasquic.py
Normal file
@ -0,0 +1,19 @@
|
||||
from __future__ import print_function
|
||||
import os
|
||||
import re
|
||||
|
||||
def get_has_quic(include_path):
|
||||
openssl_crypto_h = os.path.join(
|
||||
include_path,
|
||||
'openssl',
|
||||
'crypto.h')
|
||||
|
||||
f = open(openssl_crypto_h)
|
||||
|
||||
regex = '^#\s*define OPENSSL_INFO_QUIC'
|
||||
|
||||
for line in f:
|
||||
if (re.match(regex, line)):
|
||||
return True
|
||||
|
||||
return False
|
Loading…
Reference in New Issue
Block a user