binding.gyp
1 { 2 "variables": { 3 "NODE_VERSION%":"<!(node -p \"process.versions.node.split(\\\".\\\")[0]\")" 4 }, 5 'targets': [ 6 { 7 'target_name': 'bcrypt_lib', 8 'sources': [ 9 'src/blowfish.cc', 10 'src/bcrypt.cc', 11 'src/bcrypt_node.cc' 12 ], 13 'defines': [ 14 '_GNU_SOURCE', 15 ], 16 'cflags!': [ '-fno-exceptions' ], 17 'cflags_cc!': [ '-fno-exceptions' ], 18 'dependencies': [ 19 "<!(node -p \"require('node-addon-api').targets\"):node_addon_api_except", 20 ], 21 'conditions': [ 22 ['OS=="win"', { 23 "msvs_settings": { 24 "VCCLCompilerTool": { 25 "ExceptionHandling": 1 26 } 27 }, 28 'defines': [ 29 'uint=unsigned int', 30 ] 31 }], 32 ['OS=="mac"', { 33 'cflags+': ['-fvisibility=hidden'], 34 "xcode_settings": { 35 "CLANG_CXX_LIBRARY": "libc++", 36 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES', 37 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden 38 } 39 }], 40 ['OS=="zos" and NODE_VERSION <= 16',{ 41 'cflags': [ 42 '-qascii', 43 ], 44 'defines': ["NAPI_DISABLE_CPP_EXCEPTIONS"], 45 }], 46 ], 47 }, 48 ] 49 }