gnulib: update to use new strtold module
[coreutils.git] / bootstrap.conf
bloba525ef44222ceb28d91e9b61ff5aedda23fd4ebf
1 # Bootstrap configuration.
3 # Copyright (C) 2006-2019 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 <https://www.gnu.org/licenses/>.
19 # We don't need these modules.
20 avoided_gnulib_modules='
21   --avoid=canonicalize-lgpl
22   --avoid=dummy
25 # gnulib modules used by this package.
26 gnulib_modules="
27   $avoided_gnulib_modules
28   acl
29   alignof
30   alloca
31   announce-gen
32   areadlink-with-size
33   argmatch
34   argv-iter
35   assert
36   autobuild
37   backupfile
38   backup-rename
39   base32
40   base64
41   buffer-lcm
42   c-strcase
43   cl-strtod
44   cl-strtold
45   calloc-gnu
46   canon-host
47   canonicalize
48   chown
49   cloexec
50   closein
51   closeout
52   config-h
53   configmake
54   crypto/md5
55   crypto/sha1
56   crypto/sha256
57   crypto/sha512
58   cycle-check
59   d-ino
60   d-type
61   di-set
62   diacrit
63   dirfd
64   dirname
65   do-release-commit-and-tag
66   dtoastr
67   dup2
68   environ
69   error
70   euidaccess
71   exclude
72   exitfail
73   explicit_bzero
74   faccessat
75   fadvise
76   fchdir
77   fchmodat
78   fchownat
79   fclose
80   fcntl
81   fcntl-safer
82   fd-reopen
83   fdatasync
84   fdl
85   fdopen
86   fdutimensat
87   file-has-acl
88   file-type
89   fileblocks
90   filemode
91   filenamecat
92   filevercmp
93   flexmember
94   fnmatch-gnu
95   fopen-safer
96   fprintftime
97   freopen
98   freopen-safer
99   fseeko
100   fstatat
101   fsusage
102   fsync
103   ftoastr
104   ftruncate
105   fts
106   full-read
107   full-write
108   getgroups
109   gethrxtime
110   getline
111   getloadavg
112   getlogin
113   getndelim2
114   getopt-gnu
115   getpagesize
116   getpass-gnu
117   gettext-h
118   gettime
119   gettimeofday
120   getugroups
121   getusershell
122   git-version-gen
123   gitlog-to-changelog
124   gnu-make
125   gnu-web-doc-update
126   gnumakefile
127   gnupload
128   group-member
129   hard-locale
130   hash
131   hash-pjw
132   heap
133   host-os
134   human
135   idcache
136   ignore-value
137   inttostr
138   inttypes
139   isapipe
140   isatty
141   isblank
142   largefile
143   lchmod
144   lchown
145   ldtoastr
146   lib-ignore
147   linebuffer
148   link
149   link-follow
150   linkat
151   long-options
152   lstat
153   maintainer-makefile
154   malloc-gnu
155   manywarnings
156   mbrlen
157   mbrtowc
158   mbsalign
159   mbschr
160   mbslen
161   mbswidth
162   memcasecmp
163   memchr
164   memcmp2
165   mempcpy
166   memrchr
167   mgetgroups
168   mkancesdirs
169   mkdir
170   mkdir-p
171   mkfifo
172   mknod
173   mkostemp
174   mkstemp
175   mktime
176   modechange
177   mountlist
178   mpsort
179   netinet_in
180   non-recursive-gnulib-prefix-hack
181   nproc
182   nstrftime
183   obstack
184   open
185   openat-safer
186   parse-datetime
187   pathmax
188   perl
189   physmem
190   pipe-posix
191   pipe2
192   posix-shell
193   posixtm
194   posixver
195   priv-set
196   progname
197   propername
198   pthread
199   putenv
200   quote
201   quotearg
202   randint
203   randperm
204   read-file
205   readlink
206   readtokens
207   readtokens0
208   readutmp
209   realloc-gnu
210   regex
211   remove
212   rename
213   renameat
214   renameatu
215   rmdir
216   root-dev-ino
217   rpmatch
218   safe-read
219   same
220   save-cwd
221   savedir
222   savewd
223   select
224   selinux-at
225   setenv
226   settime
227   sig2str
228   sigaction
229   smack
230   ssize_t
231   stat-macros
232   stat-size
233   stat-time
234   statat
235   stdbool
236   stdlib-safer
237   stpcpy
238   stpncpy
239   strdup-posix
240   strncat
241   strnumcmp
242   strsignal
243   strtoimax
244   strtoumax
245   symlinkat
246   sys_ioctl
247   sys_resource
248   sys_stat
249   sys_wait
250   tempname
251   termios
252   time_rz
253   timer-time
254   timespec
255   tzset
256   uname
257   unicodeio
258   unistd-safer
259   unlink-busy
260   unlinkat
261   unlinkdir
262   unlocked-io
263   unsetenv
264   update-copyright
265   uptime
266   useless-if-before-free
267   userspec
268   utimecmp
269   utimens
270   vasprintf-posix
271   vc-list-files
272   verify
273   verror
274   version-etc-fsf
275   wchar-single
276   wcswidth
277   wcwidth
278   winsz-ioctl
279   winsz-termios
280   write-any-file
281   xalloc
282   xbinary-io
283   xdectoint
284   xfts
285   xgetcwd
286   xgetgroups
287   xgethostname
288   xmemcoll
289   xnanosleep
290   xprintf
291   xprintf-posix
292   xreadlink
293   xstrtod
294   xstrtoimax
295   xstrtol
296   xstrtold
297   xstrtoumax
298   year2038
299   yesno
302 # Other locale categories that need message catalogs.
303 EXTRA_LOCALE_CATEGORIES=LC_TIME
305 # Additional xgettext options to use.  Use "\\\newline" to break lines.
306 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
307  --flag=asnprintf:3:c-format\\\
308  --flag=asprintf:2:c-format\\\
309  --flag=error:3:c-format\\\
310  --flag=error_at_line:5:c-format\\\
311  --flag=vasnprintf:3:c-format\\\
312  --flag=vasprintf:2:c-format\\\
313  --flag=verror:3:c-format\\\
314  --flag=verror_at_line:5:c-format\\\
315  --flag=wrapf:1:c-format\\\
316  --flag=xasprintf:1:c-format\\\
317  --flag=xfprintf:2:c-format\\\
318  --flag=xprintf:1:c-format\\\
319  --from-code=UTF-8\\\
322 # Append these, since we use the propername module.
323 see_manual='"This is a proper name. See the gettext manual, section Names."'
324 see_manual=\'"$see_manual"\'
325 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
326  --keyword=proper_name:1,'"$see_manual"'\\\
327  --keyword=proper_name_utf8:1,'"$see_manual"'\\\
330 gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink\
331  --makefile-name=gnulib.mk
334 # Build prerequisites
335 buildreq="\
336 autoconf   2.64
337 automake   1.11.2
338 autopoint  0.19.2
339 bison      -
340 gettext    0.19.2
341 git        1.4.4
342 gperf      -
343 gzip       -
344 makeinfo   6.1
345 patch      -
346 perl       5.5
347 rsync      -
348 tar        -
349 xz         -
352 bootstrap_post_import_hook ()
354   # Automake requires that ChangeLog exist.
355   touch ChangeLog || return 1
356   # List of coreutils programs.  See heading comments in the invoked
357   # script for more info.  Keep this in sync with the rules in
358   (m4f=m4/cu-progs.m4 mkf=src/cu-progs.mk tmp=cu-progs.tmp \
359     && rm -f $m4f $mkf $tmp-1 $tmp-2 \
360     && build-aux/gen-lists-of-programs.sh --autoconf >$tmp-1 \
361     && build-aux/gen-lists-of-programs.sh --automake >$tmp-2 \
362     && chmod a-w $tmp-1 $tmp-2 \
363     && mv -f $tmp-1 $m4f && mv -f $tmp-2 $mkf)
365   # Massage lib/gnulib.mk before using it later in the bootstrapping process.
366   build-aux/prefix-gnulib-mk --lib-name=$gnulib_name lib/$gnulib_mk
368   # Regenerate src/single-binary.mk
369   (mkf=src/single-binary.mk tmp=single-binary.tmp \
370     && rm -f $mkf $tmp \
371     && build-aux/gen-single-binary.sh src/local.mk >$tmp \
372     && chmod a-w $tmp \
373     && mv -f $tmp $mkf)
377 bootstrap_epilogue()
379   # Since this is a "GNU" package, replace this line
380   #   if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null \
381   #      | grep -v 'libtool:' >/dev/null; then
382   # with this:
383   #   if true; then
384   # Why?  That pipeline searches all files in $(top_srcdir), and if you
385   # happen to have large files (or apparently large sparse files), the
386   # first grep may well run out of memory.
387   perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \
388     po/Makefile.in.in
390   # Add dummy 'install-html' target, required for packages using
391   # non-recursive makefiles with older gettext.
392   # See https://debbugs.gnu.org/25690
393   if ! grep -w 'install-html' po/Makefile.in.in ; then
394     printf 'install-%s:;\n' dvi ps pdf html >> po/Makefile.in.in
395   fi
397   # Install our git hooks, as long as "cp" accepts the --backup option,
398   # so that we can back up any existing files.
399   case $(cp --help) in *--backup*) backup=1;; *) backup=0;; esac
400   if test $backup = 1; then
401     hooks=$(cd scripts/git-hooks && git ls-files)
402     for f in $hooks; do
403       # If it is identical, skip it.
404       cmp scripts/git-hooks/$f .git/hooks/$f > /dev/null \
405         && continue
406       cp --backup=numbered scripts/git-hooks/$f .git/hooks
407       chmod a-w .git/hooks/$f
408     done
409   fi