public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] gdb: add ../config/pkg.m4 in acinclude.m4
@ 2021-05-09  1:24 Simon Marchi
  2021-05-09 20:00 ` Mike Frysinger
  0 siblings, 1 reply; 22+ messages in thread
From: Simon Marchi @ 2021-05-09  1:24 UTC (permalink / raw)
  To: gdb-patches

Since commit adeab0c5b33f ("config/debuginfod: do not include pkg.m4
directly"), it no longer works to re-generate the autoconf stuff in GDB
without passing "-I ../config":

    $ autoreconf -f
    configure.ac:161: error: possibly undefined macro: AC_MSG_ERROR
          If this token and others are legitimate, please use m4_pattern_allow.
          See the Autoconf documentation.
    configure.ac:329: error: possibly undefined macro: AC_MSG_WARN
    configure.ac:409: error: possibly undefined macro: AC_DEFINE
    autoreconf: /opt/autostuff/2.69/bin/autoconf failed with exit status: 1

The reason is: since that commit, the PKG_CHECK_MODULES macro is not
found.  When passing "-I ../config" to the autoconf tools, then it's
found.  But if I understand correctly, the reason why we have all these
includes in acinclude.m4 is to avoid having to specify that, to make the
default invocation without special arguments "just work".

So, add pkg.m4 to that list.

gdb/ChangeLog:

	* acinclude.m4: Include ../config/pkg.m4.
	* aclocal.m4: Re-generate.

Change-Id: I6c6ca833f225b6e9b954ae80f1ebc2e735dee4e4
---
 gdb/acinclude.m4 | 3 +++
 gdb/aclocal.m4   | 1 -
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4
index 68520d6d9381..49704c5e7e3a 100644
--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -78,6 +78,9 @@ m4_include(ax_cxx_compile_stdcxx.m4)
 
 m4_include([../config/ax_pthread.m4])
 
+dnl For PKG_CHECK_MODULES, used by debuginfod configury code.
+m4_include([../config/pkg.m4])
+
 dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva 
 dnl Version 1.3 (2001/03/02)
 dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
index cbea739c0e51..110b416e6156 100644
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -199,5 +199,4 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
-m4_include([../config/pkg.m4])
 m4_include([acinclude.m4])
-- 
2.30.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb: add ../config/pkg.m4 in acinclude.m4
  2021-05-09  1:24 [PATCH] gdb: add ../config/pkg.m4 in acinclude.m4 Simon Marchi
@ 2021-05-09 20:00 ` Mike Frysinger
  2021-05-10  0:16   ` Simon Marchi
  0 siblings, 1 reply; 22+ messages in thread
From: Mike Frysinger @ 2021-05-09 20:00 UTC (permalink / raw)
  To: Simon Marchi; +Cc: gdb-patches

On 08 May 2021 21:24, Simon Marchi via Gdb-patches wrote:
> Since commit adeab0c5b33f ("config/debuginfod: do not include pkg.m4
> directly"), it no longer works to re-generate the autoconf stuff in GDB
> without passing "-I ../config":
> 
>     $ autoreconf -f
>     configure.ac:161: error: possibly undefined macro: AC_MSG_ERROR
>           If this token and others are legitimate, please use m4_pattern_allow.
>           See the Autoconf documentation.
>     configure.ac:329: error: possibly undefined macro: AC_MSG_WARN
>     configure.ac:409: error: possibly undefined macro: AC_DEFINE
>     autoreconf: /opt/autostuff/2.69/bin/autoconf failed with exit status: 1
> 
> The reason is: since that commit, the PKG_CHECK_MODULES macro is not
> found.  When passing "-I ../config" to the autoconf tools, then it's
> found.  But if I understand correctly, the reason why we have all these
> includes in acinclude.m4 is to avoid having to specify that, to make the
> default invocation without special arguments "just work".

how about this instead ?  i can run `aclocal && autoconf` with this.

--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl Process this file with autoconf to produce a configure script.
 
-m4_include(../config/debuginfod.m4)
-
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([main.c])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 AM_MAINTAINER_MODE
-mike

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb: add ../config/pkg.m4 in acinclude.m4
  2021-05-09 20:00 ` Mike Frysinger
@ 2021-05-10  0:16   ` Simon Marchi
  2021-05-10  1:14     ` Mike Frysinger
  0 siblings, 1 reply; 22+ messages in thread
From: Simon Marchi @ 2021-05-10  0:16 UTC (permalink / raw)
  To: gdb-patches

On 2021-05-09 4:00 p.m., Mike Frysinger wrote:
> On 08 May 2021 21:24, Simon Marchi via Gdb-patches wrote:
>> Since commit adeab0c5b33f ("config/debuginfod: do not include pkg.m4
>> directly"), it no longer works to re-generate the autoconf stuff in GDB
>> without passing "-I ../config":
>>
>>     $ autoreconf -f
>>     configure.ac:161: error: possibly undefined macro: AC_MSG_ERROR
>>           If this token and others are legitimate, please use m4_pattern_allow.
>>           See the Autoconf documentation.
>>     configure.ac:329: error: possibly undefined macro: AC_MSG_WARN
>>     configure.ac:409: error: possibly undefined macro: AC_DEFINE
>>     autoreconf: /opt/autostuff/2.69/bin/autoconf failed with exit status: 1
>>
>> The reason is: since that commit, the PKG_CHECK_MODULES macro is not
>> found.  When passing "-I ../config" to the autoconf tools, then it's
>> found.  But if I understand correctly, the reason why we have all these
>> includes in acinclude.m4 is to avoid having to specify that, to make the
>> default invocation without special arguments "just work".
> 
> how about this instead ?  i can run `aclocal && autoconf` with this.
> 
> --- a/gdb/configure.ac
> +++ b/gdb/configure.ac
> @@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
>  
>  dnl Process this file with autoconf to produce a configure script.
>  
> -m4_include(../config/debuginfod.m4)
> -
>  AC_INIT
> +AC_CONFIG_MACRO_DIRS([../config])
>  AC_CONFIG_SRCDIR([main.c])
>  AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
>  AM_MAINTAINER_MODE
> -mike
> 

Ah yes, that sounds much better.  If we have this, could we remove all
lines in acinclude.m4 that refer to a file in ../config?

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb: add ../config/pkg.m4 in acinclude.m4
  2021-05-10  0:16   ` Simon Marchi
@ 2021-05-10  1:14     ` Mike Frysinger
  2021-05-10  1:32       ` Simon Marchi
  0 siblings, 1 reply; 22+ messages in thread
From: Mike Frysinger @ 2021-05-10  1:14 UTC (permalink / raw)
  To: Simon Marchi; +Cc: gdb-patches

On 09 May 2021 20:16, Simon Marchi via Gdb-patches wrote:
> On 2021-05-09 4:00 p.m., Mike Frysinger wrote:
> > On 08 May 2021 21:24, Simon Marchi via Gdb-patches wrote:
> >> Since commit adeab0c5b33f ("config/debuginfod: do not include pkg.m4
> >> directly"), it no longer works to re-generate the autoconf stuff in GDB
> >> without passing "-I ../config":
> >>
> >>     $ autoreconf -f
> >>     configure.ac:161: error: possibly undefined macro: AC_MSG_ERROR
> >>           If this token and others are legitimate, please use m4_pattern_allow.
> >>           See the Autoconf documentation.
> >>     configure.ac:329: error: possibly undefined macro: AC_MSG_WARN
> >>     configure.ac:409: error: possibly undefined macro: AC_DEFINE
> >>     autoreconf: /opt/autostuff/2.69/bin/autoconf failed with exit status: 1
> >>
> >> The reason is: since that commit, the PKG_CHECK_MODULES macro is not
> >> found.  When passing "-I ../config" to the autoconf tools, then it's
> >> found.  But if I understand correctly, the reason why we have all these
> >> includes in acinclude.m4 is to avoid having to specify that, to make the
> >> default invocation without special arguments "just work".
> > 
> > how about this instead ?  i can run `aclocal && autoconf` with this.
> > 
> > --- a/gdb/configure.ac
> > +++ b/gdb/configure.ac
> > @@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
> >  
> >  dnl Process this file with autoconf to produce a configure script.
> >  
> > -m4_include(../config/debuginfod.m4)
> > -
> >  AC_INIT
> > +AC_CONFIG_MACRO_DIRS([../config])
> >  AC_CONFIG_SRCDIR([main.c])
> >  AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
> >  AM_MAINTAINER_MODE
> 
> Ah yes, that sounds much better.  If we have this, could we remove all
> lines in acinclude.m4 that refer to a file in ../config?

we can remove most, but not all.  there seems to be some bugs in aclocal where
it warns about not finding a few of the macros, but it actually does.  probably
worth leaving the explicit includes so as to not confuse devs.

updated patch below
-mike

--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -21,49 +21,12 @@ m4_include(../gdbsupport/selftest.m4)
 dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
 m4_include(../bfd/bfd.m4)
 
-dnl This gets the standard macros.
-m4_include(../config/acinclude.m4)
-
-dnl This gets GCC_ENABLE.
-sinclude(../config/enable.m4)
-
-dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
-m4_include(../config/plugins.m4)
-
-dnl For ACX_LARGEFILE.
-m4_include(../config/largefile.m4)
-
-dnl For AM_SET_LEADING_DOT.
-m4_include(../config/lead-dot.m4)
-
-dnl This gets autoconf bugfixes.
-m4_include(../config/override.m4)
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-dnl for TCL definitions
-m4_include(../config/tcl.m4)
-
-dnl For dependency tracking macros.
-m4_include([../config/depstand.m4])
-
 dnl For AM_LC_MESSAGES
 m4_include([../config/lcmessage.m4])
 
 dnl For AM_LANGINFO_CODESET.
 m4_include([../config/codeset.m4])
 
-m4_include([../config/iconv.m4])
-
 m4_include([../config/zlib.m4])
 
 m4_include([../gdbsupport/common.m4])
@@ -76,8 +39,6 @@ m4_include(../gdbsupport/ptrace.m4)
 
 m4_include(ax_cxx_compile_stdcxx.m4)
 
-m4_include([../config/ax_pthread.m4])
-
 dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva 
 dnl Version 1.3 (2001/03/02)
 dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -199,5 +199,20 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/debuginfod.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/enable.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/iconv.m4])
+m4_include([../config/largefile.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/override.m4])
 m4_include([../config/pkg.m4])
+m4_include([../config/plugins.m4])
+m4_include([../config/tcl.m4])
 m4_include([acinclude.m4])
--- a/gdb/configure
+++ b/gdb/configure
@@ -2990,6 +2990,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl Process this file with autoconf to produce a configure script.
 
-m4_include(../config/debuginfod.m4)
-
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([main.c])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 AM_MAINTAINER_MODE

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb: add ../config/pkg.m4 in acinclude.m4
  2021-05-10  1:14     ` Mike Frysinger
@ 2021-05-10  1:32       ` Simon Marchi
  2021-05-10 13:25         ` Tom Tromey
  2021-05-10 22:36         ` Mike Frysinger
  0 siblings, 2 replies; 22+ messages in thread
From: Simon Marchi @ 2021-05-10  1:32 UTC (permalink / raw)
  To: gdb-patches



On 2021-05-09 9:14 p.m., Mike Frysinger wrote:
> On 09 May 2021 20:16, Simon Marchi via Gdb-patches wrote:
>> On 2021-05-09 4:00 p.m., Mike Frysinger wrote:
>>> On 08 May 2021 21:24, Simon Marchi via Gdb-patches wrote:
>>>> Since commit adeab0c5b33f ("config/debuginfod: do not include pkg.m4
>>>> directly"), it no longer works to re-generate the autoconf stuff in GDB
>>>> without passing "-I ../config":
>>>>
>>>>     $ autoreconf -f
>>>>     configure.ac:161: error: possibly undefined macro: AC_MSG_ERROR
>>>>           If this token and others are legitimate, please use m4_pattern_allow.
>>>>           See the Autoconf documentation.
>>>>     configure.ac:329: error: possibly undefined macro: AC_MSG_WARN
>>>>     configure.ac:409: error: possibly undefined macro: AC_DEFINE
>>>>     autoreconf: /opt/autostuff/2.69/bin/autoconf failed with exit status: 1
>>>>
>>>> The reason is: since that commit, the PKG_CHECK_MODULES macro is not
>>>> found.  When passing "-I ../config" to the autoconf tools, then it's
>>>> found.  But if I understand correctly, the reason why we have all these
>>>> includes in acinclude.m4 is to avoid having to specify that, to make the
>>>> default invocation without special arguments "just work".
>>>
>>> how about this instead ?  i can run `aclocal && autoconf` with this.
>>>
>>> --- a/gdb/configure.ac
>>> +++ b/gdb/configure.ac
>>> @@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
>>>  
>>>  dnl Process this file with autoconf to produce a configure script.
>>>  
>>> -m4_include(../config/debuginfod.m4)
>>> -
>>>  AC_INIT
>>> +AC_CONFIG_MACRO_DIRS([../config])
>>>  AC_CONFIG_SRCDIR([main.c])
>>>  AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
>>>  AM_MAINTAINER_MODE
>>
>> Ah yes, that sounds much better.  If we have this, could we remove all
>> lines in acinclude.m4 that refer to a file in ../config?
> 
> we can remove most, but not all.  there seems to be some bugs in aclocal where
> it warns about not finding a few of the macros, but it actually does.  probably
> worth leaving the explicit includes so as to not confuse devs.
> 
> updated patch below
> -mike
> 
> --- a/gdb/acinclude.m4
> +++ b/gdb/acinclude.m4
> @@ -21,49 +21,12 @@ m4_include(../gdbsupport/selftest.m4)
>  dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
>  m4_include(../bfd/bfd.m4)
>  
> -dnl This gets the standard macros.
> -m4_include(../config/acinclude.m4)
> -
> -dnl This gets GCC_ENABLE.
> -sinclude(../config/enable.m4)
> -
> -dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
> -m4_include(../config/plugins.m4)
> -
> -dnl For ACX_LARGEFILE.
> -m4_include(../config/largefile.m4)
> -
> -dnl For AM_SET_LEADING_DOT.
> -m4_include(../config/lead-dot.m4)
> -
> -dnl This gets autoconf bugfixes.
> -m4_include(../config/override.m4)
> -
> -dnl For ZW_GNU_GETTEXT_SISTER_DIR.
> -m4_include(../config/gettext-sister.m4)
> -
> -dnl For AC_LIB_HAVE_LINKFLAGS.
> -m4_include(../config/lib-ld.m4)
> -m4_include(../config/lib-prefix.m4)
> -m4_include(../config/lib-link.m4)
> -
> -dnl For ACX_PKGVERSION and ACX_BUGURL.
> -m4_include(../config/acx.m4)
> -
> -dnl for TCL definitions
> -m4_include(../config/tcl.m4)
> -
> -dnl For dependency tracking macros.
> -m4_include([../config/depstand.m4])
> -
>  dnl For AM_LC_MESSAGES
>  m4_include([../config/lcmessage.m4])
>  
>  dnl For AM_LANGINFO_CODESET.
>  m4_include([../config/codeset.m4])
>  
> -m4_include([../config/iconv.m4])
> -
>  m4_include([../config/zlib.m4])
>  
>  m4_include([../gdbsupport/common.m4])
> @@ -76,8 +39,6 @@ m4_include(../gdbsupport/ptrace.m4)
>  
>  m4_include(ax_cxx_compile_stdcxx.m4)
>  
> -m4_include([../config/ax_pthread.m4])
> -
>  dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva 
>  dnl Version 1.3 (2001/03/02)
>  dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
> --- a/gdb/aclocal.m4
> +++ b/gdb/aclocal.m4
> @@ -199,5 +199,20 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
>  # Public sister of _AM_SUBST_NOTMAKE.
>  AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
>  
> +m4_include([../config/acx.m4])
> +m4_include([../config/ax_pthread.m4])
> +m4_include([../config/debuginfod.m4])
> +m4_include([../config/depstand.m4])
> +m4_include([../config/enable.m4])
> +m4_include([../config/gettext-sister.m4])
> +m4_include([../config/iconv.m4])
> +m4_include([../config/largefile.m4])
> +m4_include([../config/lead-dot.m4])
> +m4_include([../config/lib-ld.m4])
> +m4_include([../config/lib-link.m4])
> +m4_include([../config/lib-prefix.m4])
> +m4_include([../config/override.m4])
>  m4_include([../config/pkg.m4])
> +m4_include([../config/plugins.m4])
> +m4_include([../config/tcl.m4])
>  m4_include([acinclude.m4])
> --- a/gdb/configure
> +++ b/gdb/configure
> @@ -2990,6 +2990,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
>  
>  
>  
> +
>  ac_config_headers="$ac_config_headers config.h:config.in"
>  
>  
> --- a/gdb/configure.ac
> +++ b/gdb/configure.ac
> @@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
>  
>  dnl Process this file with autoconf to produce a configure script.
>  
> -m4_include(../config/debuginfod.m4)
> -
>  AC_INIT
> +AC_CONFIG_MACRO_DIRS([../config])
>  AC_CONFIG_SRCDIR([main.c])
>  AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
>  AM_MAINTAINER_MODE
> 

Seeing that there is no significant change to the generated configure,
that LGTM.  However, it would be good to maybe wait for Tom Tromey's
approval, he has more experience with this.

Also, the same should be applied to gdbsupport and gdbserver.

Simon

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb: add ../config/pkg.m4 in acinclude.m4
  2021-05-10  1:32       ` Simon Marchi
@ 2021-05-10 13:25         ` Tom Tromey
  2021-05-10 22:36         ` Mike Frysinger
  1 sibling, 0 replies; 22+ messages in thread
From: Tom Tromey @ 2021-05-10 13:25 UTC (permalink / raw)
  To: Simon Marchi via Gdb-patches

>>>>> "Simon" == Simon Marchi via Gdb-patches <gdb-patches@sourceware.org> writes:

Simon> Seeing that there is no significant change to the generated configure,
Simon> that LGTM.  However, it would be good to maybe wait for Tom Tromey's
Simon> approval, he has more experience with this.

Looks good to me.
I didn't know about AC_CONFIG_MACRO_DIR.

thanks,
Tom

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb: add ../config/pkg.m4 in acinclude.m4
  2021-05-10  1:32       ` Simon Marchi
  2021-05-10 13:25         ` Tom Tromey
@ 2021-05-10 22:36         ` Mike Frysinger
  2021-06-15  5:44           ` [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS Mike Frysinger
  1 sibling, 1 reply; 22+ messages in thread
From: Mike Frysinger @ 2021-05-10 22:36 UTC (permalink / raw)
  To: Simon Marchi; +Cc: gdb-patches

On 09 May 2021 21:32, Simon Marchi via Gdb-patches wrote:
> Also, the same should be applied to gdbsupport and gdbserver.

hmm, not sure about gdbsupport.  it's using automake and has:
Makefile.am:ACLOCAL_AMFLAGS = -I . -I ../config

here's the gdbserver changes after `aclocal && autoconf`:

--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -21,49 +21,12 @@ m4_include(../gdbsupport/selftest.m4)
 dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
 m4_include(../bfd/bfd.m4)
 
-dnl This gets the standard macros.
-m4_include(../config/acinclude.m4)
-
-dnl This gets GCC_ENABLE.
-sinclude(../config/enable.m4)
-
-dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
-m4_include(../config/plugins.m4)
-
-dnl For ACX_LARGEFILE.
-m4_include(../config/largefile.m4)
-
-dnl For AM_SET_LEADING_DOT.
-m4_include(../config/lead-dot.m4)
-
-dnl This gets autoconf bugfixes.
-m4_include(../config/override.m4)
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-dnl for TCL definitions
-m4_include(../config/tcl.m4)
-
-dnl For dependency tracking macros.
-m4_include([../config/depstand.m4])
-
 dnl For AM_LC_MESSAGES
 m4_include([../config/lcmessage.m4])
 
 dnl For AM_LANGINFO_CODESET.
 m4_include([../config/codeset.m4])
 
-m4_include([../config/iconv.m4])
-
 m4_include([../config/zlib.m4])
 
 m4_include([../gdbsupport/common.m4])
@@ -76,8 +39,6 @@ m4_include(../gdbsupport/ptrace.m4)
 
 m4_include(ax_cxx_compile_stdcxx.m4)
 
-m4_include([../config/ax_pthread.m4])
-
 dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva 
 dnl Version 1.3 (2001/03/02)
 dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -199,5 +199,20 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/debuginfod.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/enable.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/iconv.m4])
