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