annotate autogen.sh @ 32062:ada96a467a28

quiver: Improve plotting with non-float numeric inputs (bug #59695) * scripts/plot/draw/private/__quiver__.m: Change firstnonnumeric check to look for char instead of numeric to allow for logical inputs. Recast all inputs up to firstnonnumeric as doubles. Check if firstnonnumeric element is 'off' and if so set scale factor to 0 and increment firstnonnumeric. * scripts/plot/draw/quiver.m: Update docstring to include scaling factor option 'off'. Add BIST for int and logical input types. * scripts/plot/draw/quiver3.m: Update docstring to include scaling factor option 'off'. Add BISTs for too-few inputs. * etc/NEWS.9.md: Appended details of changes to quiver note under General Improvements and noted it also applies to quiver3.
author Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
date Wed, 26 Apr 2023 17:18:50 -0400
parents e98fb9b4be86
children e6d339b9309d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31420
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
1 #!/bin/sh
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
2 # Convenience script for regenerating all autogeneratable files that are
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
3 # omitted from the version control repository. In particular, this script
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
4 # also regenerates all aclocal.m4, config.h.in, Makefile.in, configure files
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
5 # with new versions of autoconf or automake.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
6
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
7 # Copyright (C) 2003-2022 Free Software Foundation, Inc.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
8 #
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
9 # This program is free software: you can redistribute it and/or modify
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
10 # it under the terms of the GNU General Public License as published by
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
11 # the Free Software Foundation, either version 3 of the License, or
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
12 # (at your option) any later version.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
13 #
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
14 # This program is distributed in the hope that it will be useful,
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
17 # GNU General Public License for more details.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
18 #
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
19 # You should have received a copy of the GNU General Public License
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
20 # along with this program. If not, see <https://www.gnu.org/licenses/>.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
21
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
22 # Originally written by Paul Eggert. The canonical version of this
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
23 # script is maintained as top/autogen.sh in gnulib. However, to be
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
24 # useful to your package, you should place a copy of it under version
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
25 # control in the top-level directory of your package. The intent is
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
26 # that all customization can be done with a bootstrap.conf file also
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
27 # maintained in your version control; gnulib comes with a template
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
28 # build-aux/bootstrap.conf to get you started.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
29 #
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
30 # Alternatively, you can use an autogen.sh script that is specific
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
31 # to your package.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
32
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
33 scriptversion=2022-07-24.15; # UTC
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
34
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
35 me="$0"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
36 medir=`dirname "$me"`
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
37
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
38 # Read the function library and the configuration.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
39 . "$medir"/bootstrap-funclib.sh
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
40
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
41 # Ensure that CDPATH is not set. Otherwise, the output from cd
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
42 # would cause trouble in at least one use below.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
43 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
44
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
45 # Environment variables that may be set by the user.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
46 : "${AUTOPOINT=autopoint}"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
47 : "${AUTORECONF=autoreconf}"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
48
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
49 if test "$vc_ignore" = auto; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
50 vc_ignore=
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
51 test -d .git && vc_ignore=.gitignore
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
52 test -d CVS && vc_ignore="$vc_ignore .cvsignore"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
53 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
54
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
55 usage() {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
56 cat <<EOF
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
57 Usage: $me [OPTION]...
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
58 Bootstrap this package from the checked-out sources.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
59
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
60 Optional environment variables:
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
61 GNULIB_SRCDIR Specifies the local directory where gnulib
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
62 sources reside. Use this if you already
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
63 have gnulib sources on your machine, and
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
64 you want to use these sources.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
65
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
66 Options:
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
67 --copy copy files instead of creating symbolic links
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
68 --force attempt to bootstrap even if the sources seem
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
69 not to have been checked out
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
70 EOF
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
71 bootstrap_print_option_usage_hook
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
72 cat <<EOF
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
73 If the file bootstrap.conf exists in the same directory as this script, its
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
74 contents are read as shell variables to configure the bootstrap.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
75
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
76 For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
77 are honored.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
78
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
79 Gnulib sources are assumed to be present:
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
80 * in \$GNULIB_SRCDIR, if that environment variable is set,
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
81 * otherwise, in the 'gnulib' submodule, if such a submodule is configured,
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
82 * otherwise, in the 'gnulib' subdirectory.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
83
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
84 Running without arguments will suffice in most cases.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
85 EOF
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
86 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
87
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
88 # Parse options.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
89
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
90 # Whether to use copies instead of symlinks.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
91 copy=false
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
92
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
93 for option
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
94 do
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
95 case $option in
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
96 --help)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
97 usage
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
98 exit;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
99 --version)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
100 set -e
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
101 echo "autogen.sh $scriptversion"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
102 echo "$copyright"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
103 exit 0
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
104 ;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
105 --force)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
106 checkout_only_file=;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
107 --copy)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
108 copy=true;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
109 *)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
110 bootstrap_option_hook $option || die "$option: unknown option";;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
111 esac
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
112 done
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
113
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
114 test -z "$GNULIB_SRCDIR" || test -d "$GNULIB_SRCDIR" \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
115 || die "Error: \$GNULIB_SRCDIR environment variable or --gnulib-srcdir option is specified, but does not denote a directory"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
116
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
117 if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
118 die "Running this script from a non-checked-out distribution is risky."
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
119 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
120
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
121 if $use_gnulib; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
122 if test -z "$GNULIB_SRCDIR"; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
123 gnulib_path=$(test -f .gitmodules && git config --file .gitmodules submodule.gnulib.path)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
124 test -z "$gnulib_path" && gnulib_path=gnulib
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
125 GNULIB_SRCDIR=$gnulib_path
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
126 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
127 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
128
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
129 version_controlled_file() {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
130 parent=$1
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
131 file=$2
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
132 if test -d .git; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
133 git rm -n "$file" > /dev/null 2>&1
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
134 elif test -d .svn; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
135 svn log -r HEAD "$file" > /dev/null 2>&1
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
136 elif test -d CVS; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
137 grep -F "/${file##*/}/" "$parent/CVS/Entries" 2>/dev/null |
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
138 grep '^/[^/]*/[0-9]' > /dev/null
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
139 else
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
140 warn_ "no version control for $file?"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
141 false
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
142 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
143 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
144
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
145 # Strip blank and comment lines to leave significant entries.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
146 gitignore_entries() {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
147 sed '/^#/d; /^$/d' "$@"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
148 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
149
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
150 # If $STR is not already on a line by itself in $FILE, insert it at the start.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
151 # Entries are inserted at the start of the ignore list to ensure existing
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
152 # entries starting with ! are not overridden. Such entries support
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
153 # whitelisting exceptions after a more generic blacklist pattern.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
154 insert_if_absent() {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
155 file=$1
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
156 str=$2
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
157 test -f $file || touch $file
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
158 test -r $file || die "Error: failed to read ignore file: $file"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
159 duplicate_entries=$(gitignore_entries $file | sort | uniq -d)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
160 if [ "$duplicate_entries" ] ; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
161 die "Error: Duplicate entries in $file: " $duplicate_entries
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
162 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
163 linesold=$(gitignore_entries $file | wc -l)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
164 linesnew=$( { echo "$str"; cat $file; } | gitignore_entries | sort -u | wc -l)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
165 if [ $linesold != $linesnew ] ; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
166 { echo "$str" | cat - $file > $file.bak && mv $file.bak $file; } \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
167 || die "insert_if_absent $file $str: failed"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
168 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
169 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
170
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
171 # Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
172 # insert_if_absent.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
173 insert_vc_ignore() {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
174 vc_ignore_file="$1"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
175 pattern="$2"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
176 case $vc_ignore_file in
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
177 *.gitignore)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
178 # A .gitignore entry that does not start with '/' applies
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
179 # recursively to subdirectories, so prepend '/' to every
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
180 # .gitignore entry.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
181 pattern=$(echo "$pattern" | sed s,^,/,);;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
182 esac
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
183 insert_if_absent "$vc_ignore_file" "$pattern"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
184 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
185
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
186 symlink_to_dir()
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
187 {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
188 src=$1/$2
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
189 dst=${3-$2}
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
190
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
191 test -f "$src" && {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
192
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
193 # If the destination directory doesn't exist, create it.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
194 # This is required at least for "lib/uniwidth/cjk.h".
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
195 dst_dir=$(dirname "$dst")
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
196 if ! test -d "$dst_dir"; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
197 mkdir -p "$dst_dir"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
198
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
199 # If we've just created a directory like lib/uniwidth,
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
200 # tell version control system(s) it's ignorable.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
201 # FIXME: for now, this does only one level
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
202 parent=$(dirname "$dst_dir")
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
203 for dot_ig in x $vc_ignore; do
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
204 test $dot_ig = x && continue
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
205 ig=$parent/$dot_ig
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
206 insert_vc_ignore $ig "${dst_dir##*/}"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
207 done
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
208 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
209
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
210 if $copy; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
211 {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
212 test ! -h "$dst" || {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
213 echo "$me: rm -f $dst" &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
214 rm -f "$dst"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
215 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
216 } &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
217 test -f "$dst" &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
218 cmp -s "$src" "$dst" || {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
219 echo "$me: cp -fp $src $dst" &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
220 cp -fp "$src" "$dst"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
221 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
222 else
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
223 # Leave any existing symlink alone, if it already points to the source,
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
224 # so that broken build tools that care about symlink times
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
225 # aren't confused into doing unnecessary builds. Conversely, if the
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
226 # existing symlink's timestamp is older than the source, make it afresh,
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
227 # so that broken tools aren't confused into skipping needed builds. See
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
228 # <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00326.html>.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
229 test -h "$dst" &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
230 src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
231 dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
232 test "$src_i" = "$dst_i" &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
233 both_ls=$(ls -dt "$src" "$dst") &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
234 test "X$both_ls" = "X$dst$nl$src" || {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
235 dot_dots=
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
236 case $src in
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
237 /*) ;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
238 *)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
239 case /$dst/ in
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
240 *//* | */../* | */./* | /*/*/*/*/*/)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
241 die "invalid symlink calculation: $src -> $dst";;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
242 /*/*/*/*/) dot_dots=../../../;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
243 /*/*/*/) dot_dots=../../;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
244 /*/*/) dot_dots=../;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
245 esac;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
246 esac
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
247
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
248 echo "$me: ln -fs $dot_dots$src $dst" &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
249 ln -fs "$dot_dots$src" "$dst"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
250 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
251 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
252 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
253 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
254
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
255 # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
256 found_aux_dir=no
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
257 grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'])' configure.ac \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
258 >/dev/null && found_aux_dir=yes
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
259 grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
260 >/dev/null && found_aux_dir=yes
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
261 test $found_aux_dir = yes \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
262 || die "configure.ac lacks 'AC_CONFIG_AUX_DIR([$build_aux])'; add it"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
263
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
264 # If $build_aux doesn't exist, create it now, otherwise some bits
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
265 # below will malfunction. If creating it, also mark it as ignored.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
266 if test ! -d $build_aux; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
267 mkdir $build_aux
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
268 for dot_ig in x $vc_ignore; do
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
269 test $dot_ig = x && continue
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
270 insert_vc_ignore $dot_ig $build_aux
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
271 done
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
272 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
273
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
274 check_build_prerequisites false
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
275
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
276 use_libtool=0
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
277 # We'd like to use grep -E, to see if any of LT_INIT,
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
278 # AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
279 # but that's not portable enough (e.g., for Solaris).
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
280 grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
281 && use_libtool=1
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
282 grep '^[ ]*LT_INIT' configure.ac >/dev/null \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
283 && use_libtool=1
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
284 if test $use_libtool = 1; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
285 find_tool LIBTOOLIZE glibtoolize libtoolize
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
286 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
287
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
288 if $use_gnulib; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
289 gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
290 <$gnulib_tool || exit $?
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
291 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
292
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
293 # NOTE: we have to be careful to run both autopoint and libtoolize
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
294 # before gnulib-tool, since gnulib-tool is likely to provide newer
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
295 # versions of files "installed" by these two programs.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
296 # Then, *after* gnulib-tool (see below), we have to be careful to
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
297 # run autoreconf in such a way that it does not run either of these
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
298 # two just-pre-run programs.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
299
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
300 # Import from gettext.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
301 with_gettext=yes
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
302 grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
303 with_gettext=no
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
304
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
305 if test $with_gettext = yes || test $use_libtool = 1; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
306
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
307 tempbase=.bootstrap$$
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
308 trap "rm -f $tempbase.0 $tempbase.1" 1 2 13 15
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
309
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
310 > $tempbase.0 > $tempbase.1 &&
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
311 find . ! -type d -print | sort > $tempbase.0 || exit
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
312
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
313 if test $with_gettext = yes; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
314 # Released autopoint has the tendency to install macros that have been
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
315 # obsoleted in current gnulib, so run this before gnulib-tool.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
316 echo "$0: $AUTOPOINT --force"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
317 $AUTOPOINT --force || exit
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
318 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
319
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
320 # Autoreconf runs aclocal before libtoolize, which causes spurious
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
321 # warnings if the initial aclocal is confused by the libtoolized
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
322 # (or worse out-of-date) macro directory.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
323 # libtoolize 1.9b added the --install option; but we support back
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
324 # to libtoolize 1.5.22, where the install action was default.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
325 if test $use_libtool = 1; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
326 install=
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
327 case $($LIBTOOLIZE --help) in
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
328 *--install*) install=--install ;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
329 esac
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
330 echo "running: $LIBTOOLIZE $install --copy"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
331 $LIBTOOLIZE $install --copy
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
332 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
333
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
334 find . ! -type d -print | sort >$tempbase.1
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
335 old_IFS=$IFS
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
336 IFS=$nl
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
337 for file in $(comm -13 $tempbase.0 $tempbase.1); do
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
338 IFS=$old_IFS
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
339 parent=${file%/*}
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
340 version_controlled_file "$parent" "$file" || {
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
341 for dot_ig in x $vc_ignore; do
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
342 test $dot_ig = x && continue
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
343 ig=$parent/$dot_ig
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
344 insert_vc_ignore "$ig" "${file##*/}"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
345 done
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
346 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
347 done
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
348 IFS=$old_IFS
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
349
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
350 rm -f $tempbase.0 $tempbase.1
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
351 trap - 1 2 13 15
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
352 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
353
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
354 # Import from gnulib.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
355
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
356 if $use_gnulib; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
357 gnulib_tool_options="\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
358 --no-changelog\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
359 --aux-dir=$build_aux\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
360 --doc-base=$doc_base\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
361 --lib=$gnulib_name\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
362 --m4-base=$m4_base/\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
363 --source-base=$source_base/\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
364 --tests-base=$tests_base\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
365 --local-dir=$local_gl_dir\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
366 $gnulib_tool_option_extras\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
367 "
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
368 if test $use_libtool = 1; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
369 case "$gnulib_tool_options " in
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
370 *' --libtool '*) ;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
371 *) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
372 esac
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
373 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
374 echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
375 $gnulib_tool $gnulib_tool_options --import $gnulib_modules \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
376 || die "gnulib-tool failed"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
377
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
378 for file in $gnulib_files; do
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
379 symlink_to_dir "$GNULIB_SRCDIR" $file \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
380 || die "failed to symlink $file"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
381 done
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
382 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
383
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
384 bootstrap_post_import_hook \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
385 || die "bootstrap_post_import_hook failed"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
386
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
387 # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
388 # gnulib-populated directories. Such .m4 files would cause aclocal to fail.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
389 # The following requires GNU find 4.2.3 or newer. Considering the usual
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
390 # portability constraints of this script, that may seem a very demanding
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
391 # requirement, but it should be ok. Ignore any failure, which is fine,
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
392 # since this is only a convenience to help developers avoid the relatively
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
393 # unusual case in which a symlinked-to .m4 file is git-removed from gnulib
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
394 # between successive runs of this script.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
395 find "$m4_base" "$source_base" \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
396 -depth \( -name '*.m4' -o -name '*.[ch]' \) \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
397 -type l -xtype l -delete > /dev/null 2>&1
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
398
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
399 # Invoke autoreconf with --force --install to ensure upgrades of tools
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
400 # such as ylwrap.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
401 AUTORECONFFLAGS="--verbose --install --force -I $m4_base $ACLOCAL_FLAGS"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
402
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
403 # Some systems (RHEL 5) are using ancient autotools, for which the
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
404 # --no-recursive option had not been invented. Detect that lack and
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
405 # omit the option when it's not supported. FIXME in 2017: remove this
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
406 # hack when RHEL 5 autotools are updated, or when they become irrelevant.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
407 case $($AUTORECONF --help) in
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
408 *--no-recursive*) AUTORECONFFLAGS="$AUTORECONFFLAGS --no-recursive";;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
409 esac
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
410
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
411 # Tell autoreconf not to invoke autopoint or libtoolize; they were run above.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
412 echo "running: AUTOPOINT=true LIBTOOLIZE=true $AUTORECONF $AUTORECONFFLAGS"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
413 AUTOPOINT=true LIBTOOLIZE=true $AUTORECONF $AUTORECONFFLAGS \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
414 || die "autoreconf failed"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
415
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
416 # Get some extra files from gnulib, overriding existing files.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
417 for file in $gnulib_extra_files; do
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
418 case $file in
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
419 */INSTALL) dst=INSTALL;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
420 build-aux/*) dst=$build_aux/${file#build-aux/};;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
421 *) dst=$file;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
422 esac
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
423 symlink_to_dir "$GNULIB_SRCDIR" $file $dst \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
424 || die "failed to symlink $file"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
425 done
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
426
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
427 if test $with_gettext = yes; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
428 # Create gettext configuration.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
429 echo "$0: Creating po/Makevars from po/Makevars.template ..."
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
430 rm -f po/Makevars
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
431 sed '
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
432 /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
433 /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
434 /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'|
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
435 /^XGETTEXT_OPTIONS *=/{
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
436 s/$/ \\/
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
437 a\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
438 '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
439 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
440 ' po/Makevars.template >po/Makevars \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
441 || die 'cannot generate po/Makevars'
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
442
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
443 # If the 'gettext' module is in use, grab the latest Makefile.in.in.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
444 # If only the 'gettext-h' module is in use, assume autopoint already
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
445 # put the correct version of this file into place.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
446 case $gnulib_modules in
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
447 *gettext-h*) ;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
448 *gettext*)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
449 cp $GNULIB_SRCDIR/build-aux/po/Makefile.in.in po/Makefile.in.in \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
450 || die "cannot create po/Makefile.in.in"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
451 ;;
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
452 esac
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
453
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
454 if test -d runtime-po; then
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
455 # Similarly for runtime-po/Makevars, but not quite the same.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
456 rm -f runtime-po/Makevars
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
457 sed '
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
458 /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
459 /^subdir *=.*/s/=.*/= runtime-po/
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
460 /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
461 /^XGETTEXT_OPTIONS *=/{
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
462 s/$/ \\/
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
463 a\
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
464 '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
465 }
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
466 ' po/Makevars.template >runtime-po/Makevars \
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
467 || die 'cannot generate runtime-po/Makevars'
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
468
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
469 # Copy identical files from po to runtime-po.
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
470 (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
471 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
472 fi
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
473
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
474 bootstrap_epilogue
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
475
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
476 echo "$0: done. Now you can run './configure'."
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
477
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
478 # ----------------------------------------------------------------------------
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
479
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
480 # Local Variables:
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
481 # eval: (add-hook 'before-save-hook 'time-stamp)
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
482 # time-stamp-start: "scriptversion="
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
483 # time-stamp-format: "%:y-%02m-%02d.%02H"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
484 # time-stamp-time-zone: "UTC0"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
485 # time-stamp-end: "; # UTC"
e98fb9b4be86 maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff changeset
486 # End: