public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] Fix creation of nm.h when configure is changed
@ 2019-10-21 13:45 Tom Tromey
  0 siblings, 0 replies; only message in thread
From: Tom Tromey @ 2019-10-21 13:45 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a0a461e5b45f6fd9eb81774ad61e55b4917d4305

commit a0a461e5b45f6fd9eb81774ad61e55b4917d4305
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Oct 19 15:42:34 2019 -0600

    Fix creation of nm.h when configure is changed
    
    My earlier patch -- commit c5adaa192 ("Fix creation of stamp-h by
    gdb's configure script") -- broke the creation of nm.h.  In
    particular, configure removes nm.h, so if you touch configure and
    rebuild, nothing will re-create the link, breaking the build.
    
    This patch fixes the bug, and also updates configure.ac to use
    AC_CONFIG_LINKS, rather than the obsolete AC_LINK_FILES.
    
    Finally, I noticed that gcore is in generated_files in the
    Makefile.in.  I think this is incorrect, as generated_files is only
    needed for files that can be the target of a #include.  So, this patch
    removes it.
    
    gdb/ChangeLog
    2019-10-21  Tom Tromey  <tom@tromey.com>
    
    	* configure.ac (nm.h): Conditionally create nm.h link.  Subst
    	NM_H.   Use AC_CONFIG_LINKS.
    	* configure: Rebuild.
    	* Makefile.in (NM_H): New variable.
    	(generated_files): Add NM_H.  Remove gcore.
    	(nm.h, stamp-nmh): New targets.
    
    Change-Id: I8dd539785d52455e85389425e4bb996c8a127a0e

Diff:
---
 gdb/ChangeLog    |  9 +++++++++
 gdb/Makefile.in  |  9 +++++++--
 gdb/configure    | 28 +++++++++-------------------
 gdb/configure.ac | 15 +++++----------
 4 files changed, 30 insertions(+), 31 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 67de848..6f1a1c0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2019-10-21  Tom Tromey  <tom@tromey.com>
+
+	* configure.ac (nm.h): Conditionally create nm.h link.  Subst
+	NM_H.   Use AC_CONFIG_LINKS.
+	* configure: Rebuild.
+	* Makefile.in (NM_H): New variable.
+	(generated_files): Add NM_H.  Remove gcore.
+	(nm.h, stamp-nmh): New targets.
+
 2019-10-20  Tom Tromey  <tom@tromey.com>
 
 	* objfiles.h (unlink_objfile, put_objfile_before): Don't declare.
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 9d07ac0..b6caa2c 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -812,6 +812,7 @@ LOADLIBES = @LOADLIBES@
 MH_CFLAGS = @MH_CFLAGS@
 XM_CLIBS = @XM_CLIBS@
 NAT_GENERATED_FILES = @NAT_GENERATED_FILES@
+NM_H = @NM_H@
 HAVE_NATIVE_GCORE_HOST = @HAVE_NATIVE_GCORE_HOST@
 
 # Native-target dependent makefile fragment comes in here.
@@ -1617,9 +1618,9 @@ DISTSTUFF = $(YYFILES)
 generated_files = \
 	ada-lex.c \
 	config.h \
-	gcore \
 	jit-reader.h \
-	$(NAT_GENERATED_FILES)
+	$(NAT_GENERATED_FILES) \
+	$(NM_H)
 
 # Flags needed to compile Python code
 PYTHON_CFLAGS = @PYTHON_CFLAGS@
@@ -2021,6 +2022,10 @@ config.h: stamp-h ; @true
 stamp-h: $(srcdir)/config.in config.status
 	$(SHELL) config.status config.h
 
+nm.h: stamp-nmh ; @true
+stamp-nmh: config.status
+	$(SHELL) config.status nm.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 70ce52f..737b426 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -626,6 +626,7 @@ LIBOBJS
 GCORE_TRANSFORM_NAME
 GDB_TRANSFORM_NAME
 XSLTPROC
+NM_H
 GDB_NM_FILE
 LTLIBBABELTRACE
 LIBBABELTRACE
@@ -17556,28 +17557,25 @@ $as_echo "$as_me: WARNING: babeltrace is missing or unusable; GDB is unable to r
   fi
 fi
 
-# If nativefile (NAT_FILE) is not set in configure.nat, we link to an
-# empty version.
-
-files=
-links=
-
+NM_H=
 rm -f nm.h
 if test "${nativefile}" != ""; then
     case "${nativefile}" in
       nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
       * ) GDB_NM_FILE="${nativefile}"
     esac
