See that the path for AccHw_rsa_pkcs1v15.h got split in two. This results in:
ninja explain: output /path/to/x-cube-cryptolib/AccHw_Crypto/STM32F7/Middlewares/ST/STM32_Crypto_AccHw/Inc/RSA/PKCS of phony edge with no inputs doesn't exist
ninja explain: /path/to/x-cube-cryptolib/AccHw_Crypto/STM32F7/Middlewares/ST/STM32_Crypto_AccHw/Inc/RSA/PKCS is dirty
ninja explain: output 1v15/AccHw_rsa_pkcs1v15.h of phony edge with no inputs doesn't exist
ninja explain: 1v15/AccHw_rsa_pkcs1v15.h is dirty
ninja explain: stored deps info out of date for '/path/to/CMakeFiles/main.dir/main.o' (6183390380015602 vs 6183390963740657)
ninja explain: /path/to/CMakeFiles/main.dir/main.o is dirty
Since neither of these paths exist, it rebuilds the target unnecessarily because it treats these missing files as dirty, which is incorrect. It's chopped a valid path in half to create two bogus dependencies.
The deps output is from the IAR C compiler.
Would it be possible to look at handling the # character in the DEPFILE input files a bit more robustly?
Example:
Note the filename RSA\PKCS#1v15\AccHw_rsa_pkcs1v15.h. This is what will break:
In .ninja_deps:
See that the path for AccHw_rsa_pkcs1v15.h got split in two. This results in:
Since neither of these paths exist, it rebuilds the target unnecessarily because it treats these missing files as dirty, which is incorrect. It's chopped a valid path in half to create two bogus dependencies.
The deps output is from the IAR C compiler.
Would it be possible to look at handling the
#
character in the DEPFILE input files a bit more robustly?Many thanks, Roger