findutils/bootstrap.conf
James Youngman 731826cc8d find: adaptive column alignment (resolves Savannah bug #45780)
* lib/listfile.c (list_file): For aligned fields, use the number
of characters output to deduce whether our current idea of the
maximum width of each field is too small.  When this happens,
increase the field width.  Keep track of the field width in a
static variable for each field.  Do this for the inode number,
number of blocks, owner, group, major and minor device numbers,
and the file size.  Use mbswidth in some places to count
characters.
* find/print.c (do_fprintf): Mention the potential portability
problems in casting ino_t to uintmax_t.
* bootstrap.conf (gnulib_modules): Add mbswidth.
* po/Makevars (XGETTEXT_OPTIONS): updated by running bootstrap.
*NEWS: Mention this bugfix.
2015-10-31 23:26:31 +00:00

270 lines
6.2 KiB
Plaintext

# Bootstrap configuration.
# Copyright (C) 2006-2015 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Automake requires that ChangeLog exists.
touch ChangeLog
# Random extra gnulib files needed for findutils.
# copied from 'import-gnulib.config'
gnulib_extra_files='
build-aux/config.guess
build-aux/config.sub
build-aux/depcomp
build-aux/install-sh
build-aux/mdate-sh
build-aux/mkinstalldirs
build-aux/texinfo.tex
'
# gnulib modules needed only for maintainer things.
maintainer_modules='
gitlog-to-changelog
maintainer-makefile
update-copyright
'
# 'consder' comments copied from 'import-gnulib.config':
# consider using do-release-commit-and-tag
# consider using gendocs
# consider using getdelim
# consider using gethrxtime
# consider using getsubopt (for -D)
# consider using gnu-web-doc-update
# consider using idprov-drop and privset for locate
# consider using long-options
# consider using nproc in xargs
# consider using pmccabe2html
# consider using selinux-h
# consider using gendocs
# consider using sig2str in xargs
# consider using signal (why not: maybe we don't need those features)
# consider using the dev-ino moduile to support -samefile.
# consider removing stpcpy
# We have rpmatch, either use it for -ok and xargs or remove the dependency
# use fileblocks, filemode properly.
# Considered, but no:
# consider using autobuild (the information is not usually interesting for us)
# consider using same-inode (we don't keep a full struct stat for the ref file)
# Modules needed for findutils.
# We need regex to ensure that we can build on platforms like
# Solaris which lack those functions.
# gnulib modules used by this package.
gnulib_modules="
alloca
areadlinkat
argmatch
assert
byteswap
c-strcasestr
c-strstr
canonicalize
cloexec
closein
closeout
ctype
d-ino
d-type
dirent-safer
dirname
errno
error
faccessat
fchdir
fcntl
fdl
fdopendir
fflush
fileblocks
filemode
fnmatch-gnu
fopen-safer
fts
getdelim
getline
getopt-gnu
gettext
gettimeofday
gpl-3.0
hash
human
idcache
inline
inttypes
isblank
locale
lstat
malloc
manywarnings
math
mbrtowc
mbscasestr
mbswidth
mbsstr
mktime
modechange
modf
mountlist
open
parse-datetime
pathmax
perror
progname
quotearg
readlink
realloc
regex
rpmatch
safe-read
save-cwd
savedir
selinux-at
snprintf
stat
stat-macros
stat-size
stat-time
stdarg
stdbool
stddef
stdio
stdint
stdlib
stpcpy
strcasestr
strdup-posix
strftime
string
strndup
strtoull
strtoumax
sys_stat
sys_time
sys_wait
timespec
uname
unlinkat
verify
version-etc
version-etc-fsf
warnings
wchar
wcwidth
xalloc
xalloc-die
xgetcwd
xstrtod
xstrtol
xstrtoumax
yesno
${maintainer_modules}
"
# Override bootstrap's defaults, with values consistant with
# 'import-gnulib.sh'
source_base=gl/lib
m4_base=gl/m4
# use 'libgnulib' instead of the default lib$package (=libfindutils)
# 'libgnulib' is mentioned in various 'Makefile.am' files.
gnulib_name=libgnulib
# PO files are checked-in in findutils, don't auto-update.
SKIP_PO=t
# Create 'gl/Makefile.am' which is mentioned in 'configure.ac'.
hack_gnulib_tool_makefile() {
cat > gl/Makefile.am <<EOF
# Copyright (C) 2004, 2009 Free Software Foundation, Inc.
#
# This file is free software, distributed under the terms of the GNU
# General Public License. As a special exception to the GNU General
# Public License, this file may be distributed as part of a program
# that contains a configuration script generated by Automake, under
# the same distribution terms as the rest of that program.
#
# This file was generated by $0
#
SUBDIRS = lib
EXTRA_DIST = m4/gnulib-cache.m4
EOF
}
# after 'gnulib-tool' is done, create the 'gl/Makefile.am' to be backward
# compatible with 'import-gnulib.sh'.
bootstrap_post_import_hook() {
hack_gnulib_tool_makefile
}
# For compatibility with 'import-gnulib.sh', add gnulib's test directory.
# 'tests/Makefile' is mentioned in 'configure.ac'
gnulib_tool_option_extras="--with-tests"
# Additional xgettext options to use. Use "\\\newline" to break lines.
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
--from-code=UTF-8\\\
--flag=asprintf:2:c-format --flag=vasprintf:2:c-format\\\
--flag=asnprintf:3:c-format --flag=vasnprintf:3:c-format\\\
--flag=wrapf:1:c-format\\\
'
# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]"
# appears in configure.ac, exclude some unnecessary files.
# Without grep's -E option (not portable enough, pre-configure),
# the following test is ugly. Also, this depends on the existence
# of configure.ac, not the obsolescent-named configure.in. But if
# you're using this infrastructure, you should care about such things.
gettext_external=0
grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null &&
gettext_external=1
grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null &&
gettext_external=1
if test $gettext_external = 1; then
# Gettext supplies these files, but we don't need them since
# we don't have an intl subdirectory.
excluded_files='
m4/glibc2.m4
m4/intdiv0.m4
m4/lcmessage.m4
m4/lock.m4
m4/printf-posix.m4
m4/size_max.m4
m4/uintmax_t.m4
m4/ulonglong.m4
m4/visibility.m4
m4/xsize.m4
'
fi
# Build prerequisites
buildreq="\
autoconf 2.59
automake 1.9.6
git 1.5.5
tar -
gettext 0.18.1
"