From 44a39e3e761c0774cd1bb9360db7f49e1d66ec06 Mon Sep 17 00:00:00 2001
From: Paul Eggert
Date: Tue, 9 Apr 2019 15:42:10 -0700
Subject: Remove dmpstruct.h
The hassles of updating the dmpstruct.h-using code bit me again.
These updates are more trouble than they’re worth. See:
https://lists.gnu.org/r/emacs-devel/2019-03/msg00122.html
As I’m the main person who’s made changes in this area since
dmpstruct.h was introduced, I’m the most motivated to clean up
the situation.
* make-dist (possibly_non_vc_files): Remove src/dmpstruct.h.
* src/Makefile.in (dmpstruct_headers, dmpstruct.h): Remove.
(pdumper.o): Do not depend on dmpstruct.h.
(mostlyclean): Do not remove dmpstruct.h.
* src/dmpstruct.awk: Remove.
* src/pdumper.c: Do not include dmpstruct.h.
(CHECK_STRUCTS): Remove. All uses removed.
---
src/dmpstruct.awk | 45 ---------------------------------------------
1 file changed, 45 deletions(-)
delete mode 100755 src/dmpstruct.awk
(limited to 'src/dmpstruct.awk')
diff --git a/src/dmpstruct.awk b/src/dmpstruct.awk
deleted file mode 100755
index 55626cf8b21..00000000000
--- a/src/dmpstruct.awk
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (C) 2018-2019 Free Software Foundation, Inc.
-#
-# This file is part of GNU Emacs.
-#
-# GNU Emacs 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.
-#
-# GNU Emacs 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 GNU Emacs. If not, see .
-
-BEGIN {
- print "/* Generated by dmpstruct.awk */"
- print "#ifndef EMACS_DMPSTRUCT_H"
- print "#define EMACS_DMPSTRUCT_H"
- struct_name = ""
- tmpfile = "dmpstruct.tmp"
-}
-# Match a type followed by optional syntactic whitespace
-/^(enum|struct|union) [a-zA-Z0-9_]+([\t ]|\/\*.*\*\/)*$/ {
- struct_name = $2
- close (tmpfile)
-}
-/^(enum|struct|union) [a-zA-Z0-9_]+([\t ]|\/\*.*\*\/)*$/, /^( )?};$/ {
- print $0 > tmpfile
-}
-/^( )?} *(GCALIGNED_STRUCT)? *;$/ {
- if (struct_name != "") {
- fflush (tmpfile)
- cmd = "../lib-src/make-fingerprint -r " tmpfile
- cmd | getline hash
- close (cmd)
- printf "#define HASH_%s_%.10s\n", struct_name, hash
- struct_name = ""
- }
-}
-END {
- print "#endif /* EMACS_DMPSTRUCT_H */"
-}
--
cgit v1.2.1
From 9994bf17cf532f2e1d4310341da7180342202191 Mon Sep 17 00:00:00 2001
From: Paul Eggert
Date: Wed, 10 Apr 2019 19:42:37 -0700
Subject: Bring back dmpstruct.h
Bring back the dmpstruct.h checking, and use it when
--enable-checking=structs is specified. The checking can be helpful
to some developers, although it gets in the way of others and is
not needed for ordinary tarball builds.
* src/dmpstruct.awk: Restore this file, with mode 644 not 755.
* configure.ac: New option-arg --enable-checking=structs,
implied by --enable-checking.
(CHECK_STRUCTS): New macro and var.
* src/Makefile.in (CHECK_STRUCTS): New macro.
(dmpstruct_headers, dmpstruct.h, dmpstruct.h):
Restore these macros and rules.
(pdumper.o): Restore this dependency if $(CHECK_STRUCTS) is true.
(mostlyclean): Remove dmpstruct.h.
* src/pdumper.c [CHECK_STRUCTS]: Include dmpstruct.h,
and restore checks against hashes.
---
src/dmpstruct.awk | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
create mode 100644 src/dmpstruct.awk
(limited to 'src/dmpstruct.awk')
diff --git a/src/dmpstruct.awk b/src/dmpstruct.awk
new file mode 100644
index 00000000000..55626cf8b21
--- /dev/null
+++ b/src/dmpstruct.awk
@@ -0,0 +1,45 @@
+# Copyright (C) 2018-2019 Free Software Foundation, Inc.
+#
+# This file is part of GNU Emacs.
+#
+# GNU Emacs 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.
+#
+# GNU Emacs 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 GNU Emacs. If not, see .
+
+BEGIN {
+ print "/* Generated by dmpstruct.awk */"
+ print "#ifndef EMACS_DMPSTRUCT_H"
+ print "#define EMACS_DMPSTRUCT_H"
+ struct_name = ""
+ tmpfile = "dmpstruct.tmp"
+}
+# Match a type followed by optional syntactic whitespace
+/^(enum|struct|union) [a-zA-Z0-9_]+([\t ]|\/\*.*\*\/)*$/ {
+ struct_name = $2
+ close (tmpfile)
+}
+/^(enum|struct|union) [a-zA-Z0-9_]+([\t ]|\/\*.*\*\/)*$/, /^( )?};$/ {
+ print $0 > tmpfile
+}
+/^( )?} *(GCALIGNED_STRUCT)? *;$/ {
+ if (struct_name != "") {
+ fflush (tmpfile)
+ cmd = "../lib-src/make-fingerprint -r " tmpfile
+ cmd | getline hash
+ close (cmd)
+ printf "#define HASH_%s_%.10s\n", struct_name, hash
+ struct_name = ""
+ }
+}
+END {
+ print "#endif /* EMACS_DMPSTRUCT_H */"
+}
--
cgit v1.2.1