+m4_include([../config/largefile.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/override.m4])
 m4_include([../config/pkg.m4])
+m4_include([../config/plugins.m4])
+m4_include([../config/tcl.m4])
 m4_include([acinclude.m4])
--- a/gdb/configure
+++ b/gdb/configure
@@ -2990,6 +2990,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl Process this file with autoconf to produce a configure script.
 
-m4_include(../config/debuginfod.m4)
-
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([main.c])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 AM_MAINTAINER_MODE
--- a/gdbserver/acinclude.m4
+++ b/gdbserver/acinclude.m4
@@ -4,20 +4,6 @@ m4_include(../bfd/bfd.m4)
 dnl This gets AM_GDB_WARNINGS.
 m4_include(../gdbsupport/warning.m4)
 
-dnl This gets autoconf bugfixes
-m4_include(../config/override.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-m4_include(../config/depstand.m4)
-m4_include(../config/lead-dot.m4)
-
-dnl Needed for common.m4
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
 dnl codeset.m4 is needed for common.m4, but not for
 dnl anything else in gdbserver.
 m4_include(../config/codeset.m4)
@@ -34,11 +20,6 @@ m4_include(../gdb/ax_cxx_compile_stdcxx.m4)
 dnl For GDB_AC_SELFTEST.
 m4_include(../gdbsupport/selftest.m4)
 
-m4_include([../config/ax_pthread.m4])
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
 dnl Check for existence of a type $1 in libthread_db.h
 dnl Based on BFD_HAVE_SYS_PROCFS_TYPE in bfd/bfd.m4.
 
--- a/gdbserver/aclocal.m4
+++ b/gdbserver/aclocal.m4
@@ -199,4 +199,13 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/override.m4])
 m4_include([acinclude.m4])
--- a/gdbserver/configure
+++ b/gdbserver/configure
@@ -2714,6 +2714,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
--- a/gdbserver/configure.ac
+++ b/gdbserver/configure.ac
@@ -19,6 +19,7 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([server.cc])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-05-10 22:36         ` Mike Frysinger
@ 2021-06-15  5:44           ` Mike Frysinger
  2021-06-17  2:30             ` Simon Marchi
  2021-06-18 14:03             ` [PATCH v2] " Mike Frysinger
  0 siblings, 2 replies; 22+ messages in thread
From: Mike Frysinger @ 2021-06-15  5:44 UTC (permalink / raw)
  To: gdb-patches

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.
---
 gdb/ChangeLog          |  7 +++++++
 gdb/acinclude.m4       | 39 ---------------------------------------
 gdb/aclocal.m4         | 15 +++++++++++++++
 gdb/configure          |  1 +
 gdb/configure.ac       |  3 +--
 gdbserver/ChangeLog    |  7 +++++++
 gdbserver/acinclude.m4 | 19 -------------------
 gdbserver/aclocal.m4   |  9 +++++++++
 gdbserver/configure    |  1 +
 gdbserver/configure.ac |  1 +
 10 files changed, 42 insertions(+), 60 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c56c129d0b1f..c914fa97cb23 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2021-06-15  Mike Frysinger  <vapier@gentoo.org>
+
+	* acinclude.m4: Delete most m4_include's of ../config files.
+	* configure.ac: Delete m4_include call and call AC_CONFIG_MACRO_DIR.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+
 2021-06-15  Alan Modra  <amodra@gmail.com>
 
 	* testsuite/lib/gdb.exp (exec_is_pie): Match new PIE readelf output.
diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4
index 68520d6d9381..b162201a67b7 100644
--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -21,49 +21,12 @@ m4_include(../gdbsupport/selftest.m4)
 dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
 m4_include(../bfd/bfd.m4)
 
-dnl This gets the standard macros.
-m4_include(../config/acinclude.m4)
-
-dnl This gets GCC_ENABLE.
-sinclude(../config/enable.m4)
-
-dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
-m4_include(../config/plugins.m4)
-
-dnl For ACX_LARGEFILE.
-m4_include(../config/largefile.m4)
-
-dnl For AM_SET_LEADING_DOT.
-m4_include(../config/lead-dot.m4)
-
-dnl This gets autoconf bugfixes.
-m4_include(../config/override.m4)
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-dnl for TCL definitions
-m4_include(../config/tcl.m4)
-
-dnl For dependency tracking macros.
-m4_include([../config/depstand.m4])
-
 dnl For AM_LC_MESSAGES
 m4_include([../config/lcmessage.m4])
 
 dnl For AM_LANGINFO_CODESET.
 m4_include([../config/codeset.m4])
 
-m4_include([../config/iconv.m4])
-
 m4_include([../config/zlib.m4])
 
 m4_include([../gdbsupport/common.m4])
@@ -76,8 +39,6 @@ m4_include(../gdbsupport/ptrace.m4)
 
 m4_include(ax_cxx_compile_stdcxx.m4)
 
-m4_include([../config/ax_pthread.m4])
-
 dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva 
 dnl Version 1.3 (2001/03/02)
 dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
index cbea739c0e51..6a050f54fe67 100644
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -199,5 +199,20 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/debuginfod.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/enable.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/iconv.m4])
+m4_include([../config/largefile.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/override.m4])
 m4_include([../config/pkg.m4])
+m4_include([../config/plugins.m4])
+m4_include([../config/tcl.m4])
 m4_include([acinclude.m4])
diff --git a/gdb/configure b/gdb/configure
index c6b5906d9e47..a5c6fab118c5 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -2997,6 +2997,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
diff --git a/gdb/configure.ac b/gdb/configure.ac
index 68cf84d6ca3f..67aa628c47d4 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl Process this file with autoconf to produce a configure script.
 
-m4_include(../config/debuginfod.m4)
-
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([main.c])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 AM_MAINTAINER_MODE
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index 9f4fcf81603f..d29e438dcf36 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,10 @@
+2021-06-15  Mike Frysinger  <vapier@gentoo.org>
+
+	* acinclude.m4: Delete most m4_include's of ../config files.
+	* configure.ac: Delete m4_include call and call AC_CONFIG_MACRO_DIR.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+
 2021-06-14  Mike Frysinger  <vapier@gentoo.org>
 
 	* Makefile.in (GNULIB_BUILDDIR): Rename to ...
diff --git a/gdbserver/acinclude.m4 b/gdbserver/acinclude.m4
index e18ee9913a5c..741ac820fd2c 100644
--- a/gdbserver/acinclude.m4
+++ b/gdbserver/acinclude.m4
@@ -4,20 +4,6 @@ m4_include(../bfd/bfd.m4)
 dnl This gets AM_GDB_WARNINGS.
 m4_include(../gdbsupport/warning.m4)
 
-dnl This gets autoconf bugfixes
-m4_include(../config/override.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-m4_include(../config/depstand.m4)
-m4_include(../config/lead-dot.m4)
-
-dnl Needed for common.m4
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
 dnl codeset.m4 is needed for common.m4, but not for
 dnl anything else in gdbserver.
 m4_include(../config/codeset.m4)
@@ -34,11 +20,6 @@ m4_include(../gdb/ax_cxx_compile_stdcxx.m4)
 dnl For GDB_AC_SELFTEST.
 m4_include(../gdbsupport/selftest.m4)
 
-m4_include([../config/ax_pthread.m4])
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
 dnl Check for existence of a type $1 in libthread_db.h
 dnl Based on BFD_HAVE_SYS_PROCFS_TYPE in bfd/bfd.m4.
 
diff --git a/gdbserver/aclocal.m4 b/gdbserver/aclocal.m4
index 110b416e6156..bceb92fdb5dd 100644
--- a/gdbserver/aclocal.m4
+++ b/gdbserver/aclocal.m4
@@ -199,4 +199,13 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/override.m4])
 m4_include([acinclude.m4])
diff --git a/gdbserver/configure b/gdbserver/configure
index aab72c0b8c51..b9d4653ae5e1 100755
--- a/gdbserver/configure
+++ b/gdbserver/configure
@@ -2714,6 +2714,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
diff --git a/gdbserver/configure.ac b/gdbserver/configure.ac
index 5ec222dfc605..afac1831ecde 100644
--- a/gdbserver/configure.ac
+++ b/gdbserver/configure.ac
@@ -19,6 +19,7 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([server.cc])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 
-- 
2.31.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-15  5:44           ` [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS Mike Frysinger
@ 2021-06-17  2:30             ` Simon Marchi
  2021-06-17  4:21               ` Mike Frysinger
  2021-06-18 14:03             ` [PATCH v2] " Mike Frysinger
  1 sibling, 1 reply; 22+ messages in thread
From: Simon Marchi @ 2021-06-17  2:30 UTC (permalink / raw)
  To: Mike Frysinger, gdb-patches

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...

