hc
2024-07-02 39af2116d7581c9a12be9e73bb6bdc31496495ef
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
From e4b3a3f56fa6fc2a51769e286545f0631bb4837c Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sat, 18 May 2019 23:33:06 +0200
Subject: [PATCH] build: Restore the ability to build gettext-tools separately, part 1.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
 
Reported by Hanspeter Niederstrasser <nieder@users.sourceforge.net>
in <https://savannah.gnu.org/bugs/?56333>.
 
Code based on patch by Miguel Ángel Arruga Vivas <rosen644835@gmail.com>.
 
* autogen.sh: Copy libtextstyle.m4 for use by gettext-tools.
* gettext-tools/configure.ac: New option --with-installed-libtextstyle.
(USE_INSTALLED_LIBTEXTSTYLE): New conditional.
* gettext-tools/src/Makefile.am (textstyle.h): Disable rule if
USE_INSTALLED_LIBTEXTSTYLE is true.
(LT_LIBTEXTSTYLE): New variable.
(libgettextsrc_la_LDFLAGS): Use it instead of hardcoding a relative filename of
libtextstyle.la.
* configure.ac: Filter out --with-installed-libtextstyle from inherited --help
output.
* Makefile.am (distcheck-hook): Compare different copies of libtextstyle.m4.
* PACKAGING: Document that gettext-tools's configure needs to be invoked with
--with-installed-libtextstyle.
 
Upstream-status: committed.
https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=e4b3a3f56fa6fc2a51769e286545f0631bb4837c
 
Signed-off-by: Bruno Haible <bruno@clisp.org>
[Backported to 0.20.1]
Signed-off-by: Adam Duskett <Aduskett@gmail.com>
---
 PACKAGING                     |  2 +-
 autogen.sh                    |  1 +
 configure.ac                  |  2 +-
 gettext-tools/configure.ac    | 16 ++++++++++++++++
 gettext-tools/src/Makefile.am |  8 +++++++-
 5 files changed, 26 insertions(+), 3 deletions(-)
 
diff --git a/PACKAGING b/PACKAGING
index a8ce979..52b80ac 100644
--- a/PACKAGING
+++ b/PACKAGING
@@ -42,7 +42,7 @@ The 'libtextstyle' binary package can be installed by doing
 The 'gettext-tools' binary package can be installed by doing
 
       cd gettext-tools
-      ./configure
+      ./configure --with-installed-libtextstyle
       make
       make install
 
diff --git a/autogen.sh b/autogen.sh
index 5c28b6f..2ccf373 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -268,6 +268,7 @@ if ! $skip_gnulib; then
   $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=array-list-tests --avoid=linkedhash-list-tests --avoid=hash-tests --avoid=fdutimensat-tests --avoid=futimens-tests --avoid=utime-tests --avoid=utimens-tests --avoid=utimensat-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
diff --git a/configure.ac b/configure.ac
index 38db6fd..0c84bdd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -49,7 +49,7 @@ AC_CANONICAL_HOST
 dnl Optional Features: AC_ARG_ENABLE calls
 dnl Optional Packages: AC_ARG_WITH calls
 dnl Some influential environment variables: AC_ARG_VAR calls
-esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd libtextstyle && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | sed -f build-aux/ac-help.sed ])
+esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd libtextstyle && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.libtextstyle; } | sed -f build-aux/ac-help.sed ])
 
 AC_CONFIG_FILES([Makefile])
 
diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac
index cf1dd73..a6816b8 100644
--- a/gettext-tools/configure.ac
+++ b/gettext-tools/configure.ac
@@ -121,6 +121,22 @@ AM_CONDITIONAL([PACKAGE_IS_GETTEXT_TOOLS], [true])
 AM_CONDITIONAL([PRELOADABLE_LIBINTL],
   [test $USE_INCLUDED_LIBINTL = no && test $GLIBC2 = yes])
 
+dnl This option allows to build gettext-tools without (re)building libtextstyle.
+AC_ARG_WITH([installed-libtextstyle],
+  [AS_HELP_STRING([--with-installed-libtextstyle],
+     [Use an already installed libtextstyle.])],
+  [gt_use_installed_libtextstyle=$withval],
+  [gt_use_installed_libtextstyle=no])
+if test "$gt_use_installed_libtextstyle" != no; then
+  gl_LIBTEXTSTYLE
+else
+  test -f ../libtextstyle/Makefile || {
+    AC_MSG_ERROR([When building the gettext-tools package without building the entire gettext package, you need to pass the --with-installed-libtextstyle option to configure.])
+  }
+fi
+AM_CONDITIONAL([USE_INSTALLED_LIBTEXTSTYLE],
+  [test "$gt_use_installed_libtextstyle" != no])
+
 dnl This line internationalizes the bison generated parsers.
 BISON_I18N
 
diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am
index b98b7ab..af3dcee 100644
--- a/gettext-tools/src/Makefile.am
+++ b/gettext-tools/src/Makefile.am
@@ -250,6 +250,9 @@ cldr_plurals_SOURCES = cldr-plural.y cldr-plural-exp.c cldr-plurals.c
 cldr_plurals_CFLAGS = $(AM_CFLAGS) $(INCXML)
 cldr_plurals_LDADD = libgettextsrc.la $(LDADD)
 
+if USE_INSTALLED_LIBTEXTSTYLE
+LT_LIBTEXTSTYLE = @LTLIBTEXTSTYLE@
+else
 # How to get the include files of libtextstyle.
 textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h:
     here=`pwd`; \
@@ -257,6 +260,9 @@ textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h:
       $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS includedir="$$here"
 BUILT_SOURCES    += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h
 MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h
+# Where to find the built libtextstyle library.
+LT_LIBTEXTSTYLE = ../../libtextstyle/lib/libtextstyle.la
+endif
 
 # How to build libgettextsrc.la.
 # Need ../gnulib-lib/libgettextlib.la.
@@ -268,7 +274,7 @@ MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyl
 # use iconv().
 libgettextsrc_la_LDFLAGS = \
   -release @VERSION@ \
-  ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) ../../libtextstyle/lib/libtextstyle.la @LTLIBINTL@ @LTLIBICONV@ -lc -no-undefined
+  ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) $(LT_LIBTEXTSTYLE) @LTLIBINTL@ @LTLIBICONV@ -lc -no-undefined
 
 # OS/2 does not support a DLL name longer than 8 characters.
 if OS2
-- 
2.24.1