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