Skip to content
  • Masahiro Yamada's avatar
    kbuild: add PYTHON2 and PYTHON3 variables · e9781b52
    Masahiro Yamada authored
    The variable 'PYTHON' allows users to specify a proper executable
    name in case the default 'python' does not work.  However, this does
    not address the case where both Python 2.x and 3.x scripts are used
    in one source tree.
    
    PEP 394 (https://www.python.org/dev/peps/pep-0394/) provides a
    convention for Python scripts portability.  Here is a quotation:
    
      In order to tolerate differences across platforms, all new code
      that needs to invoke the Python interpreter should not specify
      'python', but rather should specify either 'python2' or 'python3'.
      This distinction should be made in shebangs, when invoking from a
      shell script, when invoking via the system() call, or when invoking
      in any other context.
      One exception to this is scripts that are deliberately written to
      be source compatible with both Python 2.x and 3.x. Such scripts may
      continue to use python on their shebang line without affecting their
      portability.
    
    To meet this requirement, this commit adds new variables 'PYTHON2'
    and 'PYTHON3'.
    
    arch/ia64/scripts/unwcheck.py is the only script that has ever used
    $(PYTHON).  Recent commit bd5edbe6
    
     ("ia64: convert unwcheck.py to
    python3") converted it to be compatible with both Python 2.x and 3.x,
    so this is the exceptional case where the use of 'python' is allowed.
    So, I did not touch arch/ia64/Makefile.
    
    tools/perf/Makefile.config sets PYTHON and PYTHON2 by itself, so it
    is not affected by this commit.
    
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    e9781b52