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.

Reply via email to