build: update gnulib submodule to latest
[diffutils.git] / bootstrap.conf
blob6615559db6ef4764802de95e8e605169042f86ad
1 # Bootstrap configuration.
3 # Copyright (C) 2006-2013, 2015-2024 Free Software Foundation, Inc.
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 avoided_gnulib_modules='
19   --avoid=localename
20   --avoid=lock-tests
21   --avoid=mbuiter
22   --avoid=mbuiterf
23   --avoid=setlocale
26 # gnulib modules used by this package.
27 gnulib_modules='
28 announce-gen
29 argmatch
30 assert-h
31 attribute
32 binary-io
33 builtin-expect
34 c-ctype
35 c-file-type
36 c-stack
37 c32isprint
38 c32isspace
39 c32tolower
40 c32width
41 careadlinkat
42 config-h
43 d-type
44 diffseq
45 dirname
46 do-release-commit-and-tag
47 dup2
48 error
49 exclude
50 exitfail
51 extensions
52 extern-inline
53 fcntl
54 fdopendir
55 filenamecat
56 flexmember
57 fnmatch-gnu
58 fopen-gnu
59 fstatat
60 getopt-gnu
61 gettext-h
62 git-version-gen
63 gitlog-to-changelog
64 gnu-make
65 gnu-web-doc-update
66 gnumakefile
67 gnupload
68 hard-locale
69 ialloc
70 idx
71 intprops
72 inttypes
73 largefile
74 lstat
75 maintainer-makefile
76 manywarnings
77 mbscasecmp
78 mcel-prefer
79 mempcpy
80 minmax
81 mkstemp
82 mktime
83 nstrftime
84 nullptr
85 openat
86 pclose
87 perl
88 popen
89 progname
90 propername-lite
91 quote
92 raise
93 rawmemchr
94 readdir
95 readlinkat
96 readme-release
97 regex
98 same-inode
99 sh-quote
100 sigaction
101 signal
102 sigprocmask
103 stat
104 stat-macros
105 stat-time
106 stdbool
107 stdc_bit_width
108 stdckdint
109 stdint
110 stpcpy
111 strcase
112 strptime
113 strtoimax
114 sys_types
115 sys_wait
116 system-quote
117 time_rz
118 timespec
119 timespec_get
120 unistd
121 unlocked-io
122 update-copyright
123 verify
124 version-etc
125 version-etc-fsf
126 xalloc
127 xfreopen
128 xmalloca
129 xstdopen
130 xstrtoimax
131 year2038
134 # Additional xgettext options to use.  Use "\\\newline" to break lines.
135 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
136  --flag=asnprintf:3:c-format\\\
137  --flag=asprintf:2:c-format\\\
138  --from-code=UTF-8\\\
139  --flag=message:1:c-format\\\
140  --flag=try_help:1:c-format\\\
141  --flag=vasprintf:2:c-format\\\
142  --flag=vasnprintf:3:c-format\\\
145 gnulib_tool_option_extras="--tests-base=gnulib-tests
146  --local-dir=gl
147  --with-tests
148  --symlink
149  --makefile-name=gnulib.mk
150  $avoided_gnulib_modules
153 # Build prerequisites
154 buildreq="\
155 autoconf   2.64
156 automake   1.14
157 autopoint  0.19.2
158 gettext    0.19.2
159 git        1.4.4
160 gperf      -
161 gzip       -
162 help2man   -
163 m4         -
164 makeinfo   -
165 perl       5.5
166 texi2pdf   6.1
167 tar        -
168 wget       -
169 xz         -
172 bootstrap_post_import_hook ()
174   # Automake requires that ChangeLog exist.
175   touch ChangeLog || exit 1
177   # Copy pkg-config's pkg.m4 so that our downstream users don't need to.
178   local ac_dir=`aclocal --print-ac-dir`
179   test -s "$ac_dir/dirlist" && ac_dir=$ac_dir:`tr '\n' : < "$ac_dir/dirlist"`
180   oIFS=$IFS
181   IFS=:
182   for dir in \
183     $ACLOCAL_PATH $ac_dir /usr/share/aclocal ''
184   do
185     IFS=$oIFS
186     if test -n "$dir" && test -r "$dir/pkg.m4"; then
187       cp "$dir/pkg.m4" m4/pkg.m4
188       return
189     fi
190   done
191   IFS=$oIFS
192   die 'Cannot find pkg.m4; perhaps you need to install pkg-config'
195 bootstrap_epilogue()
197   perl -pi -e "s/\@PACKAGE\@/$package/g" README-release
199   # Since this is a "GNU" package, replace this line
200   #   if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null \
201   #      | grep -v 'libtool:' >/dev/null; then
202   # with this:
203   #   if true; then
204   # Why?  That pipeline searches all files in $(top_srcdir), and if you
205   # happen to have large files (or apparently large sparse files), the
206   # first grep may well run out of memory.
207   perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \
208     po/Makefile.in.in
210   # Install our git hooks, as long as "cp" accepts the --backup option,
211   # so that we can back up any existing files.
212   case $(cp --help) in *--backup*) backup=1;; *) backup=0;; esac
213   if test $backup = 1; then
214     hooks=$(cd scripts/git-hooks && git ls-files)
215     for f in $hooks; do
216       # If it is identical, skip it.
217       cmp scripts/git-hooks/$f .git/hooks/$f > /dev/null \
218         && continue
219       cp --backup=numbered scripts/git-hooks/$f .git/hooks
220       chmod a-w .git/hooks/$f
221     done
222   fi