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

* .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 avoid some overlong lines from posix urls, etc. autoupdate missed commit autoupdate strtod: fix const diagnostic copy-acl: ignore ENOTSUP on HP-UX open, chown: relax license autocheck new ar-lib script from automake readlinkat: adjust client modules mknod: be more vocal about danger of running tests as root readlinkat: split into its own module memxfrm: Speed up. erroneous commas inside @var remove spurious leading i missing @item inside @itemize autoupdate Integrate the regex documentation. Whitespace cleanup. Add regex documentation. link: Update documentation. ansi-c++-opt: Mention last change in NEWS. Update modules list. Improve doc in MODULES.html. ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible. readlink, areadlink: Relax test a bit. unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case. unistr/u*-strstr: Fix dependencies. unistr/u8-chr, unistr/u8-strchr: Optimize and add comments. unistr/u8-strchr: Fix several bugs. More tests for unistr/u8-strchr. Oops, fix last commit so that it also works with modf(). posix-modules: Ignore backup files of documentation files. symlinkat: Fix documentation. fchownat: Replace also when chown has the trailing slash bug. Complete last ChangeLog entry. linkat: Work around AIX 7.1 bug. Correctly determine whether pow is available in libc on AIX 7 with xlc. iconv: Work around AIX 6.1..7.1 bug. readlink: Relax test a bit. copysign: Does not require -lm on glibc systems. duplocale: Work around AIX 7.1 bug. dirfd: Avoid link error on AIX 7.1. strtod: next round of AIX fixes futimens: fix configure check getline: Update regarding AIX. wcwidth: Drop replacement on AIX 7. strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler. unlink: Update regarding AIX. symlink: Update regarding AIX. strndup: Update regarding AIX. stat: Update regarding AIX. truncl: Fix autoconf test. round: Update regarding AIX. rename: Update regarding AIX. printf.m4: Update regarding AIX. iconv: Update regarding AIX. getopt: Update regarding AIX. ldexpl; Update regarding AIX. frexpl: Update regarding AIX. open, fopen: Update regarding AIX. chown: Update doc regarding AIX. autoupdate strtod: fix bug in replacement function on AIX mbrlen: Fix cross-compilation guess for AIX. mbrtowc: Fix cross-compilation guess for AIX. * build-aux/gendocs.sh: restore lost x bit init.sh: work around trap limitation of some shells strtod: aid debugging unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings. Add ChangeLog entries for recent commits. Use spaces for indentation, not tabs. mbspcasecmp: Fix function specification. autoupdate timespec: use cast and not conditional, as truncation isn't possible unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm. unistr/u*-strchr: add tests unistr/u*-chr: test multibyte sequences more unistr/u*-chr: test multibyte sequences unistr/u*-chr: prepare for multibyte tests unistr/u8-strchr: Optimize non-ASCII argument case. fdl.texi from gnustandards getcwd: on Solaris, work better if ancestors are inaccessible pthread: Add enough so that coreutils/src/sort.c compiles. striconveh: Simplify last commit. striconveh: Don't malloc memory if the result buffer is sufficient. strtod: Add safety check. Unify tests that set gl_cv_func_ldexpl_no_libm. Unify tests that set gl_cv_func_ldexp_no_libm. Unify tests that set gl_cv_func_frexpl_no_libm. Unify tests that set gl_cv_func_frexp_no_libm. memcoll: clarify sizes versus lengths, document better, and tweak perf Tests for module '_Exit'. New module '_Exit'. strtod: make it more-accurate typically, and don't require libm autoupdate unistr/u8-strchr: Optimize ASCII argument case. (x)memcoll: minor tweaks (x)memcoll: speedup when input is known to be NUL delimited bootstrap: discard non translation project po files fsusage: Clarify which code applies to which platforms. havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice. hash: once again explicitly disallow insertion of NULL stdbool: Update doc. hash: extend module to deal with non-pointer keys gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS. idpriv-drop: Fix tests. string: Fix syntax error with g++ 2.96. unitypes: Fix bug introduced on 2010-05-18. autoupdate autoupdates memmem: slight optimization Fix HAVE_CALLOC_POSIX misnomer. Use modern idiom for calloc() replacement. Fix HAVE_REALLOC_POSIX misnomer. Use modern idiom for realloc() replacement. Fix HAVE_MALLOC_POSIX misnomer. Use modern idiom for malloc() replacement. stdio.in.h: fix compilation failure when using HP-UX 11's C compiler update from texinfo update from texinfo update from texinfo ipv6: fix detection under mingw strtod: Assume strtod() works when cross-compiling to new-enough glibc. Factor out common code in gl_FUNC_STRTOD. strtod: Stop using AC_FUNC_STRTOD. select: Correct timeout. git-version-gen: init shell var to avoid env var influence priv-set: Don't assume that priv.h exists merely because getppriv does. relocatable: Make it easier to test whether to install wrappers. gnulib-tool: Display specified modules and dependencies differently. gnulib-tool: Align code of func_import and func_create_testdir. test-inttostr: avoid spurious failure on Solaris 9 update from texinfo test-sys_socket: mark variables as used more readably Avoid some more warnings from "gcc -Wwrite-strings". init.sh: change framework_failure_ to fail with status 99, not 1 test-inttostr: avoid warnings about 4-6KB literal strings init.sh: don't use $ME_ or skip_ before they are defined test-sys_socket: avoid set-but-not-used warnings from gcc test-xvasprintf: avoid 'const' discard warnings tests: avoid compilation warnings in argmatch and exclude tests... tests: avoid 'const' discard warnings in mbsstr tests test-verify: avoid warning from gcc's -Wmissing-declarations test-inttostr.c: include <string.h> for use of strcmp test-linkat: avoid failed assertion on "other" architectures printf.m4: avoid autoconf's "Expanded Before Required" warning Replacement header templates are now named with ".in", not "_". inttostr-tests: depend on snprintf, not snprintf-posix autoupdate inttostr: add a new function, inttostr, and tests Add "Extending Gnulib" chapter to manual.
.gnulib | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/.gnulib b/.gnulib index 1629006..7ba06c8 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit 1629006348e1f66f07ce3ddcf3ebd2d14556cfce +Subproject commit 7ba06c8ff37d8725cb824c64b94be41b9294ffb7 -- 1.7.2.1

2010/8/14 Eric Blake <eblake@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
.gnulib | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/.gnulib b/.gnulib index 1629006..7ba06c8 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit 1629006348e1f66f07ce3ddcf3ebd2d14556cfce +Subproject commit 7ba06c8ff37d8725cb824c64b94be41b9294ffb7 -- 1.7.2.1
ACK. Matthias

On 08/14/2010 12:37 PM, Matthias Bolte wrote:
2010/8/14 Eric Blake <eblake@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. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

2010/8/14 Eric Blake <eblake@redhat.com>:
On 08/14/2010 12:37 PM, Matthias Bolte wrote:
2010/8/14 Eric Blake <eblake@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
participants (2)
-
Eric Blake
-
Matthias Bolte