Bram Moolenaar wrote:
Mathias Michaelis wrote:
Patch
Problem: Make_mvc.mak creates an empty gvim.exe.mnf file
(or stops with an error message).
Solution: Don't use 'echo' to create files. Use inline files
instead.
Files: src/Make_mvc.mak
This has always worked just fine. When does it fail?
The gvim.exe.mnf always was empty -- but as George Reilly (who made
the skipt) told me, it is only used for 64-Bit Windows.
Strange, the echo commands for the pathdef.c file have always worked just
fine.
On the other hand, the error message ("FATAL error: echo returned
'1'") was only issued from time to time, depending on the commands I
typed in before. However, the message appeared in a reproducible
manner if I issued the nmake command from within a BATCH file.
This smells like a bug in nmake.
I checked the documentation of nmake from VC 8.0 (VS 2005) and from
VC 6.0 to see if inline files can be handled. Since it is possible
and since I can compile Vim _only_ like that, I'm pretty sure this
patch facilitate the life of many users.
My environment: Visual Studio 2005 Express Edition.
C:>cmd -version
Microsoft Windows XP [Version 5.1.2600]
C:>nmake /?
Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.
Before including this change I would have to check the file still works
with old versions of MSVC. I still need to use 4.1 to be able to
generate a win32s version.
echo string1 > file
echo string2 >> file
echo string3 >> file
etc.
ought to work, _except_ when the string is (ignoring case) ON OFF or
empty (in which case you will set, clear or display the echo on/off
setting instead of writing / appending to the file). People were using
it in batch files in Dos from time immemorial, with shells which didn't
know about inline documents.
Best regards,
Tony.