diff --git a/configure b/configure index b72722e938b42a..40b4b2f3e999ed 100755 --- a/configure +++ b/configure @@ -214,6 +214,27 @@ shared_optgroup.add_option('--shared-libuv-libpath', dest='shared_libuv_libpath', help='a directory to search for the shared libuv DLL') +shared_optgroup.add_option('--shared-nghttp2', + action='store_true', + dest='shared_nghttp2', + help='link to a shared nghttp2 DLL instead of static linking') + +shared_optgroup.add_option('--shared-nghttp2-includes', + action='store', + dest='shared_nghttp2_includes', + help='directory containing nghttp2 header files') + +shared_optgroup.add_option('--shared-nghttp2-libname', + action='store', + dest='shared_nghttp2_libname', + default='nghttp2', + help='alternative lib name to link to [default: %default]') + +shared_optgroup.add_option('--shared-nghttp2-libpath', + action='store', + dest='shared_nghttp2_libpath', + help='a directory to search for the shared nghttp2 DLLs') + shared_optgroup.add_option('--shared-openssl', action='store_true', dest='shared_openssl', @@ -1407,6 +1428,7 @@ configure_library('zlib', output) configure_library('http_parser', output) configure_library('libuv', output) configure_library('libcares', output) +configure_library('nghttp2', output) # stay backwards compatible with shared cares builds output['variables']['node_shared_cares'] = \ output['variables'].pop('node_shared_libcares') diff --git a/node.gyp b/node.gyp index a4ada1d54ec2d2..d5cd268c5956cf 100644 --- a/node.gyp +++ b/node.gyp @@ -16,6 +16,7 @@ 'node_shared_http_parser%': 'false', 'node_shared_cares%': 'false', 'node_shared_libuv%': 'false', + 'node_shared_nghttp2%': 'false', 'node_use_openssl%': 'true', 'node_shared_openssl%': 'false', 'node_v8_options%': '', @@ -162,7 +163,6 @@ 'dependencies': [ 'node_js2c#host', - 'deps/nghttp2/nghttp2.gyp:nghttp2' ], 'includes': [ @@ -172,8 +172,7 @@ 'include_dirs': [ 'src', 'tools/msvs/genfiles', - '<(SHARED_INTERMEDIATE_DIR)', # for node_natives.h - 'deps/nghttp2/lib/includes' + '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h ], 'sources': [ @@ -906,6 +905,14 @@ 'deps/uv/uv.gyp:libuv' ] }], + [ 'node_shared_nghttp2=="false"', { + 'dependencies': [ + 'deps/nghttp2/nghttp2.gyp:nghttp2' + ], + 'include_dirs': [ + 'deps/nghttp2/lib/includes' + ] + }], [ 'node_use_v8_platform=="true"', { 'dependencies': [ 'deps/v8/src/v8.gyp:v8_libplatform', diff --git a/node.gypi b/node.gypi index c7209379a782f1..9b37b10a4a3f00 100644 --- a/node.gypi +++ b/node.gypi @@ -138,6 +138,10 @@ 'dependencies': [ 'deps/uv/uv.gyp:libuv' ], }], + [ 'node_shared_nghttp2=="false"', { + 'dependencies': [ 'deps/nghttp2/nghttp2.gyp:nghttp2' ], + }], + [ 'OS=="mac"', { # linking Corefoundation is needed since certain OSX debugging tools # like Instruments require it for some features