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