summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rwxr-xr-xautogen.sh397
-rwxr-xr-xautopull.sh362
-rw-r--r--libtextstyle/.gitignore6
-rwxr-xr-xlibtextstyle/autogen.sh94
-rwxr-xr-xlibtextstyle/autopull.sh72
-rw-r--r--libtextstyle/m4/init-package-version.m46
7 files changed, 489 insertions, 452 deletions
diff --git a/.gitignore b/.gitignore
index 4d3bbb6c4..ca05bb1f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -341,11 +341,9 @@
/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
diff --git a/autogen.sh b/autogen.sh
index b83cb929f..5aa2a0c71 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -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
@@ -14,19 +21,389 @@
# 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..."
diff --git a/autopull.sh b/autopull.sh
index ce47e5980..df98f23df 100755
--- a/autopull.sh
+++ b/autopull.sh
@@ -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
@@ -32,361 +30,7 @@
# 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'."
diff --git a/libtextstyle/.gitignore b/libtextstyle/.gitignore
index 781f75910..31748d057 100644
--- a/libtextstyle/.gitignore
+++ b/libtextstyle/.gitignore
@@ -262,6 +262,9 @@
/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
@@ -269,7 +272,6 @@
/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
@@ -280,8 +282,6 @@
/m4/ltversion.m4
/m4/lt~obsolete.m4
/m4/woe32-dll.m4
-
-# Other files brought in by autogen.sh:
# Dummy ChangeLogs:
/ChangeLog
diff --git a/libtextstyle/autogen.sh b/libtextstyle/autogen.sh
index 2a6c5863e..291da4a62 100755
--- a/libtextstyle/autogen.sh
+++ b/libtextstyle/autogen.sh
@@ -21,8 +21,98 @@
# 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
diff --git a/libtextstyle/autopull.sh b/libtextstyle/autopull.sh
index aebf3330f..36d26d447 100755
--- a/libtextstyle/autopull.sh
+++ b/libtextstyle/autopull.sh
@@ -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/
diff --git a/libtextstyle/m4/init-package-version.m4 b/libtextstyle/m4/init-package-version.m4
index f9916aa26..823afc6f7 100644
--- a/libtextstyle/m4/init-package-version.m4
+++ b/libtextstyle/m4/init-package-version.m4
@@ -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
#