/ bindings / node.js / binding.gyp
binding.gyp
 1  {
 2    "targets": [
 3      {
 4        "target_name": "kzg",
 5        "sources": [
 6          "src/kzg.cxx",
 7          "deps/blst/src/server.c",
 8          "deps/c-kzg/c_kzg_4844.c"
 9        ],
10        "include_dirs": [
11          "<(module_root_dir)/deps/blst/bindings",
12          "<(module_root_dir)/deps/c-kzg",
13          "<!@(node -p \"require('node-addon-api').include\")"
14        ],
15        "defines": [
16          "__BLST_PORTABLE__",
17          "NAPI_CPP_EXCEPTIONS"
18        ],
19        "conditions": [
20          ["OS!='win'", {
21            "sources": ["deps/blst/build/assembly.S"],
22            "cflags_cc": [
23              "-fexceptions",
24              "-std=c++17",
25              "-fPIC"
26            ]
27          }],
28          ["OS=='win'", {
29            "sources": ["deps/blst/build/win64/*-x86_64.asm"],
30            "defines": [
31              "_CRT_SECURE_NO_WARNINGS",
32              "_HAS_EXCEPTIONS=1"
33            ],
34            "msbuild_settings": {
35              "ClCompile": {
36                "ExceptionHandling": "Sync",
37                "AdditionalOptions": ["/std:c++17"]
38              }
39            }
40          }],
41          ["OS=='mac'", {
42            "xcode_settings": {
43              "GCC_ENABLE_CPP_EXCEPTIONS": "YES",
44              "CLANG_CXX_LIBRARY": "libc++",
45              "MACOSX_DEPLOYMENT_TARGET": "13.0"
46            }
47          }]
48        ]
49      }
50    ]
51  }