diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2012-10-23 09:01:26 -0400 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2012-11-06 00:18:35 +0100 |
commit | bfd78b69fc7d0ac97106658e4eb6d475fa08e247 (patch) | |
tree | 03acc1c971194e6aa4e8628f8156f5789e3d6a76 | |
parent | fddb5dc2d3bf063ed5a06c4af7a86e644f5328c9 (diff) | |
download | node-new-bfd78b69fc7d0ac97106658e4eb6d475fa08e247.tar.gz |
build: allow linking against system http_parser
-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
@@ -131,6 +131,26 @@ parser.add_option("--shared-zlib-libname", dest="shared_zlib_libname", help="Alternative lib name to link to (default: 'z')") +parser.add_option("--shared-http-parser", + action="store_true", + dest="shared_http_parser", + help="Link to a shared http_parser DLL instead of static linking") + +parser.add_option("--shared-http-parser-includes", + action="store", + dest="shared_http_parser_includes", + help="Directory containing http_parser header files") + +parser.add_option("--shared-http-parser-libpath", + action="store", + dest="shared_http_parser_libpath", + help="A directory to search for the shared http_parser DLL") + +parser.add_option("--shared-http-parser-libname", + action="store", + dest="shared_http_parser_libname", + help="Alternative lib name to link to (default: 'http_parser')") + parser.add_option("--with-dtrace", action="store_true", dest="with_dtrace", @@ -422,6 +442,20 @@ def configure_libz(o): o['include_dirs'] += [options.shared_zlib_includes] +def configure_http_parser(o): + o['variables']['node_shared_http_parser'] = b(options.shared_http_parser) + + # assume shared http_parser if one of these is set? + if options.shared_http_parser_libpath: + o['libraries'] += ['-L%s' % options.shared_http_parser_libpath] + if options.shared_http_parser_libname: + o['libraries'] += ['-l%s' % options.shared_http_parser_libname] + elif options.shared_http_parser: + o['libraries'] += ['-lhttp_parser'] + if options.shared_http_parser_includes: + o['include_dirs'] += [options.shared_http_parser_includes] + + def configure_v8(o): o['variables']['v8_use_snapshot'] = b(not options.without_snapshot) o['variables']['node_shared_v8'] = b(options.shared_v8) @@ -475,6 +509,7 @@ output = { configure_node(output) configure_libz(output) +configure_http_parser(output) configure_v8(output) configure_openssl(output) diff --git a/doc/api/process.markdown b/doc/api/process.markdown index d8612600c6..41b163a155 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_http_parser: 'false', node_shared_v8: 'false', node_shared_zlib: 'false', node_use_dtrace: 'false', @@ -8,6 +8,7 @@ 'node_use_etw%': 'false', 'node_shared_v8%': 'false', 'node_shared_zlib%': 'false', + 'node_shared_http_parser%': 'false', 'node_use_openssl%': 'true', 'node_use_systemtap%': 'false', 'node_shared_openssl%': 'false', @@ -59,7 +60,6 @@ 'dependencies': [ 'deps/cares/cares.gyp:cares', - 'deps/http_parser/http_parser.gyp:http_parser', 'deps/uv/uv.gyp:libuv', 'node_js2c#host', ], @@ -201,6 +201,10 @@ 'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ], }], + [ 'node_shared_http_parser=="false"', { + 'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ], + }], + [ 'OS=="win"', { 'sources': [ 'src/res/node.rc', |