• James Clark's avatar
    perf tools: Use Python devtools for version autodetection rather than runtime · 630af16e
    James Clark authored
    This fixes the issue where the build will fail if only the Python2
    runtime is installed but the Python3 devtools are installed. Currently
    the workaround is 'make PYTHON=python3'.
    
    Fix it by autodetecting Python based on whether python[x]-config exists
    rather than just python[x] because both are needed for the build. Then
    -config is stripped to find the Python runtime.
    
    Testing
    =======
    
     * Auto detect links with Python3 when the v3 devtools are installed
       and only Python 2 runtime is installed
     * Auto detect links with Python2 when both devtools are installed
     * Sensible warning is printed if no Python devtools are installed
     * 'make PYTHON=x' still automatically sets PYTHON_CONFIG=x-config
     * 'make PYTHON=x' fails if x-config doesn't exist
     * 'make PYTHON=python3' overrides Python2 devtools
     * 'make PYTHON=python2' overrides Python3 devtools
     * 'make PYTHON_CONFIG=x-config' works
     * 'make PYTHON=x PYTHON_CONFIG=x' works
     * 'make PYTHON=missing' reports an error
     * 'make PYTHON_CONFIG=missing' reports an error
    
    Fixes: 79373082 ("perf python: Autodetect python3 binary")
    Signed-off-by: default avatarJames Clark <james.clark@arm.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lore.kernel.org/r/20220309194313.3350126-2-james.clark@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    630af16e
Makefile.config 39 KB