{ 'variables': { 'node_shared_openssl%': 'true' }, 'targets': [ { 'target_name': 'KeyModule', 'sources': [ 'src/eckey.cc' ], 'conditions': [ # For Windows, require either a 32-bit or 64-bit # separately-compiled OpenSSL library. # Currently set up to use with the following OpenSSL distro: # # http://slproweb.com/products/Win32OpenSSL.html [ 'OS=="win"', { 'conditions': [ [ 'target_arch=="x64"', { 'variables': { 'openssl_root%': 'C:/OpenSSL-Win64' }, }, { 'variables': { 'openssl_root%': 'C:/OpenSSL-Win32' } } ] ], 'libraries': [ '-l<(openssl_root)/lib/libeay32.lib', ], 'include_dirs': [ '<(openssl_root)/include', ], }, # Otherwise, if not Windows, link against the exposed OpenSSL # in Node. { "conditions": [ ['node_shared_openssl=="false"', { # so when "node_shared_openssl" is "false", then OpenSSL has been # bundled into the node executable. So we need to include the same # header files that were used when building node. 'include_dirs': [ '<(node_root_dir)/deps/openssl/openssl/include' ], "conditions" : [ ["target_arch=='ia32'", { "include_dirs": [ "<(node_root_dir)/deps/openssl/config/piii" ] }], ["target_arch=='x64'", { "include_dirs": [ "<(node_root_dir)/deps/openssl/config/k8" ] }], ["target_arch=='arm'", { "include_dirs": [ "<(node_root_dir)/deps/openssl/config/arm" ] }] ] }] ]} ]] } ] }