Autogenerate the shebang lines for tools/opt-viewer
authorChris Bieneman <chris.bieneman@me.com>
Wed, 21 Aug 2019 01:48:28 +0000 (01:48 +0000)
committerChris Bieneman <chris.bieneman@me.com>
Wed, 21 Aug 2019 01:48:28 +0000 (01:48 +0000)
Summary:
Since these files depend on the built python modules, they need to use
the right python binary to run them. So use configure_file
to set the right shebang line.

Patch By: cbiesinger (Christian Biesinger)

Reviewers: chandlerc, beanz, anemet

Reviewed By: anemet

Subscribers: compnerd, JDevlieghere, mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65983

llvm-svn: 369486

llvm/CMakeLists.txt
llvm/tools/opt-viewer/CMakeLists.txt
llvm/tools/opt-viewer/opt-diff.py.in [moved from llvm/tools/opt-viewer/opt-diff.py with 98% similarity]
llvm/tools/opt-viewer/opt-stats.py.in [moved from llvm/tools/opt-viewer/opt-stats.py with 98% similarity]
llvm/tools/opt-viewer/opt-viewer.py.in [moved from llvm/tools/opt-viewer/opt-viewer.py with 99% similarity]
llvm/tools/opt-viewer/optrecord.py.in [moved from llvm/tools/opt-viewer/optrecord.py with 99% similarity]

index 678f1a7..0e77e0e 100644 (file)
@@ -660,6 +660,8 @@ if( ${PYTHON_VERSION_STRING} VERSION_LESS 2.7 )
   message(FATAL_ERROR "Python 2.7 or newer is required")
 endif()
 
+get_filename_component(PYTHON_BASENAME ${PYTHON_EXECUTABLE} NAME)
+
 ######
 # LLVMBuild Integration
 #
index 19b6069..1864c2b 100644 (file)
@@ -1,13 +1,28 @@
 set (files
+  "optpmap.py"
+  "style.css")
+
+set (generated_files
   "opt-diff.py"
   "opt-stats.py"
   "opt-viewer.py"
-  "optpmap.py"
-  "optrecord.py"
-  "style.css")
+  "optrecord.py")
+
+foreach (file ${generated_files})
+  configure_file(
+    ${CMAKE_CURRENT_SOURCE_DIR}/${file}.in
+    ${CMAKE_CURRENT_BINARY_DIR}/${file})
+endforeach (file)
 
 foreach (file ${files})
   install(PROGRAMS ${file}
     DESTINATION share/opt-viewer
     COMPONENT opt-viewer)
 endforeach (file)
+
+
+foreach (file ${generated_files})
+  install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${file}
+    DESTINATION share/opt-viewer
+    COMPONENT opt-viewer)
+endforeach (file)
similarity index 98%
rename from llvm/tools/opt-viewer/opt-diff.py
rename to llvm/tools/opt-viewer/opt-diff.py.in
index 36e81a5..a561bb6 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env @PYTHON_BASENAME@
 
 from __future__ import print_function
 
similarity index 98%
rename from llvm/tools/opt-viewer/opt-stats.py
rename to llvm/tools/opt-viewer/opt-stats.py.in
index f4ee3a7..4f10286 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env @PYTHON_BASENAME@
 
 from __future__ import print_function
 
similarity index 99%
rename from llvm/tools/opt-viewer/opt-viewer.py
rename to llvm/tools/opt-viewer/opt-viewer.py.in
index 4c10588..288e01e 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env @PYTHON_BASENAME@
 
 from __future__ import print_function
 
similarity index 99%
rename from llvm/tools/opt-viewer/optrecord.py
rename to llvm/tools/opt-viewer/optrecord.py.in
index f6fd772..79d377c 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env @PYTHON_BASENAME@
 
 from __future__ import print_function