]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Split autogen.sh into autopull.sh and autogen.sh.
authorBruno Haible <bruno@clisp.org>
Sun, 17 Jul 2022 14:50:33 +0000 (16:50 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 17 Jul 2022 21:24:57 +0000 (23:24 +0200)
* autopull.sh: New file, based on autogen.sh.
* autogen.sh: Remove code that was moved to autopull.sh. Remove --skip-gnulib
option.
* HACKING: Mention autopull.sh.
* libtextstyle/autopull.sh: New file, based on libtextstyle/autogen.sh.
* libtextstyle/autogen.sh: Remove code that was moved to
libtextstyle/autopull.sh. Remove --skip-gnulib option.
* libtextstyle/HACKING: Mention autopull.sh.
* libtextstyle/m4/init-package-version.m4: Update comment.

.gitignore
Admin/release-steps
HACKING
autogen.sh
autopull.sh [new file with mode: 0755]
libtextstyle/.gitignore
libtextstyle/HACKING
libtextstyle/autogen.sh
libtextstyle/autopull.sh [new file with mode: 0755]
libtextstyle/m4/init-package-version.m4

index ca05bb1f9cd6b1731202468e7eccad40980080c5..4d3bbb6c45b3afef42bac8171f041762c912d554 100644 (file)
 /build-aux/test-driver
 /build-aux/ylwrap
 
-# Other files brought in by autogen.sh:
+# Other files brought in by autopull.sh:
 /build-aux/config.guess
 /build-aux/config.sub
+
+# Other files brought in by autogen.sh:
 # Dummy ChangeLogs:
 /ChangeLog
 /gettext-runtime/ChangeLog
index 4497731a236cbab2572d98df4d626cbad4100cdd..e0efb54090bb75acb86f6b655dac609f7fb3eb95 100644 (file)
@@ -19,6 +19,7 @@ We assume that the following environment variables are set:
     # Forcing a specific version number, without having to set a git tag.
     echo $CURRENT_VERSION > .tarball-version
 
+    ./autopull.sh
     ./autogen.sh
     ./configure
     make
@@ -292,7 +293,7 @@ We assume that the following environment variables are set:
 ** Upload autopoint archive to alpha.gnu.org:
 
   This is needed to compile git master after the release (as
-  autogen.sh fetches the archive).
+  autopull.sh fetches the archive).
 
     xz -c -e < gettext-tools/misc/archive.dir.tar > archive.dir-$CURRENT_VERSION.tar.xz
     gnulib/build-aux/gnupload \
diff --git a/HACKING b/HACKING
index ec046369838976a2d0733a5217c193ceca929bad..1f2dea5818cdb10aa52cd6a780b1ab1f888a0828 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -350,12 +350,12 @@ https://savannah.gnu.org/git/?group=gettext .
 
 After fetching the sources from the Git repository, peek at the comments in
 autogen.sh, then run
-  ./gitsub.sh pull
+  ./autopull.sh
   ./autogen.sh
 Then you can proceed with "./configure" as usual.
 
 Each time you want to update the source, do not only "git pull".  Instead do
-  git pull && ./gitsub.sh pull
+  git pull && ./autopull.sh
   ./autogen.sh
 
 
index c3a7ef9e4933698fe1634a98d4238a6af7640656..b83cb929f555de284ab3f42576cb6aa93270f55d 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2003-2021 Free Software Foundation, Inc.
+# Copyright (C) 2003-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
 # This script requires:
 #   - Autoconf
 #   - Automake >= 1.13
-#   - Wget
-#   - XZ Utils
-# If not used from a released tarball, it also requires either
-#   - the GNULIB_SRCDIR environment variable pointing to a gnulib checkout, or
-#   - a preceding invocation of './gitsub.sh pull'.
-#
-# In addition, it fetches the archive.dir.tar.gz file, which contains
-# data files used by the autopoint program.  If you already have the
-# file, place it under gettext-tools/misc, before running this script.
-#
-# Usage: ./autogen.sh [--skip-gnulib]
+
+# Prerequisite (if not used from a released tarball): ./autopull.sh
+# Usage: ./autogen.sh
 
 # 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 $?
