Skip to content

Commit

Permalink
pm: cpupower: Add install and uninstall options to bindings makefile
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
John B. Wyatt IV authored and Shuah Khan committed Dec 20, 2024
1 parent 8395d43 commit 6de0256
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
10 changes: 10 additions & 0 deletions tools/power/cpupower/bindings/python/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
25 changes: 25 additions & 0 deletions tools/power/cpupower/bindings/python/README
Original file line number Diff line number Diff line change
Expand Up @@ -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
-------

Expand Down

0 comments on commit 6de0256

Please sign in to comment.