Am Dienstag, den 18.02.2020, 14:19 +0100 schrieb David Kastrup: > James < > [email protected] > > 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
