# Bootstrap configuration.

# Copyright (C) 2006-2022 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 <https://www.gnu.org/licenses/>.


GNULIB_REVISION=9f48fb992a3d7e96610c4ce8be969cff2d61a01b

# gnulib modules used by this package.
# mbswidth is used by fix-width.diff's changes to argp rather than directly.
gnulib_modules="
  argp
  base64
  error
  fnmatch
  getdelim
  getline
  gettext-h
  gitlog-to-changelog
  mbswidth
  progname
  realloc-gnu
  regex
  save-cwd
  stdbool
"

gnulib_tool_option_extras="\
  --no-conditional-dependencies \
  --no-vc-files \
"

gnulib_name=libgnu
source_base=grub-core/lib/gnulib
gnulib_extra_files="
  build-aux/install-sh
  build-aux/mdate-sh
  build-aux/texinfo.tex
  build-aux/depcomp
  build-aux/config.guess
  build-aux/config.sub
"

# Additional xgettext options to use.  Use "\\\newline" to break lines.
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
 --from-code=UTF-8\\\
'

checkout_only_file=
copy=true
vc_ignore=

SKIP_PO=t

# Build prerequisites
buildreq="\
autoconf   2.64
automake   1.14
gettext    -
git        1.5.5
patch      -
tar        -
"

# bootstrap doesn't give us a reasonable way to stop Automake from
# overwriting this, so we just copy our version aside and put it back later.
cp -a INSTALL INSTALL.grub

bootstrap_post_import_hook () {
  set -e

  # Instead of patching our gnulib and therefore maintaining a fork, submit
  # changes to gnulib and update the hash above when they've merged.  Do not
  # add new patches here.
  patch -d grub-core/lib/gnulib -p2 < grub-core/lib/gnulib-patches/fix-width.patch

  for patchname in \
      0001-Support-POTFILES-shell \
      0002-Handle-gettext_printf-shell-function \
      0003-Make-msgfmt-output-in-little-endian \
      0004-Use-SHELL-rather-than-bin-sh; do
    patch -d po -p3 \
      < "po/gettext-patches/$patchname.patch"
  done
  FROM_BOOTSTRAP=1 ./autogen.sh
  set +e  # bootstrap expects this
}

bootstrap_epilogue () {
  mv INSTALL.grub INSTALL
}
