]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Move gnulib-tool invocation back from autopull.sh to autogen.sh.
authorBruno Haible <bruno@clisp.org>
Mon, 18 Jul 2022 16:56:46 +0000 (18:56 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 18 Jul 2022 16:56:46 +0000 (18:56 +0200)
* autogen.sh: Revert most of last change. Improve comments.
* autopull.sh: Only call 'gitsub.sh pull', fetch archive.dir.tar, and recurse.
* libtextstyle/autogen.sh: Revert most of last change. Improve comments.
* libtextstyle/autopull.sh: Only call 'gitsub.sh pull', fetch texinfo.tex.
* libtextstyle/m4/init-package-version.m4: Revert last change.

.gitignore
autogen.sh
autopull.sh
libtextstyle/.gitignore
libtextstyle/autogen.sh
libtextstyle/autopull.sh
libtextstyle/m4/init-package-version.m4

index 4d3bbb6c45b3afef42bac8171f041762c912d554..ca05bb1f9cd6b1731202468e7eccad40980080c5 100644 (file)
 /build-aux/test-driver
 /build-aux/ylwrap
 
-# Other files brought in by autopull.sh:
+# Other files brought in by autogen.sh:
 /build-aux/config.guess
 /build-aux/config.sub
-
-# Other files brought in by autogen.sh:
 # Dummy ChangeLogs:
 /ChangeLog
 /gettext-runtime/ChangeLog
index b83cb929f555de284ab3f42576cb6aa93270f55d..5aa2a0c714168f6ee875ad8c8a9471ef35f6a934 100755 (executable)
@@ -1,4 +1,11 @@
 #!/bin/sh
+# Convenience script for regenerating all autogeneratable files that are
+# omitted from the version control repository. In particular, this script
+# also regenerates all aclocal.m4, config.h.in, Makefile.in, configure files
+# with new versions of autoconf or automake.
+#
+# This script requires autoconf-2.64..2.71 and automake-1.13..1.16 in the PATH.
+
 # Copyright (C) 2003-2022 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-# This script populates the build infrastructure in the source tree
-# checked-out from VCS.
+# Prerequisite (if not used from a released tarball): either
+#   - the GNULIB_SRCDIR environment variable pointing to a gnulib checkout, or
+#   - a preceding invocation of './autopull.sh'.
 #
-# This script requires:
-#   - Autoconf
-#   - Automake >= 1.13
-
-# Prerequisite (if not used from a released tarball): ./autopull.sh
-# Usage: ./autogen.sh
+# Usage: ./autogen.sh [--skip-gnulib]
+#
+# Options:
+#   --skip-gnulib       Avoid fetching files from Gnulib.
+#                       This option is useful
+#                       - when you are working from a released tarball (possibly
+#                         with modifications), or
+#                       - as a speedup, if the set of gnulib modules did not
+#                         change since the last time you ran this script.
 
 # Nuisances.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+skip_gnulib=false
+skip_gnulib_option=
+
+while :; do
+  case "$1" in
+    --skip-gnulib) skip_gnulib=true; skip_gnulib_option='--skip-gnulib'; shift;;
+    *) break ;;
+  esac
+done
+
+# The tests in gettext-tools/tests are not meant to be executable, because
+# they have a TESTS_ENVIRONMENT that specifies the shell explicitly.
+
+if ! $skip_gnulib; then
+  if test -n "$GNULIB_SRCDIR"; then
+    test -d "$GNULIB_SRCDIR" || {
+      echo "*** GNULIB_SRCDIR is set but does not point to an existing directory." 1>&2
+      exit 1
+    }
+  else
+    GNULIB_SRCDIR=`pwd`/gnulib
+    test -d "$GNULIB_SRCDIR" || {
+      echo "*** Subdirectory 'gnulib' does not yet exist. Use './gitsub.sh pull' to create it, or set the environment variable GNULIB_SRCDIR." 1>&2
+      exit 1
+    }
+  fi
+  # Now it should contain a gnulib-tool.
+  GNULIB_TOOL="$GNULIB_SRCDIR/gnulib-tool"
+  test -f "$GNULIB_TOOL" || {
+    echo "*** gnulib-tool not found." 1>&2
+    exit 1
+  }
+  # In gettext-runtime:
+  GNULIB_MODULES_RUNTIME_FOR_SRC='
+    atexit
+    attribute
+    basename-lgpl
+    binary-io
+    closeout
+    error
+    getopt-gnu
+    gettext-h
+    havelib
+    memmove
+    noreturn
+    progname
+    propername
+    relocatable-prog
+    setlocale
+    sigpipe
+    stdbool
+    stdio
+    stdlib
+    strtoul
+    unistd
+    unlocked-io
+    xalloc
+  '
+  GNULIB_MODULES_RUNTIME_OTHER='
+    gettext-runtime-misc
+    ansi-c++-opt
+    csharpcomp-script
+    java
+    javacomp-script
+  '
+  $GNULIB_TOOL --dir=gettext-runtime --lib=libgrt --source-base=gnulib-lib --m4-base=gnulib-m4 --no-libtool --local-dir=gnulib-local --local-symlink \
+    --import $GNULIB_MODULES_RUNTIME_FOR_SRC $GNULIB_MODULES_RUNTIME_OTHER || exit $?
+  # In gettext-runtime/intl:
+  GNULIB_MODULES_LIBINTL='
+    gettext-runtime-intl-misc
+    attribute
+    bison
+    filename
+    havelib
+    lib-symbol-visibility
+    localcharset
+    localename
+    lock
+    relocatable-lib-lgpl
+    tsearch
+    vasnprintf
+  '
+  GNULIB_SETLOCALE_DEPENDENCIES=`$GNULIB_TOOL --extract-dependencies setlocale | sed -e 's/ .*//'`
+  $GNULIB_TOOL --dir=gettext-runtime/intl --source-base=gnulib-lib --m4-base=gnulib-m4 --lgpl=2 --libtool --local-dir=gnulib-local --local-symlink \
+    --import $GNULIB_MODULES_LIBINTL $GNULIB_SETLOCALE_DEPENDENCIES || exit $?
+  # In gettext-runtime/libasprintf:
+  GNULIB_MODULES_LIBASPRINTF='
+    alloca
+    vasnprintf
+  '
+  $GNULIB_TOOL --dir=gettext-runtime/libasprintf --source-base=gnulib-lib --m4-base=gnulib-m4 --lgpl=2 --libtool --local-dir=gnulib-local --local-symlink \
+    --import $GNULIB_MODULES_LIBASPRINTF || exit $?
+  # In gettext-tools:
+  GNULIB_MODULES_TOOLS_FOR_SRC='
+    alloca-opt
+    atexit
+    attribute
+    backupfile
+    basename-lgpl
+    binary-io
+    bison
+    bison-i18n
+    byteswap
+    c-ctype
+    c-strcase
+    c-strcasestr
+    c-strstr
+    clean-temp
+    closedir
+    closeout
+    configmake
+    copy-file
+    csharpcomp
+    csharpexec
+    error
+    error-progname
+    execute
+    filename
+    findprog
+    fnmatch
+    fopen
+    free-posix
+    fstrcmp
+    full-write
+    fwriteerror
+    gcd
+    getline
+    getopt-gnu
+    gettext
+    gettext-h
+    iconv
+    javacomp
+    javaexec
+    libunistring-optional
+    libxml
+    localcharset
+    locale
+    localename
+    localtime
+    lock
+    mem-hash-map
+    memchr
+    memmove
+    memset
+    minmax
+    mkdir
+    noreturn
+    obstack
+    open
+    opendir
+    openmp-init
+    pipe-filter-ii
+    progname
+    propername
+    read-file
+    readdir
+    relocatable-prog
+    relocatable-script
+    setlocale
+    sh-filename
+    sh-quote
+    sigpipe
+    sigprocmask
+    spawn-pipe
+    stdbool
+    stdio
+    stdlib
+    stpcpy
+    stpncpy
+    strchrnul
+    strcspn
+    strdup-posix
+    strerror
+    strpbrk
+    strtol
+    strtoul
+    supersede
+    sys_select
+    sys_stat
+    sys_time
+    trim
+    unictype/ctype-space
+    unictype/syntax-java-whitespace
+    unilbrk/ulc-width-linebreaks
+    uniname/uniname
+    unistd
+    unistr/u8-check
+    unistr/u8-mbtouc
+    unistr/u8-mbtoucr
+    unistr/u8-uctomb
+    unistr/u16-mbtouc
+    uniwidth/width
+    unlocked-io
+    unsetenv
+    vasprintf
+    wait-process
+    write
+    xalloc
+    xconcat-filename
+    xerror
+    xmalloca
+    xmemdup0
+    xsetenv
+    xstriconv
+    xstriconveh
+    xvasprintf
+  '
+  # Common dependencies of GNULIB_MODULES_TOOLS_FOR_SRC and GNULIB_MODULES_TOOLS_FOR_LIBGREP.
+  GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES='
+    alloca-opt
+    extensions
+    gettext-h
+    include_next
+    locale
+    localcharset
+    malloc-posix
+    mbrtowc
+    mbsinit
+    multiarch
+    setlocale-null
+    snippet/arg-nonnull
+    snippet/c++defs
+    snippet/warn-on-use
+    ssize_t
+    stdbool
+    stddef
+    stdint
+    stdlib
+    streq
+    unistd
+    verify
+    wchar
+    wctype-h
+    windows-mutex
+    windows-once
+    windows-recmutex
+    windows-rwlock
+  '
+  GNULIB_MODULES_TOOLS_OTHER='
+    gettext-tools-misc
+    ansi-c++-opt
+    csharpcomp-script
+    csharpexec-script
+    java
+    javacomp-script
+    javaexec-script
+    stdint
+  '
+  GNULIB_MODULES_TOOLS_LIBUNISTRING_TESTS='
+    unilbrk/u8-possible-linebreaks-tests
+    unilbrk/ulc-width-linebreaks-tests
+    unistr/u8-mbtouc-tests
+    unistr/u8-mbtouc-unsafe-tests
+    uniwidth/width-tests
+  '
+  $GNULIB_TOOL --dir=gettext-tools --lib=libgettextlib --source-base=gnulib-lib --m4-base=gnulib-m4 --tests-base=gnulib-tests --makefile-name=Makefile.gnulib --libtool --with-tests --local-dir=gnulib-local --local-symlink \
+    --import \
+    --avoid=fdutimensat-tests --avoid=futimens-tests --avoid=utime-tests --avoid=utimens-tests --avoid=utimensat-tests \
+    --avoid=array-list-tests --avoid=linked-list-tests --avoid=linkedhash-list-tests \
+    `for m in $GNULIB_MODULES_TOOLS_LIBUNISTRING_TESTS; do echo --avoid=$m; done` \
+    $GNULIB_MODULES_TOOLS_FOR_SRC $GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES $GNULIB_MODULES_TOOLS_OTHER || exit $?
+  $GNULIB_TOOL --copy-file m4/libtextstyle.m4 gettext-tools/gnulib-m4/libtextstyle.m4 || exit $?
+  # In gettext-tools/libgrep:
+  GNULIB_MODULES_TOOLS_FOR_LIBGREP='
+    mbrlen
+    regex
+  '
+  $GNULIB_TOOL --dir=gettext-tools --macro-prefix=grgl --lib=libgrep --source-base=libgrep --m4-base=libgrep/gnulib-m4 --witness-c-macro=IN_GETTEXT_TOOLS_LIBGREP --makefile-name=Makefile.gnulib --local-dir=gnulib-local --local-symlink \
+    --import \
+    `for m in $GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES; do \
+       if test \`$GNULIB_TOOL --extract-applicability $m\` != all; then \
+         case $m in \
+           locale | stdbool | stddef | stdint | stdlib | unistd | wchar | wctype-h) ;; \
+           *) echo --avoid=$m ;; \
+         esac; \
+       fi; \
+     done` \
+    $GNULIB_MODULES_TOOLS_FOR_LIBGREP || exit $?
+  # In gettext-tools/libgettextpo:
+  # This is a subset of the GNULIB_MODULES_TOOLS_FOR_SRC.
+  GNULIB_MODULES_LIBGETTEXTPO='
+    attribute
+    basename-lgpl
+    close
+    c-ctype
+    c-strcase
+    c-strstr
+    error
+    error-progname
+    filename
+    fopen
+    free-posix
+    fstrcmp
+    fwriteerror
+    gcd
+    getline
+    gettext-h
+    iconv
+    libtextstyle-dummy
+    libunistring-optional
+    markup
+    mem-hash-map
+    minmax
+    open
+    relocatable-lib
+    sigpipe
+    stdbool
+    stdio
+    stdlib
+    stpcpy
+    stpncpy
+    strchrnul
+    strdup-posix
+    strerror
+    unictype/ctype-space
+    unilbrk/ulc-width-linebreaks
+    unistr/u8-mbtouc
+    unistr/u8-mbtoucr
+    unistr/u8-uctomb
+    unistr/u16-mbtouc
+    uniwidth/width
+    unlocked-io
+    vasprintf
+    xalloc
+    xconcat-filename
+    xmalloca
+    xerror
+    xstriconv
+    xvasprintf
+  '
+  # Module 'fdopen' is enabled in gettext-tools/config.status, because
+  # it occurs as dependency of some module ('supersede') in
+  # GNULIB_MODULES_TOOLS_FOR_SRC. Therefore on mingw, libgettextpo/stdio.h
+  # contains '#define fdopen rpl_fdopen'. Therefore we need to include
+  # fdopen.lo in libgettextpo.la.
+  # Module 'realloc-posix' is enabled in gettext-tools/config.status, because
+  # it occurs as dependency of some module ('read-file') in
+  # GNULIB_MODULES_TOOLS_FOR_SRC. Therefore on mingw, libgettextpo/stdlib.h
+  # contains '#define realloc rpl_realloc'. Therefore we need to include
+  # realloc.lo in libgettextpo.la.
+  GNULIB_MODULES_LIBGETTEXTPO_OTHER='
+    fdopen
+    realloc-posix
+  '
+  $GNULIB_TOOL --dir=gettext-tools --source-base=libgettextpo --m4-base=libgettextpo/gnulib-m4 --macro-prefix=gtpo --makefile-name=Makefile.gnulib --libtool --local-dir=gnulib-local --local-symlink \
+    --import --avoid=progname $GNULIB_MODULES_LIBGETTEXTPO $GNULIB_MODULES_LIBGETTEXTPO_OTHER || exit $?
+  # Overwrite older versions of .m4 files with the up-to-date version.
+  cp gettext-runtime/m4/gettext.m4 gettext-tools/gnulib-m4/gettext.m4
+  # Import build tools.  We use --copy-file to avoid directory creation.
+  $GNULIB_TOOL --copy-file tests/init.sh gettext-tools || exit $?
+  $GNULIB_TOOL --copy-file build-aux/x-to-1.in gettext-runtime/man/x-to-1.in || exit $?
+  $GNULIB_TOOL --copy-file build-aux/x-to-1.in gettext-tools/man/x-to-1.in || exit $?
+  $GNULIB_TOOL --copy-file build-aux/git-version-gen || exit $?
+  $GNULIB_TOOL --copy-file build-aux/gitlog-to-changelog || exit $?
+  $GNULIB_TOOL --copy-file build-aux/update-copyright || exit $?
+  $GNULIB_TOOL --copy-file build-aux/useless-if-before-free || exit $?
+  $GNULIB_TOOL --copy-file build-aux/vc-list-files || exit $?
+  $GNULIB_TOOL --copy-file top/GNUmakefile . || exit $?
+  $GNULIB_TOOL --copy-file top/maint.mk . || exit $?
+
+  # Fetch config.guess, config.sub.
+  for file in config.guess config.sub; do
+    $GNULIB_TOOL --copy-file build-aux/$file && chmod a+x build-aux/$file || exit $?
+  done
+fi
+
 # Make sure we get new versions of files brought in by automake.
 (cd build-aux && rm -f ar-lib compile depcomp install-sh mdate-sh missing test-driver ylwrap)
 
