[libvirt] [PATCH] build: allow mingw VPATH build

Matthias Bolte matthias.bolte at googlemail.com
Sat Aug 14 19:26:51 UTC 2010


2010/8/14 Eric Blake <eblake at redhat.com>:
> On 08/14/2010 12:37 PM, Matthias Bolte wrote:
>> 2010/8/14 Eric Blake <eblake at redhat.com>:
>>> * .gnulib: Update to latest.
>>> Reported by Matthias Bolte.
>>> ---
>>>
>>> Mainly for the top one, but there are a couple of relevant
>>> upstream patches in this list.
>>>
>>> * .gnulib 1629006...7ba06c8 (152):
>>>  > pthread: fix pthread.h creation for srcdir != builddir
>>
>> ACK.
>
> Thanks; pushed.
>
> On a related note:  On IRC, you mentioned that you encountered an
> inf-loop for make and autogen.sh when you had local modifications in
> your .gnulib file.  Do you have a simple formula for reproducing that?
> If I'm correct, I suspect that autogen and/or bootstrap could be taught
> how to recognize whether a 'git submodule update' was sufficient to sync
> up to the expected version (the normal case) vs. still noticing that
> .gnulib is dirty due to local changes (at least, I'm assuming that was
> the situation you were in); in the latter case, it would then be fatal
> with a message reminding you to commit your changes so that the
> submodule is no longer dirty rather than inf-looping trying to sync up
> something that won't change.
>

I altered .gnulib/modules/pthread in the way the posted patch for
pthread.h did and then run make. I wanted to run make dist after that
to generate a tarball that I could compile in MSys on Windows. This is
faster then building from a general git clone, especially we you need
to update gnulib, because that's really slow in MSys.

make then triggered autogen.sh. I think cfg.mk line 450ff did this;
triggering autogen.sh over and over again because 'git diff .gnulib'
(cfg.mk line 466) printed a diff like this:


$ git diff .gnulib
diff --git a/.gnulib b/.gnulib
--- a/.gnulib
+++ b/.gnulib
@@ -1 +1 @@
-Subproject commit 1629006348e1f66f07ce3ddcf3ebd2d14556cfce
+Subproject commit 1629006348e1f66f07ce3ddcf3ebd2d14556cfce-dirty


cfg.mk could detect such a diff and abort with a fatal message as you said.

Matthias




More information about the libvir-list mailing list