build: add `patch` as a bootstrap dependency
[coreutils/ericb.git] / bootstrap.conf
blob2da08836734b8bf03cfaf0bce80209fbc8256d36
1 # Bootstrap configuration.
3 # Copyright (C) 2006-2010 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   $obsolete_gnulib_modules
29   acl
30   alignof
31   alloca
32   announce-gen
33   areadlink-with-size
34   argmatch
35   argv-iter
36   assert
37   autobuild
38   backupfile
39   base64
40   c-strcase
41   c-strtod
42   c-strtold
43   calloc-gnu
44   canon-host
45   canonicalize
46   chown
47   cloexec
48   closein
49   closeout
50   config-h
51   configmake
52   crypto/md5
53   crypto/sha1
54   crypto/sha256
55   crypto/sha512
56   cycle-check
57   d-ino
58   d-type
59   di-set
60   diacrit
61   dirfd
62   dirname
63   do-release-commit-and-tag
64   dup2
65   environ
66   error
67   euidaccess
68   exclude
69   exitfail
70   faccessat
71   fadvise
72   fchdir
73   fcntl
74   fcntl-safer
75   fdl
76   fdutimensat
77   file-type
78   fileblocks
79   filemode
80   filenamecat
81   filevercmp
82   fnmatch-gnu
83   fopen-safer
84   fprintftime
85   freopen
86   freopen-safer
87   fseeko
88   fsusage
89   fsync
90   ftello
91   fts
92   getgroups
93   gethrxtime
94   getline
95   getloadavg
96   getndelim2
97   getopt-gnu
98   getpagesize
99   getpass-gnu
100   gettext-h
101   gettime
102   gettimeofday
103   getugroups
104   getusershell
105   git-version-gen
106   gitlog-to-changelog
107   gnu-make
108   gnu-web-doc-update
109   gnumakefile
110   gnupload
111   group-member
112   hard-locale
113   hash
114   hash-pjw
115   heap
116   host-os
117   human
118   idcache
119   ignore-value
120   inttostr
121   inttypes
122   isapipe
123   isblank
124   lchmod
125   lchown
126   lib-ignore
127   linebuffer
128   link
129   link-follow
130   linkat
131   long-options
132   lstat
133   maintainer-makefile
134   malloc-gnu
135   manywarnings
136   mbrtowc
137   mbsalign
138   mbswidth
139   memcasecmp
140   memchr
141   memcmp2
142   mempcpy
143   memrchr
144   mgetgroups
145   mkancesdirs
146   mkdir
147   mkdir-p
148   mkstemp
149   mktime
150   modechange
151   mountlist
152   mpsort
153   netinet_in
154   nproc
155   obstack
156   parse-datetime
157   pathmax
158   perl
159   physmem
160   posix-shell
161   posixtm
162   posixver
163   priv-set
164   progname
165   propername
166   pthread
167   putenv
168   quote
169   quotearg
170   randint
171   randperm
172   readlink
173   readtokens
174   readtokens0
175   readutmp
176   realloc-gnu
177   regex
178   remove
179   rename
180   rmdir
181   root-dev-ino
182   rpmatch
183   safe-read
184   same
185   save-cwd
186   savedir
187   savewd
188   selinux-at
189   settime
190   sig2str
191   sigaction
192   ssize_t
193   stat-macros
194   stat-time
195   stdbool
196   stdlib-safer
197   stpcpy
198   stpncpy
199   strdup-posix
200   strftime
201   strsignal
202   strtod
203   strtoimax
204   strtol
205   strtoumax
206   symlink
207   sys_ioctl
208   sys_stat
209   sys_wait
210   termios
211   timespec
212   tzset
213   uname
214   unicodeio
215   unistd-safer
216   unlink-busy
217   unlocked-io
218   unsetenv
219   update-copyright
220   uptime
221   useless-if-before-free
222   userspec
223   utimecmp
224   utimens
225   vasprintf-posix
226   vc-list-files
227   verify
228   verror
229   version-etc-fsf
230   wcwidth
231   winsz-ioctl
232   winsz-termios
233   write-any-file
234   xalloc
235   xfreopen
236   xgetcwd
237   xgethostname
238   xmemcoll
239   xnanosleep
240   xprintf
241   xprintf-posix
242   xreadlink
243   xstrtod
244   xstrtoimax
245   xstrtol
246   xstrtold
247   xstrtoumax
248   yesno
251 # Other locale categories that need message catalogs.
252 EXTRA_LOCALE_CATEGORIES=LC_TIME
254 # Additional xgettext options to use.  Use "\\\newline" to break lines.
255 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
256  --flag=asnprintf:3:c-format\\\
257  --flag=asprintf:2:c-format\\\
258  --flag=error:3:c-format\\\
259  --flag=error_at_line:5:c-format\\\
260  --flag=vasnprintf:3:c-format\\\
261  --flag=vasprintf:2:c-format\\\
262  --flag=verror:3:c-format\\\
263  --flag=verror_at_line:5:c-format\\\
264  --flag=wrapf:1:c-format\\\
265  --flag=xasprintf:1:c-format\\\
266  --flag=xfprintf:2:c-format\\\
267  --flag=xprintf:1:c-format\\\
268  --from-code=UTF-8\\\
271 # Append these, since we use the propername module.
272 see_manual='"This is a proper name. See the gettext manual, section Names."'
273 see_manual=\'"$see_manual"\'
274 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
275  --keyword=proper_name:1,'"$see_manual"'\\\
276  --keyword=proper_name_utf8:1,'"$see_manual"'\\\
279 # If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]"
280 # appears in configure.ac, exclude some unnecessary files.
281 # Without grep's -E option (not portable enough, pre-configure),
282 # the following test is ugly.  Also, this depends on the existence
283 # of configure.ac, not the obsolescent-named configure.in.  But if
284 # you're using this infrastructure, you should care about such things.
286 gettext_external=0
287 grep '^[         ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null &&
288   gettext_external=1
289 grep '^[         ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null &&
290   gettext_external=1
292 if test $gettext_external = 1; then
293   # Gettext supplies these files, but we don't need them since
294   # we don't have an intl subdirectory.
295   excluded_files='
296       m4/glibc2.m4
297       m4/intdiv0.m4
298       m4/lcmessage.m4
299       m4/uintmax_t.m4
300       m4/ulonglong.m4
301       m4/visibility.m4
302   '
305 gnulib_tool_option_extras="--tests-base=$bt/gnulib-tests --with-tests"
307 # Build prerequisites
308 buildreq="\
309 autoconf   2.62
310 automake   1.11.1
311 autopoint  -
312 bison      -
313 gettext    0.18
314 git        1.4.4
315 gperf      -
316 gzip       -
317 makeinfo   -
318 patch      -
319 perl       5.5
320 rsync      -
321 tar        -
322 xz         -
325 # Automake requires that ChangeLog exist.
326 touch ChangeLog || exit 1
328 bootstrap_epilogue()
330   # Change paths in gnulib-tests/gnulib.mk from "../.." to "..".
331   m=gnulib-tests/gnulib.mk
332   sed 's,\.\./\.\.,..,g' $m > $m-t
333   mv -f $m-t $m
335   # Since this is a "GNU" package, replace this line
336   #   if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null \
337   #      | grep -v 'libtool:' >/dev/null; then
338   # with this:
339   #   if true; then
340   # Why?  That pipeline searches all files in $(top_srcdir), and if you
341   # happen to have large files (or apparently large sparse files), the
342   # first grep may well run out of memory.
343   perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \
344     po/Makefile.in.in