mirror of
https://https.git.savannah.gnu.org/git/diffutils.git
synced 2026-01-26 15:03:22 +00:00
248 lines
4.9 KiB
Plaintext
248 lines
4.9 KiB
Plaintext
# Bootstrap configuration.
|
|
|
|
# Copyright (C) 2006-2013, 2015-2026 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=hard-locale
|
|
--avoid=localename-unsafe
|
|
--avoid=localename-unsafe-limited
|
|
--avoid=lock-tests
|
|
--avoid=mbuiter
|
|
--avoid=mbuiterf
|
|
--avoid=setlocale
|
|
'
|
|
# These tests depend on localcharset, which we avoid.
|
|
avoided_gnulib_tests='
|
|
--avoid=c32width-tests
|
|
--avoid=quotearg-simple-tests
|
|
--avoid=regex-tests
|
|
--avoid=wcwidth-tests
|
|
'
|
|
# These test whether all bytes are valid in the C locale,
|
|
# which we don't care about.
|
|
avoided_gnulib_tests=$avoided_gnulib_tests'
|
|
--avoid=btoc32-tests
|
|
--avoid=btowc-tests
|
|
--avoid=mbrtoc32-tests
|
|
--avoid=mbrtowc-tests
|
|
--avoid=mbsrtoc32s-tests
|
|
--avoid=mbsrtowcs-tests
|
|
'
|
|
|
|
# gnulib modules used by this package.
|
|
gnulib_modules='
|
|
announce-gen
|
|
argmatch
|
|
assert-h
|
|
attribute
|
|
binary-io
|
|
bool
|
|
builtin-expect
|
|
c-ctype
|
|
c-file-type
|
|
c-stack
|
|
c32isprint
|
|
c32isspace
|
|
c32tolower
|
|
c32width
|
|
careadlinkat
|
|
config-h
|
|
d-type
|
|
diffseq
|
|
dirname
|
|
do-release-commit-and-tag
|
|
dup2
|
|
error
|
|
exclude
|
|
exitfail
|
|
extensions
|
|
extern-inline
|
|
fcntl
|
|
fdopendir
|
|
filenamecat
|
|
flexmember
|
|
fnmatch-gnu
|
|
fopen-gnu
|
|
fstatat
|
|
getopt-gnu
|
|
gettext-h
|
|
git-version-gen
|
|
gitlog-to-changelog
|
|
gnu-make
|
|
gnu-web-doc-update
|
|
gnumakefile
|
|
gnupload
|
|
ialloc
|
|
idx
|
|
intprops
|
|
inttypes-h
|
|
largefile
|
|
lstat
|
|
maintainer-makefile
|
|
manywarnings
|
|
mbscasecmp
|
|
mcel-prefer
|
|
mempcpy
|
|
minmax
|
|
mkstemp
|
|
mktime
|
|
nstrftime-limited
|
|
nullptr
|
|
openat
|
|
pclose
|
|
perl
|
|
popen
|
|
progname
|
|
propername-lite
|
|
quote
|
|
raise
|
|
rawmemchr
|
|
readdir
|
|
readlinkat
|
|
readme-release
|
|
regex
|
|
same-inode
|
|
sh-quote
|
|
sigaction
|
|
signal-h
|
|
sigprocmask
|
|
stat
|
|
stat-macros
|
|
stat-size
|
|
stat-time
|
|
stdc_bit_width
|
|
stdckdint-h
|
|
stdcountof-h
|
|
stdint-h
|
|
stpcpy
|
|
strcase
|
|
strptime
|
|
strtoimax
|
|
system-quote
|
|
sys_types-h
|
|
sys_wait-h
|
|
timespec
|
|
timespec_get
|
|
time_rz
|
|
unistd-h
|
|
unlocked-io
|
|
update-copyright
|
|
verify
|
|
version-etc
|
|
version-etc-fsf
|
|
xalloc
|
|
xfreopen
|
|
xmalloca
|
|
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
|
|
--local-dir=gl
|
|
--with-tests
|
|
--symlink
|
|
--makefile-name=gnulib.mk
|
|
$avoided_gnulib_modules
|
|
$avoided_gnulib_tests
|
|
"
|
|
|
|
# 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 tests/init.sh from Gnulib.
|
|
$gnulib_tool --copy-file tests/init.sh
|
|
|
|
# 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
|
|
}
|