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