summaryrefslogtreecommitdiff
path: root/build-aux/vcstocl
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@gotplt.org>2020-08-20 08:43:46 +0530
committerPaul Eggert <eggert@cs.ucla.edu>2020-08-20 10:39:56 -0700
commit6ca8bb18851a4838cf0a7b4f17363fc9116a7b85 (patch)
tree1aaae11922a7f13cfb2b84646103c7534ac6649f /build-aux/vcstocl
parent6d704d3a1f65cda7c11630cd914b4bc877ddf224 (diff)
downloadgnulib-6ca8bb18851a4838cf0a7b4f17363fc9116a7b85.tar.gz
Split ProjectQuirks out into its own file
ProjectQuirks is used by external quirks files and importing it from vcs-to-changelog.py is broken since it was renamed to use hyphens. It is cleaner to put it in its own file anyway. * build-aux/vcstocl/projectquirks.py: A new file... * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which we move ProjectQuirks and import the file.
Diffstat (limited to 'build-aux/vcstocl')
-rw-r--r--build-aux/vcstocl/projectquirks.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/build-aux/vcstocl/projectquirks.py b/build-aux/vcstocl/projectquirks.py
new file mode 100644
index 0000000000..6561e387d0
--- /dev/null
+++ b/build-aux/vcstocl/projectquirks.py
@@ -0,0 +1,36 @@
+# Project quirks base class.
+# Copyright (C) 2020 Free Software Foundation, Inc.
+#
+# 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 <https://www.gnu.org/licenses/>.
+
+
+class ProjectQuirks:
+ # This is a list of regex substitutions for C/C++ macros that are known to
+ # break parsing of the C programs. Each member of this list is a dict with
+ # the key 'orig' having the regex and 'sub' having the substitution of the
+ # regex.
+ MACRO_QUIRKS = []
+
+ # This is a list of macro definitions that are extensively used and are
+ # known to break parsing due to some characteristic, mainly the lack of a
+ # semicolon at the end.
+ C_MACROS = []
+
+ # The repo type, defaults to git.
+ repo = 'git'
+
+ # List of files to ignore either because they are not needed (such as the
+ # ChangeLog) or because they are non-parseable. For example, glibc has a
+ # header file that is only assembly code, which breaks the C parser.
+ IGNORE_LIST = ['ChangeLog']