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