From: Mike Frysinger via Gdb-patches <gdb-patches@sourceware.org>
To: Simon Marchi <simon.marchi@polymtl.ca>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
Date: Fri, 18 Jun 2021 00:38:31 -0400 [thread overview]
Message-ID: <YMwjR8+SUF+vDJTW@vapier> (raw)
In-Reply-To: <5ece9821-45a3-14f6-33a1-3506b6efe72f@polymtl.ca>
On 17 Jun 2021 10:43, Simon Marchi via Gdb-patches wrote:
> On 2021-06-17 12:21 a.m., Mike Frysinger wrote:
> > On 16 Jun 2021 22:30, Simon Marchi wrote:
> >> On 2021-06-15 1:44 a.m., Mike Frysinger via Gdb-patches wrote:
> >>> These dirs don't use automake, so use AC_CONFIG_MACRO_DIRS to specify
> >>> ../config as a search dir for m4 macros. This allows removal of a lot
> >>> of hand-written m4_include's from acinclude.m4 files, and simplifies
> >>> use of `aclocal` or `autoreconf` as manual -I is not needed.
> >>
> >> For some reason, I get this when reconfiguring gdb:
> >>
> >> configure.ac:531: warning: macro 'AM_ICONV' not found in library
> >>
> >> The result looks ok, the resulting configure looks fine, but if you
> >> happen to know why...
> >
> > i don't know why automake is able to find some of the ../config/ m4 files
> > just fine, but a few others it barfs on. i don't see the warning because
> > i have gettext installed and automake finds the system iconv.m4.
>
> There seems to be a special case for printing that warning for AM_*
> macros:
>
> https://github.com/autotools-mirror/automake/blob/e7724fb1b7b97f662caf154414e6f71ffcbd966c/bin/aclocal.in#L528-L540
>
> I debugged aclocal as much as I could, and it seems to find AM_ICONV
> just fine, with --verbose I see:
>
> aclocal: found macro AM_ICONV in ../config/iconv.m4: 104
>
> Also, note that with `aclocal -I ../config` I do not see the warning...
> but aclocal does support AC_CONFIG_MACRO_DIRS, so this difference is
> surprising.
>
> So I'd be tempted to call that an aclocal bug, although a benign one.
oof, i agree, that smells like an aclocal bug. i'm not sure i'd call it benign
when it's indistinguishable from actual missing macros. for example:
$ echo AM_FOO >> configure.ac
$ aclocal
configure.ac:121: warning: macro 'AM_FOO' not found in library
$ echo $?
0
i think autoconf might fail (i hope that's always the case), but it feels a
bit wrong for it to be disconnected as such. and hopefully people always
check the exit code of their tools ;).
> I'd suggest still just doing the right thing and removing all the
> ../config/* includes, and just ignore the warnings. I'll try to open an
> automake bug or ask on the mailing list eventually.
this seems to go against our -Werror approach to things. i also suspect
it'll trip up devs who waste time trying to figure out why there's this
warning (and surely it's their problem because no one else in the project
would allow this to creep in), which means a snowball effect for people.
so all things considered, i think the explicit include to silence the
warning is the right trade-off. we can add some comments explaining
why they're there so that at least doesn't keep tripping us up.
how about at the top of acinclude.m4:
dnl NB: When possible, try to avoid explicit includes of ../config/ files.
dnl They're normally found by aclocal automatically and recorded in aclocal.m4.
dnl However, some are kept here explicitly to silence harmless warnings from
dnl aclocal when it finds AM_xxx macros via local search paths instead of
dnl system search paths.
-mike
next prev parent reply other threads:[~2021-06-18 4:39 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-09 1:24 [PATCH] gdb: add ../config/pkg.m4 in acinclude.m4 Simon Marchi via Gdb-patches
2021-05-09 20:00 ` Mike Frysinger via Gdb-patches
2021-05-10 0:16 ` Simon Marchi via Gdb-patches
2021-05-10 1:14 ` Mike Frysinger via Gdb-patches
2021-05-10 1:32 ` Simon Marchi via Gdb-patches
2021-05-10 13:25 ` Tom Tromey
2021-05-10 22:36 ` Mike Frysinger via Gdb-patches
2021-06-15 5:44 ` [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS Mike Frysinger via Gdb-patches
2021-06-17 2:30 ` Simon Marchi via Gdb-patches
2021-06-17 4:21 ` Mike Frysinger via Gdb-patches
2021-06-17 14:43 ` Simon Marchi via Gdb-patches
2021-06-18 4:38 ` Mike Frysinger via Gdb-patches [this message]
2021-06-18 13:22 ` Simon Marchi via Gdb-patches
2021-06-23 9:38 ` Pedro Alves
2021-06-23 22:26 ` Mike Frysinger via Gdb-patches
2021-06-24 18:45 ` Pedro Alves
2021-06-18 14:03 ` [PATCH v2] " Mike Frysinger via Gdb-patches
2021-06-20 0:48 ` Simon Marchi via Gdb-patches
2021-06-20 2:10 ` Mike Frysinger via Gdb-patches
2021-06-20 2:17 ` Simon Marchi via Gdb-patches
2021-06-20 2:22 ` [PATCH v3] " Mike Frysinger via Gdb-patches
2021-06-20 2:46 ` Simon Marchi via Gdb-patches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YMwjR8+SUF+vDJTW@vapier \
--to=gdb-patches@sourceware.org \
--cc=simon.marchi@polymtl.ca \
--cc=vapier@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox