-
Notifications
You must be signed in to change notification settings - Fork 0
/
binding.gyp
138 lines (138 loc) · 5.46 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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
{
"targets": [
{
"target_name": "addon",
"arch": ["arm64", "x64"],
"sources": [
"whisper.cpp/src/whisper.cpp",
"whisper.cpp/ggml/src/ggml.c",
"whisper.cpp/ggml/src/ggml-quants.c",
"whisper.cpp/ggml/src/ggml-aarch64.c",
"whisper.cpp/ggml/src/ggml-alloc.c",
"whisper.cpp/ggml/src/ggml-backend.c",
"whisper.cpp/src/whisper-mel.hpp",
"cpp/stream_whisper.cc",
"cpp/addon.cc",
],
"cflags!": ["-fno-exceptions"],
"cflags_cc!": ["-fno-exceptions"],
"include_dirs": [
"<!@(node -p \"require('node-addon-api').include\")",
"whisper.cpp",
"whisper.cpp/include",
"whisper.cpp/ggml/include",
],
"defines": ["NAPI_DISABLE_CPP_EXCEPTIONS"],
"dependencies": ["<!(node -p \"require('node-addon-api').gyp\")"],
"conditions": [
[
'OS=="win"',
{
"msvs_settings": {
"VCCLCompilerTool": {
"ExceptionHandling": 1,
"AdditionalOptions": [
"/std:c++17",
"/D_USE_MATH_DEFINES",
"/D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING",
"/DNOMINMAX",
"/O2",
"/GL",
"/Gy",
"/Ob2",
"/arch:AVX2",
"/fp:fast",
"/Qpar",
"/MD"
],
"Optimization": 2,
"EnableFiberSafeOptimizations": "true",
"WholeProgramOptimization": "true"
},
"VCLinkerTool": {
"LinkTimeCodeGeneration": 1,
"OptimizeReferences": 2,
"EnableCOMDATFolding": 2
}
}
},
],
[
'OS=="mac"',
{
"xcode_settings": {
"CLANG_CXX_LIBRARY": "libc++",
"GCC_ENABLE_CPP_EXCEPTIONS": "YES",
"MACOSX_DEPLOYMENT_TARGET": "14.5",
"OTHER_CFLAGS": [
"-DGGML_USE_ACCELERATE",
"-O3",
"-march=native",
"-mtune=native",
"-ffast-math",
"-fno-finite-math-only",
"-fno-rtti",
"-DNDEBUG"
],
"OTHER_LDFLAGS": ["-framework Accelerate"],
}
},
],
[
'OS=="linux"',
{
"cflags": [
"-O3",
"-ffast-math",
"-fno-finite-math-only",
"-funsafe-math-optimizations",
"-fno-rtti",
"-fno-exceptions",
"-fPIC",
"-fopenmp",
"-DNDEBUG",
"-D_GNU_SOURCE",
"-D_XOPEN_SOURCE=600",
"-Wall",
"-Wextra",
"-Wpedantic"
],
"cflags_cc": [
"-std=c++17",
"-O3",
"-ffast-math",
"-fno-finite-math-only",
"-funsafe-math-optimizations",
"-fno-rtti",
"-fno-exceptions",
"-fPIC",
"-fopenmp",
"-DNDEBUG",
"-D_GNU_SOURCE",
"-D_XOPEN_SOURCE=600",
"-Wall",
"-Wextra",
"-Wpedantic"
],
"ldflags": [
"-flto",
"-fopenmp"
],
"libraries": [
"-lgomp"
],
"conditions": [
[
'target_arch=="arm64"',
{
"cflags": ["-mcpu=native"],
"cflags_cc": ["-mcpu=native"]
}
]
]
}
]
],
}
]
}