binding.gyp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. }