Am Dienstag, den 18.02.2020, 14:19 +0100 schrieb David Kastrup: > James < > pkx1...@posteo.net > > writes: > > Actually if you look on the tracker you'll see that I wrote > > > > 'Passes make, make test-baseline, and a full make doc.' > > > > This is probably my fault misunderstanding what can and what cannot be > > 'tested' after 'configure' has been run. > > Everything? > > > For example, as far as I can remember/tell if I *.ac files are patched > > then when I run > > > > ./autogen.sh --noconfigure > > mkdir build > > cd build > > ../configure > > make > > make test-baseline > > > > and THEN I try to apply the diff, I get some 'error' about the file > > being newer (or something, I cannot recall without doing it) as when > > you run the patch tests you are not re-running autogen/configure. > > Why would you not rerun autogen/configure? > > The procedure for a patch would be > > git apply --index xxxx.diff > ./autogen.sh --noconf > cd build > ../configure --enable-checking # and/or other desired options > make clean test-clean doc-clean > CPU_COUNT=9 make -j9 # or whatever other options > CPU_COUNT=9 make -j9 check > CPU_COUNT=9 make -j9 doc
In my experience this doesn't work in all cases. I just switched back from branch where I worked on the build system and here's what I get (after running $ autoconf in the src directory): $ ../src/configure [...] configure: creating ./config.status config.status: creating config.make config.status: creating config.hh config.status: config.hh is unchanged $ make *** /code/LilyPond/build/config.hh is out of date *** Remove it and rerun autogen: rm /code/LilyPond/build/config.hh; ./autogen.sh $ make clean [...] $ make *** /code/LilyPond/build/config.hh is out of date *** Remove it and rerun autogen: rm /code/LilyPond/build/config.hh; ./autogen.sh As you can see, configure is "clever" and notices that config.hh would not change. So instead of touching it (and forcing a full rebuild), it just keeps the old modification date and our /GNUmakefile.in gets pretty angry about it. If I actually remove config.hh and then re-run configure, it obviously works - but I'd consider this a problem in the build system. Also note how the recommendation is wrong in my example as I build in a separate directory... Jonas
signature.asc
Description: This is a digitally signed message part