From 1c1a8105580784c96212db1afc097a844740bc69 Mon Sep 17 00:00:00 2001 From: Aaron Puchert Date: Thu, 1 Oct 2020 22:31:30 +0200 Subject: [PATCH] libclc: Use find_package to find Python 3 and require it The script's shebang wants Python 3, so we use FindPython3. The original code didn't work when an unversioned python was not available. This is explicitly allowed in PEP 394. ("Distributors may choose to set the behavior of the python command as follows: python2, python3, not provide python command, allow python to be configurable by an end user or a system administrator.") Also I think it's actually required, so let the configuration fail if we can't find it. Lastly remove the shebang, since the script is only run via interpreter and doesn't have the executable bit set anyway. Reviewed By: jvesely Differential Revision: https://reviews.llvm.org/D88366 --- libclc/CMakeLists.txt | 4 ++-- libclc/generic/lib/gen_convert.py | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/libclc/CMakeLists.txt b/libclc/CMakeLists.txt index 1a77a37..b8b5cef 100644 --- a/libclc/CMakeLists.txt +++ b/libclc/CMakeLists.txt @@ -184,11 +184,11 @@ if( ENABLE_RUNTIME_SUBNORMAL ) DESTINATION ${CMAKE_INSTALL_DATADIR}/clc ) endif() -find_program( PYTHON python ) +find_package( Python3 REQUIRED COMPONENTS Interpreter ) file( TO_CMAKE_PATH ${CMAKE_SOURCE_DIR}/generic/lib/gen_convert.py script_loc ) add_custom_command( OUTPUT convert.cl - COMMAND ${PYTHON} ${script_loc} > convert.cl + COMMAND ${Python3_EXECUTABLE} ${script_loc} > convert.cl DEPENDS ${script_loc} ) add_custom_target( "generate_convert.cl" DEPENDS convert.cl ) diff --git a/libclc/generic/lib/gen_convert.py b/libclc/generic/lib/gen_convert.py index 5c87fcb..7e649fa 100644 --- a/libclc/generic/lib/gen_convert.py +++ b/libclc/generic/lib/gen_convert.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - # OpenCL built-in library: type conversion functions # # Copyright (c) 2013 Victor Oliveira -- 2.7.4