deps: add defines to nghttp3/ngtcp2 gyp configs

This commit adds two defines to ngtcp2, 'HAVE_ARPA_INET_H' and
'HAVE_NETINET_IN_H', and one define to nghttp3, 'HAVE_ARPA_INET_H' when
the operating system in use is linux.

The motivation for this is that currently, there are compiler warnings
generated for these libraries similar to the following:

../deps/ngtcp2/lib/ngtcp2_conv.c: In function ‘ngtcp2_put_uint16be’:
../deps/ngtcp2/lib/ngtcp2_conv.c:129:7: warning:
implicit declaration of function ‘htons’ [-Wimplicit-function-declaration]
  129 |   n = htons(n);
      |       ^~~~~

The inclusion of 'arpa/inet.h' is guarded by the 'HAVE_ARPA_INET_H'
macro (see deps/ngtcp2/lib/ngtcp2_conv.h).

These headers are checked by the ngtcp2 and nghttp3 builds using CMake's
CheckIncludeFile, and if they are available the above macros are defined.

I'm not sure if we need to have something similar to those checks or
ifit is alright to add these defines for certain operating systems.
Hopefully others will chime in and advice on how to handle this in the
best way.

PR-URL: https://github.com/nodejs/node/pull/33942
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
pull/34021/head
Daniel Bevenius 2020-06-18 14:56:24 +02:00 committed by James M Snell
parent c7d859e756
commit a0cbd676e7
No known key found for this signature in database
GPG Key ID: 7341B15C070877AC
2 changed files with 11 additions and 0 deletions

View File

@ -26,6 +26,11 @@
},
},
}],
['OS=="linux"', {
'defines': [
'HAVE_ARPA_INET_H',
],
}],
],
'direct_dependent_settings': {
'defines': [ 'NGHTTP3_STATICLIB' ],

View File

@ -33,6 +33,12 @@
},
},
}],
['OS=="linux"', {
'defines': [
'HAVE_ARPA_INET_H',
'HAVE_NETINET_IN_H',
],
}],
],
'direct_dependent_settings': {
'defines': [ 'NGTCP2_STATICLIB' ],