node-liblzma 1.0.4-9 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/binding.gyp CHANGED
@@ -1,52 +1,680 @@
1
+ # Some of this file is built with the help of
2
+ # https://n8.io/converting-a-c-library-to-gyp/
3
+ # and the work done for grpc (kudos !)
4
+ # https://chromium.googlesource.com/external/github.com/grpc/grpc/+/refs/heads/chromium-deps/2016-08-17/binding.gyp
1
5
  {
2
- "targets": [
3
- {
4
- "variables": {
5
- "use_mt": "<!(echo $ENABLE_MT)",
6
- "dlldir%": "<(module_path)"
7
- },
8
- "target_name": "node-liblzma",
9
- "sources": [
10
- "src/bindings/node-liblzma.hpp",
11
- "src/bindings/node-liblzma.cpp",
12
- "src/bindings/module.cpp"
13
- ],
14
- "include_dirs" : [
15
- "<!(node -e \"require('nan')\")"
16
- ],
17
- "target_conditions": [
18
- ["use_mt==1", {"defines": ["LIBLZMA_ENABLE_MT"]}]
19
- ],
20
- 'cflags_cc': [ '-std=c++11' ],
21
- "conditions" : [
22
- [ 'OS!="win"' , {
23
- "include_dirs": [ "<(module_root_dir)/deps/xz/include" ],
24
- "libraries": [ "<(module_root_dir)/deps/xz/lib/liblzma.a"]
25
- }, {
26
- "include_dirs" : [ "<(module_root_dir)\\deps\\xz\\include" ],
27
- "link_settings": {
28
- "libraries" : [ "-llzma" ],
29
- "conditions": [
30
- [ 'target_arch=="x64"', {
31
- "library_dirs" : [ "<(module_root_dir)\\deps\\xz\\bin_x86-64" ]
32
- }, {
33
- "library_dirs" : [ "<(module_root_dir)\\deps\\xz\\bin_i686" ]
34
- } ]
35
- ]
6
+ "variables": {
7
+ "use_global_liblzma": "true",
8
+ "runtime_link": "shared",
9
+ "xz_vendor_dir": "<(module_root_dir)/deps/xz",
10
+ "py3": "<!(node -p \"process.env.npm_config_python || 'python3'\")",
11
+ "target_dir": "<(module_root_dir)/build",
12
+ "prebuild_dir": "<(module_root_dir)/prebuilds/<(OS)-<(target_arch)/",
13
+ 'conditions': [
14
+ ['OS == "win"' , {
15
+ "runtime_link": "static", # Prefered method by default on Windows
16
+ "use_global_liblzma": "false" # Force download of Xz source code
17
+ }]
18
+ ],
19
+ },
20
+ 'target_defaults': {
21
+ 'conditions': [
22
+ ['OS == "mac"', {
23
+ 'xcode_settings': {
24
+ 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
25
+ 'CLANG_CXX_LIBRARY': 'libc++',
26
+ 'MACOSX_DEPLOYMENT_TARGET': '10.9',
27
+ 'OTHER_CFLAGS': [
28
+ '-stdlib=libc++',
29
+ '-std=c++2a'
30
+ ]
31
+ },
32
+ }],
33
+ ['OS == "win"', {
34
+ "msvs_disabled_warnings": [4275, 4005],
35
+ "configurations" : {
36
+ "Release" : {
37
+ "msvs_settings": {
38
+ "VCCLCompilerTool": {
39
+ "RuntimeLibrary": 0, # static release
40
+ "Optimization": 3,
41
+ "FavorSizeOrSpeed": 1,
42
+ "InlineFunctionExpansion": 2,
43
+ "WholeProgramOptimization": "true",
44
+ "OmitFramePointers": "true",
45
+ "EnableFunctionLevelLinking": "true",
46
+ "EnableIntrinsicFunctions": "true",
47
+ "RuntimeTypeInfo": "false",
48
+ "PreprocessorDefinitions": [
49
+ "WIN32_LEAN_AND_MEAN"
50
+ ],
51
+ "ExceptionHandling": "0",
52
+ "AdditionalOptions": [
53
+ "/EHsc",
54
+ "/utf-8",
55
+ "/std:c++latest"
56
+ ],
57
+ },
58
+ "VCLibrarianTool": {
59
+ "AdditionalOptions": [
60
+ "/LTCG"
61
+ ]
62
+ },
63
+ "VCLinkerTool": {
64
+ "LinkTimeCodeGeneration": 1,
65
+ "OptimizeReferences": 2,
66
+ "EnableCOMDATFolding": 2,
67
+ "LinkIncremental": 1,
68
+ }
69
+ },
70
+ 'defines': [ 'NDEBUG', '_NDEBUG' ],
71
+ },
72
+ "Debug": {
73
+ "msvs_settings": {
74
+ "VCCLCompilerTool": {
75
+ "PreprocessorDefinitions": [
76
+ "WIN32_LEAN_AND_MEAN"
77
+ ],
78
+ "ExceptionHandling": "0",
79
+ "AdditionalOptions": [
80
+ "/EHsc",
81
+ "/utf-8",
82
+ "/std:c++latest"
83
+ ],
84
+ 'RuntimeLibrary': 1, # static debug
85
+ },
86
+ "VCLibrarianTool": {
87
+ "AdditionalOptions": [
88
+ "/LTCG",
89
+ ]
90
+ },
91
+ "VCLinkerTool": {
92
+ "LinkTimeCodeGeneration": 1,
93
+ "LinkIncremental": 1,
94
+ }
95
+ },
96
+ 'defines': [ 'DEBUG', '_DEBUG' ],
36
97
  }
37
- } ],
38
- ]
98
+ },
99
+ "defines": [
100
+ '_WIN32_WINNT=0x0600',
101
+ '_HAS_EXCEPTIONS=0',
102
+ 'UNICODE',
103
+ '_UNICODE',
104
+ 'NOMINMAX',
105
+ ],
106
+ }, {
107
+ "configurations": {
108
+ "Release": {
109
+ 'ldflags': [
110
+ "-Wl,-s"
111
+ ]
112
+ },
113
+ "Debug": {
114
+
115
+ }
116
+ },
117
+ "defines": [
118
+ "_GLIBCXX_USE_CXX11_ABI=1",
119
+ ]
120
+ }]
121
+ ]
122
+ },
123
+ 'conditions': [
124
+ [ 'use_global_liblzma == "false"', {
125
+ # Compile liblzma from here
126
+ 'conditions': [
127
+ [
128
+ 'OS == "win"', {
129
+ 'targets': [
130
+ {
131
+ 'target_name': 'download_and_extract_deps',
132
+ 'type': 'none',
133
+ 'hard_dependency': 1,
134
+ 'actions': [
135
+ {
136
+ 'action_name': 'download_and_extract_deps',
137
+ 'inputs': [''],
138
+ 'outputs': ["<(xz_vendor_dir)/autogen.sh"],
139
+ 'action': [
140
+ "<!(node -p \"process.env.npm_config_python || 'python3'\")",
141
+ "<(module_root_dir)/scripts/download_extract_deps.py",
142
+ "<(module_root_dir)/deps/xz.tar.xz",
143
+ "<(module_root_dir)/deps/"
144
+ ]
145
+ }
146
+ ],
147
+ },
148
+ ]
149
+ }],
150
+ [
151
+ 'OS == "win" and runtime_link == "shared"', {
152
+ 'targets': [
153
+ {
154
+ 'target_name': 'lzma',
155
+ 'product_prefix': 'lib',
156
+ 'type': 'shared_library',
157
+ 'hard_dependency': 1,
158
+ 'defines': [
159
+ "WIN32",
160
+ "HAVE_CONFIG_H",
161
+ "LIBLZMADLL_EXPORTS",
162
+ "DLL_EXPORT"
163
+ ],
164
+ "include_dirs": [
165
+ "<(xz_vendor_dir)/src",
166
+ "<(xz_vendor_dir)/windows/vs2019",
167
+ "<(xz_vendor_dir)/src/liblzma/common",
168
+ "<(xz_vendor_dir)/src/common",
169
+ "<(xz_vendor_dir)/src/liblzma/api",
170
+ "<(xz_vendor_dir)/src/liblzma/check",
171
+ "<(xz_vendor_dir)/src/liblzma/delta",
172
+ "<(xz_vendor_dir)/src/liblzma/lz",
173
+ "<(xz_vendor_dir)/src/liblzma/lzma",
174
+ "<(xz_vendor_dir)/src/liblzma/rangecoder",
175
+ "<(xz_vendor_dir)/src/liblzma/simple"
176
+ ],
177
+ 'sources': [
178
+ "<(xz_vendor_dir)/src/common/tuklib_cpucores.c",
179
+ "<(xz_vendor_dir)/src/common/tuklib_physmem.c",
180
+ "<(xz_vendor_dir)/src/liblzma/check/check.c",
181
+ "<(xz_vendor_dir)/src/liblzma/check/crc32_fast.c",
182
+ "<(xz_vendor_dir)/src/liblzma/check/crc32_table.c",
183
+ "<(xz_vendor_dir)/src/liblzma/check/crc64_fast.c",
184
+ "<(xz_vendor_dir)/src/liblzma/check/crc64_table.c",
185
+ "<(xz_vendor_dir)/src/liblzma/check/sha256.c",
186
+ "<(xz_vendor_dir)/src/liblzma/common/alone_decoder.c",
187
+ "<(xz_vendor_dir)/src/liblzma/common/alone_encoder.c",
188
+ "<(xz_vendor_dir)/src/liblzma/common/auto_decoder.c",
189
+ "<(xz_vendor_dir)/src/liblzma/common/block_buffer_decoder.c",
190
+ "<(xz_vendor_dir)/src/liblzma/common/block_buffer_encoder.c",
191
+ "<(xz_vendor_dir)/src/liblzma/common/block_decoder.c",
192
+ "<(xz_vendor_dir)/src/liblzma/common/block_encoder.c",
193
+ "<(xz_vendor_dir)/src/liblzma/common/block_header_decoder.c",
194
+ "<(xz_vendor_dir)/src/liblzma/common/block_header_encoder.c",
195
+ "<(xz_vendor_dir)/src/liblzma/common/block_util.c",
196
+ "<(xz_vendor_dir)/src/liblzma/common/common.c",
197
+ "<(xz_vendor_dir)/src/liblzma/common/easy_buffer_encoder.c",
198
+ "<(xz_vendor_dir)/src/liblzma/common/easy_decoder_memusage.c",
199
+ "<(xz_vendor_dir)/src/liblzma/common/easy_encoder.c",
200
+ "<(xz_vendor_dir)/src/liblzma/common/easy_encoder_memusage.c",
201
+ "<(xz_vendor_dir)/src/liblzma/common/easy_preset.c",
202
+ "<(xz_vendor_dir)/src/liblzma/common/filter_buffer_decoder.c",
203
+ "<(xz_vendor_dir)/src/liblzma/common/filter_buffer_encoder.c",
204
+ "<(xz_vendor_dir)/src/liblzma/common/filter_common.c",
205
+ "<(xz_vendor_dir)/src/liblzma/common/filter_decoder.c",
206
+ "<(xz_vendor_dir)/src/liblzma/common/filter_encoder.c",
207
+ "<(xz_vendor_dir)/src/liblzma/common/filter_flags_decoder.c",
208
+ "<(xz_vendor_dir)/src/liblzma/common/filter_flags_encoder.c",
209
+ "<(xz_vendor_dir)/src/liblzma/common/hardware_cputhreads.c",
210
+ "<(xz_vendor_dir)/src/liblzma/common/hardware_physmem.c",
211
+ "<(xz_vendor_dir)/src/liblzma/common/index.c",
212
+ "<(xz_vendor_dir)/src/liblzma/common/index_decoder.c",
213
+ "<(xz_vendor_dir)/src/liblzma/common/index_encoder.c",
214
+ "<(xz_vendor_dir)/src/liblzma/common/index_hash.c",
215
+ "<(xz_vendor_dir)/src/liblzma/common/outqueue.c",
216
+ "<(xz_vendor_dir)/src/liblzma/common/stream_buffer_decoder.c",
217
+ "<(xz_vendor_dir)/src/liblzma/common/stream_buffer_encoder.c",
218
+ "<(xz_vendor_dir)/src/liblzma/common/stream_decoder.c",
219
+ "<(xz_vendor_dir)/src/liblzma/common/stream_encoder.c",
220
+ "<(xz_vendor_dir)/src/liblzma/common/stream_encoder_mt.c",
221
+ "<(xz_vendor_dir)/src/liblzma/common/stream_flags_common.c",
222
+ "<(xz_vendor_dir)/src/liblzma/common/stream_flags_decoder.c",
223
+ "<(xz_vendor_dir)/src/liblzma/common/stream_flags_encoder.c",
224
+ "<(xz_vendor_dir)/src/liblzma/common/vli_decoder.c",
225
+ "<(xz_vendor_dir)/src/liblzma/common/vli_encoder.c",
226
+ "<(xz_vendor_dir)/src/liblzma/common/vli_size.c",
227
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_common.c",
228
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_decoder.c",
229
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_encoder.c",
230
+ "<(xz_vendor_dir)/src/liblzma/lzma/fastpos_table.c",
231
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma2_decoder.c",
232
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma2_encoder.c",
233
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_decoder.c",
234
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder.c",
235
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder_optimum_fast.c",
236
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder_optimum_normal.c",
237
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder_presets.c",
238
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_decoder.c",
239
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_encoder.c",
240
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_encoder_mf.c",
241
+ "<(xz_vendor_dir)/src/liblzma/rangecoder/price_table.c",
242
+ "<(xz_vendor_dir)/src/liblzma/simple/arm.c",
243
+ "<(xz_vendor_dir)/src/liblzma/simple/armthumb.c",
244
+ "<(xz_vendor_dir)/src/liblzma/simple/ia64.c",
245
+ "<(xz_vendor_dir)/src/liblzma/simple/powerpc.c",
246
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_coder.c",
247
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_decoder.c",
248
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_encoder.c",
249
+ "<(xz_vendor_dir)/src/liblzma/simple/sparc.c",
250
+ "<(xz_vendor_dir)/src/liblzma/simple/x86.c",
251
+ "<(xz_vendor_dir)/src/common/mythread.h",
252
+ "<(xz_vendor_dir)/src/common/sysdefs.h",
253
+ "<(xz_vendor_dir)/src/common/tuklib_common.h",
254
+ "<(xz_vendor_dir)/src/common/tuklib_config.h",
255
+ "<(xz_vendor_dir)/src/common/tuklib_cpucores.h",
256
+ "<(xz_vendor_dir)/src/common/tuklib_integer.h",
257
+ "<(xz_vendor_dir)/src/common/tuklib_physmem.h",
258
+ "<(xz_vendor_dir)/src/liblzma/api/lzma.h",
259
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/base.h",
260
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/bcj.h",
261
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/block.h",
262
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/check.h",
263
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/container.h",
264
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/delta.h",
265
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/filter.h",
266
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/hardware.h",
267
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/index.h",
268
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/index_hash.h",
269
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/lzma12.h",
270
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/stream_flags.h",
271
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/version.h",
272
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/vli.h",
273
+ "<(xz_vendor_dir)/src/liblzma/check/check.h",
274
+ "<(xz_vendor_dir)/src/liblzma/check/crc32_table_be.h",
275
+ "<(xz_vendor_dir)/src/liblzma/check/crc32_table_le.h",
276
+ "<(xz_vendor_dir)/src/liblzma/check/crc64_table_be.h",
277
+ "<(xz_vendor_dir)/src/liblzma/check/crc64_table_le.h",
278
+ "<(xz_vendor_dir)/src/liblzma/check/crc_macros.h",
279
+ "<(xz_vendor_dir)/src/liblzma/common/alone_decoder.h",
280
+ "<(xz_vendor_dir)/src/liblzma/common/block_buffer_encoder.h",
281
+ "<(xz_vendor_dir)/src/liblzma/common/block_decoder.h",
282
+ "<(xz_vendor_dir)/src/liblzma/common/block_encoder.h",
283
+ "<(xz_vendor_dir)/src/liblzma/common/common.h",
284
+ "<(xz_vendor_dir)/src/liblzma/common/easy_preset.h",
285
+ "<(xz_vendor_dir)/src/liblzma/common/filter_common.h",
286
+ "<(xz_vendor_dir)/src/liblzma/common/filter_decoder.h",
287
+ "<(xz_vendor_dir)/src/liblzma/common/filter_encoder.h",
288
+ "<(xz_vendor_dir)/src/liblzma/common/index.h",
289
+ "<(xz_vendor_dir)/src/liblzma/common/index_encoder.h",
290
+ "<(xz_vendor_dir)/src/liblzma/common/memcmplen.h",
291
+ "<(xz_vendor_dir)/src/liblzma/common/outqueue.h",
292
+ "<(xz_vendor_dir)/src/liblzma/common/stream_decoder.h",
293
+ "<(xz_vendor_dir)/src/liblzma/common/stream_flags_common.h",
294
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_common.h",
295
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_decoder.h",
296
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_encoder.h",
297
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_private.h",
298
+ "<(xz_vendor_dir)/src/liblzma/lzma/fastpos.h",
299
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma2_decoder.h",
300
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma2_encoder.h",
301
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_common.h",
302
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_decoder.h",
303
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder.h",
304
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder_private.h",
305
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_decoder.h",
306
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_encoder.h",
307
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_encoder_hash.h",
308
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_encoder_hash_table.h",
309
+ "<(xz_vendor_dir)/src/liblzma/rangecoder/price.h",
310
+ "<(xz_vendor_dir)/src/liblzma/rangecoder/range_common.h",
311
+ "<(xz_vendor_dir)/src/liblzma/rangecoder/range_decoder.h",
312
+ "<(xz_vendor_dir)/src/liblzma/rangecoder/range_encoder.h",
313
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_coder.h",
314
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_decoder.h",
315
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_encoder.h",
316
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_private.h",
317
+ "<(xz_vendor_dir)/windows/vs2019/config.h",
318
+ ]
319
+ },
320
+ ],
321
+ }],
322
+ [
323
+ 'OS == "win" and runtime_link == "static"', {
324
+ 'targets': [
325
+ {
326
+ 'target_name': 'lzma',
327
+ 'product_prefix': 'lib',
328
+ 'type': 'static_library',
329
+ 'hard_dependency': 1,
330
+ 'defines': [
331
+ "WIN32",
332
+ "HAVE_CONFIG_H",
333
+ ],
334
+ "include_dirs": [
335
+ "<(xz_vendor_dir)/src",
336
+ "<(xz_vendor_dir)/windows/vs2019",
337
+ "<(xz_vendor_dir)/src/liblzma/common",
338
+ "<(xz_vendor_dir)/src/common",
339
+ "<(xz_vendor_dir)/src/liblzma/api",
340
+ "<(xz_vendor_dir)/src/liblzma/check",
341
+ "<(xz_vendor_dir)/src/liblzma/delta",
342
+ "<(xz_vendor_dir)/src/liblzma/lz",
343
+ "<(xz_vendor_dir)/src/liblzma/lzma",
344
+ "<(xz_vendor_dir)/src/liblzma/rangecoder",
345
+ "<(xz_vendor_dir)/src/liblzma/simple"
346
+ ],
347
+ 'sources': [
348
+ "<(xz_vendor_dir)/src/common/tuklib_cpucores.c",
349
+ "<(xz_vendor_dir)/src/common/tuklib_physmem.c",
350
+ "<(xz_vendor_dir)/src/liblzma/check/check.c",
351
+ "<(xz_vendor_dir)/src/liblzma/check/crc32_fast.c",
352
+ "<(xz_vendor_dir)/src/liblzma/check/crc32_table.c",
353
+ "<(xz_vendor_dir)/src/liblzma/check/crc64_fast.c",
354
+ "<(xz_vendor_dir)/src/liblzma/check/crc64_table.c",
355
+ "<(xz_vendor_dir)/src/liblzma/check/sha256.c",
356
+ "<(xz_vendor_dir)/src/liblzma/common/alone_decoder.c",
357
+ "<(xz_vendor_dir)/src/liblzma/common/alone_encoder.c",
358
+ "<(xz_vendor_dir)/src/liblzma/common/auto_decoder.c",
359
+ "<(xz_vendor_dir)/src/liblzma/common/block_buffer_decoder.c",
360
+ "<(xz_vendor_dir)/src/liblzma/common/block_buffer_encoder.c",
361
+ "<(xz_vendor_dir)/src/liblzma/common/block_decoder.c",
362
+ "<(xz_vendor_dir)/src/liblzma/common/block_encoder.c",
363
+ "<(xz_vendor_dir)/src/liblzma/common/block_header_decoder.c",
364
+ "<(xz_vendor_dir)/src/liblzma/common/block_header_encoder.c",
365
+ "<(xz_vendor_dir)/src/liblzma/common/block_util.c",
366
+ "<(xz_vendor_dir)/src/liblzma/common/common.c",
367
+ "<(xz_vendor_dir)/src/liblzma/common/easy_buffer_encoder.c",
368
+ "<(xz_vendor_dir)/src/liblzma/common/easy_decoder_memusage.c",
369
+ "<(xz_vendor_dir)/src/liblzma/common/easy_encoder.c",
370
+ "<(xz_vendor_dir)/src/liblzma/common/easy_encoder_memusage.c",
371
+ "<(xz_vendor_dir)/src/liblzma/common/easy_preset.c",
372
+ "<(xz_vendor_dir)/src/liblzma/common/filter_buffer_decoder.c",
373
+ "<(xz_vendor_dir)/src/liblzma/common/filter_buffer_encoder.c",
374
+ "<(xz_vendor_dir)/src/liblzma/common/filter_common.c",
375
+ "<(xz_vendor_dir)/src/liblzma/common/filter_decoder.c",
376
+ "<(xz_vendor_dir)/src/liblzma/common/filter_encoder.c",
377
+ "<(xz_vendor_dir)/src/liblzma/common/filter_flags_decoder.c",
378
+ "<(xz_vendor_dir)/src/liblzma/common/filter_flags_encoder.c",
379
+ "<(xz_vendor_dir)/src/liblzma/common/hardware_cputhreads.c",
380
+ "<(xz_vendor_dir)/src/liblzma/common/hardware_physmem.c",
381
+ "<(xz_vendor_dir)/src/liblzma/common/index.c",
382
+ "<(xz_vendor_dir)/src/liblzma/common/index_decoder.c",
383
+ "<(xz_vendor_dir)/src/liblzma/common/index_encoder.c",
384
+ "<(xz_vendor_dir)/src/liblzma/common/index_hash.c",
385
+ "<(xz_vendor_dir)/src/liblzma/common/outqueue.c",
386
+ "<(xz_vendor_dir)/src/liblzma/common/stream_buffer_decoder.c",
387
+ "<(xz_vendor_dir)/src/liblzma/common/stream_buffer_encoder.c",
388
+ "<(xz_vendor_dir)/src/liblzma/common/stream_decoder.c",
389
+ "<(xz_vendor_dir)/src/liblzma/common/stream_encoder.c",
390
+ "<(xz_vendor_dir)/src/liblzma/common/stream_encoder_mt.c",
391
+ "<(xz_vendor_dir)/src/liblzma/common/stream_flags_common.c",
392
+ "<(xz_vendor_dir)/src/liblzma/common/stream_flags_decoder.c",
393
+ "<(xz_vendor_dir)/src/liblzma/common/stream_flags_encoder.c",
394
+ "<(xz_vendor_dir)/src/liblzma/common/vli_decoder.c",
395
+ "<(xz_vendor_dir)/src/liblzma/common/vli_encoder.c",
396
+ "<(xz_vendor_dir)/src/liblzma/common/vli_size.c",
397
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_common.c",
398
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_decoder.c",
399
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_encoder.c",
400
+ "<(xz_vendor_dir)/src/liblzma/lzma/fastpos_table.c",
401
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma2_decoder.c",
402
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma2_encoder.c",
403
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_decoder.c",
404
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder.c",
405
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder_optimum_fast.c",
406
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder_optimum_normal.c",
407
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder_presets.c",
408
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_decoder.c",
409
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_encoder.c",
410
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_encoder_mf.c",
411
+ "<(xz_vendor_dir)/src/liblzma/rangecoder/price_table.c",
412
+ "<(xz_vendor_dir)/src/liblzma/simple/arm.c",
413
+ "<(xz_vendor_dir)/src/liblzma/simple/armthumb.c",
414
+ "<(xz_vendor_dir)/src/liblzma/simple/ia64.c",
415
+ "<(xz_vendor_dir)/src/liblzma/simple/powerpc.c",
416
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_coder.c",
417
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_decoder.c",
418
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_encoder.c",
419
+ "<(xz_vendor_dir)/src/liblzma/simple/sparc.c",
420
+ "<(xz_vendor_dir)/src/liblzma/simple/x86.c",
421
+ "<(xz_vendor_dir)/src/common/mythread.h",
422
+ "<(xz_vendor_dir)/src/common/sysdefs.h",
423
+ "<(xz_vendor_dir)/src/common/tuklib_common.h",
424
+ "<(xz_vendor_dir)/src/common/tuklib_config.h",
425
+ "<(xz_vendor_dir)/src/common/tuklib_cpucores.h",
426
+ "<(xz_vendor_dir)/src/common/tuklib_integer.h",
427
+ "<(xz_vendor_dir)/src/common/tuklib_physmem.h",
428
+ "<(xz_vendor_dir)/src/liblzma/api/lzma.h",
429
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/base.h",
430
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/bcj.h",
431
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/block.h",
432
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/check.h",
433
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/container.h",
434
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/delta.h",
435
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/filter.h",
436
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/hardware.h",
437
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/index.h",
438
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/index_hash.h",
439
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/lzma12.h",
440
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/stream_flags.h",
441
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/version.h",
442
+ "<(xz_vendor_dir)/src/liblzma/api/lzma/vli.h",
443
+ "<(xz_vendor_dir)/src/liblzma/check/check.h",
444
+ "<(xz_vendor_dir)/src/liblzma/check/crc32_table_be.h",
445
+ "<(xz_vendor_dir)/src/liblzma/check/crc32_table_le.h",
446
+ "<(xz_vendor_dir)/src/liblzma/check/crc64_table_be.h",
447
+ "<(xz_vendor_dir)/src/liblzma/check/crc64_table_le.h",
448
+ "<(xz_vendor_dir)/src/liblzma/check/crc_macros.h",
449
+ "<(xz_vendor_dir)/src/liblzma/common/alone_decoder.h",
450
+ "<(xz_vendor_dir)/src/liblzma/common/block_buffer_encoder.h",
451
+ "<(xz_vendor_dir)/src/liblzma/common/block_decoder.h",
452
+ "<(xz_vendor_dir)/src/liblzma/common/block_encoder.h",
453
+ "<(xz_vendor_dir)/src/liblzma/common/common.h",
454
+ "<(xz_vendor_dir)/src/liblzma/common/easy_preset.h",
455
+ "<(xz_vendor_dir)/src/liblzma/common/filter_common.h",
456
+ "<(xz_vendor_dir)/src/liblzma/common/filter_decoder.h",
457
+ "<(xz_vendor_dir)/src/liblzma/common/filter_encoder.h",
458
+ "<(xz_vendor_dir)/src/liblzma/common/index.h",
459
+ "<(xz_vendor_dir)/src/liblzma/common/index_encoder.h",
460
+ "<(xz_vendor_dir)/src/liblzma/common/memcmplen.h",
461
+ "<(xz_vendor_dir)/src/liblzma/common/outqueue.h",
462
+ "<(xz_vendor_dir)/src/liblzma/common/stream_decoder.h",
463
+ "<(xz_vendor_dir)/src/liblzma/common/stream_flags_common.h",
464
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_common.h",
465
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_decoder.h",
466
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_encoder.h",
467
+ "<(xz_vendor_dir)/src/liblzma/delta/delta_private.h",
468
+ "<(xz_vendor_dir)/src/liblzma/lzma/fastpos.h",
469
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma2_decoder.h",
470
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma2_encoder.h",
471
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_common.h",
472
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_decoder.h",
473
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder.h",
474
+ "<(xz_vendor_dir)/src/liblzma/lzma/lzma_encoder_private.h",
475
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_decoder.h",
476
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_encoder.h",
477
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_encoder_hash.h",
478
+ "<(xz_vendor_dir)/src/liblzma/lz/lz_encoder_hash_table.h",
479
+ "<(xz_vendor_dir)/src/liblzma/rangecoder/price.h",
480
+ "<(xz_vendor_dir)/src/liblzma/rangecoder/range_common.h",
481
+ "<(xz_vendor_dir)/src/liblzma/rangecoder/range_decoder.h",
482
+ "<(xz_vendor_dir)/src/liblzma/rangecoder/range_encoder.h",
483
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_coder.h",
484
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_decoder.h",
485
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_encoder.h",
486
+ "<(xz_vendor_dir)/src/liblzma/simple/simple_private.h",
487
+ "<(xz_vendor_dir)/windows/vs2019/config.h",
488
+ ]
489
+ }
490
+ ]
491
+ }
492
+ ],
493
+ [
494
+ 'OS!="win"', {
495
+ 'targets': [
496
+ {
497
+ 'target_name': 'download_and_extract_deps',
498
+ 'type': 'none',
499
+ 'hard_dependency': 1,
500
+ 'actions': [
501
+ {
502
+ 'action_name': 'download',
503
+ 'inputs': [''],
504
+ 'outputs': ["<(xz_vendor_dir)/autogen.sh"],
505
+ 'action': [
506
+ "<!(node -p \"process.env.npm_config_python || 'python3'\")",
507
+ "<(module_root_dir)/scripts/download_extract_deps.py",
508
+ "<(module_root_dir)/deps/xz.tar.xz",
509
+ "<(module_root_dir)/deps/"
510
+ ]
511
+ }
512
+ ],
513
+ },
514
+ {
515
+ 'target_name': 'lzma',
516
+ 'type': 'none',
517
+ 'hard_dependency': 1,
518
+ 'actions': [
519
+ {
520
+ "action_name" : "build",
521
+ # a hack to run ./configure during `node-gyp configure`
522
+ 'inputs': [''],
523
+ 'outputs': [''],
524
+ 'action': [
525
+ 'sh', '-c', 'cd <(xz_vendor_dir) && ./configure --enable-static --disable-shared --disable-scripts --disable-lzmainfo \
526
+ --disable-lzma-links --disable-lzmadec --disable-xzdec --disable-xz --disable-rpath \
527
+ --prefix="<(target_dir)/liblzma" && make && make install'
528
+ ]
529
+ }
530
+ ],
531
+ },
532
+ ],
533
+ }]
534
+ ],
535
+ }]
536
+ ],
537
+ 'targets': [
538
+ {
539
+ "include_dirs": [
540
+ "<!(node -p \"require('node-addon-api').include_dir\")",
541
+ ],
542
+ 'defines': [
543
+ "NAPI_DISABLE_CPP_EXCEPTIONS"
544
+ ],
545
+ 'cflags': [
546
+ '-std=c++2a', # because GCC 9 and earlier do not support -std=c++20
547
+ '-Wall',
548
+ '-pthread',
549
+ '-g',
550
+ '-zdefs',
551
+ '-Werror',
552
+ ],
553
+ 'ldflags': [
554
+ '-g'
555
+ ],
556
+ "conditions": [
557
+ ['OS=="win"', {
558
+ "conditions": [
559
+ [
560
+ 'runtime_link == "static"', {
561
+ "dependencies": [
562
+ "lzma"
563
+ ],
564
+ 'msvs_settings': {
565
+ 'VCLinkerTool': {
566
+ 'AdditionalOptions': [
567
+ '/WHOLEARCHIVE:liblzma<(STATIC_LIB_SUFFIX)',
568
+ '/FORCE:MULTIPLE'
569
+ ],
570
+ },
571
+ }
572
+ }, {
573
+ "dependencies": [
574
+ "lzma"
575
+ ],
576
+ }]
577
+ ],
578
+ "include_dirs": [
579
+ "<(xz_vendor_dir)/src",
580
+ "<(xz_vendor_dir)/windows/vs2019",
581
+ "<(xz_vendor_dir)/src/liblzma/common",
582
+ "<(xz_vendor_dir)/src/common",
583
+ "<(xz_vendor_dir)/src/liblzma/api",
584
+ "<(xz_vendor_dir)/src/liblzma/check",
585
+ "<(xz_vendor_dir)/src/liblzma/delta",
586
+ "<(xz_vendor_dir)/src/liblzma/lz",
587
+ "<(xz_vendor_dir)/src/liblzma/lzma",
588
+ "<(xz_vendor_dir)/src/liblzma/rangecoder",
589
+ "<(xz_vendor_dir)/src/liblzma/simple"
590
+ ],
591
+ }],
592
+ ['OS=="linux" or OS=="mac"', {
593
+ "conditions": [
594
+ [
595
+ 'use_global_liblzma == "true"', {
596
+ # Use pkg-config for include and lib
597
+ "include_dirs": [
598
+ '<!@(pkg-config --cflags-only-I liblzma | sed s\/-I//g)'
599
+ ],
600
+ "conditions": [
601
+ [
602
+ 'runtime_link == "static"',
603
+ {
604
+ "libraries": [
605
+ '<!@(pkg-config --libs --static liblzma | sed s#-llzma##g)',
606
+ ],
607
+ 'ldflags': [
608
+ '-Wl,--whole-archive',
609
+ '-l:liblzma.a',
610
+ '-Wl,--no-whole-archive',
611
+ ],
612
+ 'defines': [
613
+ "LZMA_API_STATIC",
614
+ ]
615
+ },
616
+ {
617
+ "libraries": [
618
+ '<!@(pkg-config --libs liblzma)'
619
+ ],
620
+ 'ldflags': [
621
+ "-Wl,--disable-new-dtags -Wl,-rpath='<(xz_vendor_dir)/lib'"
622
+ ],
623
+ },
624
+ ],
625
+ ],
626
+ }, {
627
+ 'include_dirs': [
628
+ "<(target_dir)/liblzma/include",
629
+ ],
630
+ "library_dirs": [
631
+ "<(target_dir)/liblzma/lib",
632
+ ],
633
+ 'ldflags': [
634
+ '-Wl,--whole-archive',
635
+ '-l:liblzma.a',
636
+ '-Wl,--no-whole-archive',
637
+ ],
638
+ 'defines': [
639
+ "LZMA_API_STATIC",
640
+ ],
641
+ 'dependencies': [
642
+ 'lzma'
643
+ ]
644
+ }
645
+ ]
646
+ ]
647
+ }]
648
+ ],
649
+ "target_name": "node_lzma",
650
+ "sources": [
651
+ "<!@(<(py3) scripts/walk_sources.py src)"
652
+ ],
653
+ "dependencies": [
654
+ "<!(node -p \"require('node-addon-api').gyp\")",
655
+ ],
39
656
  },
40
657
  {
41
- "target_name": "action_after_build",
42
- "type": "none",
43
- "dependencies": [ "<(module_name)" ],
44
- "copies": [
658
+ 'target_name': 'prebuildify',
659
+ 'type': 'none',
660
+ 'dependencies': [
661
+ 'node_lzma'
662
+ ],
663
+ 'actions': [
45
664
  {
46
- "files": [ "<(PRODUCT_DIR)/<(module_name).node" ],
47
- "destination": "<(module_path)"
665
+ 'action_name': 'prebuildify',
666
+ 'inputs': [
667
+ '<(PRODUCT_DIR)/node_lzma.node',
668
+ ],
669
+ 'outputs': ['<(prebuild_dir)'],
670
+ 'action': [
671
+ "<!(node -p \"process.env.npm_config_python || 'python3'\")",
672
+ "<(module_root_dir)/scripts/prebuildify.py",
673
+ "<(PRODUCT_DIR)/node_lzma.node",
674
+ "<(prebuild_dir)/node_lzma.node"
675
+ ]
48
676
  }
49
677
  ]
50
678
  }
51
- ]
679
+ ]
52
680
  }