summaryrefslogtreecommitdiff
blob: e8483ab279fb3cb28661aaaee05d788ed69c0bb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
diff --git a/configure b/configure
index 5703a70cb2d..3b6fc7347db 100755
--- a/configure
+++ b/configure
@@ -220,6 +220,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',
@@ -1415,6 +1436,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 43a6576206d..c8ba6759246 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%': '',
@@ -176,7 +177,6 @@
 
       'dependencies': [
         'node_js2c#host',
-        'deps/nghttp2/nghttp2.gyp:nghttp2'
       ],
 
       'includes': [
@@ -186,8 +186,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': [
@@ -929,6 +928,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 ec78df2a339..3990c59ef98 100644
--- a/node.gypi
+++ b/node.gypi
@@ -133,6 +133,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