1 # Bootstrap configuration.
3 # Copyright (C) 2006-2019 Free Software Foundation, Inc.
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.
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.
15 # You should have received a copy of the GNU General Public License
16 # along with this program. If not, see <https://www.gnu.org/licenses/>.
19 # We don't need these modules.
20 avoided_gnulib_modules='
21 --avoid=canonicalize-lgpl
25 # gnulib modules used by this package.
27 $avoided_gnulib_modules
66 do-release-commit-and-tag
181 non-recursive-gnulib-prefix-hack
268 useless-if-before-free
304 # Other locale categories that need message catalogs.
305 EXTRA_LOCALE_CATEGORIES=LC_TIME
307 # Additional xgettext options to use. Use "\\\newline" to break lines.
308 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
309 --flag=asnprintf:3:c-format\\\
310 --flag=asprintf:2:c-format\\\
311 --flag=error:3:c-format\\\
312 --flag=error_at_line:5:c-format\\\
313 --flag=vasnprintf:3:c-format\\\
314 --flag=vasprintf:2:c-format\\\
315 --flag=verror:3:c-format\\\
316 --flag=verror_at_line:5:c-format\\\
317 --flag=wrapf:1:c-format\\\
318 --flag=xasprintf:1:c-format\\\
319 --flag=xfprintf:2:c-format\\\
320 --flag=xprintf:1:c-format\\\
324 # Append these, since we use the propername module.
325 see_manual='"This is a proper name. See the gettext manual, section Names."'
326 see_manual=\'"$see_manual"\'
327 XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
328 --keyword=proper_name:1,'"$see_manual"'\\\
329 --keyword=proper_name_utf8:1,'"$see_manual"'\\\
332 gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink\
333 --makefile-name=gnulib.mk
336 # Build prerequisites
354 bootstrap_post_import_hook ()
356 # Automake requires that ChangeLog exist.
357 touch ChangeLog || return 1
358 # List of coreutils programs. See heading comments in the invoked
359 # script for more info. Keep this in sync with the rules in
360 (m4f=m4/cu-progs.m4 mkf=src/cu-progs.mk tmp=cu-progs.tmp \
361 && rm -f $m4f $mkf $tmp-1 $tmp-2 \
362 && build-aux/gen-lists-of-programs.sh --autoconf >$tmp-1 \
363 && build-aux/gen-lists-of-programs.sh --automake >$tmp-2 \
364 && chmod a-w $tmp-1 $tmp-2 \
365 && mv -f $tmp-1 $m4f && mv -f $tmp-2 $mkf)
367 # Massage lib/gnulib.mk before using it later in the bootstrapping process.
368 build-aux/prefix-gnulib-mk --lib-name=$gnulib_name lib/$gnulib_mk
370 # Regenerate src/single-binary.mk
371 (mkf=src/single-binary.mk tmp=single-binary.tmp \
373 && build-aux/gen-single-binary.sh src/local.mk >$tmp \
381 # Since this is a "GNU" package, replace this line
382 # if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null \
383 # | grep -v 'libtool:' >/dev/null; then
386 # Why? That pipeline searches all files in $(top_srcdir), and if you
387 # happen to have large files (or apparently large sparse files), the
388 # first grep may well run out of memory.
389 perl -pi -e 's/if LC_ALL=C grep .GNU .PACKAGE.*; then/if true; then/' \
392 # Add dummy 'install-html' target, required for packages using
393 # non-recursive makefiles with older gettext.
394 # See https://debbugs.gnu.org/25690
395 if ! grep -w 'install-html' po/Makefile.in.in ; then
396 printf 'install-%s:;\n' dvi ps pdf html >> po/Makefile.in.in
399 # Install our git hooks, as long as "cp" accepts the --backup option,
400 # so that we can back up any existing files.
401 case $(cp --help) in *--backup*) backup=1;; *) backup=0;; esac
402 if test $backup = 1; then
403 hooks=$(cd scripts/git-hooks && git ls-files)
405 # If it is identical, skip it.
406 cmp scripts/git-hooks/$f .git/hooks/$f > /dev/null \
408 cp --backup=numbered scripts/git-hooks/$f .git/hooks
409 chmod a-w .git/hooks/$f