[v3] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS

Message ID 20210620022241.20282-1-vapier@gentoo.org
State New
Headers show
Series
  • [v3] gdb/gdbserver: switch to AC_CONFIG_MACRO_DIRS
Related show

Commit Message

Eli Zaretskii via Gdb-patches June 20, 2021, 2:22 a.m.
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(-)

-- 
2.31.1

Comments

Eli Zaretskii via Gdb-patches June 20, 2021, 2:46 a.m. | #1
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

Patch

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])