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