@@ -71,7 +448,9 @@ cd "$dir0"
 
 echo "$0: generating files in libtextstyle..."
 cd libtextstyle
-./autogen.sh || exit $?
+(if ! $skip_gnulib; then export GNULIB_SRCDIR; fi
+ ./autogen.sh $skip_gnulib_option
+) || exit $?
 cd "$dir0"
 
 echo "$0: generating configure in gettext-tools/examples..."
index ce47e598007957121651812afa001cb7fd4ca3ef..df98f23dfbb81da0a9047d9082ff277a0e88dff6 100755 (executable)
@@ -20,8 +20,6 @@
 # This script requires:
 #   - Wget
 #   - XZ Utils
-# This script can make use of
-#   - the GNULIB_SRCDIR environment variable pointing to a gnulib checkout.
 #
 # In addition, it fetches the archive.dir.tar.gz file, which contains
 # data files used by the autopoint program.  If you already have the
 # Nuisances.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
-./gitsub.sh pull
-
-# The tests in gettext-tools/tests are not meant to be executable, because
-# they have a TESTS_ENVIRONMENT that specifies the shell explicitly.
-
-if test -n "$GNULIB_SRCDIR"; then
-  test -d "$GNULIB_SRCDIR" || {
-    echo "*** GNULIB_SRCDIR is set but does not point to an existing directory." 1>&2
-    exit 1
-  }
-else
-  GNULIB_SRCDIR=`pwd`/gnulib
-  test -d "$GNULIB_SRCDIR" || {
-    echo "*** Subdirectory 'gnulib' does not yet exist. Use './gitsub.sh pull' to create it, or set the environment variable GNULIB_SRCDIR." 1>&2
-    exit 1
-  }
-fi
-# Now it should contain a gnulib-tool.
-GNULIB_TOOL="$GNULIB_SRCDIR/gnulib-tool"
-test -f "$GNULIB_TOOL" || {
-  echo "*** gnulib-tool not found." 1>&2
-  exit 1
-}
-# In gettext-runtime:
-GNULIB_MODULES_RUNTIME_FOR_SRC='
-  atexit
-  attribute
-  basename-lgpl
-  binary-io
-  closeout
-  error
-  getopt-gnu
-  gettext-h
-  havelib
-  memmove
-  noreturn
-  progname
-  propername
-  relocatable-prog
-  setlocale
-  sigpipe
-  stdbool
-  stdio
-  stdlib
-  strtoul
-  unistd
-  unlocked-io
-  xalloc
-'
-GNULIB_MODULES_RUNTIME_OTHER='
-  gettext-runtime-misc
-  ansi-c++-opt
-  csharpcomp-script
-  java
-  javacomp-script
-'
-$GNULIB_TOOL --dir=gettext-runtime --lib=libgrt --source-base=gnulib-lib --m4-base=gnulib-m4 --no-libtool --local-dir=gnulib-local --local-symlink \
-  --import $GNULIB_MODULES_RUNTIME_FOR_SRC $GNULIB_MODULES_RUNTIME_OTHER || exit $?
-# In gettext-runtime/intl:
-GNULIB_MODULES_LIBINTL='
-  gettext-runtime-intl-misc
-  attribute
-  bison
-  filename
-  havelib
-  lib-symbol-visibility
-  localcharset
-  localename
-  lock
-  relocatable-lib-lgpl
-  tsearch
-  vasnprintf
-'
-GNULIB_SETLOCALE_DEPENDENCIES=`$GNULIB_TOOL --extract-dependencies setlocale | sed -e 's/ .*//'`
-$GNULIB_TOOL --dir=gettext-runtime/intl --source-base=gnulib-lib --m4-base=gnulib-m4 --lgpl=2 --libtool --local-dir=gnulib-local --local-symlink \
-  --import $GNULIB_MODULES_LIBINTL $GNULIB_SETLOCALE_DEPENDENCIES || exit $?
-# In gettext-runtime/libasprintf:
-GNULIB_MODULES_LIBASPRINTF='
-  alloca
-  vasnprintf
-'
-$GNULIB_TOOL --dir=gettext-runtime/libasprintf --source-base=gnulib-lib --m4-base=gnulib-m4 --lgpl=2 --libtool --local-dir=gnulib-local --local-symlink \
-  --import $GNULIB_MODULES_LIBASPRINTF || exit $?
-# In gettext-tools:
-GNULIB_MODULES_TOOLS_FOR_SRC='
-  alloca-opt
-  atexit
-  attribute
-  backupfile
-  basename-lgpl
-  binary-io
-  bison
-  bison-i18n
-  byteswap
-  c-ctype
-  c-strcase
-  c-strcasestr
-  c-strstr
-  clean-temp
-  closedir
-  closeout
-  configmake
-  copy-file
-  csharpcomp
-  csharpexec
-  error
-  error-progname
-  execute
-  filename
-  findprog
-  fnmatch
-  fopen
-  free-posix
-  fstrcmp
-  full-write
-  fwriteerror
-  gcd
-  getline
-  getopt-gnu
-  gettext
-  gettext-h
-  iconv
-  javacomp
-  javaexec
-  libunistring-optional
-  libxml
-  localcharset
-  locale
-  localename
-  localtime
-  lock
-  mem-hash-map
-  memchr
-  memmove
-  memset
-  minmax
-  mkdir
-  noreturn
-  obstack
-  open
-  opendir
-  openmp-init
-  pipe-filter-ii
-  progname
-  propername
-  read-file
-  readdir
-  relocatable-prog
-  relocatable-script
-  setlocale
-  sh-filename
-  sh-quote
-  sigpipe
-  sigprocmask
-  spawn-pipe
-  stdbool
-  stdio
-  stdlib
-  stpcpy
-  stpncpy
-  strchrnul
-  strcspn
-  strdup-posix
-  strerror
-  strpbrk
-  strtol
-  strtoul
-  supersede
-  sys_select
-  sys_stat
-  sys_time
-  trim
-  unictype/ctype-space
-  unictype/syntax-java-whitespace
-  unilbrk/ulc-width-linebreaks
-  uniname/uniname
-  unistd
-  unistr/u8-check
-  unistr/u8-mbtouc
-  unistr/u8-mbtoucr
-  unistr/u8-uctomb
-  unistr/u16-mbtouc
-  uniwidth/width
-  unlocked-io
-  unsetenv
-  vasprintf
-  wait-process
-  write
-  xalloc
-  xconcat-filename
-  xerror
-  xmalloca
-  xmemdup0
-  xsetenv
-  xstriconv
-  xstriconveh
-  xvasprintf
-'
-# Common dependencies of GNULIB_MODULES_TOOLS_FOR_SRC and GNULIB_MODULES_TOOLS_FOR_LIBGREP.
-GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES='
-  alloca-opt
-  extensions
-  gettext-h
-  include_next
-  locale
-  localcharset
-  malloc-posix
-  mbrtowc
-  mbsinit
-  multiarch
-  setlocale-null
-  snippet/arg-nonnull
-  snippet/c++defs
-  snippet/warn-on-use
-  ssize_t
-  stdbool
-  stddef
-  stdint
-  stdlib
-  streq
-  unistd
-  verify
-  wchar
-  wctype-h
-  windows-mutex
-  windows-once
-  windows-recmutex
-  windows-rwlock
-'
-GNULIB_MODULES_TOOLS_OTHER='
-  gettext-tools-misc
-  ansi-c++-opt
-  csharpcomp-script
-  csharpexec-script
-  java
-  javacomp-script
-  javaexec-script
-  stdint
-'
-GNULIB_MODULES_TOOLS_LIBUNISTRING_TESTS='
-  unilbrk/u8-possible-linebreaks-tests
-  unilbrk/ulc-width-linebreaks-tests
-  unistr/u8-mbtouc-tests
-  unistr/u8-mbtouc-unsafe-tests
-  uniwidth/width-tests
-'
-$GNULIB_TOOL --dir=gettext-tools --lib=libgettextlib --source-base=gnulib-lib --m4-base=gnulib-m4 --tests-base=gnulib-tests --makefile-name=Makefile.gnulib --libtool --with-tests --local-dir=gnulib-local --local-symlink \
-  --import \
-  --avoid=fdutimensat-tests --avoid=futimens-tests --avoid=utime-tests --avoid=utimens-tests --avoid=utimensat-tests \
-  --avoid=array-list-tests --avoid=linked-list-tests --avoid=linkedhash-list-tests \
-  `for m in $GNULIB_MODULES_TOOLS_LIBUNISTRING_TESTS; do echo --avoid=$m; done` \
-  $GNULIB_MODULES_TOOLS_FOR_SRC $GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES $GNULIB_MODULES_TOOLS_OTHER || exit $?
-$GNULIB_TOOL --copy-file m4/libtextstyle.m4 gettext-tools/gnulib-m4/libtextstyle.m4 || exit $?
-# In gettext-tools/libgrep:
-GNULIB_MODULES_TOOLS_FOR_LIBGREP='
-  mbrlen
-  regex
-'
-$GNULIB_TOOL --dir=gettext-tools --macro-prefix=grgl --lib=libgrep --source-base=libgrep --m4-base=libgrep/gnulib-m4 --witness-c-macro=IN_GETTEXT_TOOLS_LIBGREP --makefile-name=Makefile.gnulib --local-dir=gnulib-local --local-symlink \
-  --import \
-  `for m in $GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES; do \
-     if test \`$GNULIB_TOOL --extract-applicability $m\` != all; then \
-       case $m in \
-         locale | stdbool | stddef | stdint | stdlib | unistd | wchar | wctype-h) ;; \
-         *) echo --avoid=$m ;; \
-       esac; \
-     fi; \
-   done` \
-  $GNULIB_MODULES_TOOLS_FOR_LIBGREP || exit $?
-# In gettext-tools/libgettextpo:
-# This is a subset of the GNULIB_MODULES_TOOLS_FOR_SRC.
-GNULIB_MODULES_LIBGETTEXTPO='
-  attribute
-  basename-lgpl
-  close
-  c-ctype
-  c-strcase
-  c-strstr
-  error
-  error-progname
-  filename
-  fopen
-  free-posix
-  fstrcmp
-  fwriteerror
-  gcd
-  getline
-  gettext-h
-  iconv
-  libtextstyle-dummy
-  libunistring-optional
-  markup
-  mem-hash-map
-  minmax
-  open
-  relocatable-lib
-  sigpipe
-  stdbool
-  stdio
-  stdlib
-  stpcpy
-  stpncpy
-  strchrnul
-  strdup-posix
-  strerror
-  unictype/ctype-space
-  unilbrk/ulc-width-linebreaks
-  unistr/u8-mbtouc
-  unistr/u8-mbtoucr
-  unistr/u8-uctomb
-  unistr/u16-mbtouc
-  uniwidth/width
-  unlocked-io
-  vasprintf
-  xalloc
-  xconcat-filename
-  xmalloca
-  xerror
-  xstriconv
-  xvasprintf
-'
-# Module 'fdopen' is enabled in gettext-tools/config.status, because
-# it occurs as dependency of some module ('supersede') in
-# GNULIB_MODULES_TOOLS_FOR_SRC. Therefore on mingw, libgettextpo/stdio.h
-# contains '#define fdopen rpl_fdopen'. Therefore we need to include
-# fdopen.lo in libgettextpo.la.
-# Module 'realloc-posix' is enabled in gettext-tools/config.status, because
-# it occurs as dependency of some module ('read-file') in
-# GNULIB_MODULES_TOOLS_FOR_SRC. Therefore on mingw, libgettextpo/stdlib.h
-# contains '#define realloc rpl_realloc'. Therefore we need to include
-# realloc.lo in libgettextpo.la.
-GNULIB_MODULES_LIBGETTEXTPO_OTHER='
-  fdopen
-  realloc-posix
-'
-$GNULIB_TOOL --dir=gettext-tools --source-base=libgettextpo --m4-base=libgettextpo/gnulib-m4 --macro-prefix=gtpo --makefile-name=Makefile.gnulib --libtool --local-dir=gnulib-local --local-symlink \
-  --import --avoid=progname $GNULIB_MODULES_LIBGETTEXTPO $GNULIB_MODULES_LIBGETTEXTPO_OTHER || exit $?
-# Overwrite older versions of .m4 files with the up-to-date version.
-cp gettext-runtime/m4/gettext.m4 gettext-tools/gnulib-m4/gettext.m4
-# Import build tools.  We use --copy-file to avoid directory creation.
-$GNULIB_TOOL --copy-file tests/init.sh gettext-tools || exit $?
-$GNULIB_TOOL --copy-file build-aux/x-to-1.in gettext-runtime/man/x-to-1.in || exit $?
-$GNULIB_TOOL --copy-file build-aux/x-to-1.in gettext-tools/man/x-to-1.in || exit $?
-$GNULIB_TOOL --copy-file build-aux/git-version-gen || exit $?
-$GNULIB_TOOL --copy-file build-aux/gitlog-to-changelog || exit $?
-$GNULIB_TOOL --copy-file build-aux/update-copyright || exit $?
-$GNULIB_TOOL --copy-file build-aux/useless-if-before-free || exit $?
-$GNULIB_TOOL --copy-file build-aux/vc-list-files || exit $?
-$GNULIB_TOOL --copy-file top/GNUmakefile . || exit $?
-$GNULIB_TOOL --copy-file top/maint.mk . || exit $?
-
-# Fetch config.guess, config.sub.
-for file in config.guess config.sub; do
-  $GNULIB_TOOL --copy-file build-aux/$file && chmod a+x build-aux/$file || exit $?
-done
+./gitsub.sh pull || exit 1
 
 # Fetch gettext-tools/misc/archive.dir.tar.
 if ! test -f gettext-tools/misc/archive.dir.tar; then