-fi
-
-# Fetch config.guess, config.sub.
-if test -n "$GNULIB_TOOL"; then
-  for file in config.guess config.sub; do
-    $GNULIB_TOOL --copy-file build-aux/$file && chmod a+x build-aux/$file || exit $?
-  done
-else
-  for file in config.guess config.sub; do
-    echo "$0: getting $file..."
-    wget -q --timeout=5 -O build-aux/$file.tmp "https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=build-aux/${file};hb=HEAD" \
-      && mv build-aux/$file.tmp build-aux/$file \
-      && chmod a+x build-aux/$file
-    retval=$?
-    rm -f build-aux/$file.tmp
-    test $retval -eq 0 || exit $retval
-  done
-fi
-
-# Fetch gettext-tools/misc/archive.dir.tar.
-if ! test -f gettext-tools/misc/archive.dir.tar; then
-  if ! test -f gettext-tools/misc/archive.dir.tar.xz; then
-    echo "$0: getting gettext-tools/misc/archive.dir.tar..."
-    wget -q --timeout=5 -O gettext-tools/misc/archive.dir.tar.xz-t "https://alpha.gnu.org/gnu/gettext/archive.dir-latest.tar.xz" \
-      && mv gettext-tools/misc/archive.dir.tar.xz-t gettext-tools/misc/archive.dir.tar.xz
-    retval=$?
-    rm -f gettext-tools/misc/archive.dir.tar.xz-t
-    test $retval -eq 0 || exit $retval
-  fi
-  xz -d -c < gettext-tools/misc/archive.dir.tar.xz > gettext-tools/misc/archive.dir.tar-t \
-    && mv gettext-tools/misc/archive.dir.tar-t gettext-tools/misc/archive.dir.tar
-  retval=$?
-  rm -f gettext-tools/misc/archive.dir.tar-t
-  test $retval -eq 0 || exit $retval
-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)
 
@@ -474,9 +71,7 @@ cd "$dir0"
 
 echo "$0: generating files in libtextstyle..."
 cd libtextstyle
-(if ! $skip_gnulib; then export GNULIB_SRCDIR; fi
- ./autogen.sh $skip_gnulib_option
-) || exit $?
+./autogen.sh || exit $?
 cd "$dir0"
 
 echo "$0: generating configure in gettext-tools/examples..."
diff --git a/autopull.sh b/autopull.sh
new file mode 100755 (executable)
index 0000000..ce47e59
--- /dev/null
@@ -0,0 +1,417 @@
+#!/bin/sh
+# Copyright (C) 2003-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/>.
+
+# Convenience script for fetching auxiliary files that are omitted from
+# the version control repository of this package.
+#
+# 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
+# file, place it under gettext-tools/misc, before running this script.
+
+# Usage: ./autopull.sh
+
+# 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
+
+# Fetch gettext-tools/misc/archive.dir.tar.
+if ! test -f gettext-tools/misc/archive.dir.tar; then
+  if ! test -f gettext-tools/misc/archive.dir.tar.xz; then
+    echo "$0: getting gettext-tools/misc/archive.dir.tar..."
+    wget -q --timeout=5 -O gettext-tools/misc/archive.dir.tar.xz-t "https://alpha.gnu.org/gnu/gettext/archive.dir-latest.tar.xz" \
+      && mv gettext-tools/misc/archive.dir.tar.xz-t gettext-tools/misc/archive.dir.tar.xz
+    retval=$?
+    rm -f gettext-tools/misc/archive.dir.tar.xz-t
+    test $retval -eq 0 || exit $retval
+  fi
+  xz -d -c < gettext-tools/misc/archive.dir.tar.xz > gettext-tools/misc/archive.dir.tar-t \
+    && mv gettext-tools/misc/archive.dir.tar-t gettext-tools/misc/archive.dir.tar
+  retval=$?
+  rm -f gettext-tools/misc/archive.dir.tar-t
+  test $retval -eq 0 || exit $retval
+fi
+
+dir0=`pwd`
+
+echo "$0: generating files in libtextstyle..."
+cd libtextstyle
+(export GNULIB_SRCDIR
+ ./autopull.sh $skip_gnulib_option
+) || exit $?
+cd "$dir0"
+
+echo "$0: done.  Now you can run './autogen.sh'."
index 6d1b9cf408f2ce95fecf92d3b32024fc0815fad7..781f7591016c1f3f9c6b759e6f9f878658636812 100644 (file)
 /build-aux/missing
 /build-aux/test-driver
 
-# Other files brought in by autogen.sh:
+# Other files brought in by autopull.sh:
 /INSTALL.windows
 /build-aux/config.guess
 /build-aux/config.sub
 /m4/ltversion.m4
 /m4/lt~obsolete.m4
 /m4/woe32-dll.m4
