don't keep a gdb-specific date
authorTom Tromey <tromey@redhat.com>
Mon, 24 Jun 2013 15:06:27 +0000 (15:06 +0000)
committerTom Tromey <tromey@redhat.com>
Mon, 24 Jun 2013 15:06:27 +0000 (15:06 +0000)
Right now there are two nightly commits to update a file in the tree
with the current date.  One commit is for BFD, one is for gdb.

It seems unnecessary to me to do this twice.  We can make do with a
single such commit.

This patch changes gdb in a minimal way to reuse the BFD date -- it
extracts it from bfd/version.h and changes version.in to use the
placeholder string "DATE" for those times when a date is wanted.

I propose removing the cron job that updates the version on trunk, and
then check in this patch.

For release branches, we can keep the cron job, but just tell it to
rewrite bfd/version.h.  I believe this is a simple change in the
crontab -- the script will work just fine on this file.

This also moves version.in and version.h into common/, to reflect
their shared status; and updates gdbserver to use version.h besides.

* common/create-version.sh: New file.
* Makefile.in (version.c): Use bfd/version.h, common/version.in,
create-version.sh.
(HFILES_NO_SRCDIR): Use common/version.h.
* version.in: Move to ...
* common/version.in: ... here.  Replace date with "DATE".
* version.h: Move to ...
* common/version.h: ... here.
gdbserver:
* Makefile.in (version.c): Use bfd/version.h, common/version.in,
create-version.sh.
(version.o): Remove.
* gdbreplay.c: Include version.h.
(version, host_name): Don't declare.
* server.h: Include version.h.
(version, host_name): Don't declare.
doc:
* Makefile.in (POD2MAN1, POD2MAN5): Use version.subst.
(GDBvn.texi): Use version.subst.
(version.subst): New target.
(mostlyclean): Remove version.subst.

13 files changed:
gdb/ChangeLog
gdb/Makefile.in
gdb/common/create-version.sh [new file with mode: 0755]
gdb/common/version.h [new file with mode: 0644]
gdb/common/version.in [new file with mode: 0644]
gdb/doc/ChangeLog
gdb/doc/Makefile.in
gdb/gdbserver/ChangeLog
gdb/gdbserver/Makefile.in
gdb/gdbserver/gdbreplay.c
gdb/gdbserver/server.h
gdb/version.h [deleted file]
gdb/version.in [deleted file]

index 1efd3f9071a6ef61a6e12e6e317a09318d59dc69..0b81e3360243defe3759a6815caaca99fc575772 100644 (file)
@@ -1,3 +1,14 @@
+2013-06-24  Tom Tromey  <tromey@redhat.com>
+
+       * common/create-version.sh: New file.
+       * Makefile.in (version.c): Use bfd/version.h, common/version.in,
+       create-version.sh.
+       (HFILES_NO_SRCDIR): Use common/version.h.
+       * version.in: Move to ...
+       * common/version.in: ... here.  Replace date with "DATE".
+       * version.h: Move to ...
+       * common/version.h: ... here.
+
 2013-06-21  Joel Brobecker  <brobecker@adacore.com>
 
        * gdb/gnulib/Makefile.in: Update date in copyright header.
index 71058e509e6610e571b1d3201be17b393ebcf010..a6658c46cfc0755500ec7fd998b9d13f971b1cad 100644 (file)
@@ -791,7 +791,7 @@ i386bsd-nat.h xml-support.h xml-tdesc.h alphabsd-tdep.h gdb_obstack.h \
 ia64-tdep.h ada-lang.h ada-varobj.h varobj.h frv-tdep.h nto-tdep.h serial.h \
 c-lang.h d-lang.h go-lang.h frame.h event-loop.h block.h cli/cli-setshow.h \
 cli/cli-decode.h cli/cli-cmds.h cli/cli-dump.h cli/cli-utils.h \
-cli/cli-script.h macrotab.h symtab.h version.h \
+cli/cli-script.h macrotab.h symtab.h common/version.h \
 gnulib/import/string.in.h gnulib/import/str-two-way.h \
 gnulib/import/stdint.in.h remote.h remote-notif.h gdb.h sparc-nat.h \
 gdbthread.h dwarf2-frame.h dwarf2-frame-tailcall.h nbsd-nat.h dcache.h \
@@ -1420,13 +1420,9 @@ $(srcdir)/copying.c: @MAINTAINER_MODE_TRUE@ $(srcdir)/../COPYING3 $(srcdir)/copy
                < $(srcdir)/../COPYING3 > $(srcdir)/copying.tmp
        mv $(srcdir)/copying.tmp $(srcdir)/copying.c
 
