Now that I've added the vc-list-files script to gnulib, this patch makes libvirt's bootstrap pull it from there. Changes from the previous version of the script: I reintroduced support for mercurial (only lightly tested), and rearranged the directory-existence tests so git is first. Here's the full patch, including a renaming in vasnprintf.c: ---------------- Pull vc-list-files from gnulib, and update. * bootstrap (gnulib_tool): Add the vc-list-files module. --- bootstrap | 3 ++- build-aux/vc-list-files | 19 +++++++++++++------ gnulib/lib/Makefile.am | 9 ++++++++- gnulib/lib/vasnprintf.c | 18 ++++++++++-------- gnulib/m4/gnulib-cache.m4 | 4 ++-- gnulib/m4/gnulib-comp.m4 | 1 + 6 files changed, 36 insertions(+), 18 deletions(-) diff --git a/bootstrap b/bootstrap index 751b244..1627086 100755 --- a/bootstrap +++ b/bootstrap @@ -77,7 +77,8 @@ $gnulib_tool \ --tests-base=gnulib/tests \ --import physmem getaddrinfo \ sys_stat vasprintf strndup \ - strsep poll gettext getpass + strsep poll gettext getpass \ + vc-list-files rm -f \ .gitignore \ diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files index 72a6f54..1e158bb 100755 --- a/build-aux/vc-list-files +++ b/build-aux/vc-list-files @@ -1,7 +1,7 @@ #!/bin/sh -# List the specified version-controlled files. +# List version-controlled file names. -# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# Copyright (C) 2006-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,7 +18,8 @@ # List the specified version-controlled files. -# With no argument, list them all. +# With no argument, list them all. With a single DIRECTORY argument, +# list the version-controlled files in that directory. # This script must be run solely from the top of a $srcdir build directory. # If there's an argument, it must be a single, "."-relative directory name. @@ -28,12 +29,17 @@ dir= case $# in 0) ;; 1) dir=$1 ;; - *) echo "$0: too many arguments" 1>&2; exit 1 ;; + *) echo "$0: too many arguments" 1>&2 + echo "Usage: $0 [DIR]" 1>&2; exit 1;; esac test "x$dir" = x && dir=. -if test -d CVS; then +if test -d .git; then + exec git ls-files "$dir" +elif test -d .hg; then + exec hg locate "$dir/*" +elif test -d CVS; then if test -x build-aux/cvsu; then build-aux/cvsu --find --types=AFGM "$dir" else @@ -46,5 +52,6 @@ if test -d CVS; then $(find ${*-*} -name Entries -print) /dev/null; fi else - git-ls-files "$dir" + echo "$0: Failed to determine type of version control used in "`pwd` 1>&2 + exit 1 fi diff --git a/gnulib/lib/Makefile.am b/gnulib/lib/Makefile.am index 64fc398..8f545ca 100644 --- a/gnulib/lib/Makefile.am +++ b/gnulib/lib/Makefile.am @@ -9,7 +9,7 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=gl getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf +# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=gl getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf vc-list-files AUTOMAKE_OPTIONS = 1.5 gnits @@ -719,6 +719,13 @@ EXTRA_libgnu_la_SOURCES += asprintf.c vasprintf.c ## end gnulib module vasprintf +## begin gnulib module vc-list-files + + +EXTRA_DIST += $(top_srcdir)/build-aux/vc-list-files + +## end gnulib module vc-list-files + ## begin gnulib module wchar BUILT_SOURCES += $(WCHAR_H) diff --git a/gnulib/lib/vasnprintf.c b/gnulib/lib/vasnprintf.c index 6c8d5dc..205a9bf 100644 --- a/gnulib/lib/vasnprintf.c +++ b/gnulib/lib/vasnprintf.c @@ -1,5 +1,5 @@ /* vsprintf with automatic memory allocation. - Copyright (C) 1999, 2002-2007 Free Software Foundation, Inc. + Copyright (C) 1999, 2002-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -95,7 +95,7 @@ #if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL # include <math.h> -# include "isnan.h" +# include "isnand.h" #endif #if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL @@ -106,7 +106,7 @@ #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL # include <math.h> -# include "isnan.h" +# include "isnand.h" # include "printf-frexp.h" #endif @@ -236,7 +236,7 @@ decimal_point_char () static int is_infinite_or_zero (double x) { - return isnan (x) || x + x == x; + return isnand (x) || x + x == x; } #endif @@ -2327,7 +2327,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, # if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE double arg = a.arg[dp->arg_index].a.a_double; - if (isnan (arg)) + if (isnand (arg)) { if (dp->conversion == 'A') { @@ -2676,7 +2676,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, if (dp->conversion == 'f' || dp->conversion == 'F') { double arg = a.arg[dp->arg_index].a.a_double; - if (!(isnan (arg) || arg + arg == arg)) + if (!(isnand (arg) || arg + arg == arg)) { /* arg is finite and nonzero. */ int exponent = floorlog10 (arg < 0 ? -arg : arg); @@ -3080,7 +3080,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, { double arg = a.arg[dp->arg_index].a.a_double; - if (isnan (arg)) + if (isnand (arg)) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { @@ -4327,7 +4327,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, if (prec_ourselves) { /* Handle the precision. */ - TCHAR_T *prec_ptr = + TCHAR_T *prec_ptr = # if USE_SNPRINTF (TCHAR_T *) (result + length); # else @@ -4654,6 +4654,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, not have this limitation. */ return result; +#if USE_SNPRINTF overflow: if (!(result == resultbuf || result == NULL)) free (result); @@ -4662,6 +4663,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, CLEANUP (); errno = EOVERFLOW; return NULL; +#endif out_of_memory: if (!(result == resultbuf || result == NULL)) diff --git a/gnulib/m4/gnulib-cache.m4 b/gnulib/m4/gnulib-cache.m4 index d55e07a..357f170 100644 --- a/gnulib/m4/gnulib-cache.m4 +++ b/gnulib/m4/gnulib-cache.m4 @@ -15,11 +15,11 @@ # Specification in the form of a command-line invocation: -# gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=gl getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf +# gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=gl getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf vc-list-files # Specification in the form of a few gnulib-tool.m4 macro invocations: gl_LOCAL_DIR([]) -gl_MODULES([getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf]) +gl_MODULES([getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf vc-list-files]) gl_AVOID([]) gl_SOURCE_BASE([gnulib/lib]) gl_M4_BASE([gnulib/m4]) diff --git a/gnulib/m4/gnulib-comp.m4 b/gnulib/m4/gnulib-comp.m4 index 1b91a1e..8896a38 100644 --- a/gnulib/m4/gnulib-comp.m4 +++ b/gnulib/m4/gnulib-comp.m4 @@ -225,6 +225,7 @@ AC_DEFUN([gltests_LIBSOURCES], [ AC_DEFUN([gl_FILE_LIST], [ build-aux/config.rpath build-aux/link-warning.h + build-aux/vc-list-files lib/alloca.in.h lib/asnprintf.c lib/asprintf.c -- 1.5.4.rc5.1.g0fa73 -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list