"echo" command is not very portable. Particularly on Windows, we have
various types of echo command that interpret backslashes, double-quotes
and single-quotes differently. On windows, shell does not tokenize
command line arguments but each command does, so the interpretation
varies depending on your crt.
As a result, we observed hard-to-fix errors that happened only on a
limited set of Windows buildbots.
This patch adds a portable "echo" command which always interprets
arguments in the Unix style even on Windows. llvm-echo returns the
same string for a string no matter what platform it is running.
This command should fix the compatibility issue.
lit is supposed to be independent from LLVM. These substitutions are normally done in each project's lit.cfg. If you search for where we add the FileCheck substitution you should be able to do something similar.