73 lines
3.2 KiB
Diff
73 lines
3.2 KiB
Diff
diff -Naur node-v11.15.0-orig/configure.py node-v11.15.0/configure.py
|
|
--- node-v11.15.0-orig/configure.py
|
|
+++ node-v11.15.0/configure.py
|
|
@@ -1687,7 +1687,7 @@
|
|
|
|
if options.use_ninja:
|
|
gyp_args += ['-f', 'ninja']
|
|
-elif flavor == 'win' and sys.platform != 'msys':
|
|
+elif flavor == 'win' and sys.platform != 'msys' and not ('GCC' in sys.version):
|
|
gyp_args += ['-f', 'msvs', '-G', 'msvs_version=auto']
|
|
else:
|
|
gyp_args += ['-f', 'make-' + flavor]
|
|
diff -Naur node-v11.15.0-orig/tools/gyp/pylib/gyp/generator/make.py node-v11.15.0/tools/gyp/pylib/gyp/generator/make.py
|
|
--- node-v11.15.0-orig/tools/gyp/pylib/gyp/generator/make.py 2019-04-30 20:31:53.000000000 +0300
|
|
+++ node-v11.15.0/tools/gyp/pylib/gyp/generator/make.py 2019-06-28 08:07:23.053184000 +0300
|
|
@@ -94,6 +94,8 @@
|
|
default_variables.setdefault('OS', operating_system)
|
|
if flavor == 'aix':
|
|
default_variables.setdefault('SHARED_LIB_SUFFIX', '.a')
|
|
+ elif flavor == 'win':
|
|
+ default_variables.setdefault('SHARED_LIB_SUFFIX', '.dll')
|
|
else:
|
|
default_variables.setdefault('SHARED_LIB_SUFFIX', '.so')
|
|
default_variables.setdefault('SHARED_LIB_DIR','$(builddir)/lib.$(TOOLSET)')
|
|
@@ -172,6 +174,26 @@
|
|
cmd_solink_module = $(LINK.$(TOOLSET)) -o $@ -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,-soname=$(@F) -Wl,--start-group $(filter-out FORCE_DO_CMD, $^) -Wl,--end-group $(LIBS)
|
|
"""
|
|
|
|
+LINK_COMMANDS_WINMINGW = """\
|
|
+quiet_cmd_alink = AR($(TOOLSET)) $@
|
|
+cmd_alink = rm -f $@ && echo $(filter %.o,$^) >> $(@).rsp && $(AR.$(TOOLSET)) crs $@ @$(@).rsp
|
|
+
|
|
+quiet_cmd_alink_thin = AR($(TOOLSET)) $@
|
|
+cmd_alink_thin = rm -f $@ && echo $(filter %.o,$^) >> $(@).rsp && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) @$(@).rsp
|
|
+
|
|
+# Due to circular dependencies between libraries :(, we wrap the
|
|
+# special "figure out circular dependencies" flags around the entire
|
|
+# input list during linking.
|
|
+quiet_cmd_link = LINK($(TOOLSET)) $@
|
|
+cmd_link = $(LINK.$(TOOLSET)) -o $@ $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,--start-group $(LD_INPUTS) $(LIBS) -Wl,--end-group
|
|
+
|
|
+quiet_cmd_solink = SOLINK($(TOOLSET)) $@
|
|
+cmd_solink = $(LINK.$(TOOLSET)) -o $@ -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,--out-implib,$(@F).a -Wl,--whole-archive $(LD_INPUTS) -Wl,--no-whole-archive $(LIBS)
|
|
+
|
|
+quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
|
|
+cmd_solink_module = $(LINK.$(TOOLSET)) -o $@ -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,--out-implib,$(@F).a -Wl,--start-group $(filter-out FORCE_DO_CMD, $^) -Wl,--end-group $(LIBS)
|
|
+"""
|
|
+
|
|
LINK_COMMANDS_MAC = """\
|
|
quiet_cmd_alink = LIBTOOL-STATIC $@
|
|
cmd_alink = rm -f $@ && ./gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %.o,$^)
|
|
@@ -1354,6 +1376,8 @@
|
|
target_prefix = 'lib'
|
|
if self.flavor == 'aix':
|
|
target_ext = '.a'
|
|
+ elif self.flavor == 'win':
|
|
+ target_ext = '.dll'
|
|
else:
|
|
target_ext = '.so'
|
|
elif self.type == 'none':
|
|
@@ -2060,6 +2084,11 @@
|
|
header_params.update({
|
|
'copy_archive_args': copy_archive_arguments,
|
|
})
|
|
+ elif flavor == 'win':
|
|
+ copy_archive_arguments = '-pPRf'
|
|
+ header_params.update({
|
|
+ 'link_commands': LINK_COMMANDS_WINMINGW,
|
|
+ })
|
|
elif flavor == 'aix':
|
|
copy_archive_arguments = '-pPRf'
|
|
header_params.update({
|