# Bootstrap configuration. # Copyright (C) 2006-2016 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 . # We don't need these modules. avoided_gnulib_modules=' --avoid=canonicalize-lgpl --avoid=dummy ' # gnulib modules used by this package. gnulib_modules=" $avoided_gnulib_modules acl alignof alloca announce-gen areadlink-with-size argmatch argv-iter assert autobuild backupfile base64 base32 buffer-lcm c-strcase c-strtod c-strtold calloc-gnu canon-host canonicalize chown cloexec closein closeout config-h configmake crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 cycle-check d-ino d-type di-set diacrit dirfd dirname do-release-commit-and-tag dtoastr dup2 environ error euidaccess exclude exitfail faccessat fadvise fchdir fchmodat fchownat fclose fcntl fcntl-safer fd-reopen fdatasync fdl fdopen fdutimensat file-has-acl file-type fileblocks filemode filenamecat filevercmp fnmatch-gnu fopen-safer fprintftime freopen freopen-safer fseeko fstatat fsusage fsync ftello ftoastr ftruncate fts full-read full-write getgroups gethrxtime getline getloadavg getlogin getndelim2 getopt-gnu getpagesize getpass-gnu gettext-h gettime gettimeofday getugroups getusershell git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload group-member hard-locale hash hash-pjw heap host-os human idcache ignore-value inttostr inttypes isapipe isatty isblank largefile lchmod lchown ldtoastr lib-ignore linebuffer link link-follow linkat long-options lstat maintainer-makefile malloc-gnu manywarnings mbrlen mbrtowc mbsalign mbswidth memcasecmp memchr memcmp2 mempcpy memrchr mgetgroups mkancesdirs mkdir mkdir-p mkfifo mknod mkstemp mktime modechange mountlist mpsort netinet_in non-recursive-gnulib-prefix-hack nproc obstack parse-datetime pathmax perl physmem pipe-posix posix-shell posixtm posixver priv-set progname propername pthread putenv quote quotearg randint randperm read-file readlink readtokens readtokens0 readutmp realloc-gnu regex remove rename rmdir root-dev-ino rpmatch safe-read same save-cwd savedir savewd selinux-at setenv settime sig2str sigaction smack ssize_t statat stat-macros stat-size stat-time stdbool stdlib-safer stpcpy stpncpy strdup-posix strftime strncat strnumcmp strpbrk strsignal strtod strtoimax strtoumax symlink sys_ioctl sys_resource sys_stat sys_wait tempname termios time_rz timer-time timespec tzset uname unicodeio unistd-safer unlink-busy unlinkat unlocked-io unsetenv update-copyright uptime useless-if-before-free userspec utimecmp utimens vasprintf-posix vc-list-files verify verror version-etc-fsf wcswidth wcwidth winsz-ioctl winsz-termios write-any-file xalloc xfreopen xfts xgetcwd xgetgroups xgethostname xmemcoll xnanosleep xprintf xprintf-posix xreadlink xdectoint xstrtod xstrtoimax xstrtol xstrtold xstrtoumax yesno " # Other locale categories that need message catalogs. EXTRA_LOCALE_CATEGORIES=LC_TIME # Additional xgettext options to use. Use "\\\newline" to break lines. XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\ --flag=asnprintf:3:c-format\\\ --flag=asprintf:2:c-format\\\ --flag=error:3:c-format\\\ --flag=error_at_line:5:c-format\\\ --flag=vasnprintf:3:c-format\\\ --flag=vasprintf:2:c-format\\\ --flag=verror:3:c-format\\\ --flag=verror_at_line:5:c-format\\\ --flag=wrapf:1:c-format\\\ --flag=xasprintf:1:c-format\\\ --flag=xfprintf:2:c-format\\\ --flag=xprintf:1:c-format\\\ --from-code=UTF-8\\\ ' # Append these, since we use the propername module. see_manual='"This is a proper name. See the gettext manual, section Names."' see_manual=\'"$see_manual"\' XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\ --keyword=proper_name:1,'"$see_manual"'\\\ --keyword=proper_name_utf8:1,'"$see_manual"'\\\ ' gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink\ --makefile-name=gnulib.mk " # Build prerequisites buildreq="\ autoconf 2.64 automake 1.11.2 autopoint 0.19.2 bison - gettext 0.19.2 git 1.4.4 gperf - gzip - makeinfo 4.13 patch - perl 5.5 rsync - tar - xz - " bootstrap_post_import_hook () { # Automake requires that ChangeLog exist. touch ChangeLog || return 1 # List of coreutils programs. See heading comments in the invoked # script for more info. Keep this in sync with the rules in (m4f=m4/cu-progs.m4 mkf=src/cu-progs.mk tmp=cu-progs.tmp \ && rm -f $m4f $mkf $tmp-1 $tmp-2 \ && build-aux/gen-lists-of-programs.sh --autoconf >$tmp-1 \ && build-aux/gen-lists-of-programs.sh --automake >$tmp-2 \ && chmod a-w $tmp-1 $tmp-2 \ && mv -f $tmp-1 $m4f && mv -f $tmp-2 $mkf) # Massage lib/gnulib.mk before using it later in the bootstrapping process. build-aux/prefix-gnulib-mk --lib-name=$gnulib_name lib/$gnulib_mk # Regenerate src/single-binary.mk (mkf=src/single-binary.mk tmp=single-binary.tmp \ && rm -f $mkf $tmp \ && build-aux/gen-single-binary.sh src/local.mk >$tmp \ && chmod a-w $tmp \ && mv -f $tmp $mkf) } bootstrap_epilogue() { # 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 }