Simon

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-17  2:30             ` Simon Marchi
@ 2021-06-17  4:21               ` Mike Frysinger
  2021-06-17 14:43                 ` Simon Marchi
  0 siblings, 1 reply; 22+ messages in thread
From: Mike Frysinger @ 2021-06-17  4:21 UTC (permalink / raw)
  To: Simon Marchi; +Cc: gdb-patches

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.

restoring the explicit include in the gdb file should fix it.
-mike

From 971050c6ba9f839ec9ec02d1fb21ca1a6dbef73c Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Tue, 15 Jun 2021 01:40:33 -0400
Subject: [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS

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.
---
 gdb/ChangeLog          |  7 +++++++
 gdb/acinclude.m4       | 37 -------------------------------------
 gdb/aclocal.m4         | 14 ++++++++++++++
 gdb/configure          |  1 +
 gdb/configure.ac       |  3 +--
 gdbserver/ChangeLog    |  7 +++++++
 gdbserver/acinclude.m4 | 19 -------------------
 gdbserver/aclocal.m4   |  9 +++++++++
 gdbserver/configure    |  1 +
 gdbserver/configure.ac |  1 +
 10 files changed, 41 insertions(+), 58 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2444773bde93..58311e6a4e70 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2021-06-15  Mike Frysinger  <vapier@gentoo.org>
+
+	* acinclude.m4: Delete most m4_include's of ../config files.
+	* configure.ac: Delete m4_include call and call AC_CONFIG_MACRO_DIR.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+
 2021-06-16  Simon Marchi  <simon.marchi@polymtl.ca>
 
 	* silent-rules.mk (ECHO_CCLD, ECHO_AR, ECHO_RANLIB): New.
diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4
index 68520d6d9381..0fbef22bb0f4 100644
--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -21,41 +21,6 @@ m4_include(../gdbsupport/selftest.m4)
 dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
 m4_include(../bfd/bfd.m4)
 
-dnl This gets the standard macros.
-m4_include(../config/acinclude.m4)
-
-dnl This gets GCC_ENABLE.
-sinclude(../config/enable.m4)
-
-dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
-m4_include(../config/plugins.m4)
-
-dnl For ACX_LARGEFILE.
-m4_include(../config/largefile.m4)
-
-dnl For AM_SET_LEADING_DOT.
-m4_include(../config/lead-dot.m4)
-
-dnl This gets autoconf bugfixes.
-m4_include(../config/override.m4)
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-dnl for TCL definitions
-m4_include(../config/tcl.m4)
-
-dnl For dependency tracking macros.
-m4_include([../config/depstand.m4])
-
 dnl For AM_LC_MESSAGES
 m4_include([../config/lcmessage.m4])
 
@@ -76,8 +41,6 @@ m4_include(../gdbsupport/ptrace.m4)
 
 m4_include(ax_cxx_compile_stdcxx.m4)
 
-m4_include([../config/ax_pthread.m4])
-
 dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva 
 dnl Version 1.3 (2001/03/02)
 dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
index cbea739c0e51..3869777d20c4 100644
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -199,5 +199,19 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/debuginfod.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/enable.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/largefile.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/override.m4])
 m4_include([../config/pkg.m4])
+m4_include([../config/plugins.m4])
+m4_include([../config/tcl.m4])
 m4_include([acinclude.m4])
diff --git a/gdb/configure b/gdb/configure
index c6b5906d9e47..a5c6fab118c5 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -2997,6 +2997,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
diff --git a/gdb/configure.ac b/gdb/configure.ac
index 68cf84d6ca3f..67aa628c47d4 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl Process this file with autoconf to produce a configure script.
 
-m4_include(../config/debuginfod.m4)
-
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([main.c])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 AM_MAINTAINER_MODE
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index 9f4fcf81603f..d29e438dcf36 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,10 @@
+2021-06-15  Mike Frysinger  <vapier@gentoo.org>
+
+	* acinclude.m4: Delete most m4_include's of ../config files.
+	* configure.ac: Delete m4_include call and call AC_CONFIG_MACRO_DIR.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+
 2021-06-14  Mike Frysinger  <vapier@gentoo.org>
 
 	* Makefile.in (GNULIB_BUILDDIR): Rename to ...
diff --git a/gdbserver/acinclude.m4 b/gdbserver/acinclude.m4
index e18ee9913a5c..741ac820fd2c 100644
--- a/gdbserver/acinclude.m4
+++ b/gdbserver/acinclude.m4
@@ -4,20 +4,6 @@ m4_include(../bfd/bfd.m4)
 dnl This gets AM_GDB_WARNINGS.
 m4_include(../gdbsupport/warning.m4)
 
-dnl This gets autoconf bugfixes
-m4_include(../config/override.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-m4_include(../config/depstand.m4)
-m4_include(../config/lead-dot.m4)
-
-dnl Needed for common.m4
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
 dnl codeset.m4 is needed for common.m4, but not for
 dnl anything else in gdbserver.
 m4_include(../config/codeset.m4)
@@ -34,11 +20,6 @@ m4_include(../gdb/ax_cxx_compile_stdcxx.m4)
 dnl For GDB_AC_SELFTEST.
 m4_include(../gdbsupport/selftest.m4)
 
-m4_include([../config/ax_pthread.m4])
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
 dnl Check for existence of a type $1 in libthread_db.h
 dnl Based on BFD_HAVE_SYS_PROCFS_TYPE in bfd/bfd.m4.
 
diff --git a/gdbserver/aclocal.m4 b/gdbserver/aclocal.m4
index 110b416e6156..bceb92fdb5dd 100644
--- a/gdbserver/aclocal.m4
+++ b/gdbserver/aclocal.m4
@@ -199,4 +199,13 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/override.m4])
 m4_include([acinclude.m4])
diff --git a/gdbserver/configure b/gdbserver/configure
index aab72c0b8c51..b9d4653ae5e1 100755
--- a/gdbserver/configure
+++ b/gdbserver/configure
@@ -2714,6 +2714,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
diff --git a/gdbserver/configure.ac b/gdbserver/configure.ac
index 5ec222dfc605..afac1831ecde 100644
--- a/gdbserver/configure.ac
+++ b/gdbserver/configure.ac
@@ -19,6 +19,7 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([server.cc])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 
-- 
2.31.1

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-17  4:21               ` Mike Frysinger
@ 2021-06-17 14:43                 ` Simon Marchi
  2021-06-18  4:38                   ` Mike Frysinger
  0 siblings, 1 reply; 22+ messages in thread
From: Simon Marchi @ 2021-06-17 14:43 UTC (permalink / raw)
  To: gdb-patches

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.
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.

Simon

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-17 14:43                 ` Simon Marchi
@ 2021-06-18  4:38                   ` Mike Frysinger
  2021-06-18 13:22                     ` Simon Marchi
  2021-06-23  9:38                     ` Pedro Alves
  0 siblings, 2 replies; 22+ messages in thread
From: Mike Frysinger @ 2021-06-18  4:38 UTC (permalink / raw)
  To: Simon Marchi; +Cc: gdb-patches

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

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-18  4:38                   ` Mike Frysinger
@ 2021-06-18 13:22                     ` Simon Marchi
  2021-06-23  9:38                     ` Pedro Alves
  1 sibling, 0 replies; 22+ messages in thread
From: Simon Marchi @ 2021-06-18 13:22 UTC (permalink / raw)
  To: gdb-patches

> 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

The aclocal warning is indistinguishable between a valid and an invalid
macro.  But if the macro is valid, it will successfully get replaced by
autoconf and we will get the expected result in the configure file.
That's why I called it benign.

If the macro doesn't exist (like AM_FOO), of course it won't get
replaced, and AM_FOO will appear literally in the configure file.  But
then the configure file will just be obviously broken.

> 
> 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.

Hmm, right.

> 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

That LGTM.

Simon


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-15  5:44           ` [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS Mike Frysinger
  2021-06-17  2:30             ` Simon Marchi
@ 2021-06-18 14:03             ` Mike Frysinger
  2021-06-20  0:48               ` Simon Marchi
  2021-06-20  2:22               ` [PATCH v3] " Mike Frysinger
  1 sibling, 2 replies; 22+ messages in thread
From: Mike Frysinger @ 2021-06-18 14:03 UTC (permalink / raw)
  To: gdb-patches

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.
---
v2: include comment in top of acinclude.m4 files.

 gdb/ChangeLog          |  7 +++++++
 gdb/acinclude.m4       | 43 ++++++------------------------------------
 gdb/aclocal.m4         | 14 ++++++++++++++
 gdb/configure          |  1 +
 gdb/configure.ac       |  3 +--
 gdbserver/ChangeLog    |  7 +++++++
 gdbserver/acinclude.m4 | 25 ++++++------------------
 gdbserver/aclocal.m4   |  9 +++++++++
 gdbserver/configure    |  1 +
 gdbserver/configure.ac |  1 +
 10 files changed, 53 insertions(+), 58 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c70f6ef5329f..586ac88604a6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2021-06-15  Mike Frysinger  <vapier@gentoo.org>
+
+	* acinclude.m4: Delete most m4_include's of ../config files.
+	* configure.ac: Delete m4_include call and call AC_CONFIG_MACRO_DIR.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+
 2021-06-17  Pedro Alves  <pedro@palves.net>
 
 	* scoped_ignore_signal.h (scoped_ignore_signal): Add
diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4
index 68520d6d9381..8e35950081f4 100644
--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -4,6 +4,12 @@ dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov>
 # Keep these includes in sync with the aclocal_m4_deps list in
 # Makefile.in.
 
+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.
+
 m4_include(acx_configure_dir.m4)
 
 # This gets GDB_AC_TRANSFORM.
@@ -21,41 +27,6 @@ m4_include(../gdbsupport/selftest.m4)
 dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
 m4_include(../bfd/bfd.m4)
 
-dnl This gets the standard macros.
-m4_include(../config/acinclude.m4)
-
-dnl This gets GCC_ENABLE.
-sinclude(../config/enable.m4)
-
-dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
-m4_include(../config/plugins.m4)
-
-dnl For ACX_LARGEFILE.
-m4_include(../config/largefile.m4)
-
-dnl For AM_SET_LEADING_DOT.
-m4_include(../config/lead-dot.m4)
-
-dnl This gets autoconf bugfixes.
-m4_include(../config/override.m4)
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-dnl for TCL definitions
-m4_include(../config/tcl.m4)
-
-dnl For dependency tracking macros.
-m4_include([../config/depstand.m4])
-
 dnl For AM_LC_MESSAGES
 m4_include([../config/lcmessage.m4])
 
@@ -76,8 +47,6 @@ m4_include(../gdbsupport/ptrace.m4)
 
 m4_include(ax_cxx_compile_stdcxx.m4)
 
-m4_include([../config/ax_pthread.m4])
-
 dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva 
 dnl Version 1.3 (2001/03/02)
 dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
index cbea739c0e51..3869777d20c4 100644
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -199,5 +199,19 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/debuginfod.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/enable.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/largefile.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/override.m4])
 m4_include([../config/pkg.m4])
