Update bootstrap script.

This commit is contained in:
Giuseppe Scrivano 2011-03-21 11:53:52 +01:00
parent ed182a8da9
commit 910ec4641e
2 changed files with 162 additions and 68 deletions

View File

@ -1,3 +1,7 @@
2011-03-21 Giuseppe Scrivano <gscrivano@gnu.org>
* bootstrap: Update from gnulib.
2011-03-19 Giuseppe Scrivano <gscrivano@gnu.org> 2011-03-19 Giuseppe Scrivano <gscrivano@gnu.org>
* bootstrap.conf (buildreq): Update build prerequisites list. * bootstrap.conf (buildreq): Update build prerequisites list.

226
bootstrap
View File

@ -1,11 +1,10 @@
#! /bin/sh #! /bin/sh
# Print a version string. # Print a version string.
scriptversion=2010-05-14.09; # UTC scriptversion=2011-03-03.12; # UTC
# Bootstrap this package from checked-out sources. # Bootstrap this package from checked-out sources.
# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 # Copyright (C) 2003-2011 Free Software Foundation, Inc.
# 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
@ -43,24 +42,32 @@ local_gl_dir=gl
bt='._bootmp' bt='._bootmp'
bt_regex=`echo "$bt"| sed 's/\./[.]/g'` bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
bt2=${bt}2 bt2=${bt}2
me=$0
usage() { usage() {
cat <<EOF cat <<EOF
Usage: $0 [OPTION]... Usage: $me [OPTION]...
Bootstrap this package from the checked-out sources. Bootstrap this package from the checked-out sources.
Options: Options:
--gnulib-srcdir=DIRNAME Specify the local directory where gnulib --gnulib-srcdir=DIRNAME specify the local directory where gnulib
sources reside. Use this if you already sources reside. Use this if you already
have gnulib sources on your machine, and have gnulib sources on your machine, and
do not want to waste your bandwidth downloading do not want to waste your bandwidth downloading
them again. Defaults to \$GNULIB_SRCDIR. them again. Defaults to \$GNULIB_SRCDIR
--copy Copy files instead of creating symbolic links. --bootstrap-sync if this bootstrap script is not identical to
--force Attempt to bootstrap even if the sources seem the version in the local gnulib sources,
not to have been checked out. update this script, and then restart it with
--skip-po Do not download po files. /bin/sh or the shell \$CONFIG_SHELL
--no-bootstrap-sync do not check whether bootstrap is out of sync
--copy copy files instead of creating symbolic links
--force attempt to bootstrap even if the sources seem
not to have been checked out
--no-git do not use git to update gnulib. Requires that
--gnulib-srcdir point to a correct gnulib snapshot
--skip-po do not download po files
If the file $0.conf exists in the same directory as this script, its If the file $me.conf exists in the same directory as this script, its
contents are read as shell variables to configure the bootstrap. contents are read as shell variables to configure the bootstrap.
For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR
@ -81,6 +88,10 @@ gnulib_modules=
# Any gnulib files needed that are not in modules. # Any gnulib files needed that are not in modules.
gnulib_files= gnulib_files=
# A function to be called to edit gnulib.mk right after it's created.
# Override it via your own definition in bootstrap.conf.
gnulib_mk_hook() { :; }
# A function to be called after everything else in this script. # A function to be called after everything else in this script.
# Override it via your own definition in bootstrap.conf. # Override it via your own definition in bootstrap.conf.
bootstrap_epilogue() { :; } bootstrap_epilogue() { :; }
@ -91,7 +102,8 @@ bootstrap_epilogue() { :; }
# options because the latest/%s directory and the .po files within are # options because the latest/%s directory and the .po files within are
# all symlinks. # all symlinks.
po_download_command_format=\ po_download_command_format=\
"rsync -Lrtvz 'translationproject.org::tp/latest/%s/' '%s'" "rsync --delete --exclude '*.s1' -Lrtvz \
'translationproject.org::tp/latest/%s/' '%s'"
extract_package_name=' extract_package_name='
/^AC_INIT(/{ /^AC_INIT(/{
@ -164,6 +176,13 @@ copy=false
# on which version control system (if any) is used in the source directory. # on which version control system (if any) is used in the source directory.
vc_ignore=auto vc_ignore=auto
# Set this to true in bootstrap.conf to enable --bootstrap-sync by
# default.
bootstrap_sync=false
# Use git to update gnulib sources
use_git=true
# find_tool ENVVAR NAMES... # find_tool ENVVAR NAMES...
# ------------------------- # -------------------------
# Search for a required program. Use the value of ENVVAR, if set, # Search for a required program. Use the value of ENVVAR, if set,
@ -188,11 +207,11 @@ find_tool ()
find_tool_error_prefix="\$$find_tool_envvar: " find_tool_error_prefix="\$$find_tool_envvar: "
fi fi
if test x"$find_tool_res" = x; then if test x"$find_tool_res" = x; then
echo >&2 "$0: one of these is required: $find_tool_names" echo >&2 "$me: one of these is required: $find_tool_names"
exit 1 exit 1
fi fi
($find_tool_res --version </dev/null) >/dev/null 2>&1 || { ($find_tool_res --version </dev/null) >/dev/null 2>&1 || {
echo >&2 "$0: ${find_tool_error_prefix}cannot run $find_tool_res --version" echo >&2 "$me: ${find_tool_error_prefix}cannot run $find_tool_res --version"
exit 1 exit 1
} }
eval "$find_tool_envvar=\$find_tool_res" eval "$find_tool_envvar=\$find_tool_res"
@ -235,12 +254,25 @@ do
checkout_only_file=;; checkout_only_file=;;
--copy) --copy)
copy=true;; copy=true;;
--bootstrap-sync)
bootstrap_sync=true;;
--no-bootstrap-sync)
bootstrap_sync=false;;
--no-git)
use_git=false;;
*) *)
echo >&2 "$0: $option: unknown option" echo >&2 "$0: $option: unknown option"
exit 1;; exit 1;;
esac esac
done done
if $use_git || test -d "$GNULIB_SRCDIR"; then
:
else
echo "$0: Error: --no-git requires --gnulib-srcdir" >&2
exit 1
fi
if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2 echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2
exit 1 exit 1
@ -257,6 +289,21 @@ insert_sorted_if_absent() {
|| exit 1 || exit 1
} }
# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
# insert_sorted_if_absent.
insert_vc_ignore() {
vc_ignore_file="$1"
pattern="$2"
case $vc_ignore_file in
*.gitignore)
# A .gitignore entry that does not start with `/' applies
# recursively to subdirectories, so prepend `/' to every
# .gitignore entry.
pattern=`echo "$pattern" | sed s,^,/,`;;
esac
insert_sorted_if_absent "$vc_ignore_file" "$pattern"
}
# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
found_aux_dir=no found_aux_dir=no
grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \ grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
@ -275,7 +322,7 @@ if test ! -d $build_aux; then
mkdir $build_aux mkdir $build_aux
for dot_ig in x $vc_ignore; do for dot_ig in x $vc_ignore; do
test $dot_ig = x && continue test $dot_ig = x && continue
insert_sorted_if_absent $dot_ig $build_aux insert_vc_ignore $dot_ig $build_aux
done done
fi fi
@ -325,17 +372,18 @@ get_version() {
$app --version >/dev/null 2>&1 || return 1 $app --version >/dev/null 2>&1 || return 1
$app --version 2>&1 | $app --version 2>&1 |
sed -n '# extract version within line sed -n '# Move version to start of line.
s/.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/ s/.*[v ]\([0-9]\)/\1/
t done
# extract version at start of line # Skip lines that do not start with version.
s/^\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/ /^[0-9]/!d
t done
d # Remove characters after the version.
s/[^.a-z0-9-].*//
# The first component must be digits only.
s/^\([0-9]*\)[a-z-].*/\1/
:done
#the following essentially does s/5.005/5.5/ #the following essentially does s/5.005/5.5/
s/\.0*\([1-9]\)/.\1/g s/\.0*\([1-9]\)/.\1/g
p p
@ -346,18 +394,26 @@ check_versions() {
ret=0 ret=0
while read app req_ver; do while read app req_ver; do
# We only need libtoolize from the libtool package.
if test "$app" = libtool; then
app=libtoolize
fi
# Exempt git if --no-git is in effect.
if test "$app" = git; then
$use_git || continue
fi
# Honor $APP variables ($TAR, $AUTOCONF, etc.) # Honor $APP variables ($TAR, $AUTOCONF, etc.)
appvar=`echo $app | tr '[a-z]' '[A-Z]'` appvar=`echo $app | tr '[a-z]-' '[A-Z]_'`
test "$appvar" = TAR && appvar=AMTAR test "$appvar" = TAR && appvar=AMTAR
eval "app=\${$appvar-$app}" eval "app=\${$appvar-$app}"
inst_ver=$(get_version $app) inst_ver=$(get_version $app)
if [ ! "$inst_ver" ]; then if [ ! "$inst_ver" ]; then
echo "Error: '$app' not found" >&2 echo "$me: Error: '$app' not found" >&2
ret=1 ret=1
elif [ ! "$req_ver" = "-" ]; then elif [ ! "$req_ver" = "-" ]; then
latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
if [ ! "$latest_ver" = "$inst_ver" ]; then if [ ! "$latest_ver" = "$inst_ver" ]; then
echo "Error: '$app' version == $inst_ver is too old" >&2 echo "$me: Error: '$app' version == $inst_ver is too old" >&2
echo " '$app' version >= $req_ver is required" >&2 echo " '$app' version >= $req_ver is required" >&2
ret=1 ret=1
fi fi
@ -370,16 +426,30 @@ check_versions() {
print_versions() { print_versions() {
echo "Program Min_version" echo "Program Min_version"
echo "----------------------" echo "----------------------"
printf "$buildreq" printf %s "$buildreq"
echo "----------------------" echo "----------------------"
# can't depend on column -t # can't depend on column -t
} }
use_libtool=0
# We'd like to use grep -E, to see if any of LT_INIT,
# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
# but that's not portable enough (e.g., for Solaris).
grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
&& use_libtool=1
grep '^[ ]*LT_INIT' configure.ac >/dev/null \
&& use_libtool=1
if test $use_libtool = 1; then
find_tool LIBTOOLIZE glibtoolize libtoolize
fi
if ! printf "$buildreq" | check_versions; then if ! printf "$buildreq" | check_versions; then
test -f README-prereq && echo >&2
echo "See README-prereq for notes on obtaining these prerequisite programs:" >&2 if test -f README-prereq; then
echo echo "$0: See README-prereq for how to get the prerequisite programs" >&2
print_versions else
echo "$0: Please install the prerequisite programs" >&2
fi
exit 1 exit 1
fi fi
@ -390,11 +460,11 @@ if test -d .git && (git --version) >/dev/null 2>/dev/null ; then
if git config merge.merge-changelog.driver >/dev/null ; then if git config merge.merge-changelog.driver >/dev/null ; then
: :
elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
echo "initializing git-merge-changelog driver" echo "$0: initializing git-merge-changelog driver"
git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver' git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B' git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
else else
echo "consider installing git-merge-changelog from gnulib" echo "$0: consider installing git-merge-changelog from gnulib"
fi fi
fi fi
@ -410,7 +480,7 @@ git_modules_config () {
} }
gnulib_path=`git_modules_config submodule.gnulib.path` gnulib_path=`git_modules_config submodule.gnulib.path`
test -n "$gnulib_path" || gnulib_path="gnulib" test -z "$gnulib_path" && gnulib_path=gnulib
# Get gnulib files. # Get gnulib files.
@ -426,8 +496,8 @@ case ${GNULIB_SRCDIR--} in
trap cleanup_gnulib 1 2 13 15 trap cleanup_gnulib 1 2 13 15
git clone 2>&1 -h|grep -- --depth > /dev/null \ shallow=
&& shallow='--depth 2'|| shallow= git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" || git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
cleanup_gnulib cleanup_gnulib
@ -463,6 +533,16 @@ case ${GNULIB_SRCDIR--} in
;; ;;
esac esac
if $bootstrap_sync; then
cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
echo "$0: updating bootstrap and restarting..."
exec sh -c \
'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
-- "$GNULIB_SRCDIR/build-aux/bootstrap" \
"$0" "$@" --no-bootstrap-sync
}
fi
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
<$gnulib_tool || exit <$gnulib_tool || exit
@ -471,20 +551,22 @@ gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
download_po_files() { download_po_files() {
subdir=$1 subdir=$1
domain=$2 domain=$2
echo "$0: 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" eval "$cmd"
} }
# Download .po files to $po_dir/.reference and copy only the new # Mirror .po files to $po_dir/.reference and copy only the new
# or modified ones into $po_dir. Also update $po_dir/LINGUAS. # or modified ones into $po_dir. Also update $po_dir/LINGUAS.
# Note po files that exist locally only are left in $po_dir but will
# not be included in LINGUAS and hence will not be distributed.
update_po_files() { update_po_files() {
# Directory containing primary .po files. # Directory containing primary .po files.
# Overwrite them only when we're sure a .po file is new. # Overwrite them only when we're sure a .po file is new.
po_dir=$1 po_dir=$1
domain=$2 domain=$2
# Download *.po files into this dir. # Mirror *.po files into this dir.
# Usually contains *.s1 checksum files. # Usually contains *.s1 checksum files.
ref_po_dir="$po_dir/.reference" ref_po_dir="$po_dir/.reference"
@ -503,7 +585,7 @@ update_po_files() {
! test -f "$po_dir/$po.po" || ! test -f "$po_dir/$po.po" ||
! $SHA1SUM -c --status "$cksum_file" \ ! $SHA1SUM -c --status "$cksum_file" \
< "$new_po" > /dev/null; then < "$new_po" > /dev/null; then
echo "updated $po_dir/$po.po..." echo "$me: updated $po_dir/$po.po..."
cp "$new_po" "$po_dir/$po.po" \ cp "$new_po" "$po_dir/$po.po" \
&& $SHA1SUM < "$new_po" > "$cksum_file" && $SHA1SUM < "$new_po" > "$cksum_file"
fi fi
@ -541,20 +623,20 @@ symlink_to_dir()
for dot_ig in x $vc_ignore; do for dot_ig in x $vc_ignore; do
test $dot_ig = x && continue test $dot_ig = x && continue
ig=$parent/$dot_ig ig=$parent/$dot_ig
insert_sorted_if_absent $ig `echo "$dst_dir"|sed 's,.*/,,'` insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'`
done done
fi fi
if $copy; then if $copy; then
{ {
test ! -h "$dst" || { test ! -h "$dst" || {
echo "$0: rm -f $dst" && echo "$me: rm -f $dst" &&
rm -f "$dst" rm -f "$dst"
} }
} && } &&
test -f "$dst" && test -f "$dst" &&
cmp -s "$src" "$dst" || { cmp -s "$src" "$dst" || {
echo "$0: cp -fp $src $dst" && echo "$me: cp -fp $src $dst" &&
cp -fp "$src" "$dst" cp -fp "$src" "$dst"
} }
else else
@ -568,7 +650,7 @@ symlink_to_dir()
*) *)
case /$dst/ in case /$dst/ in
*//* | */../* | */./* | /*/*/*/*/*/) *//* | */../* | */./* | /*/*/*/*/*/)
echo >&2 "$0: invalid symlink calculation: $src -> $dst" echo >&2 "$me: invalid symlink calculation: $src -> $dst"
exit 1;; exit 1;;
/*/*/*/*/) dot_dots=../../../;; /*/*/*/*/) dot_dots=../../../;;
/*/*/*/) dot_dots=../../;; /*/*/*/) dot_dots=../../;;
@ -576,7 +658,7 @@ symlink_to_dir()
esac;; esac;;
esac esac
echo "$0: ln -fs $dot_dots$src $dst" && echo "$me: ln -fs $dot_dots$src $dst" &&
ln -fs "$dot_dots$src" "$dst" ln -fs "$dot_dots$src" "$dst"
} }
fi fi
@ -609,7 +691,7 @@ cp_mark_as_generated()
cmp -s "$cp_src" "$cp_dst" || { cmp -s "$cp_src" "$cp_dst" || {
# Copy the file first to get proper permissions if it # Copy the file first to get proper permissions if it
# doesn't already exist. Then overwrite the copy. # doesn't already exist. Then overwrite the copy.
echo "$0: cp -f $cp_src $cp_dst" && echo "$me: cp -f $cp_src $cp_dst" &&
rm -f "$cp_dst" && rm -f "$cp_dst" &&
cp "$cp_src" "$cp_dst-t" && cp "$cp_src" "$cp_dst-t" &&
sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" && sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" &&
@ -627,7 +709,7 @@ cp_mark_as_generated()
if cmp -s "$cp_dst-t" "$cp_dst"; then if cmp -s "$cp_dst-t" "$cp_dst"; then
rm -f "$cp_dst-t" rm -f "$cp_dst-t"
else else
echo "$0: cp $cp_src $cp_dst # with edits" && echo "$me: cp $cp_src $cp_dst # with edits" &&
mv -f "$cp_dst-t" "$cp_dst" mv -f "$cp_dst-t" "$cp_dst"
fi fi
fi fi
@ -646,7 +728,7 @@ version_controlled_file() {
elif test -d .svn; then elif test -d .svn; then
svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes
else else
echo "$0: no version control for $dir/$file?" >&2 echo "$me: no version control for $dir/$file?" >&2
fi fi
test $found = yes test $found = yes
} }
@ -658,7 +740,8 @@ slurp() {
for file in `ls -a $1/$dir`; do for file in `ls -a $1/$dir`; do
case $file in case $file in
.|..) continue;; .|..) continue;;
.*) continue;; # FIXME: should all file names starting with "." be ignored? # FIXME: should all file names starting with "." be ignored?
.*) continue;;
esac esac
test -d $1/$dir/$file && continue test -d $1/$dir/$file && continue
for excluded_file in $excluded_files; do for excluded_file in $excluded_files; do
@ -667,18 +750,20 @@ slurp() {
if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then
copied=$copied${sep}$gnulib_mk; sep=$nl copied=$copied${sep}$gnulib_mk; sep=$nl
remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g" remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
sed "$remove_intl" $1/$dir/$file | cmp - $dir/$gnulib_mk > /dev/null || { sed "$remove_intl" $1/$dir/$file |
echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." && cmp - $dir/$gnulib_mk > /dev/null || {
echo "$me: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
rm -f $dir/$gnulib_mk && rm -f $dir/$gnulib_mk &&
sed "$remove_intl" $1/$dir/$file >$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; } || elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
version_controlled_file $dir $file; then version_controlled_file $dir $file; then
echo "$0: $dir/$file overrides $1/$dir/$file" echo "$me: $dir/$file overrides $1/$dir/$file"
else else
copied=$copied$sep$file; sep=$nl copied=$copied$sep$file; sep=$nl
if test $file = gettext.m4; then if test $file = gettext.m4; then
echo "$0: patching m4/gettext.m4 to remove need for intl/* ..." echo "$me: patching m4/gettext.m4 to remove need for intl/* ..."
rm -f $dir/$file rm -f $dir/$file
sed ' sed '
/^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\ /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\
@ -698,18 +783,25 @@ slurp() {
test $dot_ig = x && continue test $dot_ig = x && continue
ig=$dir/$dot_ig ig=$dir/$dot_ig
if test -n "$copied"; then if test -n "$copied"; then
insert_sorted_if_absent $ig "$copied" insert_vc_ignore $ig "$copied"
# If an ignored file name ends with .in.h, then also add # If an ignored file name ends with .in.h, then also add
# the name with just ".h". Many gnulib headers are generated, # the name with just ".h". Many gnulib headers are generated,
# e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc. # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc.
# Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed # 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/'` f=`echo "$copied" |
insert_sorted_if_absent $ig "$f" 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 # For files like sys_stat.in.h and sys_time.in.h, record as
# ignorable the directory we might eventually create: sys/. # ignorable the directory we might eventually create: sys/.
f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'` f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'`
insert_sorted_if_absent $ig "$f" insert_vc_ignore $ig "$f"
fi fi
done done
done done
@ -734,6 +826,12 @@ gnulib_tool_options="\
--local-dir $local_gl_dir\ --local-dir $local_gl_dir\
$gnulib_tool_option_extras\ $gnulib_tool_option_extras\
" "
if test $use_libtool = 1; then
case "$gnulib_tool_options " in
*' --libtool '*) ;;
*) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
esac
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 slurp $bt || exit
@ -776,26 +874,18 @@ grep -E '^[ ]*AC_CONFIG_HEADERS?\>' configure.ac >/dev/null ||
for command in \ for command in \
libtool \ libtool \
"${ACLOCAL-aclocal} --force -I m4" \ "${ACLOCAL-aclocal} --force -I '$m4_base' $ACLOCAL_FLAGS" \
"${AUTOCONF-autoconf} --force" \ "${AUTOCONF-autoconf} --force" \
"${AUTOHEADER-autoheader} --force" \ "${AUTOHEADER-autoheader} --force" \
"${AUTOMAKE-automake} --add-missing --copy --force-missing" "${AUTOMAKE-automake} --add-missing --copy --force-missing"
do do
if test "$command" = libtool; then if test "$command" = libtool; then
use_libtool=0
# We'd like to use grep -E, to see if any of LT_INIT,
# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
# but that's not portable enough (e.g., for Solaris).
grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
&& use_libtool=1
grep '^[ ]*LT_INIT' configure.ac >/dev/null \
&& use_libtool=1
test $use_libtool = 0 \ test $use_libtool = 0 \
&& continue && continue
command="${LIBTOOLIZE-libtoolize} -c -f" command="${LIBTOOLIZE-libtoolize} -c -f"
fi fi
echo "$0: $command ..." echo "$0: $command ..."
$command || exit eval "$command" || exit
done done