mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 11:31:16 +00:00
build: update to latest gnulib
Pick up recent gnulib improvements. * .gnulib: Update to latest. * bootstrap: Resync. * bootstrap.conf (gnulib_tool_option_extras): Adjust to bootstrap changes. * gnulib/lib/Makefile.am: Likewise.
This commit is contained in:
parent
0327ff0798
commit
29db7a0072
2
.gnulib
2
.gnulib
@ -1 +1 @@
|
|||||||
Subproject commit 6b93d00f5410ec183e3a70ebf8e418e3b1bb0191
|
Subproject commit 980097f8eca9e08feb2073d06179f53ba46b805e
|
238
bootstrap
238
bootstrap
@ -1,10 +1,10 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Print a version string.
|
# Print a version string.
|
||||||
scriptversion=2011-08-11.17; # UTC
|
scriptversion=2012-01-06.07; # UTC
|
||||||
|
|
||||||
# Bootstrap this package from checked-out sources.
|
# Bootstrap this package from checked-out sources.
|
||||||
|
|
||||||
# Copyright (C) 2003-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2003-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -38,10 +38,6 @@ export LC_ALL
|
|||||||
|
|
||||||
local_gl_dir=gl
|
local_gl_dir=gl
|
||||||
|
|
||||||
# Temporary directory names.
|
|
||||||
bt='._bootmp'
|
|
||||||
bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
|
|
||||||
bt2=${bt}2
|
|
||||||
me=$0
|
me=$0
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
@ -88,6 +84,9 @@ gnulib_modules=
|
|||||||
# Any gnulib files needed that are not in modules.
|
# Any gnulib files needed that are not in modules.
|
||||||
gnulib_files=
|
gnulib_files=
|
||||||
|
|
||||||
|
: ${AUTOPOINT=autopoint}
|
||||||
|
: ${AUTORECONF=autoreconf}
|
||||||
|
|
||||||
# A function to be called to edit gnulib.mk right after it's created.
|
# A function to be called to edit gnulib.mk right after it's created.
|
||||||
# Override it via your own definition in bootstrap.conf.
|
# Override it via your own definition in bootstrap.conf.
|
||||||
gnulib_mk_hook() { :; }
|
gnulib_mk_hook() { :; }
|
||||||
@ -105,6 +104,11 @@ po_download_command_format=\
|
|||||||
"rsync --delete --exclude '*.s1' -Lrtvz \
|
"rsync --delete --exclude '*.s1' -Lrtvz \
|
||||||
'translationproject.org::tp/latest/%s/' '%s'"
|
'translationproject.org::tp/latest/%s/' '%s'"
|
||||||
|
|
||||||
|
# Fallback for downloading .po files (if rsync fails).
|
||||||
|
po_download_command_format2=\
|
||||||
|
"wget --mirror -nd -q -np -A.po -P '%s' \
|
||||||
|
http://translationproject.org/latest/%s/"
|
||||||
|
|
||||||
extract_package_name='
|
extract_package_name='
|
||||||
/^AC_INIT(/{
|
/^AC_INIT(/{
|
||||||
/.*,.*,.*, */{
|
/.*,.*,.*, */{
|
||||||
@ -312,8 +316,8 @@ insert_vc_ignore() {
|
|||||||
pattern="$2"
|
pattern="$2"
|
||||||
case $vc_ignore_file in
|
case $vc_ignore_file in
|
||||||
*.gitignore)
|
*.gitignore)
|
||||||
# A .gitignore entry that does not start with `/' applies
|
# A .gitignore entry that does not start with '/' applies
|
||||||
# recursively to subdirectories, so prepend `/' to every
|
# recursively to subdirectories, so prepend '/' to every
|
||||||
# .gitignore entry.
|
# .gitignore entry.
|
||||||
pattern=`echo "$pattern" | sed s,^,/,`;;
|
pattern=`echo "$pattern" | sed s,^,/,`;;
|
||||||
esac
|
esac
|
||||||
@ -473,6 +477,32 @@ if test $use_libtool = 1; then
|
|||||||
find_tool LIBTOOLIZE glibtoolize libtoolize
|
find_tool LIBTOOLIZE glibtoolize libtoolize
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# gnulib-tool requires at least automake and autoconf.
|
||||||
|
# If either is not listed, add it (with minimum version) as a prerequisite.
|
||||||
|
case $buildreq in
|
||||||
|
*automake*) ;;
|
||||||
|
*) buildreq="automake 1.9
|
||||||
|
$buildreq" ;;
|
||||||
|
esac
|
||||||
|
case $buildreq in
|
||||||
|
*autoconf*) ;;
|
||||||
|
*) buildreq="autoconf 2.59
|
||||||
|
$buildreq" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# When we can deduce that gnulib-tool will require patch,
|
||||||
|
# and when patch is not already listed as a prerequisite, add it, too.
|
||||||
|
if test ! -d "$local_gl_dir" \
|
||||||
|
|| find "$local_gl_dir" -name '*.diff' -exec false {} +; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
case $buildreq in
|
||||||
|
*patch*) ;;
|
||||||
|
*) buildreq="patch -
|
||||||
|
$buildreq" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
if ! printf "$buildreq" | check_versions; then
|
if ! printf "$buildreq" | check_versions; then
|
||||||
echo >&2
|
echo >&2
|
||||||
if test -f README-prereq; then
|
if test -f README-prereq; then
|
||||||
@ -583,6 +613,9 @@ download_po_files() {
|
|||||||
domain=$2
|
domain=$2
|
||||||
echo "$me: getting translations into $subdir for $domain..."
|
echo "$me: getting translations into $subdir for $domain..."
|
||||||
cmd=`printf "$po_download_command_format" "$domain" "$subdir"`
|
cmd=`printf "$po_download_command_format" "$domain" "$subdir"`
|
||||||
|
eval "$cmd" && return
|
||||||
|
# Fallback to HTTP.
|
||||||
|
cmd=`printf "$po_download_command_format2" "$subdir" "$domain"`
|
||||||
eval "$cmd"
|
eval "$cmd"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -703,56 +736,32 @@ symlink_to_dir()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cp_mark_as_generated()
|
# NOTE: we have to be careful to run both autopoint and libtoolize
|
||||||
{
|
# before gnulib-tool, since gnulib-tool is likely to provide newer
|
||||||
cp_src=$1
|
# versions of files "installed" by these two programs.
|
||||||
cp_dst=$2
|
# Then, *after* gnulib-tool (see below), we have to be careful to
|
||||||
|
# run autoreconf in such a way that it does not run either of these
|
||||||
|
# two just-pre-run programs.
|
||||||
|
|
||||||
if cmp -s "$cp_src" "$GNULIB_SRCDIR/$cp_dst"; then
|
# Import from gettext.
|
||||||
symlink_to_dir "$GNULIB_SRCDIR" "$cp_dst"
|
with_gettext=yes
|
||||||
elif cmp -s "$cp_src" "$local_gl_dir/$cp_dst"; then
|
grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
|
||||||
symlink_to_dir $local_gl_dir "$cp_dst"
|
with_gettext=no
|
||||||
else
|
|
||||||
case $cp_dst in
|
|
||||||
*.[ch]) c1='/* '; c2=' */';;
|
|
||||||
*.texi) c1='@c '; c2= ;;
|
|
||||||
*.m4|*/Make*|Make*) c1='# ' ; c2= ;;
|
|
||||||
*) c1= ; c2= ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# If the destination directory doesn't exist, create it.
|
if test $with_gettext = yes; then
|
||||||
# This is required at least for "lib/uniwidth/cjk.h".
|
# Released autopoint has the tendency to install macros that have been
|
||||||
dst_dir=`dirname "$cp_dst"`
|
# obsoleted in current gnulib, so run this before gnulib-tool.
|
||||||
test -d "$dst_dir" || mkdir -p "$dst_dir"
|
echo "$0: $AUTOPOINT --force"
|
||||||
|
$AUTOPOINT --force || exit
|
||||||
|
fi
|
||||||
|
|
||||||
if test -z "$c1"; then
|
# Autoreconf runs aclocal before libtoolize, which causes spurious
|
||||||
cmp -s "$cp_src" "$cp_dst" || {
|
# warnings if the initial aclocal is confused by the libtoolized
|
||||||
# Copy the file first to get proper permissions if it
|
# (or worse out-of-date) macro directory.
|
||||||
# doesn't already exist. Then overwrite the copy.
|
if grep '^[ ]*LT_INIT' configure.ac >/dev/null; then
|
||||||
echo "$me: cp -f $cp_src $cp_dst" &&
|
echo "running: $LIBTOOLIZE --copy --install"
|
||||||
rm -f "$cp_dst" &&
|
$LIBTOOLIZE --copy --install
|
||||||
cp "$cp_src" "$cp_dst-t" &&
|
fi
|
||||||
sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" &&
|
|
||||||
mv -f "$cp_dst-t" "$cp_dst"
|
|
||||||
}
|
|
||||||
else
|
|
||||||
# Copy the file first to get proper permissions if it
|
|
||||||
# doesn't already exist. Then overwrite the copy.
|
|
||||||
cp "$cp_src" "$cp_dst-t" &&
|
|
||||||
(
|
|
||||||
echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2" &&
|
|
||||||
echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" &&
|
|
||||||
sed "s!$bt_regex/!!g" "$cp_src"
|
|
||||||
) > $cp_dst-t &&
|
|
||||||
if cmp -s "$cp_dst-t" "$cp_dst"; then
|
|
||||||
rm -f "$cp_dst-t"
|
|
||||||
else
|
|
||||||
echo "$me: cp $cp_src $cp_dst # with edits" &&
|
|
||||||
mv -f "$cp_dst-t" "$cp_dst"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
version_controlled_file() {
|
version_controlled_file() {
|
||||||
dir=$1
|
dir=$1
|
||||||
@ -771,83 +780,17 @@ version_controlled_file() {
|
|||||||
test $found = yes
|
test $found = yes
|
||||||
}
|
}
|
||||||
|
|
||||||
slurp() {
|
|
||||||
for dir in . `(cd $1 && find * -type d -print)`; do
|
|
||||||
copied=
|
|
||||||
sep=
|
|
||||||
for file in `ls -a $1/$dir`; do
|
|
||||||
case $file in
|
|
||||||
.|..) continue;;
|
|
||||||
# FIXME: should all file names starting with "." be ignored?
|
|
||||||
.*) continue;;
|
|
||||||
esac
|
|
||||||
test -d $1/$dir/$file && continue
|
|
||||||
for excluded_file in $excluded_files; do
|
|
||||||
test "$dir/$file" = "$excluded_file" && continue 2
|
|
||||||
done
|
|
||||||
if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then
|
|
||||||
copied=$copied${sep}$gnulib_mk; sep=$nl
|
|
||||||
remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
|
|
||||||
sed "$remove_intl" $1/$dir/$file |
|
|
||||||
cmp - $dir/$gnulib_mk > /dev/null || {
|
|
||||||
echo "$me: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
|
|
||||||
rm -f $dir/$gnulib_mk &&
|
|
||||||
sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk &&
|
|
||||||
gnulib_mk_hook $dir/$gnulib_mk
|
|
||||||
}
|
|
||||||
elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
|
|
||||||
version_controlled_file $dir $file; then
|
|
||||||
echo "$me: $dir/$file overrides $1/$dir/$file"
|
|
||||||
else
|
|
||||||
copied=$copied$sep$file; sep=$nl
|
|
||||||
cp_mark_as_generated $1/$dir/$file $dir/$file
|
|
||||||
fi || exit
|
|
||||||
done
|
|
||||||
|
|
||||||
for dot_ig in x $vc_ignore; do
|
|
||||||
test $dot_ig = x && continue
|
|
||||||
ig=$dir/$dot_ig
|
|
||||||
if test -n "$copied"; then
|
|
||||||
insert_vc_ignore $ig "$copied"
|
|
||||||
# If an ignored file name ends with .in.h, then also add
|
|
||||||
# the name with just ".h". Many gnulib headers are generated,
|
|
||||||
# e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc.
|
|
||||||
# Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed
|
|
||||||
f=`echo "$copied" |
|
|
||||||
sed '
|
|
||||||
s/\.in\.h$/.h/
|
|
||||||
s/\.sin$/.sed/
|
|
||||||
s/\.y$/.c/
|
|
||||||
s/\.gperf$/.h/
|
|
||||||
'
|
|
||||||
`
|
|
||||||
insert_vc_ignore $ig "$f"
|
|
||||||
|
|
||||||
# For files like sys_stat.in.h and sys_time.in.h, record as
|
|
||||||
# ignorable the directory we might eventually create: sys/.
|
|
||||||
f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'`
|
|
||||||
insert_vc_ignore $ig "$f"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Create boot temporary directories to import from gnulib and gettext.
|
|
||||||
rm -fr $bt $bt2 &&
|
|
||||||
mkdir $bt $bt2 || exit
|
|
||||||
|
|
||||||
# Import from gnulib.
|
# Import from gnulib.
|
||||||
|
|
||||||
gnulib_tool_options="\
|
gnulib_tool_options="\
|
||||||
--import\
|
--import\
|
||||||
--no-changelog\
|
--no-changelog\
|
||||||
--aux-dir $bt/$build_aux\
|
--aux-dir $build_aux\
|
||||||
--doc-base $bt/$doc_base\
|
--doc-base $doc_base\
|
||||||
--lib $gnulib_name\
|
--lib $gnulib_name\
|
||||||
--m4-base $bt/$m4_base/\
|
--m4-base $m4_base/\
|
||||||
--source-base $bt/$source_base/\
|
--source-base $source_base/\
|
||||||
--tests-base $bt/$tests_base\
|
--tests-base $tests_base\
|
||||||
--local-dir $local_gl_dir\
|
--local-dir $local_gl_dir\
|
||||||
$gnulib_tool_option_extras\
|
$gnulib_tool_option_extras\
|
||||||
"
|
"
|
||||||
@ -859,26 +802,11 @@ if test $use_libtool = 1; then
|
|||||||
fi
|
fi
|
||||||
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
|
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
|
||||||
$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
|
$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
|
||||||
slurp $bt || exit
|
|
||||||
|
|
||||||
for file in $gnulib_files; do
|
for file in $gnulib_files; do
|
||||||
symlink_to_dir "$GNULIB_SRCDIR" $file || exit
|
symlink_to_dir "$GNULIB_SRCDIR" $file || exit
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
# Import from gettext.
|
|
||||||
with_gettext=yes
|
|
||||||
grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
|
|
||||||
with_gettext=no
|
|
||||||
|
|
||||||
if test $with_gettext = yes; then
|
|
||||||
echo "$0: (cd $bt2; ${AUTOPOINT-autopoint}) ..."
|
|
||||||
cp configure.ac $bt2 &&
|
|
||||||
(cd $bt2 && ${AUTOPOINT-autopoint} && rm configure.ac) &&
|
|
||||||
slurp $bt2 $bt || exit
|
|
||||||
fi
|
|
||||||
rm -fr $bt $bt2 || exit
|
|
||||||
|
|
||||||
# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
|
# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
|
||||||
# gnulib-populated directories. Such .m4 files would cause aclocal to fail.
|
# gnulib-populated directories. Such .m4 files would cause aclocal to fail.
|
||||||
# The following requires GNU find 4.2.3 or newer. Considering the usual
|
# The following requires GNU find 4.2.3 or newer. Considering the usual
|
||||||
@ -891,28 +819,12 @@ find "$m4_base" "$source_base" \
|
|||||||
-depth \( -name '*.m4' -o -name '*.[ch]' \) \
|
-depth \( -name '*.m4' -o -name '*.[ch]' \) \
|
||||||
-type l -xtype l -delete > /dev/null 2>&1
|
-type l -xtype l -delete > /dev/null 2>&1
|
||||||
|
|
||||||
# Reconfigure, getting other files.
|
# Tell autoreconf not to invoke autopoint or libtoolize; they were run above.
|
||||||
|
echo "running: AUTOPOINT=true LIBTOOLIZE=true " \
|
||||||
# Skip autoheader if it's not needed.
|
"$AUTORECONF --verbose --install --no-recursive -I $m4_base $ACLOCAL_FLAGS"
|
||||||
grep -E '^[ ]*AC_CONFIG_HEADERS?\>' configure.ac >/dev/null ||
|
AUTOPOINT=true LIBTOOLIZE=true \
|
||||||
AUTOHEADER=true
|
$AUTORECONF --verbose --install --no-recursive -I $m4_base $ACLOCAL_FLAGS \
|
||||||
|
|| exit 1
|
||||||
for command in \
|
|
||||||
libtool \
|
|
||||||
"${ACLOCAL-aclocal} --force -I '$m4_base' $ACLOCAL_FLAGS" \
|
|
||||||
"${AUTOCONF-autoconf} --force" \
|
|
||||||
"${AUTOHEADER-autoheader} --force" \
|
|
||||||
"${AUTOMAKE-automake} --add-missing --copy --force-missing"
|
|
||||||
do
|
|
||||||
if test "$command" = libtool; then
|
|
||||||
test $use_libtool = 0 \
|
|
||||||
&& continue
|
|
||||||
command="${LIBTOOLIZE-libtoolize} -c -f"
|
|
||||||
fi
|
|
||||||
echo "$0: $command ..."
|
|
||||||
eval "$command" || exit
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
# Get some extra files from gnulib, overriding existing files.
|
# Get some extra files from gnulib, overriding existing files.
|
||||||
for file in $gnulib_extra_files; do
|
for file in $gnulib_extra_files; do
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Bootstrap configuration.
|
# Bootstrap configuration.
|
||||||
|
|
||||||
# Copyright (C) 2010-2011 Red Hat, Inc.
|
# Copyright (C) 2010-2012 Red Hat, Inc.
|
||||||
|
|
||||||
# This library is free software; you can redistribute it and/or
|
# This library is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU Lesser General Public
|
# modify it under the terms of the GNU Lesser General Public
|
||||||
@ -171,6 +171,7 @@ tests_base=gnulib/tests
|
|||||||
gnulib_tool_option_extras="\
|
gnulib_tool_option_extras="\
|
||||||
--lgpl=2\
|
--lgpl=2\
|
||||||
--with-tests\
|
--with-tests\
|
||||||
|
--makefile-name=gnulib.mk\
|
||||||
--avoid=pt_chown\
|
--avoid=pt_chown\
|
||||||
"
|
"
|
||||||
local_gl_dir=gnulib/local
|
local_gl_dir=gnulib/local
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
## Makefile for gnulib/lib -*-Makefile-*-
|
## Makefile for gnulib/lib -*-Makefile-*-
|
||||||
|
|
||||||
## Copyright (C) 2011 Red Hat, Inc.
|
## Copyright (C) 2011-2012 Red Hat, Inc.
|
||||||
## See COPYING.LIB for the License of this software
|
## See COPYING.LIB for the License of this software
|
||||||
|
|
||||||
|
# Initialize variables, so gnulib.mk can append to them
|
||||||
|
BUILT_SOURCES =
|
||||||
|
CLEANFILES =
|
||||||
|
EXTRA_DIST =
|
||||||
|
MOSTLYCLEANDIRS =
|
||||||
|
MOSTLYCLEANFILES =
|
||||||
|
SUFFIXES =
|
||||||
|
noinst_LTLIBRARIES =
|
||||||
|
|
||||||
include gnulib.mk
|
include gnulib.mk
|
||||||
|
|
||||||
INCLUDES = $(GETTEXT_CPPFLAGS)
|
INCLUDES = $(GETTEXT_CPPFLAGS)
|
||||||
|
Loading…
Reference in New Issue
Block a user