Browse Source

deps: reintroduce supporting shared c-ares builds

As of cc192f0e we've now in sync with upstream which means that we
also can allow our users to build against a shared version of c-ares.

Note: It is still up to users to make sure that the library version
is on par with what Node.js bundles.

This "reverts" commit 25fa5c4.

PR-URL: https://github.com/nodejs/node/pull/5775
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
process-exit-stdio-flushing
Johan Bergström 9 years ago
parent
commit
2253be95d0
  1. 25
      configure
  2. 6
      node.gyp
  3. 4
      tools/install.py

25
configure

@ -202,6 +202,27 @@ shared_optgroup.add_option('--shared-zlib-libpath',
dest='shared_zlib_libpath', dest='shared_zlib_libpath',
help='a directory to search for the shared zlib DLL') help='a directory to search for the shared zlib DLL')
shared_optgroup.add_option('--shared-cares',
action='store_true',
dest='shared_libcares',
help='link to a shared cares DLL instead of static linking')
shared_optgroup.add_option('--shared-cares-includes',
action='store',
dest='shared_libcares_includes',
help='directory containing cares header files')
shared_optgroup.add_option('--shared-cares-libname',
action='store',
dest='shared_libcares_libname',
default='cares',
help='alternative lib name to link to [default: %default]')
shared_optgroup.add_option('--shared-cares-libpath',
action='store',
dest='shared_libcares_libpath',
help='a directory to search for the shared cares DLL')
parser.add_option_group(shared_optgroup) parser.add_option_group(shared_optgroup)
parser.add_option('--systemtap-includes', parser.add_option('--systemtap-includes',
@ -1125,6 +1146,10 @@ configure_node(output)
configure_library('zlib', output) configure_library('zlib', output)
configure_library('http_parser', output) configure_library('http_parser', output)
configure_library('libuv', output) configure_library('libuv', output)
configure_library('libcares', output)
# stay backwards compatible with shared cares builds
output['variables']['node_shared_cares'] = \
output['variables'].pop('node_shared_libcares')
configure_v8(output) configure_v8(output)
configure_openssl(output) configure_openssl(output)
configure_intl(output) configure_intl(output)

6
node.gyp

@ -8,6 +8,7 @@
'node_no_browser_globals%': 'false', 'node_no_browser_globals%': 'false',
'node_shared_zlib%': 'false', 'node_shared_zlib%': 'false',
'node_shared_http_parser%': 'false', 'node_shared_http_parser%': 'false',
'node_shared_cares%': 'false',
'node_shared_libuv%': 'false', 'node_shared_libuv%': 'false',
'node_use_openssl%': 'true', 'node_use_openssl%': 'true',
'node_shared_openssl%': 'false', 'node_shared_openssl%': 'false',
@ -107,7 +108,6 @@
'dependencies': [ 'dependencies': [
'node_js2c#host', 'node_js2c#host',
'deps/cares/cares.gyp:cares',
'deps/v8/tools/gyp/v8.gyp:v8', 'deps/v8/tools/gyp/v8.gyp:v8',
'deps/v8/tools/gyp/v8.gyp:v8_libplatform' 'deps/v8/tools/gyp/v8.gyp:v8_libplatform'
], ],
@ -391,6 +391,10 @@
'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ], 'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ],
}], }],
[ 'node_shared_cares=="false"', {
'dependencies': [ 'deps/cares/cares.gyp:cares' ],
}],
[ 'node_shared_libuv=="false"', { [ 'node_shared_libuv=="false"', {
'dependencies': [ 'deps/uv/uv.gyp:libuv' ], 'dependencies': [ 'deps/uv/uv.gyp:libuv' ],
}], }],

4
tools/install.py

@ -164,9 +164,11 @@ def headers(action):
if sys.platform.startswith('aix'): if sys.platform.startswith('aix'):
action(['out/Release/node.exp'], 'include/node/') action(['out/Release/node.exp'], 'include/node/')
subdir_files('deps/cares/include', 'include/node/', action)
subdir_files('deps/v8/include', 'include/node/', action) subdir_files('deps/v8/include', 'include/node/', action)
if 'false' == variables.get('node_shared_cares'):
subdir_files('deps/cares/include', 'include/node/', action)
if 'false' == variables.get('node_shared_libuv'): if 'false' == variables.get('node_shared_libuv'):
subdir_files('deps/uv/include', 'include/node/', action) subdir_files('deps/uv/include', 'include/node/', action)

Loading…
Cancel
Save