Skip to content
  • Peter Maydell's avatar
    36d61244
    scripts/decodetree: Implement a topological sort · 36d61244
    Peter Maydell authored
    To support named fields, we will need to be able to do a topological
    sort (so that we ensure that we output the assignment to field A
    before the assignment to field B if field B refers to field A by
    name). The good news is that there is a tsort in the python standard
    library; the bad news is that it was only added in Python 3.9.
    
    To bridge the gap between our current minimum supported Python
    version and 3.9, provide a local implementation that has the
    same API as the stdlib version for the parts we care about.
    In future when QEMU's minimum Python version requirement reaches
    3.9 we can delete this code and replace it with an 'import' line.
    
    The core of this implementation is based on
    https://code.activestate.com/recipes/578272-topological-sort/
    
    
    which is MIT-licensed.
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    Acked-by: default avatarRichard Henderson <richard.henderson@linaro.org>
    Message-Id: <20230523120447.728365-5-peter.maydell@linaro.org>
    36d61244
    scripts/decodetree: Implement a topological sort
    Peter Maydell authored
    To support named fields, we will need to be able to do a topological
    sort (so that we ensure that we output the assignment to field A
    before the assignment to field B if field B refers to field A by
    name). The good news is that there is a tsort in the python standard
    library; the bad news is that it was only added in Python 3.9.
    
    To bridge the gap between our current minimum supported Python
    version and 3.9, provide a local implementation that has the
    same API as the stdlib version for the parts we care about.
    In future when QEMU's minimum Python version requirement reaches
    3.9 we can delete this code and replace it with an 'import' line.
    
    The core of this implementation is based on
    https://code.activestate.com/recipes/578272-topological-sort/
    
    
    which is MIT-licensed.
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    Acked-by: default avatarRichard Henderson <richard.henderson@linaro.org>
    Message-Id: <20230523120447.728365-5-peter.maydell@linaro.org>
Loading