On Mo, 15 Jul 2019, Bram Moolenaar wrote:

> 
> Christian wrote:
> 
> > On Mo, 15 Jul 2019, Bram Moolenaar wrote:
> > 
> > > You quoted the end of the error message, do you have the whole line?
> > 
> > Here we go:
> > 
> > link  /nologo /opt:ref /LTCG:STATUS /HIGHENTROPYVA:NO 
> > /subsystem:windows,5.02 -out:gvim.exe .\ObjGXOULYHTRZAMD64\arabic.obj  
> > .\ObjGX ... ib xpm\x64\lib-vc14\libXpm.lib /PDB:gvim.pdb -debug | sed -e 
> > 's#.*\r.*##'
> > 
> > NMAKE : fatal error U1095: expanded command line 'link  /nologo /opt:ref 
> > /LTCG:STATUS /HIGHENTROPYVA:NO /subsystem:windows,5.02 -out:gvim.exe 
> > .\ObjGXOULYHTRZAMD64\arabic.obj  .\ObjGXO ... b-vc14\libXpm.lib 
> > /PDB:gvim.pdb -debug | sed -e 's#.*\r.*##'' too long
> > Stop.
> > Command exited with code 1
> > 
> > > > It looks like a command line length limit applies somewhere. Not sure 
> > > > how this can be fixed.
> > > 
> > > Perhaps the tool can read the list of files from somewhere?
> > 
> > Apparently that might be possible: 
> > https://stackoverflow.com/a/9344985/789222
> 
> Can someone make a patch for that?

I don't have a nmake environment to test, but I suppose the following 
should work according to the sparse documentation I found online. I am 
not entirely sure, if the trailing backslashes should be kept or not, 
but I thought they might not be necessary... 

Can someone test it?

diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index 8901a7c31..89d5515ae 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -1271,15 +1271,19 @@ all:    $(MAIN_TARGET) \

 !if "$(VIMDLL)" == "yes"

+# Makes use of nmakes response files to capture the arguments in a file and 
read it back using the @<<ARGS<< syntax
+#
 $(VIMDLLBASE).dll: $(OUTDIR) $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) $(CUI_OBJ) 
$(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) \
                $(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) 
$(TCL_OBJ) \
                $(CSCOPE_OBJ) $(TERM_OBJ) $(SOUND_OBJ) $(NETBEANS_OBJ) 
$(CHANNEL_OBJ) $(XPM_OBJ) \
                version.c version.h
        $(CC) $(CFLAGS_OUTDIR) version.c
-       $(link) $(LINKARGS1) /dll -out:$(VIMDLLBASE).dll $(OBJ) $(XDIFF_OBJ) 
$(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) \
-               $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) 
$(PYTHON3_OBJ) $(RUBY_OBJ) \
-               $(TCL_OBJ) $(CSCOPE_OBJ) $(TERM_OBJ) $(SOUND_OBJ) 
$(NETBEANS_OBJ) $(CHANNEL_OBJ) \
-               $(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
+       $(link) @<<
+$(LINKARGS1) /dll -out:$(VIMDLLBASE).dll $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) 
$(CUI_OBJ) $(OLE_OBJ)
+$(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ)
+$(TCL_OBJ) $(CSCOPE_OBJ) $(TERM_OBJ) $(SOUND_OBJ) $(NETBEANS_OBJ) 
$(CHANNEL_OBJ)
+$(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
+<<

 $(GVIM).exe: $(OUTDIR) $(EXEOBJG) $(VIMDLLBASE).dll
        $(link) $(LINKARGS1) /subsystem:$(SUBSYSTEM) -out:$(GVIM).exe 
$(EXEOBJG) $(VIMDLLBASE).lib $(LIBC)
@@ -1296,10 +1300,12 @@ $(VIM).exe: $(OUTDIR) $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) 
$(CUI_OBJ) $(OLE_OBJ) $(OLE
                $(CSCOPE_OBJ) $(TERM_OBJ) $(SOUND_OBJ) $(NETBEANS_OBJ) 
$(CHANNEL_OBJ) $(XPM_OBJ) \
                version.c version.h
        $(CC) $(CFLAGS_OUTDIR) version.c
-       $(link) $(LINKARGS1) /subsystem:$(SUBSYSTEM) -out:$(VIM).exe $(OBJ) 
$(XDIFF_OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) \
-               $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) 
$(PYTHON3_OBJ) $(RUBY_OBJ) \
-               $(TCL_OBJ) $(CSCOPE_OBJ) $(TERM_OBJ) $(SOUND_OBJ) 
$(NETBEANS_OBJ) $(CHANNEL_OBJ) \
-               $(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
+       $(link) @<<
+$(LINKARGS1) /subsystem:$(SUBSYSTEM) -out:$(VIM).exe $(OBJ) $(XDIFF_OBJ) 
$(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ)
+$(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ)
+$(TCL_OBJ) $(CSCOPE_OBJ) $(TERM_OBJ) $(SOUND_OBJ) $(NETBEANS_OBJ) 
$(CHANNEL_OBJ)
+$(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
+<<
        if exist $(VIM).exe.manifest mt.exe -nologo -manifest 
$(VIM).exe.manifest -updateresource:$(VIM).exe;1

 !endif


Best,
Christian
-- 
Wer für alles offen ist, kann nicht ganz dicht sein.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20190715132132.GM31610%40256bit.org.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui