• M
    perf tools: Makefile: PYTHON{,_CONFIG} to bandage Python 3 incompatibility · ced465c4
    Michael Witten 提交于
    Currently, Python 3 is not supported by perf's code; this
    can cause the build to fail for systems that have Python 3
    installed as the default python:
    
      python{,-config}
    
    The Correct Solution is to write compatibility code so that
    Python 3 works out-of-the-box.
    
    However, users often have an ancillary Python 2 installed:
    
      python2{,-config}
    
    Therefore, a quick fix is to allow the user to specify those
    ancillary paths as the python binaries that Makefile should
    use, thereby avoiding Python 3 altogether; as an added benefit,
    the Python binaries may be installed in non-standard locations
    without the need for updating any PATH variable.
    
    This commit adds the ability to set PYTHON and/or PYTHON_CONFIG
    either as environment variables or as make variables on the
    command line; the paths may be relative, and usually only PYTHON
    is necessary in order for PYTHON_CONFIG to be defined implicitly.
    Some rudimentary error checking is performed when the user
    explicitly specifies a value for any of these variables.
    
    In addition, this commit introduces significantly robust makefile
    infrastructure for working with paths and communicating with the
    shell; it's currently only used for handling Python, but I hope
    it will prove useful in refactoring the makefiles.
    
    Thanks to:
    
      Raghavendra D Prabhu <rprabhu@wnohang.net>
    
    for motivating this patch.
    Acked-by: NRaghavendra D Prabhu <rprabhu@wnohang.net>
    Link: http://lkml.kernel.org/r/e987828e-87ec-4973-95e7-47f10f5d9bab-mfwitten@gmail.comSigned-off-by: NMichael Witten <mfwitten@gmail.com>
    Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    ced465c4
Makefile 28.9 KB