summaryrefslogtreecommitdiffstats
path: root/codegen/mergedefs.py
blob: 773e499bb0aff7ccdf0b7924825b45f455e5c98c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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()