Escape spaces in depfile with backslashes.

This matches how Linux escapes spaces in paths.
The same syntax is also used by other build tools that output depfiles,
e.g. edd36eba5e/src/cargo/core/compiler/output_depinfo.rs (L19)

Signed-off-by: Colin Finck <mail@colinfinck.de>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Colin Finck 2024-10-21 13:34:25 +02:00 committed by David Gibson
parent f9968fa069
commit 18aa49a9f6
4 changed files with 28 additions and 3 deletions

View file

@ -160,8 +160,10 @@ FILE *srcfile_relative_open(const char *fname, char **fullnamep)
strerror(errno));
}
if (depfile)
fprintf(depfile, " %s", fullname);
if (depfile) {
fputc(' ', depfile);
fprint_path_escaped(depfile, fullname);
}
if (fullnamep)
*fullnamep = fullname;