+m4_include([../config/plugins.m4])
+m4_include([../config/tcl.m4])
 m4_include([acinclude.m4])
diff --git a/gdb/configure b/gdb/configure
index c6b5906d9e47..a5c6fab118c5 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -2997,6 +2997,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
diff --git a/gdb/configure.ac b/gdb/configure.ac
index 68cf84d6ca3f..67aa628c47d4 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl Process this file with autoconf to produce a configure script.
 
-m4_include(../config/debuginfod.m4)
-
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([main.c])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 AM_MAINTAINER_MODE
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index 9f4fcf81603f..d29e438dcf36 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,10 @@
+2021-06-15  Mike Frysinger  <vapier@gentoo.org>
+
+	* acinclude.m4: Delete most m4_include's of ../config files.
+	* configure.ac: Delete m4_include call and call AC_CONFIG_MACRO_DIR.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+
 2021-06-14  Mike Frysinger  <vapier@gentoo.org>
 
 	* Makefile.in (GNULIB_BUILDDIR): Rename to ...
diff --git a/gdbserver/acinclude.m4 b/gdbserver/acinclude.m4
index e18ee9913a5c..d68e318229b8 100644
--- a/gdbserver/acinclude.m4
+++ b/gdbserver/acinclude.m4
@@ -1,23 +1,15 @@
+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.
+
 dnl gdb/gdbserver/configure.in uses BFD_HAVE_SYS_PROCFS_TYPE.
 m4_include(../bfd/bfd.m4)
 
 dnl This gets AM_GDB_WARNINGS.
 m4_include(../gdbsupport/warning.m4)
 
-dnl This gets autoconf bugfixes
-m4_include(../config/override.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-m4_include(../config/depstand.m4)
-m4_include(../config/lead-dot.m4)
-
-dnl Needed for common.m4
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
 dnl codeset.m4 is needed for common.m4, but not for
 dnl anything else in gdbserver.
 m4_include(../config/codeset.m4)
@@ -34,11 +26,6 @@ m4_include(../gdb/ax_cxx_compile_stdcxx.m4)
 dnl For GDB_AC_SELFTEST.
 m4_include(../gdbsupport/selftest.m4)
 
-m4_include([../config/ax_pthread.m4])
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
 dnl Check for existence of a type $1 in libthread_db.h
 dnl Based on BFD_HAVE_SYS_PROCFS_TYPE in bfd/bfd.m4.
 
diff --git a/gdbserver/aclocal.m4 b/gdbserver/aclocal.m4
index 110b416e6156..bceb92fdb5dd 100644
--- a/gdbserver/aclocal.m4
+++ b/gdbserver/aclocal.m4
@@ -199,4 +199,13 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/override.m4])
 m4_include([acinclude.m4])
diff --git a/gdbserver/configure b/gdbserver/configure
index aab72c0b8c51..b9d4653ae5e1 100755
--- a/gdbserver/configure
+++ b/gdbserver/configure
@@ -2714,6 +2714,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
diff --git a/gdbserver/configure.ac b/gdbserver/configure.ac
index 5ec222dfc605..afac1831ecde 100644
--- a/gdbserver/configure.ac
+++ b/gdbserver/configure.ac
@@ -19,6 +19,7 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([server.cc])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 
-- 
2.31.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-18 14:03             ` [PATCH v2] " Mike Frysinger
@ 2021-06-20  0:48               ` Simon Marchi
  2021-06-20  2:10                 ` Mike Frysinger
  2021-06-20  2:22               ` [PATCH v3] " Mike Frysinger
  1 sibling, 1 reply; 22+ messages in thread
From: Simon Marchi @ 2021-06-20  0:48 UTC (permalink / raw)
  To: Mike Frysinger, gdb-patches



On 2021-06-18 10:03 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.
> ---
> v2: include comment in top of acinclude.m4 files.

With this patch, I get:

    configure.ac:531: warning: AC_LIB_PREPARE_PREFIX is m4_require'd but not m4_defun'd
    ../config/iconv.m4:12: AM_ICONV_LINKFLAGS_BODY is expanded from...
    ../config/iconv.m4:23: AM_ICONV_LINK is expanded from...
    ../config/iconv.m4:104: AM_ICONV is expanded from...
    configure.ac:531: the top level
    configure.ac:531: warning: AC_LIB_RPATH is m4_require'd but not m4_defun'd
    ../config/iconv.m4:12: AM_ICONV_LINKFLAGS_BODY is expanded from...
    ../config/iconv.m4:23: AM_ICONV_LINK is expanded from...
    ../config/iconv.m4:104: AM_ICONV is expanded from...
    configure.ac:531: the top level

To fix this, we'd need to keep these three lines:

m4_include(../config/lib-ld.m4)
m4_include(../config/lib-prefix.m4)
m4_include(../config/lib-link.m4)

If I bring them back, it's all clean.

