Skip to content

Commit

Permalink
Update generator for Chrome generation as the default case
Browse files Browse the repository at this point in the history
Update defaults so that we pull IDL files from api/dev
Update the interface string gereration to replace
interfaces ending with '_Dev' with (Dev) instead.
Allow for overfide of interface string using 'iname' Property
By default assume range=M13,M14 for multi-version chrome.
(NOTE: A new CL will clean this up and sport =min,max)

BUG= http://code.google.com/p/chromium/issues/detail?id=89969
TEST= ./generator.py
R= brettw@chromium.org
Review URL: http://codereview.chromium.org/7753042

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98488 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
noelallen@google.com committed Aug 26, 2011
1 parent 4ae644e commit 14fa03b
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 7 deletions.
2 changes: 1 addition & 1 deletion ppapi/generators/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def Main(args):

# If no arguments are provided, assume we are tring to rebuild the
# C headers with warnings off.
if not args: args = ['--wnone', '--cgen']
if not args: args = ['--wnone', '--cgen', '--range=M13,M14']

sys.exit(Main(args))

13 changes: 12 additions & 1 deletion ppapi/generators/idl_c_header.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,17 @@ def GetDefine(self, name, value):
out = '#define %s \\\n %s' % (name, value)
return '%s\n' % out

def GetVersionString(self, node):
# If an interface name is specified, use that
iname = node.GetProperty('iname')
if iname: return iname

# Otherwise, the interface name is the object's name
# With '_Dev' replaced by '(Dev)' if it's a Dev interface.
name = node.GetName()
if len(name) > 4 and name[-4:] == '_Dev':
name = '%s(Dev)' % name[:-4]
return name

def GetOutFile(self, filenode, options):
savename = GetOutFileName(filenode, GetOption('dstroot'))
Expand Down Expand Up @@ -163,7 +174,7 @@ def GenerateHead(self, out, filenode, releases, options):
out.Write('\n')
for node in filenode.GetListOf('Interface'):
idefs = ''
name = node.GetName()
name = self.GetVersionString(node)
macro = node.GetProperty('macro')
if not macro:
macro = self.GetMacro(node)
Expand Down
13 changes: 9 additions & 4 deletions ppapi/generators/idl_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@

GeneratorList = []

Option('release', 'Which release to generate.', default='M14')
Option('range', 'Which release ranges in the form of MIN,MAX.', default='')
Option('release', 'Which release to generate.', default='')
Option('range', 'Which ranges in the form of MIN,MAX.', default='M13,M14')


#
Expand Down Expand Up @@ -67,7 +67,7 @@ def Generate(self, ast, options):
releasestr = GetOption('release')

# Check for a range option which over-rides a release option
if rangestr:
if not releasestr and rangestr:
range_list = rangestr.split(',')
if len(range_list) != 2:
self.Error('Failed to generate for %s, incorrect range: "%s"' %
Expand All @@ -77,12 +77,17 @@ def Generate(self, ast, options):
vmax = range_list[1]
vmin = ast.releases.index(vmin)
vmax = ast.releases.index(vmax) + 1
ret = self.GenerateRange(ast, ast.releases[vmin:vmax], options)
range = ast.releases[vmin:vmax]
InfoOut.Log('Generate range %s of %s.' % (range, self.name))
ret = self.GenerateRange(ast, range, options)
if ret < 0:
self.Error('Failed to generate range %s : %s.' %(vmin, vmax))
else:
InfoOut.Log('%s wrote %d files.' % (self.name, ret))
# Otherwise this should be a single release generation
else:
if releasestr:
InfoOut.Log('Generate release %s of %s.' % (releasestr, self.name))
ret = self.GenerateRelease(ast, releasestr, options)
if ret < 0:
self.Error('Failed to generate release %s.' % releasestr)
Expand Down
2 changes: 1 addition & 1 deletion ppapi/generators/idl_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -968,7 +968,7 @@ def TestNamespaceFiles(filter):
InfoOut.Log("Passed namespace test.")
return errs

default_dirs = ['.', 'trusted']
default_dirs = ['.', 'trusted', 'dev']
def ParseFiles(filenames):
parser = IDLParser()
filenodes = []
Expand Down

0 comments on commit 14fa03b

Please sign in to comment.