| 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({ |