summaryrefslogtreecommitdiffstats
path: root/codegen/mergedefs.py
diff options
context:
space:
mode:
Diffstat (limited to 'codegen/mergedefs.py')
-rwxr-xr-xcodegen/mergedefs.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/codegen/mergedefs.py b/codegen/mergedefs.py
new file mode 100755
index 0000000..773e499
--- /dev/null
+++ b/codegen/mergedefs.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python
+# -*- Mode: Python; py-indent-offset: 4 -*-
+
+import optparse
+
+import defsparser
+
+parser = optparse.OptionParser(
+ usage="usage: %prog [options] generated-defs old-defs")
+parser.add_option("-p", "--merge-parameters",
+ help="Merge changes in function/methods parameter lists",
+ action="store_true", dest="parmerge", default=False)
+(options, args) = parser.parse_args()
+
+if len(args) != 2:
+ parser.error("wrong number of arguments")
+
+newp = defsparser.DefsParser(args[0])
+oldp = defsparser.DefsParser(args[1])
+
+newp.startParsing()
+oldp.startParsing()
+
+newp.merge(oldp, options.parmerge)
+
+newp.write_defs()