+
+# Other files brought in by autogen.sh:
 # Dummy ChangeLogs:
 /ChangeLog
 
index bb966faac92025f62621f7a85d986349f27787cd..76b6fb71b50f2223b98fd8698c4bec24dd238875 100644 (file)
@@ -93,8 +93,10 @@ Access to the git repository is described at
   https://savannah.gnu.org/git/?group=gettext
 
 After fetching the sources from the repository, go into the 'libtextstyle'
-directory, peek at the comments in autogen.sh, then run "./autogen.sh";
-then you can proceed with "./configure" as usual.
+directory, peek at the comments in autogen.sh, then run
+  ./autopull.sh
+  ./autogen.sh
+Then you can proceed with "./configure" as usual.
 
 
 Submitting patches
index 6208751956372c4cb03e22e01e8ccea82094d924..2a6c5863e0d62029ae187de3c616e242a9c59cbf 100755 (executable)
@@ -5,10 +5,8 @@
 # with new versions of autoconf or automake.
 #
 # This script requires autoconf-2.64..2.71 and automake-1.11..1.16 in the PATH.
-# If not used from a released tarball, it also requires
-#   - the GNULIB_SRCDIR environment variable pointing to a gnulib checkout.
 
-# Copyright (C) 2003-2021 Free Software Foundation, Inc.
+# Copyright (C) 2003-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
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-# Usage: ./autogen.sh [--skip-gnulib]
-#
-# Usage from a git checkout:                 ./autogen.sh
-# This uses an up-to-date gnulib checkout.
-#
-# Usage from a released tarball:             ./autogen.sh --skip-gnulib
-# This does not use a gnulib checkout.
-
-skip_gnulib=false
-while :; do
-  case "$1" in
-    --skip-gnulib) skip_gnulib=true; shift;;
-    *) break ;;
-  esac
-done
-
-TEXINFO_VERSION=6.5
-
-if test $skip_gnulib = false; then
-  mkdir -p build-aux
-  # texinfo.tex
-  # The most recent snapshot of it is available in the gnulib repository.
-  # But this is a snapshot, with all possible dangers.
-  # A stable release of it is available through "automake --add-missing --copy",
-  # but that depends on the Automake version. So take the version which matches
-  # the latest stable texinfo release.
-  if test ! -f build-aux/texinfo.tex; then
-    { wget -q --timeout=5 -O build-aux/texinfo.tex.tmp 'https://git.savannah.gnu.org/gitweb/?p=texinfo.git;a=blob_plain;f=doc/texinfo.tex;hb=refs/tags/texinfo-'"$TEXINFO_VERSION" \
-        && 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
-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/
+# Prerequisite (if not used from a released tarball): ./autopull.sh
+# Usage: ./autogen.sh
 
 aclocal -I m4 -I gnulib-m4
 autoconf
diff --git a/libtextstyle/autopull.sh b/libtextstyle/autopull.sh
new file mode 100755 (executable)
index 0000000..aebf333
--- /dev/null
@@ -0,0 +1,107 @@
+#!/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.
+#
+# 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/>.
+
+# Usage: ./autopull.sh
+
+TEXINFO_VERSION=6.5
+
+mkdir -p build-aux
+# texinfo.tex
+# The most recent snapshot of it is available in the gnulib repository.
+# But this is a snapshot, with all possible dangers.
+# A stable release of it is available through "automake --add-missing --copy",
+# but that depends on the Automake version. So take the version which matches
+# the latest stable texinfo release.
+if test ! -f build-aux/texinfo.tex; then
+  { wget -q --timeout=5 -O build-aux/texinfo.tex.tmp 'https://git.savannah.gnu.org/gitweb/?p=texinfo.git;a=blob_plain;f=doc/texinfo.tex;hb=refs/tags/texinfo-'"$TEXINFO_VERSION" \
+      && 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 823afc6f77e9bcaa5e82cc7141427714fa80ac73..f9916aa26fd5ce35ddc17c06ed989d6132637cb2 100644 (file)
@@ -1,5 +1,5 @@
-# init-package-version.m4 serial 3
-dnl Copyright (C) 1992-2021 Free Software Foundation, Inc.
+# init-package-version.m4 serial 4
+dnl Copyright (C) 1992-2022 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 --skip-gnulib
+#   ./autogen.sh
 #   ./configure
 #   make
 #