diffutils/bootstrap.conf
Paul Eggert a2e301b52c diff: switch from wchar_t to char32_t
Prefer C11-style char32_t to wchar_t, as char32_t works better on
platforms where wchar_t is only 16 bits.
* .gitignore: Add lib/uchar.h.
* bootstrap.conf (gnulib_modules): Add c32width, mbrtoc32.
Remove mbrtowc.  Sort.
* src/side.c: Include uchar.h instead of wchar.h.
(print_half_line): Use c32width and mbrtowc instead of
wcwidth and mbrtowc.
2023-06-06 14:35:21 -07:00

203 lines
4.0 KiB
Plaintext

# Bootstrap configuration.
# Copyright (C) 2006-2013, 2015-2023 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/>.
avoided_gnulib_modules='
--avoid=localename
--avoid=lock-tests
--avoid=setlocale
'
# gnulib modules used by this package.
gnulib_modules='
announce-gen
argmatch
attribute
binary-io
c-stack
c32width
config-h
count-leading-zeros
diffseq
dirname
do-release-commit-and-tag
dup2
error
exclude
exitfail
extensions
extern-inline
fcntl
file-type
filenamecat
flexmember
fnmatch-gnu
getopt-gnu
gettext-h
gettime
git-version-gen
gitlog-to-changelog
gnu-make
gnu-web-doc-update
gnumakefile
gnupload
hard-locale
ialloc
idx
intprops
inttostr
inttypes
isblank
largefile
lstat
maintainer-makefile
manywarnings
mbrtoc32
mempcpy
minmax
mkstemp
mktime
nstrftime
nullptr
perl
progname
propername-lite
raise
rawmemchr
readme-release
regex
same-inode
sh-quote
signal
sigprocmask
stat
stat-macros
stat-time
stdbool
stdckdint
stdint
stpcpy
strcase
strptime
strtoimax
sys_wait
system-quote
time_rz
unistd
unlocked-io
update-copyright
verify
version-etc
version-etc-fsf
xalloc
xfreopen
xmalloca
xreadlink
xstdopen
xstrtoimax
year2038
'
# Additional xgettext options to use. Use "\\\newline" to break lines.
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
--flag=asnprintf:3:c-format\\\
--flag=asprintf:2:c-format\\\
--from-code=UTF-8\\\
--flag=message:1:c-format\\\
--flag=try_help:1:c-format\\\
--flag=vasprintf:2:c-format\\\
--flag=vasnprintf:3:c-format\\\
'
gnulib_tool_option_extras="--tests-base=gnulib-tests
--with-tests
--symlink
--makefile-name=gnulib.mk
$avoided_gnulib_modules
"
# Build prerequisites
buildreq="\
autoconf 2.64
automake 1.14
autopoint 0.19.2
gettext 0.19.2
git 1.4.4
gperf -
gzip -
help2man -
m4 -
makeinfo -
perl 5.5
texi2pdf 6.1
tar -
wget -
xz -
"
bootstrap_post_import_hook ()
{
# Automake requires that ChangeLog exist.
touch ChangeLog || exit 1
# Copy pkg-config's pkg.m4 so that our downstream users don't need to.
local ac_dir=`aclocal --print-ac-dir`
test -s "$ac_dir/dirlist" && ac_dir=$ac_dir:`tr '\n' : < "$ac_dir/dirlist"`
oIFS=$IFS
IFS=:
for dir in \
$ACLOCAL_PATH $ac_dir /usr/share/aclocal ''
do
IFS=$oIFS
if test -n "$dir" && test -r "$dir/pkg.m4"; then
cp "$dir/pkg.m4" m4/pkg.m4
return
fi
done
IFS=$oIFS
die 'Cannot find pkg.m4; perhaps you need to install pkg-config'
}
bootstrap_epilogue()
{
perl -pi -e "s/\@PACKAGE\@/$package/g" README-release
# Since this is a "GNU" package, replace this line
# if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null \
# | grep -v 'libtool:' >/dev/null; then
# with this:
# if true; then
# Why? That pipeline searches all files in $(top_srcdir), and if you
# happen to have large files (or apparently large sparse files), the
# first grep may well run out of memory.
perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \
po/Makefile.in.in
# Install our git hooks, as long as "cp" accepts the --backup option,
# so that we can back up any existing files.
case $(cp --help) in *--backup*) backup=1;; *) backup=0;; esac
if test $backup = 1; then
hooks=$(cd scripts/git-hooks && git ls-files)
for f in $hooks; do
# If it is identical, skip it.
cmp scripts/git-hooks/$f .git/hooks/$f > /dev/null \
&& continue
cp --backup=numbered scripts/git-hooks/$f .git/hooks
chmod a-w .git/hooks/$f
done
fi
}