]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pm: cpupower: Add install and uninstall options to bindings makefile
authorJohn B. Wyatt IV <jwyatt@redhat.com>
Thu, 19 Dec 2024 01:26:02 +0000 (20:26 -0500)
committerShuah Khan <skhan@linuxfoundation.org>
Fri, 20 Dec 2024 16:12:07 +0000 (09:12 -0700)
Installs the .so and .py files generated by SWIG to system's site packages
directory. This allows the Python bindings to be used system wide. This
commit also includes documentation on setting up and installing the Python
bindings.

Link: https://lore.kernel.org/r/20241219012606.38963-1-jwyatt@redhat.com
Signed-off-by: "John B. Wyatt IV" <jwyatt@redhat.com>
Signed-off-by: "John B. Wyatt IV" <sageofredondo@gmail.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/power/cpupower/bindings/python/Makefile
tools/power/cpupower/bindings/python/README

index e1ebb1d60cd4bfd4f643908fbebe737c80d2cb03..741f21477432a82edb6046fc02621f610af76b14 100644 (file)
@@ -11,6 +11,7 @@ HAVE_PYCONFIG := $(shell if which python-config >/dev/null 2>&1; then echo 1; el
 LIB_DIR := ../../lib
 PY_INCLUDE = $(firstword $(shell python-config --includes))
 OBJECTS_LIB = $(wildcard $(LIB_DIR)/*.o)
+INSTALL_DIR = $(shell python3 -c "import site; print(site.getsitepackages()[0])")
 
 all: _raw_pylibcpupower.so
 
@@ -28,6 +29,15 @@ else ifeq ($(HAVE_PYCONFIG),0)
 endif
        swig -python raw_pylibcpupower.swg
 
+# Only installs the Python bindings
+install: _raw_pylibcpupower.so
+       install -D _raw_pylibcpupower.so $(INSTALL_DIR)/_raw_pylibcpupower.so
+       install -D raw_pylibcpupower.py $(INSTALL_DIR)/raw_pylibcpupower.py
+
+uninstall:
+       rm -f $(INSTALL_DIR)/_raw_pylibcpupower.so
+       rm -f $(INSTALL_DIR)/raw_pylibcpupower.py
+
 # Will only clean the bindings folder; will not clean the actual cpupower folder
 clean:
        rm -f raw_pylibcpupower.py raw_pylibcpupower_wrap.c raw_pylibcpupower_wrap.o _raw_pylibcpupower.so
index 0a4bb2581e8a88d56b520f9cf1e5d28531e21495..952e2e02fd32bb09c508881474248de2d17da3fe 100644 (file)
@@ -48,6 +48,31 @@ To run the test script:
 $ python test_raw_pylibcpupower.py
 
 
+developing/using the bindings directly
+--------------------------------------
+
+You need to add the Python bindings directory to your $PYTHONPATH.
+
+You would set the path in the Bash terminal or in the Bash profile:
+
+PYTHONPATH=~/linux/tools/power/cpupower/bindings/python:$PYTHONPATH
+
+This allows you to set a specific repo of the bindings to use.
+
+
+installing/uninstalling
+-----------------------
+
+Python uses a system specific site-packages folder to look up modules to import
+by default. You do not need to install cpupower to use the SWIG bindings.
+
+You can install and uninstall the bindings to the site-packages with:
+
+sudo make install
+
+sudo make uninstall
+
+
 credits
 -------