Download raw body.
scons CPP parser vs dpb junking
On 2024/01/28 23:33, Omar Polo wrote: > Since the import of games/godot4 there have been at least two build > failures that naddy reported to me. Both stems from the same issue: > scons' CPP parser limitations. > > In a nutsell, given the following bit of code > > #ifdef USE_FOO > # include <foo.h> > #endif > > scons is not smart enough to realize that without -DUSE_FOO, foo.h is > not used, so it records it as dependency. If than foo gets junked, > scons fails with an error like: > > scons: *** [thirdparty/oidn/mkl-dnn/src/common/rnn.linuxbsd.editor.o] > Implicit dependency `/usr/local/include/cblas.h' not found, needed by target > `thirdparty/oidn/mkl-dnn/src/common/rnn.linuxbsd.editor.o'. > > (actually, scons has another C parser that should be smart enough to > interpret CPP' #ifs but it's not the default one and AFAIK needs > explicit opt-in via SConstruct file.) > > So, is DPB_PROPERTIES=nojunk the way to go? Technically the only port I think so. It's not ideal, but it is appropriate for this situation, and it's better than bulk builds randomly failing.
scons CPP parser vs dpb junking