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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
From e2a4935b45f273410e975ecf56ab26ad72855df0 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Wed, 2 Jul 2025 02:43:41 +0200
Subject: [PATCH 1/2] autoreconf: Invoke autopoint in more situations.
Reported in <https://savannah.gnu.org/support/?111272>.
* bin/autoreconf.in (autoreconf_current_directory): Invoke autopoint also when
the package uses AM_GNU_GETTEXT (without AM_GNU_GETTEXT_VERSION), AM_PO_SUBDIRS,
AM_ICONV, AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS, AC_LIB_LINKFLAGS_FROM_LIBS,
or GUILE_FLAGS.
---
bin/autoreconf.in | 80 ++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 76 insertions(+), 4 deletions(-)
diff --git a/bin/autoreconf.in b/bin/autoreconf.in
index a5ffc6fa..207900df 100644
--- bin/autoreconf.in
+++ bin/autoreconf.in
@@ -440,6 +440,8 @@ sub autoreconf_current_directory ($)
# ---------------------- #
my $uses_autoconf;
+ my $uses_liblink;
+ my $uses_iconv;
my $uses_gettext;
if (-f $configure_ac)
{
@@ -449,8 +451,13 @@ sub autoreconf_current_directory ($)
s/#.*//;
s/dnl.*//;
$uses_autoconf = 1 if /AC_INIT/;
+ $uses_liblink = 1 if /AC_LIB_HAVE_LINKFLAGS/;
+ $uses_liblink = 1 if /AC_LIB_LINKFLAGS/;
+ $uses_liblink = 1 if /AC_LIB_LINKFLAGS_FROM_LIBS/;
+ $uses_iconv = 1 if /AM_ICONV/;
# See below for why we look for gettext here.
- $uses_gettext = 1 if /^AM_GNU_GETTEXT_(?:REQUIRE_)?VERSION/;
+ $uses_gettext = 1 if /AM_GNU_GETTEXT/;
+ $uses_gettext = 1 if /AM_PO_SUBDIRS/;
}
if (!$uses_autoconf)
{
@@ -485,7 +492,7 @@ sub autoreconf_current_directory ($)
# Actually, it is even more restrictive, as it greps for
# '^AM_GNU_GETTEXT_(REQUIRE_)?VERSION('. We did this above, while
# scanning configure.ac.
- if (!$uses_gettext)
+ if (!$uses_liblink && !$uses_iconv && !$uses_gettext)
{
verb "$configure_ac: not using Gettext";
}
@@ -495,8 +502,21 @@ sub autoreconf_current_directory ($)
}
else
{
- xsystem_hint ("autopoint is needed because this package uses Gettext",
- $autopoint);
+ if ($uses_gettext)
+ {
+ xsystem_hint ("autopoint is needed because this package uses Gettext",
+ $autopoint);
+ }
+ elsif ($uses_iconv)
+ {
+ xsystem_hint ("autopoint is needed because this package uses AM_ICONV",
+ $autopoint);
+ }
+ elsif ($uses_liblink)
+ {
+ xsystem_hint ("autopoint is needed because this package uses AC_LIB_LINKFLAGS",
+ $autopoint);
+ }
}
@@ -576,6 +596,8 @@ sub autoreconf_current_directory ($)
# from the final autoconf invocation.
my $aux_dir;
my @aux_files;
+ my $uses_liblink_via_traces;
+ my $uses_iconv_via_traces;
my $uses_gettext_via_traces;
my $uses_libtool;
my $uses_intltool;
@@ -603,6 +625,11 @@ sub autoreconf_current_directory ($)
'AM_PROG_LIBTOOL',
'LT_INIT',
'LT_CONFIG_LTDL_DIR',
+ 'AC_LIB_LINKFLAGS',
+ 'AC_LIB_HAVE_LINKFLAGS',
+ 'AC_LIB_LINKFLAGS_FROM_LIBS',
+ 'GUILE_FLAGS',
+ 'AM_ICONV',
'AM_GNU_GETTEXT',
'AM_INIT_AUTOMAKE',
'GTK_DOC_CHECK',
@@ -617,6 +644,15 @@ sub autoreconf_current_directory ($)
$aux_dir = $args[0] if $macro eq "AC_CONFIG_AUX_DIR";
push @aux_files, $args[0] if $macro eq "AC_REQUIRE_AUX_FILE";
$uses_autoconf = 1 if $macro eq "AC_INIT";
+ # Here we need to explicitly test for GUILE_FLAGS, because in the
+ # typical situation where configure.ac invokes GUILE_FLAGS,
+ # guile.m4 defines GUILE_FLAGS and uses AC_LIB_LINKFLAGS_FROM_LIBS,
+ # the traces still for AC_LIB_LINKFLAGS_FROM_LIBS are empty.
+ $uses_liblink_via_traces = 1 if $macro eq "AC_LIB_LINKFLAGS"
+ || $macro eq "AC_LIB_HAVE_LINKFLAGS"
+ || $macro eq "AC_LIB_LINKFLAGS_FROM_LIBS"
+ || $macro eq "GUILE_FLAGS";
+ $uses_iconv_via_traces = 1 if $macro eq "AM_ICONV";
$uses_gettext_via_traces = 1 if $macro eq "AM_GNU_GETTEXT";
$uses_libtool = 1 if $macro eq "AC_PROG_LIBTOOL"
|| $macro eq "AM_PROG_LIBTOOL"
@@ -741,6 +777,42 @@ sub autoreconf_current_directory ($)
}
+ # --------------------------------------------- #
+ # Running autopoint, if not already run above. #
+ # --------------------------------------------- #
+
+ if (!$uses_liblink_via_traces && !$uses_iconv_via_traces && !$uses_gettext_via_traces)
+ {
+ verb "$configure_ac: not needing autopoint";
+ }
+ elsif (!$install)
+ {
+ verb "$configure_ac: not running autopoint: --install not given";
+ }
+ elsif ($uses_liblink || $uses_iconv || $uses_gettext)
+ {
+ verb "$configure_ac: not running autopoint a second time";
+ }
+ else
+ {
+ if ($uses_gettext_via_traces)
+ {
+ xsystem_hint ("autopoint is needed because this package uses Gettext",
+ $autopoint);
+ }
+ elsif ($uses_iconv_via_traces)
+ {
+ xsystem_hint ("autopoint is needed because this package uses AM_ICONV",
+ $autopoint);
+ }
+ elsif ($uses_liblink_via_traces)
+ {
+ xsystem_hint ("autopoint is needed because this package uses AC_LIB_LINKFLAGS",
+ $autopoint);
+ }
+ }
+
+
# ------------------- #
# Rerunning aclocal. #
# ------------------- #
--
2.43.0
|