Fix creation of stamp-h by gdb's configure script

Message ID 20190903180526.22441-1-tromey@adacore.com
State New, archived
Headers

Commit Message

Tom Tromey Sept. 3, 2019, 6:05 p.m. UTC
  I happened to notice that "make" would always print:

    CONFIG_HEADERS=config.h:config.in \
      CONFIG_COMMANDS="default depdir" \
      CONFIG_FILES= \
      CONFIG_LINKS= \
      /bin/sh config.status
    config.status: creating config.h
    config.status: config.h is unchanged

on every rebuild.  This seems to have changed due to an autoconf
upgrade at some point in the past.  In the autoconf gdb uses now, it
works to use AC_CONFIG_HEADERS and then create the stamp file via the
"commands" argument.

This patch also fixes up Makefile.in to use the new-style
config.status invocation.  It's no longer necessary to pass the output
file names via environment variables.

gdb/ChangeLog
2019-09-03  Tom Tromey  <tromey@adacore.com>

	* configure: Rebuild.
	* configure.ac: Use AC_CONFIG_HEADERS.  Create stamp-h there, not
	in AC_CONFIG_FILES invocation.
	* Makefile.in (Makefile, data-directory/Makefile, stamp-h): Use
	new-style config.status invocation.

gdb/gdbserver/ChangeLog
2019-09-03  Tom Tromey  <tromey@adacore.com>

	* configure: Rebuild.
	* configure.ac: Use AC_CONFIG_HEADERS.  Create stamp-h there, not
	in AC_CONFIG_FILES invocation.
	* Makefile.in (stamp-h, Makefile): Use new-style config.status
	invocation.
---
 gdb/ChangeLog              |  8 ++++++++
 gdb/Makefile.in            | 18 +++---------------
 gdb/configure              | 31 +------------------------------
 gdb/configure.ac           | 10 ++--------
 gdb/gdbserver/ChangeLog    |  8 ++++++++
 gdb/gdbserver/Makefile.in  |  4 ++--
 gdb/gdbserver/configure    |  6 +-----
 gdb/gdbserver/configure.ac |  9 ++-------
 8 files changed, 27 insertions(+), 67 deletions(-)
  

Comments

Tom Tromey Oct. 17, 2019, 7:21 p.m. UTC | #1
>>>>> "Tom" == Tom Tromey <tromey@adacore.com> writes:

Tom> gdb/ChangeLog
Tom> 2019-09-03  Tom Tromey  <tromey@adacore.com>

Tom> 	* configure: Rebuild.
Tom> 	* configure.ac: Use AC_CONFIG_HEADERS.  Create stamp-h there, not
Tom> 	in AC_CONFIG_FILES invocation.
Tom> 	* Makefile.in (Makefile, data-directory/Makefile, stamp-h): Use
Tom> 	new-style config.status invocation.

I'm checking this in now.

Tom
  

Patch

diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index e7e26a44a0c..9c910fc44e9 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1998,18 +1998,10 @@  subdir_do: force
 	done
 
 Makefile: Makefile.in config.status
-	# Regenerate the Makefile and the tm.h / nm.h links.
-	CONFIG_FILES="Makefile" \
-	  CONFIG_COMMANDS= \
-	  CONFIG_HEADERS= \
-	  $(SHELL) config.status
+	$(SHELL) config.status $@
 
 data-directory/Makefile: data-directory/Makefile.in config.status
-	CONFIG_FILES="data-directory/Makefile" \
-	  CONFIG_COMMANDS="depfiles" \
-	  CONFIG_HEADERS= \
-	  CONFIG_LINKS= \
-	  $(SHELL) config.status
+	$(SHELL) config.status $@
 
 .PHONY: run
 run: Makefile
@@ -2029,11 +2021,7 @@  gdb-gdb.gdb: $(srcdir)/gdb-gdb.gdb.in
 
 config.h: stamp-h ; @true
 stamp-h: $(srcdir)/config.in config.status
-	CONFIG_HEADERS=config.h:config.in \
-	  CONFIG_COMMANDS="default depdir" \
-	  CONFIG_FILES= \
-	  CONFIG_LINKS= \
-	  $(SHELL) config.status
+	$(SHELL) config.status config.h
 
 config.status: $(srcdir)/configure configure.nat configure.tgt configure.host ../bfd/development.sh
 	$(SHELL) config.status --recheck
