]> git.ipfire.org Git - thirdparty/openssl.git/commit
Avoid quoting dependency filepaths in build tree
authorTanzinul Islam <tanzinul.islam@gmail.com>
Sun, 15 Nov 2020 20:57:49 +0000 (20:57 +0000)
committerDmitry Belyavskiy <beldmit@gmail.com>
Mon, 19 Apr 2021 09:05:54 +0000 (11:05 +0200)
commit8557bdde4836b4dc63ad305c9f3c648816a05e86
tree3a8caf5d45055433c8bc26341faccf95d636776f
parente15eff3aaabe17be37ec42ae7ca342cbf2a2733c
Avoid quoting dependency filepaths in build tree

C++Builder's `make.exe` has a bug in finding the rule of a quoted
dependency that doesn't exist in the filesystem. So for example:

    A: "src\B" "out\C"
     touch $@
    out\C:
     mkdir out
     touch $@

leads to:
    Fatal: '"out\C"' does not exist - don't know how to make it

This happens even with the `-N` option, and is different behavior from
Microsoft NMake which documents the feature of [quoted filepaths][1].

Commit cb663908 quoted all dependency filepaths, in case they are used
in a out-of-source build. The quoting is not done for target names,
however, which implies that the build directory is still expected to not
have spaces. It follows that we only need to quote non-generated source
files in dependency lists, since generated source files will be created
in the build directory.

Change the logic accordingly as a workaround, so that it works at least
for in-source builds with C++Builder's `make.exe`.

[1]: https://docs.microsoft.com/cpp/build/reference/long-filenames-in-a-makefile?view=msvc-160

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/13540)
Configurations/windows-makefile.tmpl