diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2012-10-23 10:27:19 -0400 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2012-11-06 00:18:35 +0100 |
commit | 73ff653a8db11cbe0142df4e764434f125e45e6b (patch) | |
tree | da87420c5c0b1c795440c6b8e39bb380146042d6 | |
parent | bfd78b69fc7d0ac97106658e4eb6d475fa08e247 (diff) | |
download | node-73ff653a8db11cbe0142df4e764434f125e45e6b.tar.gz |
build: allow linking against system c-ares
-rwxr-xr-x | configure | 35 | ||||
-rw-r--r-- | doc/api/process.markdown | 1 | ||||
-rw-r--r-- | node.gyp | 6 |
3 files changed, 41 insertions, 1 deletions
@@ -151,6 +151,26 @@ parser.add_option("--shared-http-parser-libname", dest="shared_http_parser_libname", help="Alternative lib name to link to (default: 'http_parser')") +parser.add_option("--shared-cares", + action="store_true", + dest="shared_cares", + help="Link to a shared cares DLL instead of static linking") + +parser.add_option("--shared-cares-includes", + action="store", + dest="shared_cares_includes", + help="Directory containing cares header files") + +parser.add_option("--shared-cares-libpath", + action="store", + dest="shared_cares_libpath", + help="A directory to search for the shared cares DLL") + +parser.add_option("--shared-cares-libname", + action="store", + dest="shared_cares_libname", + help="Alternative lib name to link to (default: 'cares')") + parser.add_option("--with-dtrace", action="store_true", dest="with_dtrace", @@ -456,6 +476,20 @@ def configure_http_parser(o): o['include_dirs'] += [options.shared_http_parser_includes] +def configure_cares(o): + o['variables']['node_shared_cares'] = b(options.shared_cares) + + # assume shared cares if one of these is set? + if options.shared_cares_libpath: + o['libraries'] += ['-L%s' % options.shared_cares_libpath] + if options.shared_cares_libname: + o['libraries'] += ['-l%s' % options.shared_cares_libname] + elif options.shared_cares: + o['libraries'] += ['-lcares'] + if options.shared_cares_includes: + o['include_dirs'] += [options.shared_cares_includes] + + def configure_v8(o): o['variables']['v8_use_snapshot'] = b(not options.without_snapshot) o['variables']['node_shared_v8'] = b(options.shared_v8) @@ -510,6 +544,7 @@ output = { configure_node(output) configure_libz(output) configure_http_parser(output) +configure_cares(output) configure_v8(output) configure_openssl(output) diff --git a/doc/api/process.markdown b/doc/api/process.markdown index 41b163a15..1593eec87 100644 --- a/doc/api/process.markdown +++ b/doc/api/process.markdown @@ -299,6 +299,7 @@ An example of the possible output looks like: { host_arch: 'x64', node_install_npm: 'true', node_prefix: '', + node_shared_cares: 'false', node_shared_http_parser: 'false', node_shared_v8: 'false', node_shared_zlib: 'false', @@ -9,6 +9,7 @@ 'node_shared_v8%': 'false', 'node_shared_zlib%': 'false', 'node_shared_http_parser%': 'false', + 'node_shared_cares%': 'false', 'node_use_openssl%': 'true', 'node_use_systemtap%': 'false', 'node_shared_openssl%': 'false', @@ -59,7 +60,6 @@ 'type': 'executable', 'dependencies': [ - 'deps/cares/cares.gyp:cares', 'deps/uv/uv.gyp:libuv', 'node_js2c#host', ], @@ -205,6 +205,10 @@ 'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ], }], + [ 'node_shared_cares=="false"', { + 'dependencies': [ 'deps/cares/cares.gyp:cares' ], + }], + [ 'OS=="win"', { 'sources': [ 'src/res/node.rc', |