-    files="${files} ${GDB_NM_FILE}"
-    links="${links} nm.h"
+    ac_config_links="$ac_config_links nm.h:$GDB_NM_FILE"
+
 
 cat >>confdefs.h <<_ACEOF
 #define GDB_NM_FILE "${GDB_NM_FILE}"
 _ACEOF
 
+    NM_H=nm.h
 fi
 
 
+
 for ac_prog in xsltproc
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -17631,16 +17629,6 @@ if test "x$USE_MAINTAINER_MODE" = xyes; then
 fi
 
 
-ac_sources="$files"
-ac_dests="$links"
-while test -n "$ac_sources"; do
-  set $ac_dests; ac_dest=$1; shift; ac_dests=$*
-  set $ac_sources; ac_source=$1; shift; ac_sources=$*
-  ac_config_links_1="$ac_config_links_1 $ac_dest:$ac_source"
-done
-ac_config_links="$ac_config_links $ac_config_links_1"
-
-
 
 
 
@@ -18406,6 +18394,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 # INIT-COMMANDS
 #
 ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR
+GDB_NM_FILE=$GDB_NM_FILE
 
 _ACEOF
 
@@ -18418,7 +18407,7 @@ do
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
     "depdir") CONFIG_COMMANDS="$CONFIG_COMMANDS depdir" ;;
     "jit-reader.h") CONFIG_FILES="$CONFIG_FILES jit-reader.h:jit-reader.in" ;;
-    "$ac_config_links_1") CONFIG_LINKS="$CONFIG_LINKS $ac_config_links_1" ;;
+    "nm.h") CONFIG_LINKS="$CONFIG_LINKS nm.h:$GDB_NM_FILE" ;;
     "gcore") CONFIG_FILES="$CONFIG_FILES gcore" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "gdb-gdb.gdb") CONFIG_FILES="$CONFIG_FILES gdb-gdb.gdb" ;;
@@ -19053,6 +19042,7 @@ $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 ;;
+    "nm.h":L) echo > stamp-nmh ;;
     "gcore":F) chmod +x gcore ;;
 
   esac
diff --git a/gdb/configure.ac b/gdb/configure.ac
index c4e0dbf..dbe0150 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -2217,23 +2217,20 @@ else
   fi
 fi
 
-# If nativefile (NAT_FILE) is not set in configure.nat, we link to an
-# empty version.
-
-files=
-links=
-
+NM_H=
 rm -f nm.h
 if test "${nativefile}" != ""; then
     case "${nativefile}" in
       nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
       * ) GDB_NM_FILE="${nativefile}"
     esac
-    files="${files} ${GDB_NM_FILE}"
-    links="${links} nm.h"
+    AC_CONFIG_LINKS([nm.h:$GDB_NM_FILE], [echo > stamp-nmh],
+                    [GDB_NM_FILE=$GDB_NM_FILE])
     AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
+    NM_H=nm.h
 fi
 AC_SUBST(GDB_NM_FILE)
+AC_SUBST(NM_H)
 
 dnl Add dependency for xsltproc if building with maintainer-mode enabled.
 AC_PATH_PROGS(XSLTPROC, xsltproc, missing)
@@ -2244,8 +2241,6 @@ if test "x$USE_MAINTAINER_MODE" = xyes; then
 fi
 AC_SUBST(XSLTPROC)
 
-AC_LINK_FILES($files, $links)
-
 dnl Check for exe extension set on certain hosts (e.g. Win32)
 AC_EXEEXT


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-10-21 13:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-21 13:45 [binutils-gdb] Fix creation of nm.h when configure is changed Tom Tromey

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