-version.c: Makefile version.in
-       rm -f version.c-tmp version.c
-       echo '#include "version.h"' >> version.c-tmp
-       echo 'const char version[] = "'"`sed q ${srcdir}/version.in`"'";' >> version.c-tmp
-       echo 'const char host_name[] = "$(host_alias)";' >> version.c-tmp
-       echo 'const char target_name[] = "$(target_alias)";' >> version.c-tmp
-       mv version.c-tmp version.c
+version.c: Makefile common/version.in $(srcdir)/../bfd/version.h $(srcdir)/common/create-version.sh
+       $(SHELL) $(srcdir)/common/create-version.sh $(srcdir) \
+           $(host_alias) $(target_alias) version.c
 
 observer.h: observer.sh doc/observer.texi
        ${srcdir}/observer.sh h ${srcdir}/doc/observer.texi observer.h
diff --git a/gdb/common/create-version.sh b/gdb/common/create-version.sh
new file mode 100755 (executable)
index 0000000..2d2bc74
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# Copyright (C) 1989-2013 Free Software Foundation, Inc.
+
+# This file is part of GDB.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Create version.c from version.in.
+# Usage:
+#    create-version.sh PATH-TO-GDB-SRCDIR HOST_ALIAS \
+#        TARGET_ALIAS OUTPUT-FILE-NAME
+
+srcdir="$1"
+host_alias="$2"
+target_alias="$3"
+output="$4"
+
+rm -f version.c-tmp $output version.tmp
+date=`sed -n -e 's/^.* BFD_VERSION_DATE \(.*\)$$/\1/p' $srcdir/../bfd/version.h`
+sed -e "s/DATE/$date/" < $srcdir/common/version.in > version.tmp
+echo '#include "version.h"' >> version.c-tmp
+echo 'const char version[] = "'"`sed q version.tmp`"'";' >> version.c-tmp
+echo 'const char host_name[] = "$host_alias";' >> version.c-tmp
+echo 'const char target_name[] = "$target_alias";' >> version.c-tmp
+mv version.c-tmp $output
+rm -f version.tmp
diff --git a/gdb/common/version.h b/gdb/common/version.h
new file mode 100644 (file)
index 0000000..94b577c
--- /dev/null
@@ -0,0 +1,31 @@
+/* Version information for GDB.
+   Copyright (C) 1999-2013 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef VERSION_H
+#define VERSION_H
+
+/* Version number of GDB, as a string.  */
+extern const char version[];
+
+/* Canonical host name as a string.  */
+extern const char host_name[];
+
+/* Canonical target name as a string.  */
+extern const char target_name[];
+
+#endif /* #ifndef VERSION_H */
diff --git a/gdb/common/version.in b/gdb/common/version.in
new file mode 100644 (file)
index 0000000..99adaca
--- /dev/null
@@ -0,0 +1 @@
+7.6.50.DATE-cvs
index eeb096d99cf43c8792ad1b5bbc721e480ef80627..96d1a26455b700af7570e1c62892df2200d4d415 100644 (file)
@@ -1,3 +1,10 @@
+2013-06-24  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in (POD2MAN1, POD2MAN5): Use version.subst.
+       (GDBvn.texi): Use version.subst.
+       (version.subst): New target.
+       (mostlyclean): Remove version.subst.
+
 2013-06-20  Pedro Alves  <pedro@codesourcery.com>
 
        * gdb.texinfo (GDB/MI Data Manipulation)
index fdd57d65516dfca909a25182a4b4d371c869d6de..d4ab738f8df1b2441db9893cc3f842da686af88d 100644 (file)
@@ -172,9 +172,9 @@ TEXI2POD = perl $(srcdir)/../../etc/texi2pod.pl \
                $(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS)
 
 POD2MAN1 = pod2man --center="GNU Development Tools" \
-                  --release="gdb-`sed q $(srcdir)/../version.in`" --section=1
+                  --release="gdb-`sed q version.subst`" --section=1
 POD2MAN5 = pod2man --center="GNU Development Tools" \
-                  --release="gdb-`sed q $(srcdir)/../version.in`" --section=5
+                  --release="gdb-`sed q version.subst`" --section=5
 
 # List of man pages generated from gdb.texi
 MAN1S = gdb.1 gdbserver.1 gcore.1
@@ -378,9 +378,9 @@ refcard.pdf : refcard.tex $(REFEDITS)
        mv sedref.pdf refcard.pdf
        rm -f sedref.log sedref.tex tmp.sed
 
-# File to record current GDB version number (copied from main dir version.in)
-GDBvn.texi : ${gdbdir}/version.in
-       echo "@set GDBVN `sed q $(srcdir)/../version.in`" > ./GDBvn.new
+# File to record current GDB version number.
+GDBvn.texi : version.subst
+       echo "@set GDBVN `sed q version.subst`" > ./GDBvn.new
        if [ -n "$(PKGVERSION)" ]; then \
          echo "@set VERSION_PACKAGE $(PKGVERSION)" >> ./GDBvn.new; \
        fi