@@ -409,9 +53,7 @@ dir0=`pwd`
 
 echo "$0: generating files in libtextstyle..."
 cd libtextstyle
-(export GNULIB_SRCDIR
- ./autopull.sh $skip_gnulib_option
-) || exit $?
+./autopull.sh || exit $?
 cd "$dir0"
 
 echo "$0: done.  Now you can run './autogen.sh'."
index 781f7591016c1f3f9c6b759e6f9f878658636812..31748d0576c312eb1bf08d98f02bb46baa3a2275 100644 (file)
 /build-aux/test-driver
 
 # Other files brought in by autopull.sh:
+/build-aux/texinfo.tex
+
+# Other files brought in by autogen.sh:
 /INSTALL.windows
 /build-aux/config.guess
 /build-aux/config.sub
 /build-aux/run-test
 /build-aux/test-driver.diff
 /build-aux/texi2html
-/build-aux/texinfo.tex
 /lib/declared.sh
 /lib/exported.sh.in
 /m4/exported.m4
 /m4/ltversion.m4
 /m4/lt~obsolete.m4
 /m4/woe32-dll.m4
-
-# Other files brought in by autogen.sh:
 # Dummy ChangeLogs:
 /ChangeLog
 
index 2a6c5863e0d62029ae187de3c616e242a9c59cbf..291da4a62cdba83d9fb6d559fc494bdd84a67585 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-# Prerequisite (if not used from a released tarball): ./autopull.sh
-# Usage: ./autogen.sh
+# Prerequisite (if not used from a released tarball): either
+#   - the GNULIB_SRCDIR environment variable pointing to a gnulib checkout, or
+#   - a preceding invocation of './autopull.sh'.
+#
+# Usage: ./autogen.sh [--skip-gnulib]
+#
+# Options:
+#   --skip-gnulib       Avoid fetching files from Gnulib.
+#                       This option is useful
+#                       - when you are working from a released tarball (possibly
+#                         with modifications), or
+#                       - as a speedup, if the set of gnulib modules did not
+#                         change since the last time you ran this script.
+
+skip_gnulib=false
+while :; do
+  case "$1" in
+    --skip-gnulib) skip_gnulib=true; shift;;
+    *) break ;;
+  esac
+done
+
+if test $skip_gnulib = false; then
+  if test -n "$GNULIB_SRCDIR"; then
+    test -d "$GNULIB_SRCDIR" || {
+      echo "*** GNULIB_SRCDIR is set but does not point to an existing directory." 1>&2
+      exit 1
+    }
+  else
+    GNULIB_SRCDIR=`pwd`/gnulib
+    test -d "$GNULIB_SRCDIR" || {
+      echo "*** Subdirectory 'gnulib' does not yet exist. Use './gitsub.sh pull' to create it, or set the environment variable GNULIB_SRCDIR." 1>&2
+      exit 1
+    }
+  fi
+  # Now it should contain a gnulib-tool.
+  GNULIB_TOOL="$GNULIB_SRCDIR/gnulib-tool"
+  test -f "$GNULIB_TOOL" || {
+    echo "*** gnulib-tool not found." 1>&2
+    exit 1
+  }
+  GNULIB_MODULES='
+    ostream
+      fd-ostream
+      file-ostream
+      html-ostream
+      iconv-ostream
+      memory-ostream
+      term-ostream
+    styled-ostream
+      html-styled-ostream
+      noop-styled-ostream
+      term-styled-ostream
+    attribute
+    filename
+    isatty
+    largefile
+    vasprintf-posix
+    xalloc
+    xconcat-filename
+
+    memory-ostream-tests
+    term-ostream-tests
+  '
+  $GNULIB_TOOL --lib=libtextstyle --source-base=lib --m4-base=gnulib-m4 --tests-base=tests \
+    --macro-prefix=lts \
+    --makefile-name=Makefile.gnulib --libtool \
+    --local-dir=gnulib-local --local-dir=../gnulib-local \
+    --import $GNULIB_MODULES
+  $GNULIB_TOOL --copy-file build-aux/config.guess; chmod a+x build-aux/config.guess
+  $GNULIB_TOOL --copy-file build-aux/config.sub;   chmod a+x build-aux/config.sub
+  $GNULIB_TOOL --copy-file build-aux/declared.sh lib/declared.sh; chmod a+x lib/declared.sh
+  $GNULIB_TOOL --copy-file build-aux/run-test; chmod a+x build-aux/run-test
+  $GNULIB_TOOL --copy-file build-aux/test-driver.diff
+  # If we got no texinfo.tex so far, take the snapshot from gnulib.
+  if test ! -f build-aux/texinfo.tex; then
+    $GNULIB_TOOL --copy-file build-aux/texinfo.tex
+  fi
+  # For use by the example programs.
+  $GNULIB_TOOL --copy-file m4/libtextstyle.m4
+fi
+
+# Copy some files from gettext.
+cp -p ../INSTALL.windows .
+mkdir -p m4
+cp -p ../m4/libtool.m4 m4/
+cp -p ../m4/lt*.m4 m4/
+cp -p ../m4/woe32-dll.m4 m4/
+cp -p ../build-aux/ltmain.sh build-aux/
+cp -p ../build-aux/texi2html build-aux/
+cp -p ../gettext-tools/m4/exported.m4 m4/
+cp -p ../gettext-tools/libgettextpo/exported.sh.in lib/
 
 aclocal -I m4 -I gnulib-m4
 autoconf
