[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Staging broken.
From: |
David Kastrup |
Subject: |
Re: Staging broken. |
Date: |
Wed, 19 Feb 2020 10:03:31 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Jonas Hahnfeld <address@hidden> writes:
> Am Mittwoch, den 19.02.2020, 09:34 +0100 schrieb David Kastrup:
>> Jonas Hahnfeld <
>> address@hidden
>> > writes:
>>
>> > Am Dienstag, den 18.02.2020, 14:19 +0100 schrieb David Kastrup:
>> > > 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.
>>
>> "Angry" seems like a weird characterization.
>>
>> > 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...
>>
>> If config.hh is "outdated", why not run ./config.status --recheck ? Can
>> we do that? We'd probably need to call make recursively then so that it
>> rereads the regenerated Makefile .
>
> If I understand the situation correctly, ./config.status --recheck
> wouldn't touch config.hh either, right?
But after running it we should be fine touching it ourselves.
./config.status --recheck && touch config.hh && $(MAKE) all
Add directory variables as needed.
> So the dependency isn't correctly satisfied and we would always run it
> from then on, effectively slowing down our build system. And that is
> why I don't want to deal with this kind of issues - this should come
> with the build system for free.
Well, since we have our own build system, making it come for free is
sort of our own job.
--
David Kastrup
- Staging broken., David Kastrup, 2020/02/18
- Re: Staging broken., David Kastrup, 2020/02/18
- Re: Staging broken., James, 2020/02/18
- Re: Staging broken., David Kastrup, 2020/02/18
- Re: Staging broken., Jonas Hahnfeld, 2020/02/19
- Re: Staging broken., David Kastrup, 2020/02/19
- Re: Staging broken., Jonas Hahnfeld, 2020/02/19
- Re: Staging broken.,
David Kastrup <=
- Re: Staging broken., Han-Wen Nienhuys, 2020/02/19
- Re: Staging broken., David Kastrup, 2020/02/19
- Re: Staging broken., Han-Wen Nienhuys, 2020/02/19
- Re: Staging broken., David Kastrup, 2020/02/19
- Re: Staging broken., pkx166h, 2020/02/19
- Re: Staging broken., David Kastrup, 2020/02/19
- How to test 'stepmake' patch (was Re: Staging broken), James Lowe, 2020/02/23
Re: Staging broken., Han-Wen Nienhuys, 2020/02/18