From a8ab094a329bd2d212f17485b24ad84fa409b546 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 14 Feb 2022 08:26:32 -0700 Subject: [PATCH] Move copyright code from gdbarch.py to new file This moves the copyright code from gdbarch.py to a new Python source file, gdbcopyright.py. The function in this file will find the copyright dates by scanning the calling script. This will be reused in a future patch. This involved minor changes to the output of gdbarch.py. Also, I've updated copyright.py to remove the reference to gdbarch.sh. We don't need to mention gdbarch.py there, either. --- gdb/copyright.py | 1 - gdb/gdbarch-gen.h | 4 +++- gdb/gdbarch.c | 4 +++- gdb/gdbarch.py | 29 ++++--------------------- gdb/gdbcopyright.py | 52 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 62 insertions(+), 28 deletions(-) create mode 100644 gdb/gdbcopyright.py diff --git a/gdb/copyright.py b/gdb/copyright.py index 8ae9ffff65b..48192e80560 100644 --- a/gdb/copyright.py +++ b/gdb/copyright.py @@ -245,7 +245,6 @@ BY_HAND = ( MULTIPLE_COPYRIGHT_HEADERS = ( "gdb/doc/gdb.texinfo", "gdb/doc/refcard.tex", - "gdb/gdbarch.sh", "gdb/syscalls/update-netbsd.sh", ) diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h index d9d81b7d386..b7beb73d36d 100644 --- a/gdb/gdbarch-gen.h +++ b/gdb/gdbarch-gen.h @@ -20,7 +20,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/* This file was created with the aid of ``gdbarch.py''. */ +/* To regenerate this file, run: + ./gdbarch.py +*/ diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 3f7a1e35789..55dd602b27f 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -20,7 +20,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/* This file was created with the aid of ``gdbarch.py''. */ +/* To regenerate this file, run: + ./gdbarch.py +*/ /* Maintain the struct gdbarch object. */ diff --git a/gdb/gdbarch.py b/gdb/gdbarch.py index 9b538a7d5c6..3bd6400355e 100755 --- a/gdb/gdbarch.py +++ b/gdb/gdbarch.py @@ -20,11 +20,11 @@ # along with this program. If not, see . import textwrap +import gdbcopyright # All the components created in gdbarch-components.py. components = [] - def join_type_and_name(t, n): "Combine the type T and the name N into a C declaration." if t.endswith("*") or t.endswith("&"): @@ -161,30 +161,9 @@ class Method(Function): with open("gdbarch-components.py") as fd: exec(fd.read()) -copyright = """/* *INDENT-OFF* */ /* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */ -/* vi:set ro: */ - -/* Dynamic architecture support for GDB, the GNU debugger. - - Copyright (C) 1998-2022 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 . */ - -/* This file was created with the aid of ``gdbarch.py''. */ -""" +copyright = gdbcopyright.copyright( + "gdbarch.py", "Dynamic architecture support for GDB, the GNU debugger." +) def info(c): diff --git a/gdb/gdbcopyright.py b/gdb/gdbcopyright.py new file mode 100644 index 00000000000..9526eac4e20 --- /dev/null +++ b/gdb/gdbcopyright.py @@ -0,0 +1,52 @@ +# Copyright constant for Python code to use. +# +# Copyright (C) 2022 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 . + +def copyright(tool, description): + # Search the tool source itself for the correct copyright years. + with open(tool, 'r') as f: + for line in f: + if line.startswith('# Copyright (C) '): + dateline = line[1:].strip() + break + return f"""/* *INDENT-OFF* */ /* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */ +/* vi:set ro: */ + +/* {description} + + {dateline} + + 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 . */ + +/* To regenerate this file, run: + ./{tool} +*/ +""" -- 2.30.2