-
Notifications
You must be signed in to change notification settings - Fork 44
/
binding.gyp
114 lines (114 loc) · 3.27 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
{
"variables": {
"os_linux_compiler%": "gcc",
"use_robust%": "true",
"use_data_v1%": "false",
"enable_v8%": "true",
"enable_fast_api_calls%": "true",
"enable_pointer_compression%": "false",
"openssl_fips": "X",
"target%": "",
"build_v8_with_gn": "false",
"runtime%": "node"
},
"conditions": [
['OS=="win"', {
"variables": {
"enable_fast_api_calls%": "<!(echo %ENABLE_FAST_API_CALLS%)",
"enable_v8%": "<!(echo %ENABLE_V8_FUNCTIONS%)",
"use_data_v1%": "<!(echo %LMDB_DATA_V1%)",
}
}],
['OS!="win"', {
"variables": {
"enable_fast_api_calls%": "<!(echo $ENABLE_FAST_API_CALLS)",
"enable_v8%": "<!(echo $ENABLE_V8_FUNCTIONS)",
"use_data_v1%": "<!(echo $LMDB_DATA_V1)",
}
}]
],
"targets": [
{
"target_name": "lmdb",
"sources": [
"src/lmdb-js.cpp",
"dependencies/lmdb/libraries/liblmdb/chacha8.c",
"dependencies/lz4/lib/lz4.h",
"dependencies/lz4/lib/lz4.c",
"src/writer.cpp",
"src/env.cpp",
"src/compression.cpp",
"src/ordered-binary.cpp",
"src/misc.cpp",
"src/txn.cpp",
"src/dbi.cpp",
"src/cursor.cpp",
"src/v8-functions.cpp"
],
"include_dirs": [
"<!(node -p \"require('node-addon-api').include_dir\")",
"dependencies/lz4/lib"
],
"defines": ["MDB_MAXKEYSIZE=0", "NAPI_DISABLE_CPP_EXCEPTIONS" ],
"conditions": [
["OS=='linux'", {
"variables": {
"gcc_version" : "<!(<(os_linux_compiler) -dumpversion | cut -d '.' -f 1)",
},
"cflags_cc": [
"-fPIC",
"-Wno-strict-aliasing",
"-Wno-unused-result",
"-Wno-cast-function-type",
"-fvisibility=hidden",
"-fvisibility-inlines-hidden",
],
"ldflags": [
"-fPIC",
"-fvisibility=hidden"
],
"cflags": [
"-fPIC",
"-fvisibility=hidden",
"-O3"
],
}],
["OS=='win'", {
"libraries": ["ntdll.lib", "synchronization.lib"]
}],
["use_data_v1=='true'", {
"sources": [
"dependencies/lmdb-data-v1/libraries/liblmdb/mdb.c",
"dependencies/lmdb-data-v1/libraries/liblmdb/midl.c"
],
"include_dirs": [
"dependencies/lmdb-data-v1/libraries/liblmdb",
],
}, {
"sources": [
"dependencies/lmdb/libraries/liblmdb/mdb.c",
"dependencies/lmdb/libraries/liblmdb/midl.c"
],
"include_dirs": [
"dependencies/lmdb/libraries/liblmdb",
],
}],
["enable_pointer_compression=='true'", {
"defines": ["V8_COMPRESS_POINTERS", "V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE"],
}],
['runtime=="electron"', {
"defines": ["NODE_RUNTIME_ELECTRON=1"]
}],
["enable_v8!='false'", {
"defines": ["ENABLE_V8_API=1"],
}],
["enable_fast_api_calls=='true'", {
"defines": ["ENABLE_FAST_API_CALLS=1"],
}],
["use_robust=='true'", {
"defines": ["MDB_USE_ROBUST"],
}],
],
}
]
}