• Iustin Pop's avatar
    Fix recompilation of htools on regen-vcs-version · 13aeae6a
    Iustin Pop authored
    Currently, most htools code depends on Constants.hs which is generated
    from constants.py and also depends on _autoconf.py. Also, _autoconf.py
    depends on vcs-version, which all together means that when 'make
    regen-vcs-version' is run, for example by ./devel/upload, most of the
    Haskell code needs recompilation.
    
    Since htools already has its 'optimised' vcs-version (and doesn't use
    the _autoconf.VCS_VERSION constants), we can optimise this as follows:
    
    - _autoconf.py doesn't contain the VCS_VERSION anymore, and that is
      instead moved to _vcsversion.py
    - constants.py depends on and imports this new module
    - _autoconf.py doesn't get regenerated at vcs-version changes, but
      only at re-running configure/changing Makefile time
    
    The end result is that only htools/Ganeti/HTools/Version.hs is
    recompiled now, which is a significant speedup (usually < 1 second
    versus 10 seconds previously).
    Signed-off-by: default avatarIustin Pop <iustin@google.com>
    Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
    13aeae6a
Makefile.am 33.5 KB