tests: fix periodic false failure in month alignment
[coreutils.git] / bootstrap.conf
blob8c2265f95d3586b51bfe64f145fa282f2b342463
1 # Bootstrap configuration.
3 # Copyright (C) 2006-2018 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   c-strtod
44   c-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   ftello
104   ftoastr
105   ftruncate
106   fts
107   full-read
108   full-write
109   getgroups
110   gethrxtime
111   getline
112   getloadavg
113   getlogin
114   getndelim2
115   getopt-gnu
116   getpagesize
117   getpass-gnu
118   gettext-h
119   gettime
120   gettimeofday
121   getugroups
122   getusershell
123   git-version-gen
124   gitlog-to-changelog
125   gnu-make
126   gnu-web-doc-update
127   gnumakefile
128   gnupload
129   group-member
130   hard-locale
131   hash
132   hash-pjw
133   heap
134   host-os
135   human
136   idcache
137   ignore-value
138   inttostr
139   inttypes
140   isapipe
141   isatty
142   isblank
143   largefile
144   lchmod
145   lchown
146   ldtoastr
147   lib-ignore
148   linebuffer
149   link
150   link-follow
151   linkat
152   long-options
153   lstat
154   maintainer-makefile
155   malloc-gnu
156   manywarnings
157   mbrlen
158   mbrtowc
159   mbsalign
160   mbschr
161   mbslen
162   mbswidth
163   memcasecmp
164   memchr
165   memcmp2
166   mempcpy
167   memrchr
168   mgetgroups
169   mkancesdirs
170   mkdir
171   mkdir-p
172   mkfifo
173   mknod
174   mkostemp
175   mkstemp
176   mktime
177   modechange
178   mountlist
179   mpsort
180   netinet_in
181   non-recursive-gnulib-prefix-hack
182   nproc
183   nstrftime
184   obstack
185   open
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   renameat2
215   rmdir
216   root-dev-ino
217   rpmatch
218   safe-read
219   same
220   save-cwd
221   savedir
222   savewd
223   selinux-at
224   setenv
225   settime
226   sig2str
227   sigaction
228   smack
229   ssize_t
230   stat-macros
231   stat-size
232   stat-time
233   statat
234   stdbool
235   stdlib-safer
236   stpcpy
237   stpncpy
238   strdup-posix
239   strncat
240   strnumcmp
241   strsignal
242   strtod
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   unlocked-io
262   unsetenv
263   update-copyright
264   uptime
265   useless-if-before-free
266   userspec
267   utimecmp
268   utimens
269   vasprintf-posix
270   vc-list-files
271   verify
272   verror
273   version-etc-fsf
274   wcswidth
275   wcwidth
276   winsz-ioctl
277   winsz-termios
278   write-any-file
279   xalloc
280   xbinary-io
281   xdectoint
282   xfts
283   xgetcwd
284   xgetgroups
285   xgethostname
286   xmemcoll
287   xnanosleep
288   xprintf
289   xprintf-posix
290   xreadlink
291   xstrtod
292   xstrtoimax
293   xstrtol
294   xstrtold
295   xstrtoumax
296   year2038
297   yesno
300 # Other locale categories that need message catalogs.
301 EXTRA_LOCALE_CATEGORIES=LC_TIME
303 # Additional xgettext options to use.  Use "\\\newline" to break lines.
304 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
305  --flag=asnprintf:3:c-format\\\
306  --flag=asprintf:2:c-format\\\
307  --flag=error:3:c-format\\\
308  --flag=error_at_line:5:c-format\\\
309  --flag=vasnprintf:3:c-format\\\
310  --flag=vasprintf:2:c-format\\\
311  --flag=verror:3:c-format\\\
312  --flag=verror_at_line:5:c-format\\\
313  --flag=wrapf:1:c-format\\\
314  --flag=xasprintf:1:c-format\\\
315  --flag=xfprintf:2:c-format\\\
316  --flag=xprintf:1:c-format\\\
317  --from-code=UTF-8\\\
320 # Append these, since we use the propername module.
321 see_manual='"This is a proper name. See the gettext manual, section Names."'
322 see_manual=\'"$see_manual"\'
323 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
324  --keyword=proper_name:1,'"$see_manual"'\\\
325  --keyword=proper_name_utf8:1,'"$see_manual"'\\\
328 gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink\
329  --makefile-name=gnulib.mk
332 # Build prerequisites
333 buildreq="\
334 autoconf   2.64
335 automake   1.11.2
336 autopoint  0.19.2
337 bison      -
338 gettext    0.19.2
339 git        1.4.4
340 gperf      -
341 gzip       -
342 makeinfo   6.1
343 patch      -
344 perl       5.5
345 rsync      -
346 tar        -
347 xz         -
350 bootstrap_post_import_hook ()
352   # Automake requires that ChangeLog exist.
353   touch ChangeLog || return 1
354   # List of coreutils programs.  See heading comments in the invoked
355   # script for more info.  Keep this in sync with the rules in
356   (m4f=m4/cu-progs.m4 mkf=src/cu-progs.mk tmp=cu-progs.tmp \
357     && rm -f $m4f $mkf $tmp-1 $tmp-2 \
358     && build-aux/gen-lists-of-programs.sh --autoconf >$tmp-1 \
359     && build-aux/gen-lists-of-programs.sh --automake >$tmp-2 \
360     && chmod a-w $tmp-1 $tmp-2 \
361     && mv -f $tmp-1 $m4f && mv -f $tmp-2 $mkf)
363   # Massage lib/gnulib.mk before using it later in the bootstrapping process.
364   build-aux/prefix-gnulib-mk --lib-name=$gnulib_name lib/$gnulib_mk
366   # Regenerate src/single-binary.mk
367   (mkf=src/single-binary.mk tmp=single-binary.tmp \
368     && rm -f $mkf $tmp \
369     && build-aux/gen-single-binary.sh src/local.mk >$tmp \
370     && chmod a-w $tmp \
371     && mv -f $tmp $mkf)
375 bootstrap_epilogue()
377   # Since this is a "GNU" package, replace this line
378   #   if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null \
379   #      | grep -v 'libtool:' >/dev/null; then
380   # with this:
381   #   if true; then
382   # Why?  That pipeline searches all files in $(top_srcdir), and if you
383   # happen to have large files (or apparently large sparse files), the
384   # first grep may well run out of memory.
385   perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \
386     po/Makefile.in.in
388   # Add dummy 'install-html' target, required for packages using
389   # non-recursive makefiles with older gettext.
390   # See https://debbugs.gnu.org/25690
391   if ! grep -w 'install-html' po/Makefile.in.in ; then
392     printf 'install-%s:;\n' dvi ps pdf html >> po/Makefile.in.in
393   fi
395   # Install our git hooks, as long as "cp" accepts the --backup option,
396   # so that we can back up any existing files.
397   case $(cp --help) in *--backup*) backup=1;; *) backup=0;; esac
398   if test $backup = 1; then
399     hooks=$(cd scripts/git-hooks && git ls-files)
400     for f in $hooks; do
401       # If it is identical, skip it.
402       cmp scripts/git-hooks/$f .git/hooks/$f > /dev/null \
403         && continue
404       cp --backup=numbered scripts/git-hooks/$f .git/hooks
405       chmod a-w .git/hooks/$f
406     done
407   fi