-
Notifications
You must be signed in to change notification settings - Fork 21
/
binding.gyp
122 lines (122 loc) · 2.92 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
{
'target_defaults': {
'include_dirs': ['src'],
'cflags': [
'-fexceptions',
'-Wall',
'-O3'
],
'cflags_cc': [
'-fexceptions',
'-Wall',
'-Wno-cast-function-type',
'-O3'
],
'xcode_settings': {
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11',
'CLANG_CXX_LIBRARY': 'libc++',
'MACOSX_DEPLOYMENT_TARGET': '10.7',
'OTHER_CFLAGS': [
'-fexceptions',
'-Wall',
'-O3'
],
'OTHER_CPLUSPLUSFLAGS': [
'-fexceptions',
'-Wall',
'-O3'
]
},
'msvs_settings': {
'VCCLCompilerTool': {
'ExceptionHandling': 1,
'DisableSpecificWarnings': ['4267']
}
}
},
'targets': [
{
'target_name': 'base64_avx2',
'type': 'static_library',
'sources': ['src/lib/arch/avx2/codec.c'],
'cflags': ['-mavx2'],
'xcode_settings': {
'OTHER_CFLAGS': ['-mavx2']
},
'msvs_settings': {
'VCCLCompilerTool': {
'AdditionalOptions': ['/arch:AVX2']
}
}
}, {
'target_name': 'base64_avx',
'type': 'static_library',
'sources': ['src/lib/arch/avx/codec.c'],
'cflags': ['-mavx'],
'xcode_settings': {
'OTHER_CFLAGS': ['-mavx']
},
'msvs_settings': {
'VCCLCompilerTool': {
'AdditionalOptions': ['/arch:AVX']
}
}
}, {
'target_name': 'base64_sse42',
'type': 'static_library',
'sources': ['src/lib/arch/sse42/codec.c'],
'cflags': ['-msse4.2'],
'xcode_settings': {
'OTHER_CFLAGS': ['-msse4.2']
}
}, {
'target_name': 'base64_sse41',
'type': 'static_library',
'sources': ['src/lib/arch/sse41/codec.c'],
'cflags': ['-msse4.1'],
'xcode_settings': {
'OTHER_CFLAGS': ['-msse4.1']
}
}, {
'target_name': 'base64_ssse3',
'type': 'static_library',
'sources': ['src/lib/arch/ssse3/codec.c'],
'cflags': ['-mssse3'],
'xcode_settings': {
'OTHER_CFLAGS': ['-mssse3']
}
}, {
'target_name': 'base64_neon64',
'type': 'static_library',
'sources': ['src/lib/arch/neon64/codec.c']
}, {
'target_name': 'base64_neon32',
'type': 'static_library',
'sources': ['src/lib/arch/neon32/codec.c']
}, {
'target_name': 'base64_generic',
'type': 'static_library',
'sources': ['src/lib/arch/generic/codec.c']
}, {
'target_name': 'base64',
'dependencies': [
'base64_avx2',
'base64_avx',
'base64_sse42',
'base64_sse41',
'base64_ssse3',
'base64_neon64',
'base64_neon32',
'base64_generic'
],
'sources': [
'src/lib/lib.c',
'src/lib/codec_choose.c',
'src/lib/tables/tables.c',
'src/binding.cc'
],
'include_dirs': ['<!(node -e "require(\'nan\')")'],
'cflags_cc': ['-flto']
}
]
}