index aebf3330fcc6ea5bf06f44b33379338a80ea0cf1..36d26d4474215e4c24f07ac0f6160dd8646e634f 100755 (executable)
@@ -1,9 +1,6 @@
 #!/bin/sh
 # Convenience script for fetching auxiliary files that are omitted from
 # the version control repository of this package.
-#
-# This script requires
-#   - the GNULIB_SRCDIR environment variable pointing to a gnulib checkout.
 
 # Copyright (C) 2003-2022 Free Software Foundation, Inc.
 #
@@ -36,72 +33,3 @@ if test ! -f build-aux/texinfo.tex; then
       && mv build-aux/texinfo.tex.tmp build-aux/texinfo.tex; \
   } || rm -f build-aux/texinfo.tex.tmp
 fi
-
-if test -n "$GNULIB_SRCDIR"; then
-  test -d "$GNULIB_SRCDIR" || {
-    echo "*** GNULIB_SRCDIR is set but does not point to an existing directory." 1>&2
-    exit 1
-  }
-else
-  GNULIB_SRCDIR=`pwd`/gnulib
-  test -d "$GNULIB_SRCDIR" || {
-    echo "*** Subdirectory 'gnulib' does not yet exist. Use './gitsub.sh pull' to create it, or set the environment variable GNULIB_SRCDIR." 1>&2
-    exit 1
-  }
-fi
-# Now it should contain a gnulib-tool.
-GNULIB_TOOL="$GNULIB_SRCDIR/gnulib-tool"
-test -f "$GNULIB_TOOL" || {
-  echo "*** gnulib-tool not found." 1>&2
-  exit 1
-}
-GNULIB_MODULES='
-  ostream
-    fd-ostream
-    file-ostream
-    html-ostream
-    iconv-ostream
-    memory-ostream
-    term-ostream
-  styled-ostream
-    html-styled-ostream
-    noop-styled-ostream
-    term-styled-ostream
-  attribute
-  filename
-  isatty
-  largefile
-  vasprintf-posix
-  xalloc
-  xconcat-filename
-
-  memory-ostream-tests
-  term-ostream-tests
-'
-$GNULIB_TOOL --lib=libtextstyle --source-base=lib --m4-base=gnulib-m4 --tests-base=tests \
-  --macro-prefix=lts \
-  --makefile-name=Makefile.gnulib --libtool \
-  --local-dir=gnulib-local --local-dir=../gnulib-local \
-  --import $GNULIB_MODULES
-$GNULIB_TOOL --copy-file build-aux/config.guess; chmod a+x build-aux/config.guess
-$GNULIB_TOOL --copy-file build-aux/config.sub;   chmod a+x build-aux/config.sub
-$GNULIB_TOOL --copy-file build-aux/declared.sh lib/declared.sh; chmod a+x lib/declared.sh
-$GNULIB_TOOL --copy-file build-aux/run-test; chmod a+x build-aux/run-test
-$GNULIB_TOOL --copy-file build-aux/test-driver.diff
-# If we got no texinfo.tex so far, take the snapshot from gnulib.
-if test ! -f build-aux/texinfo.tex; then
-  $GNULIB_TOOL --copy-file build-aux/texinfo.tex
-fi
-# For use by the example programs.
-$GNULIB_TOOL --copy-file m4/libtextstyle.m4
-
-# Copy some files from gettext.
-cp -p ../INSTALL.windows .
-mkdir -p m4
-cp -p ../m4/libtool.m4 m4/
-cp -p ../m4/lt*.m4 m4/
-cp -p ../m4/woe32-dll.m4 m4/
-cp -p ../build-aux/ltmain.sh build-aux/
-cp -p ../build-aux/texi2html build-aux/
-cp -p ../gettext-tools/m4/exported.m4 m4/
-cp -p ../gettext-tools/libgettextpo/exported.sh.in lib/
index f9916aa26fd5ce35ddc17c06ed989d6132637cb2..823afc6f77e9bcaa5e82cc7141427714fa80ac73 100644 (file)
@@ -1,5 +1,5 @@
-# init-package-version.m4 serial 4
-dnl Copyright (C) 1992-2022 Free Software Foundation, Inc.
+# init-package-version.m4 serial 3
+dnl Copyright (C) 1992-2021 Free Software Foundation, Inc.
 dnl This file is free software, distributed under the terms of the GNU
 dnl General Public License.  As a special exception to the GNU General
 dnl Public License, this file may be distributed as part of a program
@@ -79,7 +79,7 @@ dnl the same distribution terms as the rest of that program.
 # configure file:
 #
 #   make distclean
-#   ./autogen.sh
+#   ./autogen.sh --skip-gnulib
 #   ./configure
 #   make
 #