Simon

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-20  0:48               ` Simon Marchi
@ 2021-06-20  2:10                 ` Mike Frysinger
  2021-06-20  2:17                   ` Simon Marchi
  0 siblings, 1 reply; 22+ messages in thread
From: Mike Frysinger @ 2021-06-20  2:10 UTC (permalink / raw)
  To: Simon Marchi; +Cc: gdb-patches

On 19 Jun 2021 20:48, Simon Marchi wrote:
> On 2021-06-18 10:03 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.
> > ---
> > v2: include comment in top of acinclude.m4 files.
> 
> With this patch, I get:
> 
>     configure.ac:531: warning: AC_LIB_PREPARE_PREFIX is m4_require'd but not m4_defun'd
>     ../config/iconv.m4:12: AM_ICONV_LINKFLAGS_BODY is expanded from...
>     ../config/iconv.m4:23: AM_ICONV_LINK is expanded from...
>     ../config/iconv.m4:104: AM_ICONV is expanded from...
>     configure.ac:531: the top level
>     configure.ac:531: warning: AC_LIB_RPATH is m4_require'd but not m4_defun'd
>     ../config/iconv.m4:12: AM_ICONV_LINKFLAGS_BODY is expanded from...
>     ../config/iconv.m4:23: AM_ICONV_LINK is expanded from...
>     ../config/iconv.m4:104: AM_ICONV is expanded from...
>     configure.ac:531: the top level
> 
> To fix this, we'd need to keep these three lines:
> 
> m4_include(../config/lib-ld.m4)
> m4_include(../config/lib-prefix.m4)
> m4_include(../config/lib-link.m4)
> 
> If I bring them back, it's all clean.

just in gdb/ right ?

you're running `autoreconf` to test ?
-mike

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-20  2:10                 ` Mike Frysinger
@ 2021-06-20  2:17                   ` Simon Marchi
  0 siblings, 0 replies; 22+ messages in thread
From: Simon Marchi @ 2021-06-20  2:17 UTC (permalink / raw)
  To: gdb-patches

On 2021-06-19 10:10 p.m., Mike Frysinger wrote:
> On 19 Jun 2021 20:48, Simon Marchi wrote:
>> On 2021-06-18 10:03 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.
>>> ---
>>> v2: include comment in top of acinclude.m4 files.
>>
>> With this patch, I get:
>>
>>     configure.ac:531: warning: AC_LIB_PREPARE_PREFIX is m4_require'd but not m4_defun'd
>>     ../config/iconv.m4:12: AM_ICONV_LINKFLAGS_BODY is expanded from...
>>     ../config/iconv.m4:23: AM_ICONV_LINK is expanded from...
>>     ../config/iconv.m4:104: AM_ICONV is expanded from...
>>     configure.ac:531: the top level
>>     configure.ac:531: warning: AC_LIB_RPATH is m4_require'd but not m4_defun'd
>>     ../config/iconv.m4:12: AM_ICONV_LINKFLAGS_BODY is expanded from...
>>     ../config/iconv.m4:23: AM_ICONV_LINK is expanded from...
>>     ../config/iconv.m4:104: AM_ICONV is expanded from...
>>     configure.ac:531: the top level
>>
>> To fix this, we'd need to keep these three lines:
>>
>> m4_include(../config/lib-ld.m4)
>> m4_include(../config/lib-prefix.m4)
>> m4_include(../config/lib-link.m4)
>>
>> If I bring them back, it's all clean.
> 
> just in gdb/ right ?

Yes, gdbserver was fine.

> you're running `autoreconf` to test ?
> -mike

Yes, (autoreconf -vf).

Simon

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v3] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-18 14:03             ` [PATCH v2] " Mike Frysinger
  2021-06-20  0:48               ` Simon Marchi
@ 2021-06-20  2:22               ` Mike Frysinger
  2021-06-20  2:46                 ` Simon Marchi
  1 sibling, 1 reply; 22+ messages in thread
From: Mike Frysinger @ 2021-06-20  2:22 UTC (permalink / raw)
  To: gdb-patches

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.
---
 gdb/ChangeLog          |  7 +++++++
 gdb/acinclude.m4       | 47 +++++++++---------------------------------
 gdb/aclocal.m4         | 11 ++++++++++
 gdb/configure          |  1 +
 gdb/configure.ac       |  3 +--
 gdbserver/ChangeLog    |  7 +++++++
 gdbserver/acinclude.m4 | 25 ++++++----------------
 gdbserver/aclocal.m4   |  9 ++++++++
 gdbserver/configure    |  1 +
 gdbserver/configure.ac |  1 +
 10 files changed, 54 insertions(+), 58 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c70f6ef5329f..586ac88604a6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2021-06-15  Mike Frysinger  <vapier@gentoo.org>
+
+	* acinclude.m4: Delete most m4_include's of ../config files.
+	* configure.ac: Delete m4_include call and call AC_CONFIG_MACRO_DIR.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+
 2021-06-17  Pedro Alves  <pedro@palves.net>
 
 	* scoped_ignore_signal.h (scoped_ignore_signal): Add
diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4
index 68520d6d9381..2bdc1cedc262 100644
--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -4,6 +4,12 @@ dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov>
 # Keep these includes in sync with the aclocal_m4_deps list in
 # Makefile.in.
 
+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.
+
 m4_include(acx_configure_dir.m4)
 
 # This gets GDB_AC_TRANSFORM.
@@ -21,47 +27,16 @@ m4_include(../gdbsupport/selftest.m4)
 dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
 m4_include(../bfd/bfd.m4)
 
-dnl This gets the standard macros.
-m4_include(../config/acinclude.m4)
-
-dnl This gets GCC_ENABLE.
-sinclude(../config/enable.m4)
-
-dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
-m4_include(../config/plugins.m4)
-
-dnl For ACX_LARGEFILE.
-m4_include(../config/largefile.m4)
-
-dnl For AM_SET_LEADING_DOT.
-m4_include(../config/lead-dot.m4)
-
-dnl This gets autoconf bugfixes.
-m4_include(../config/override.m4)
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-dnl for TCL definitions
-m4_include(../config/tcl.m4)
-
-dnl For dependency tracking macros.
-m4_include([../config/depstand.m4])
-
 dnl For AM_LC_MESSAGES
 m4_include([../config/lcmessage.m4])
 
 dnl For AM_LANGINFO_CODESET.
 m4_include([../config/codeset.m4])
 
+dnl We need to explicitly include these before iconv.m4 to avoid warnings.
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/lib-link.m4])
 m4_include([../config/iconv.m4])
 
 m4_include([../config/zlib.m4])
@@ -76,8 +51,6 @@ m4_include(../gdbsupport/ptrace.m4)
 
 m4_include(ax_cxx_compile_stdcxx.m4)
 
-m4_include([../config/ax_pthread.m4])
-
 dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva 
 dnl Version 1.3 (2001/03/02)
 dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
index cbea739c0e51..8c7562542f6f 100644
--- a/gdb/aclocal.m4
+++ b/gdb/aclocal.m4
@@ -199,5 +199,16 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/debuginfod.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/enable.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/largefile.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/override.m4])
 m4_include([../config/pkg.m4])
+m4_include([../config/plugins.m4])
+m4_include([../config/tcl.m4])
 m4_include([acinclude.m4])
diff --git a/gdb/configure b/gdb/configure
index c6b5906d9e47..a5c6fab118c5 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -2997,6 +2997,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
diff --git a/gdb/configure.ac b/gdb/configure.ac
index 68cf84d6ca3f..67aa628c47d4 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -18,9 +18,8 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl Process this file with autoconf to produce a configure script.
 
-m4_include(../config/debuginfod.m4)
-
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([main.c])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 AM_MAINTAINER_MODE
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index 9f4fcf81603f..d29e438dcf36 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,10 @@
+2021-06-15  Mike Frysinger  <vapier@gentoo.org>
+
+	* acinclude.m4: Delete most m4_include's of ../config files.
+	* configure.ac: Delete m4_include call and call AC_CONFIG_MACRO_DIR.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+
 2021-06-14  Mike Frysinger  <vapier@gentoo.org>
 
 	* Makefile.in (GNULIB_BUILDDIR): Rename to ...
diff --git a/gdbserver/acinclude.m4 b/gdbserver/acinclude.m4
index e18ee9913a5c..d68e318229b8 100644
--- a/gdbserver/acinclude.m4
+++ b/gdbserver/acinclude.m4
@@ -1,23 +1,15 @@
+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.
+
 dnl gdb/gdbserver/configure.in uses BFD_HAVE_SYS_PROCFS_TYPE.
 m4_include(../bfd/bfd.m4)
 
 dnl This gets AM_GDB_WARNINGS.
 m4_include(../gdbsupport/warning.m4)
 
-dnl This gets autoconf bugfixes
-m4_include(../config/override.m4)
-
-dnl For ACX_PKGVERSION and ACX_BUGURL.
-m4_include(../config/acx.m4)
-
-m4_include(../config/depstand.m4)
-m4_include(../config/lead-dot.m4)
-
-dnl Needed for common.m4
-dnl For AC_LIB_HAVE_LINKFLAGS.
-m4_include(../config/lib-ld.m4)
-m4_include(../config/lib-prefix.m4)
-m4_include(../config/lib-link.m4)
 dnl codeset.m4 is needed for common.m4, but not for
 dnl anything else in gdbserver.
 m4_include(../config/codeset.m4)
@@ -34,11 +26,6 @@ m4_include(../gdb/ax_cxx_compile_stdcxx.m4)
 dnl For GDB_AC_SELFTEST.
 m4_include(../gdbsupport/selftest.m4)
 
-m4_include([../config/ax_pthread.m4])
-
-dnl For ZW_GNU_GETTEXT_SISTER_DIR.
-m4_include(../config/gettext-sister.m4)
-
 dnl Check for existence of a type $1 in libthread_db.h
 dnl Based on BFD_HAVE_SYS_PROCFS_TYPE in bfd/bfd.m4.
 
diff --git a/gdbserver/aclocal.m4 b/gdbserver/aclocal.m4
index 110b416e6156..bceb92fdb5dd 100644
--- a/gdbserver/aclocal.m4
+++ b/gdbserver/aclocal.m4
@@ -199,4 +199,13 @@ AC_DEFUN([_AM_SUBST_NOTMAKE])
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
+m4_include([../config/acx.m4])
+m4_include([../config/ax_pthread.m4])
+m4_include([../config/depstand.m4])
+m4_include([../config/gettext-sister.m4])
+m4_include([../config/lead-dot.m4])
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/override.m4])
 m4_include([acinclude.m4])
diff --git a/gdbserver/configure b/gdbserver/configure
index aab72c0b8c51..b9d4653ae5e1 100755
--- a/gdbserver/configure
+++ b/gdbserver/configure
@@ -2714,6 +2714,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_config_headers="$ac_config_headers config.h:config.in"
 
 
diff --git a/gdbserver/configure.ac b/gdbserver/configure.ac
index 5ec222dfc605..afac1831ecde 100644
--- a/gdbserver/configure.ac
+++ b/gdbserver/configure.ac
@@ -19,6 +19,7 @@ dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl Process this file with autoconf to produce a configure script.
 
 AC_INIT
+AC_CONFIG_MACRO_DIRS([../config])
 AC_CONFIG_SRCDIR([server.cc])
 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 
-- 
2.31.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-20  2:22               ` [PATCH v3] " Mike Frysinger
@ 2021-06-20  2:46                 ` Simon Marchi
  0 siblings, 0 replies; 22+ messages in thread
From: Simon Marchi @ 2021-06-20  2:46 UTC (permalink / raw)
  To: Mike Frysinger, gdb-patches



On 2021-06-19 10:22 p.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.

LGTM, thanks.

Simon

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-18  4:38                   ` Mike Frysinger
  2021-06-18 13:22                     ` Simon Marchi
@ 2021-06-23  9:38                     ` Pedro Alves
  2021-06-23 22:26                       ` Mike Frysinger
  1 sibling, 1 reply; 22+ messages in thread
From: Pedro Alves @ 2021-06-23  9:38 UTC (permalink / raw)
  To: Simon Marchi, gdb-patches

On 2021-06-18 5:38 a.m., Mike Frysinger via Gdb-patches wrote:
> 
> 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

That seems good to me, but I think better would be to put all such include lines
together and put the comment right on top of that section.  Like:

dnl NB: When possible, we try to avoid explicit includes of ../config/ files.
dnl They're normally found by aclocal automatically and recorded in aclocal.m4.
dnl However, the following are kept here explicitly to silence harmless warnings
dnl from aclocal when it finds AM_xxx macros via local search paths instead of
dnl system search paths.
m4_include([../config/foo.m4])
m4_include([../config/bar.m4])


I've had my share of "comments at the top" that I've missed in the past...

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-23  9:38                     ` Pedro Alves
@ 2021-06-23 22:26                       ` Mike Frysinger
  2021-06-24 18:45                         ` Pedro Alves
  0 siblings, 1 reply; 22+ messages in thread
