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