-
Notifications
You must be signed in to change notification settings - Fork 14
/
binding.gyp
64 lines (64 loc) · 1.9 KB
/
binding.gyp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{
"targets": [
{
"target_name": "PyNode",
"sources": [
"src/main.cpp",
"src/helpers.cpp",
"src/pynode.cpp",
"src/worker.cpp",
"src/pywrapper.cpp",
"src/jswrapper.c"
],
'include_dirs': [
"<!@(node -p \"require('node-addon-api').include\")"
],
'dependencies': ["<!(node -p \"require('node-addon-api').gyp\")"],
'cflags!': [ '-fno-exceptions' ],
'cflags_cc!': [ '-fno-exceptions' ],
'cflags+': [ '-g' ],
'cflags_cc+': [ '-g' ],
'xcode_settings': {
'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
'CLANG_CXX_LIBRARY': 'libc++',
'MACOSX_DEPLOYMENT_TARGET': '10.7',
},
'msvs_settings': {
'VCCLCompilerTool': { 'ExceptionHandling': 1 },
},
"conditions": [
['OS=="mac"', {
'cflags+': ['-fvisibility=hidden'],
'xcode_settings': {
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
}
}],
['OS=="win"', {
"variables": {
"PY_HOME%": "<!(IF NOT DEFINED PY_HOME (python -c \"import sysconfig;print(sysconfig.get_paths()['data'])\") ELSE (echo %PY_HOME%))"
},
"include_dirs": [
"<!(echo <(PY_HOME)\\include)"
],
"msvs_settings": {
"VCLinkerTool": {
"AdditionalLibraryDirectories": "<!(echo <(PY_HOME)\\libs)"
}
}
}],
['OS!="win"', {
"variables": {
"PY_INCLUDE%": "<!(if [ -z \"$PY_INCLUDE\" ]; then echo $(python build_include.py); else echo $PY_INCLUDE; fi)",
"PY_LIBS%": "<!(if [ -z \"$PY_LIBS\" ]; then echo $(python build_ldflags.py); else echo $PY_LIBS; fi)"
},
"include_dirs": [
"<(PY_INCLUDE)"
],
"libraries": [
"<(PY_LIBS)",
]
}]
]
}
]
}