From: Mike Frysinger @ 2021-06-23 22:26 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Simon Marchi, gdb-patches

On 23 Jun 2021 10:38, Pedro Alves wrote:
> On 2021-06-18 5:38 a.m., Mike Frysinger via Gdb-patches wrote:
> > 
> > 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
> 
> That seems good to me, but I think better would be to put all such include lines
> together and put the comment right on top of that section.  Like:
> 
> dnl NB: When possible, we try to avoid explicit includes of ../config/ files.
> dnl They're normally found by aclocal automatically and recorded in aclocal.m4.
> dnl However, the following are kept here explicitly to silence harmless warnings
> dnl from aclocal when it finds AM_xxx macros via local search paths instead of
> dnl system search paths.
> m4_include([../config/foo.m4])
> m4_include([../config/bar.m4])
> 
> 
> I've had my share of "comments at the top" that I've missed in the past...

how about:

--- a/gdb/acinclude.m4
+++ b/gdb/acinclude.m4
@@ -9,6 +9,18 @@ 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.
+dnl
+dnl For AM_LC_MESSAGES
+m4_include([../config/lcmessage.m4])
+dnl For AM_LANGINFO_CODESET.
+m4_include([../config/codeset.m4])
+dnl We need to explicitly include these before iconv.m4 to avoid warnings.
+m4_include([../config/lib-ld.m4])
+m4_include([../config/lib-prefix.m4])
+m4_include([../config/lib-link.m4])
+m4_include([../config/iconv.m4])
+dnl For zlib itself.
+m4_include([../config/zlib.m4])
 
 m4_include(acx_configure_dir.m4)
 
@@ -27,20 +39,6 @@ m4_include(../gdbsupport/selftest.m4)
 dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
 m4_include(../bfd/bfd.m4)
 
-dnl For AM_LC_MESSAGES
-m4_include([../config/lcmessage.m4])
-
-dnl For AM_LANGINFO_CODESET.
-m4_include([../config/codeset.m4])
-
-dnl We need to explicitly include these before iconv.m4 to avoid warnings.
-m4_include([../config/lib-ld.m4])
-m4_include([../config/lib-prefix.m4])
-m4_include([../config/lib-link.m4])
-m4_include([../config/iconv.m4])
-
-m4_include([../config/zlib.m4])
-
 m4_include([../gdbsupport/common.m4])
 
 dnl For libiberty_INIT.
--- a/gdbserver/acinclude.m4
+++ b/gdbserver/acinclude.m4
@@ -3,6 +3,10 @@ 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.
+dnl
+dnl codeset.m4 is needed for common.m4, but not for
+dnl anything else in gdbserver.
+m4_include(../config/codeset.m4)
 
 dnl gdb/gdbserver/configure.in uses BFD_HAVE_SYS_PROCFS_TYPE.
 m4_include(../bfd/bfd.m4)
@@ -10,9 +14,6 @@ m4_include(../bfd/bfd.m4)
 dnl This gets AM_GDB_WARNINGS.
 m4_include(../gdbsupport/warning.m4)
 
-dnl codeset.m4 is needed for common.m4, but not for
-dnl anything else in gdbserver.
-m4_include(../config/codeset.m4)
 m4_include(../gdbsupport/common.m4)
 
 dnl For libiberty_INIT.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
  2021-06-23 22:26                       ` Mike Frysinger
@ 2021-06-24 18:45                         ` Pedro Alves
  0 siblings, 0 replies; 22+ messages in thread
From: Pedro Alves @ 2021-06-24 18:45 UTC (permalink / raw)
  To: Simon Marchi, gdb-patches

On 2021-06-23 11:26 p.m., Mike Frysinger wrote:
> On 23 Jun 2021 10:38, Pedro Alves wrote:
>> On 2021-06-18 5:38 a.m., Mike Frysinger via Gdb-patches wrote:
>>>
>>> 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
>>
>> That seems good to me, but I think better would be to put all such include lines
>> together and put the comment right on top of that section.  Like:
>>
>> dnl NB: When possible, we try to avoid explicit includes of ../config/ files.
>> dnl They're normally found by aclocal automatically and recorded in aclocal.m4.
>> dnl However, the following are kept here explicitly to silence harmless warnings
>> dnl from aclocal when it finds AM_xxx macros via local search paths instead of
>> dnl system search paths.
>> m4_include([../config/foo.m4])
>> m4_include([../config/bar.m4])
>>
>>
>> I've had my share of "comments at the top" that I've missed in the past...
> 
> how about:
> 

LGTM, thanks.  I'd still suggest tweaking the comments to make it clearer
that by "some are kept" we're talking about the ones right below
the comment, like say, "these below are kept" instead or something like that.

Pedro Alves

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2021-06-24 18:45 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-09  1:24 [PATCH] gdb: add ../config/pkg.m4 in acinclude.m4 Simon Marchi
2021-05-09 20:00 ` Mike Frysinger
2021-05-10  0:16   ` Simon Marchi
2021-05-10  1:14     ` Mike Frysinger
2021-05-10  1:32       ` Simon Marchi
2021-05-10 13:25         ` Tom Tromey
2021-05-10 22:36         ` Mike Frysinger
2021-06-15  5:44           ` [PATCH] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS Mike Frysinger
2021-06-17  2:30             ` Simon Marchi
2021-06-17  4:21               ` Mike Frysinger
2021-06-17 14:43                 ` Simon Marchi
2021-06-18  4:38                   ` Mike Frysinger
2021-06-18 13:22                     ` Simon Marchi
2021-06-23  9:38                     ` Pedro Alves
2021-06-23 22:26                       ` Mike Frysinger
2021-06-24 18:45                         ` Pedro Alves
2021-06-18 14:03             ` [PATCH v2] " Mike Frysinger
2021-06-20  0:48               ` Simon Marchi
2021-06-20  2:10                 ` Mike Frysinger
2021-06-20  2:17                   ` Simon Marchi
2021-06-20  2:22               ` [PATCH v3] " Mike Frysinger
2021-06-20  2:46                 ` Simon Marchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).