diff --git a/autotools/convert-constants b/autotools/convert-constants index d3d8a5fbb889615b7910736a11a3f511c03bacb5..043d32ce88d83d09255ad4f44bd0e9027175bc76 100755 --- a/autotools/convert-constants +++ b/autotools/convert-constants @@ -39,6 +39,12 @@ PRIVATE_RE = re.compile("^__.+__$") #: The type of regex objects RE_TYPE = type(CONSTANT_RE) +#: Keys which do not declare a value (manually maintained). By adding +# values here, we can make more lists use the actual names; otherwise +# we'll have (e.g.) both DEFAULT_ENABLED_HYPERVISOR and HT_XEN_PVM +# declare the same value, and thus the list of valid hypervisors will +# have strings instead of easily looked-up names. +IGNORED_DECL_NAMES = ["DEFAULT_ENABLED_HYPERVISOR"] def NameRules(name): """Converts the upper-cased Python name to Haskell camelCase. @@ -97,7 +103,8 @@ def IdentifyOrigin(all_items, value): @param value: the value for which we try to find an origin """ - found = [name for (name, v) in all_items.items() if v is value] + found = [name for (name, v) in all_items.items() + if v is value and name not in IGNORED_DECL_NAMES] if len(found) == 1: return found[0] else: