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