@@ -396,6 +396,10 @@ GDBvn.texi : ${gdbdir}/version.in
        fi
        mv GDBvn.new GDBvn.texi
 
+version.subst: $(gdbdir)/common/version.in $(gdbdir)/../bfd/version.h
+       date=`sed -n -e 's/^.* BFD_VERSION_DATE \(.*\)$$/\1/p' $(gdbdir)/../bfd/version.h`; \
+       sed -e "s/DATE/$$date/" < $(gdbdir)/common/version.in > version.subst
+
 # Updated atomically
 .PRECIOUS: GDBvn.texi
 
@@ -649,6 +653,7 @@ mostlyclean:
        rm -f $(STABS_TEX_TMPS)
        rm -f $(ANNOTATE_TEX_TMPS)
        rm -f sedref.dvi sedref.tex tmp.sed
+       rm -f version.subst
 
 clean: mostlyclean
        rm -f gdb-cfg.texi GDBvn.texi
index b15614a39678e10104060a0bde954ba4b5532c37..31e71c4f60a025138229af35bcab808fb03f600f 100644 (file)
@@ -1,3 +1,13 @@
+2013-06-24  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.in (version.c): Use bfd/version.h, common/version.in,
+       create-version.sh.
+       (version.o): Remove.
+       * gdbreplay.c: Include version.h.
+       (version, host_name): Don't declare.
+       * server.h: Include version.h.
+       (version, host_name): Don't declare.
+
 2013-06-12  Pedro Alves  <palves@redhat.com>
 
        * linux-x86-low.c (linux_is_elf64): Delete global.
index e8470a817497f4510379c82b572db6923cfc85de..e5ecdd36796743008bf1b5fb6d801287ce109218 100644 (file)
@@ -389,13 +389,9 @@ am--refresh:
 
 force:
 
-version.c: Makefile $(srcdir)/../version.in
-       rm -f version.c-tmp version.c
-       echo '#include "server.h"' >> version.c-tmp
-       echo 'const char version[] = "'"`sed q ${srcdir}/../version.in`"'";' >> version.c-tmp
-       echo 'const char host_name[] = "$(host_alias)";' >> version.c-tmp
-       mv version.c-tmp version.c
-version.o: version.c $(server_h)
+version.c: Makefile $(srcdir)/../common/version.in $(srcdir)/../../bfd/version.h $(srcdir)/../common/create-version.sh
+       $(SHELL) $(srcdir)/../common/create-version.sh $(srcdir)/.. \
+           $(host_alias) $(target_alias) version.c
 
 xml-builtin.c: stamp-xml; @true
 stamp-xml: $(XML_DIR)/feature_to_c.sh Makefile $(XML_FILES)
index 0aa52d8fcbf169bc19e494e101ff12c516bb0a45..c0d0c8f15ce65f07527f3363a2b88c2af894d387 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "config.h"
 #include "build-gnulib-gdbserver/config.h"
+#include "version.h"
 
 #include <stdio.h>
 #if HAVE_SYS_FILE_H
@@ -72,10 +73,6 @@ typedef int socklen_t;
 /* Sort of a hack... */
 #define EOL (EOF - 1)
 
-/* Version information, from version.c.  */
-extern const char version[];
-extern const char host_name[];
-
 static int remote_desc;
 
 #ifdef __MINGW32CE__
index 18d060c268b1d77473c4896c5f708e11e17c7186..c68c6515c08a016683cd59b9db8a6504c6bcdbf0 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "libiberty.h"
 #include "ansidecl.h"
+#include "version.h"
 
 #include <stdarg.h>
 #include <stdio.h>
@@ -531,8 +532,4 @@ CORE_ADDR get_set_tsv_func_addr (void);
 extern CORE_ADDR current_insn_ptr;
 extern int emit_error;
 
-/* Version information, from version.c.  */
-extern const char version[];
-extern const char host_name[];
-
 #endif /* SERVER_H */
diff --git a/gdb/version.h b/gdb/version.h
deleted file mode 100644 (file)
index 94b577c..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Version information for GDB.
-   Copyright (C) 1999-2013 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef VERSION_H
-#define VERSION_H
-
-/* Version number of GDB, as a string.  */
-extern const char version[];
-
-/* Canonical host name as a string.  */
-extern const char host_name[];
-
-/* Canonical target name as a string.  */
-extern const char target_name[];
-
-#endif /* #ifndef VERSION_H */
diff --git a/gdb/version.in b/gdb/version.in
deleted file mode 100644 (file)
index 274be55..0000000
+++ /dev/null
@@ -1 +0,0 @@
-7.6.50.20130624-cvs