[PATCH] libXi: man: add dependency on libman_txt to libman_ref target.
Dan Nicholson
dbn.lists at gmail.com
Tue Aug 4 06:22:01 PDT 2009
On Mon, Aug 3, 2009 at 9:27 PM, Peter Hutterer<peter.hutterer at who-t.net> wrote:
> On Tue, Aug 04, 2009 at 01:51:52PM +1000, Peter Hutterer wrote:
>> On Mon, Aug 03, 2009 at 07:51:02PM -0700, Dan Nicholson wrote:
>> > On Mon, Aug 3, 2009 at 7:39 PM, Peter Hutterer<peter.hutterer at who-t.net> wrote:
>> > > libman_ref are all the refpages that are just links to the actual man page
>> > > (e.g. XIUngrabButton.man is a refpage to XIGrabButton.man).
>> > >
>> > > This patch forces the all actual man pages to be complete before the
>> > > refpages target can be started.
>> > >
>> > > Previously, some ref pages could have started parallel to the man pages
>> > > still being generated. The ref pages rely on their respective man pages but
>> > > they may not have existed yet, leading to build errors.
>> > >
>> > > Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
>> > > ---
>> > > I think this should be the correct approach to address the parallel build
>> > > errors we see in libXi, at least I can't reproduce it anymore with different
>> > > -j settings.
>> >
>> > I don't see how it makes any difference, really. Take
>> > XChangeDeviceControl.man, for instance. Rather than just waiting for
>> > XGetDeviceControl.man to show up, it will now wait for all the real
>> > manpages to show up. It really shouldn't need to do that for any
>> > reason. Now consider the situation where XChangeDeviceControl.man
>> > doesn't exist for some reason. We want to trigger
>> > XGetDeviceControl.man to get rebuilt, but now the rule has all the
>> > real pages as prerequisites. This will cause all the pages to get
>> > removed and rebuilt. It's a pretty big hammer, but it would work if
>> > you're not confident in the approach that's in there.
>> >
>> > Also, I played around quite a bit this morning on this and I'm pretty
>> > sure that what's in their now works.
>>
>> It doesn't. MAKEFLAGS=-j 5 gives me consistent build errors without this
>> patch. try 'git clean -dxf && ./autogen.sh && make'. it's just the first run
>> of make that breaks.
>>
>> anyway, I found the real problem while writing this email. some ref targets
>> didn't have the necessary .man, so the target was
>> XIUndefineCursor: XIDefineCursor.man
>> instead of
>> XIUndefineCursor.man: XIDefineCursor.man
>>
>> bloody thing was hard to spot, I read over that a zillion times.
>> XDeviceTimeCoords was affected by this too.
>>
>> So nevermind about the patch before, I'll just fix up the two targets.
>
> argh. nevermind. I just found you fixed this yesterday and I didn't notice.
> thanks for fixing it though.
Oops. I figured you'd noticed my commit and that's why you were taking
another stab at this. It was tough to figure out, too. :) If you have
the stomach for the firehose it produces, "make -d" can usually help
find things like this.
--
Dan
More information about the xorg-devel
mailing list