diff --git a/gdb/configure b/gdb/configure
index 22a5f6051d4..70ce52fa1e8 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -19051,38 +19051,9 @@  $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
+    "config.h":H) echo > stamp-h ;;
     "depdir":C) $SHELL $ac_aux_dir/mkinstalldirs $DEPDIR ;;
     "gcore":F) chmod +x gcore ;;
-    "Makefile":F)
-case x$CONFIG_HEADERS in
-xconfig.h:config.in)
-echo > stamp-h ;;
-esac
- ;;
-    "gdb-gdb.gdb":F)
-case x$CONFIG_HEADERS in
-xconfig.h:config.in)
-echo > stamp-h ;;
-esac
- ;;
-    "gdb-gdb.py":F)
-case x$CONFIG_HEADERS in
-xconfig.h:config.in)
-echo > stamp-h ;;
-esac
- ;;
-    "doc/Makefile":F)
-case x$CONFIG_HEADERS in
-xconfig.h:config.in)
-echo > stamp-h ;;
-esac
- ;;
-    "data-directory/Makefile":F)
-case x$CONFIG_HEADERS in
-xconfig.h:config.in)
-echo > stamp-h ;;
-esac
- ;;
 
   esac
 done # for ac_tag
diff --git a/gdb/configure.ac b/gdb/configure.ac
index 9da8818fb5c..c4e0dbf9952 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -19,7 +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(main.c)
-AC_CONFIG_HEADER(config.h:config.in)
+AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 AM_MAINTAINER_MODE
 
 # Set the 'development' global.
@@ -2262,12 +2262,6 @@  GDB_AC_SELFTEST([
 GDB_AC_TRANSFORM([gdb], [GDB_TRANSFORM_NAME])
 GDB_AC_TRANSFORM([gcore], [GCORE_TRANSFORM_NAME])
 AC_CONFIG_FILES([gcore], [chmod +x gcore])
-AC_CONFIG_FILES([Makefile gdb-gdb.gdb gdb-gdb.py doc/Makefile data-directory/Makefile],
-[
-case x$CONFIG_HEADERS in
-xconfig.h:config.in)
-echo > stamp-h ;;
-esac
-])
+AC_CONFIG_FILES([Makefile gdb-gdb.gdb gdb-gdb.py doc/Makefile data-directory/Makefile])
 
 AC_OUTPUT
diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
index ca0a4cbd10f..c7a38c7b992 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdb/gdbserver/Makefile.in
@@ -497,10 +497,10 @@  subdir_do: force
 
 config.h: stamp-h ; @true
 stamp-h: config.in config.status
-	CONFIG_FILES="" CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
+	$(SHELL) ./config.status config.h
 
 Makefile: Makefile.in config.status
-	CONFIG_HEADERS="" $(SHELL) ./config.status
+	$(SHELL) ./config.status $@
 
 $(GNULIB_BUILDDIR)/Makefile: $(srcdir)/../../gnulib/Makefile.in config.status
 	  @cd $(GNULIB_BUILDDIR); CONFIG_FILES="Makefile" \
diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure
index 692cb0f3082..5c84eeb7794 100755
--- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure
@@ -9806,17 +9806,13 @@  $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
+    "config.h":H) echo > stamp-h ;;
     "depdir":C) $SHELL $ac_aux_dir/mkinstalldirs $DEPDIR ;;
     "gdbdepdir":C)
   for subdir in ${CONFIG_SRC_SUBDIR}
   do
       $SHELL $ac_aux_dir/mkinstalldirs $subdir/$DEPDIR
   done ;;
-    "Makefile":F) case x$CONFIG_HEADERS in
-xconfig.h:config.in)
-echo > stamp-h ;;
-esac
- ;;
 
   esac
 done # for ac_tag
diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac
index 0009aac9f20..7ebc9c3cf15 100644
--- a/gdb/gdbserver/configure.ac
+++ b/gdb/gdbserver/configure.ac
@@ -19,7 +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(server.c)
-AC_CONFIG_HEADER(config.h:config.in)
+AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
 
 AM_MAINTAINER_MODE
 
@@ -484,11 +484,6 @@  if test x"$STDINT_H" != x; then
 fi
 AC_SUBST(GNULIB_STDINT_H)
 
-AC_CONFIG_FILES([Makefile],
-[case x$CONFIG_HEADERS in
-xconfig.h:config.in)
-echo > stamp-h ;;
-esac
-])
+AC_CONFIG_FILES([Makefile])
 
 AC_OUTPUT