Преглед изворни кода

scripts: show item name as part of description

osy пре 4 година
родитељ
комит
21d76c31ba
1 измењених фајлова са 21 додато и 10 уклоњено
  1. 21 10
      scripts/const-gen.py

+ 21 - 10
scripts/const-gen.py

@@ -10,7 +10,7 @@ from collections import namedtuple
 
 
 Name = namedtuple('Name', 'name desc')
 Name = namedtuple('Name', 'name desc')
 Device = namedtuple('Device', 'name bus alias desc')
 Device = namedtuple('Device', 'name bus alias desc')
-Machines = namedtuple('Machines', 'name items default')
+Architecture = namedtuple('Architecture', 'name items default')
 
 
 TARGETS = [
 TARGETS = [
     Name("alpha", "Alpha"),
     Name("alpha", "Alpha"),
@@ -89,7 +89,7 @@ def parseListing(listing):
             break
             break
         name = line[0:idx]
         name = line[0:idx]
         description = line[idx:].strip()
         description = line[idx:].strip()
-        result.add(Name(name, description))
+        result.add(Name(name, '{} ({})'.format(description, name)))
     return result
     return result
 
 
 def parseDeviceListing(listing):
 def parseDeviceListing(listing):
@@ -103,7 +103,13 @@ def parseDeviceListing(listing):
             group = line.rstrip(':')
             group = line.rstrip(':')
             continue
             continue
         search = re.search('^name "(?P<name>[^"]*)"(?:, bus (?P<bus>[^\s]+))?(?:, alias "(?P<alias>[^"]+)")?(?:, desc "(?P<desc>[^"]+)")?$', line)
         search = re.search('^name "(?P<name>[^"]*)"(?:, bus (?P<bus>[^\s]+))?(?:, alias "(?P<alias>[^"]+)")?(?:, desc "(?P<desc>[^"]+)")?$', line)
-        item = Device(search.group('name'), search.group('bus'), search.group('alias'), search.group('desc'))
+        name = search.group('name')
+        desc = search.group('desc')
+        if not desc:
+            desc = name
+        else:
+            desc = '{} ({})'.format(desc, name)
+        item = Device(name, search.group('bus'), search.group('alias'), desc)
         result[group].add(item)
         result[group].add(item)
     return result
     return result
 
 
@@ -119,9 +125,14 @@ def parseCpu(listing):
         return Name(search.group('name'), search.group('name'))
         return Name(search.group('name'), search.group('name'))
     def parseStandard(line):
     def parseStandard(line):
         search = re.search('^(?P<arch>\S+)\s+(?P<name>\S+)\s+(?P<desc>.*)?$', line)
         search = re.search('^(?P<arch>\S+)\s+(?P<name>\S+)\s+(?P<desc>.*)?$', line)
+        name = search.group('name')
         desc = search.group('desc').strip()
         desc = search.group('desc').strip()
         desc = ' '.join(desc.split())
         desc = ' '.join(desc.split())
-        return Name(search.group('name'), desc)
+        if not desc or desc.startswith('(alias'):
+            desc = name
+        else:
+            desc = '{} ({})'.format(desc, name)
+        return Name(name, desc)
     def parseSparcFlags(line):
     def parseSparcFlags(line):
         if line.startswith('Default CPU feature flags'):
         if line.startswith('Default CPU feature flags'):
             flags = line.split(':')[1].strip()
             flags = line.split(':')[1].strip()
@@ -188,7 +199,6 @@ def getDefaultMachine(target, machines):
             return idx
             return idx
         elif not find and "default" in machine.desc:
         elif not find and "default" in machine.desc:
             return idx
             return idx
-    print(machines)
     return -1
     return -1
 
 
 def getSoundCards(qemu_path):
 def getSoundCards(qemu_path):
@@ -241,14 +251,15 @@ def generate(targets, cpus, cpuFlags, machines, networkCards, soundCards):
     output += generateArray('supportedArchitectures', targetKeys)
     output += generateArray('supportedArchitectures', targetKeys)
     output += generateArray('supportedArchitecturesPretty', [item.desc for item in targets])
     output += generateArray('supportedArchitecturesPretty', [item.desc for item in targets])
     output += generateMap('supportedCpusForArchitecture', 'architecture', targetKeys, {cpu.name: [item.name for item in cpu.items] for cpu in cpus})
     output += generateMap('supportedCpusForArchitecture', 'architecture', targetKeys, {cpu.name: [item.name for item in cpu.items] for cpu in cpus})
+    output += generateMap('supportedCpusForArchitecturePretty', 'architecture', targetKeys, {cpu.name: [item.desc for item in cpu.items] for cpu in cpus})
     output += generateMap('supportedCpuFlagsForArchitecture', 'architecture', targetKeys, {machine.name: [item for item in machine.items] for machine in cpuFlags})
     output += generateMap('supportedCpuFlagsForArchitecture', 'architecture', targetKeys, {machine.name: [item for item in machine.items] for machine in cpuFlags})
     output += generateMap('supportedTargetsForArchitecture', 'architecture', targetKeys, {machine.name: [item.name for item in machine.items] for machine in machines})
     output += generateMap('supportedTargetsForArchitecture', 'architecture', targetKeys, {machine.name: [item.name for item in machine.items] for machine in machines})
     output += generateMap('supportedTargetsForArchitecturePretty', 'architecture', targetKeys, {machine.name: [item.desc for item in machine.items] for machine in machines})
     output += generateMap('supportedTargetsForArchitecturePretty', 'architecture', targetKeys, {machine.name: [item.desc for item in machine.items] for machine in machines})
     output += generateIndexMap('defaultTargetIndexForArchitecture', 'architecture', targetKeys, {machine.name: machine.default for machine in machines})
     output += generateIndexMap('defaultTargetIndexForArchitecture', 'architecture', targetKeys, {machine.name: machine.default for machine in machines})
     output += generateArray('supportedNetworkCards', [item.name for item in networkCards])
     output += generateArray('supportedNetworkCards', [item.name for item in networkCards])
-    output += generateArray('supportedNetworkCardsPretty', [item.desc if item.desc else item.name for item in networkCards])
+    output += generateArray('supportedNetworkCardsPretty', [item.desc for item in networkCards])
     output += generateArray('supportedSoundCardDevices', [item.name for item in soundCards])
     output += generateArray('supportedSoundCardDevices', [item.name for item in soundCards])
-    output += generateArray('supportedSoundCardDevicesPretty', [item.desc if item.desc else item.name for item in soundCards])
+    output += generateArray('supportedSoundCardDevicesPretty', [item.desc for item in soundCards])
     output += '@end\n'
     output += '@end\n'
     return output
     return output
 
 
@@ -268,12 +279,12 @@ def main(argv):
                 raise "Invalid path."
                 raise "Invalid path."
         machines = sortItems(getMachines(path))
         machines = sortItems(getMachines(path))
         default = getDefaultMachine(target.name, machines)
         default = getDefaultMachine(target.name, machines)
-        allMachines.append(Machines(target.name, machines, default))
+        allMachines.append(Architecture(target.name, machines, default))
         networkCards = networkCards.union(getNetworkCards(path))
         networkCards = networkCards.union(getNetworkCards(path))
         soundCards = soundCards.union(getSoundCards(path))
         soundCards = soundCards.union(getSoundCards(path))
         cpus, flags = getCpus(path)
         cpus, flags = getCpus(path)
-        allCpus.append(Machines(target.name, cpus, 0))
-        allCpuFlags.append(Machines(target.name, flags, 0))
+        allCpus.append(Architecture(target.name, cpus, 0))
+        allCpuFlags.append(Architecture(target.name, flags, 0))
     # generate constants
     # generate constants
     print(generate(TARGETS, allCpus, allCpuFlags, allMachines, sortItems(networkCards), sortItems(soundCards)))
     print(generate(TARGETS, allCpus, allCpuFlags, allMachines, sortItems(networkCards), sortItems(soundCards)))