maint: id: minor factorization
[coreutils.git] / bootstrap.conf
blob41b9cc224a686869aa50c71e8477c103ee6bdc08
1 # Bootstrap configuration.
3 # Copyright (C) 2006-2012 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   fchmodat
74   fchownat
75   fclose
76   fcntl
77   fcntl-safer
78   fdatasync
79   fdl
80   fdopen
81   fdutimensat
82   file-type
83   fileblocks
84   filemode
85   filenamecat
86   filevercmp
87   fnmatch-gnu
88   fopen-safer
89   fprintftime
90   freopen
91   freopen-safer
92   fseeko
93   fstatat
94   fsusage
95   fsync
96   ftello
97   ftoastr
98   ftruncate
99   fts
100   full-read
101   full-write
102   getgroups
103   gethrxtime
104   getline
105   getloadavg
106   getlogin
107   getndelim2
108   getopt-gnu
109   getpagesize
110   getpass-gnu
111   gettext-h
112   gettime
113   gettimeofday
114   getugroups
115   getusershell
116   git-version-gen
117   gitlog-to-changelog
118   gnu-make
119   gnu-web-doc-update
120   gnumakefile
121   gnupload
122   group-member
123   hard-locale
124   hash
125   hash-pjw
126   heap
127   host-os
128   human
129   idcache
130   ignore-value
131   inttostr
132   inttypes
133   isapipe
134   isatty
135   isblank
136   largefile
137   lchmod
138   lchown
139   ldtoastr
140   lib-ignore
141   linebuffer
142   link
143   link-follow
144   linkat
145   long-options
146   lstat
147   maintainer-makefile
148   malloc-gnu
149   manywarnings
150   mbrlen
151   mbrtowc
152   mbsalign
153   mbswidth
154   memcasecmp
155   memchr
156   memcmp2
157   mempcpy
158   memrchr
159   mgetgroups
160   mkancesdirs
161   mkdir
162   mkdir-p
163   mkfifo
164   mknod
165   mkstemp
166   mktime
167   modechange
168   mountlist
169   mpsort
170   netinet_in
171   nproc
172   obstack
173   parse-datetime
174   pathmax
175   perl
176   physmem
177   pipe
178   posix-shell
179   posixtm
180   posixver
181   priv-set
182   progname
183   propername
184   pthread
185   putenv
186   quote
187   quotearg
188   randint
189   randperm
190   read-file
191   readlink
192   readtokens
193   readtokens0
194   readutmp
195   realloc-gnu
196   regex
197   remove
198   rename
199   rmdir
200   root-dev-ino
201   rpmatch
202   safe-read
203   same
204   save-cwd
205   savedir
206   savewd
207   selinux-at
208   settime
209   sig2str
210   sigaction
211   ssize_t
212   stat-macros
213   stat-size
214   stat-time
215   stdbool
216   stdlib-safer
217   stpcpy
218   stpncpy
219   strdup-posix
220   strftime
221   strncat
222   strpbrk
223   strsignal
224   strtod
225   strtoimax
226   strtoumax
227   symlink
228   sys_ioctl
229   sys_stat
230   sys_wait
231   termios
232   timer-time
233   timespec
234   tzset
235   uname
236   unicodeio
237   unistd-safer
238   unlink-busy
239   unlinkat
240   unlocked-io
241   unsetenv
242   update-copyright
243   uptime
244   useless-if-before-free
245   userspec
246   utimecmp
247   utimens
248   vasprintf-posix
249   vc-list-files
250   verify
251   verror
252   version-etc-fsf
253   wcswidth
254   wcwidth
255   winsz-ioctl
256   winsz-termios
257   write-any-file
258   xalloc
259   xfreopen
260   xgetcwd
261   xgetgroups
262   xgethostname
263   xmemcoll
264   xnanosleep
265   xprintf
266   xprintf-posix
267   xreadlink
268   xstrtod
269   xstrtoimax
270   xstrtol
271   xstrtold
272   xstrtoumax
273   yesno
276 # Other locale categories that need message catalogs.
277 EXTRA_LOCALE_CATEGORIES=LC_TIME
279 # Additional xgettext options to use.  Use "\\\newline" to break lines.
280 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
281  --flag=asnprintf:3:c-format\\\
282  --flag=asprintf:2:c-format\\\
283  --flag=error:3:c-format\\\
284  --flag=error_at_line:5:c-format\\\
285  --flag=vasnprintf:3:c-format\\\
286  --flag=vasprintf:2:c-format\\\
287  --flag=verror:3:c-format\\\
288  --flag=verror_at_line:5:c-format\\\
289  --flag=wrapf:1:c-format\\\
290  --flag=xasprintf:1:c-format\\\
291  --flag=xfprintf:2:c-format\\\
292  --flag=xprintf:1:c-format\\\
293  --from-code=UTF-8\\\
296 # Append these, since we use the propername module.
297 see_manual='"This is a proper name. See the gettext manual, section Names."'
298 see_manual=\'"$see_manual"\'
299 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
300  --keyword=proper_name:1,'"$see_manual"'\\\
301  --keyword=proper_name_utf8:1,'"$see_manual"'\\\
304 gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink\
305  --makefile-name=gnulib.mk
308 # Build prerequisites
309 buildreq="\
310 autoconf   2.64
311 automake   1.11.1
312 autopoint  -
313 bison      -
314 gettext    0.17
315 git        1.4.4
316 gperf      -
317 gzip       -
318 makeinfo   4.13
319 patch      -
320 perl       5.5
321 rsync      -
322 tar        -
323 xz         -
326 # Automake requires that ChangeLog exist.
327 touch ChangeLog || exit 1
329 bootstrap_epilogue()
331   # Since this is a "GNU" package, replace this line
332   #   if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null \
333   #      | grep -v 'libtool:' >/dev/null; then
334   # with this:
335   #   if true; then
336   # Why?  That pipeline searches all files in $(top_srcdir), and if you
337   # happen to have large files (or apparently large sparse files), the
338   # first grep may well run out of memory.
339   perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \
340     po/Makefile.in.in
342   # Install our git hooks, as long as "cp" accepts the --backup option,
343   # so that we can back up any existing files.
344   case $(cp --help) in *--backup*) backup=1;; *) backup=0;; esac
345   if test $backup = 1; then
346     hooks=$(cd scripts/git-hooks && git ls-files)
347     for f in $hooks; do
348       # If it is identical, skip it.
349       cmp scripts/git-hooks/$f .git/hooks/$f > /dev/null \
350         && continue
351       cp --backup=numbered scripts/git-hooks/$f .git/hooks
352       chmod a-w .git/hooks/$f
353     done
354   fi