mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-31 23:27:20 +00:00

Originally I believed I needed the .o files to make the bindings. The linking failed due to a missing .so link in Fedora or by using make install-lib from the cpupower directory. Amend the makefile and the README. Big thanks to Wander Lairson Costa <wander@redhat.com> for the help. Link: https://lore.kernel.org/r/20250429204711.127274-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>
87 lines
2.2 KiB
Text
87 lines
2.2 KiB
Text
This folder contains the necessary files to build the Python bindings for
|
|
libcpupower (aside from the libcpupower object files).
|
|
|
|
|
|
requirements
|
|
------------
|
|
|
|
* If you are building completely from upstream; please install libcpupower by
|
|
running `make install-lib` within the cpupower directory. This installs the
|
|
libcpupower.so file and symlinks needed. Otherwise, please make sure a symlink
|
|
to libcpupower.so exists in your library path from your distribution's
|
|
packages.
|
|
* The SWIG program must be installed.
|
|
* The Python's development libraries must be installed.
|
|
|
|
Please check that your version of SWIG is compatible with the version of Python
|
|
installed on your machine by checking the SWIG changelog on their website.
|
|
https://swig.org/
|
|
|
|
Note that while SWIG itself is GPL v3+ licensed; the resulting output,
|
|
the bindings code: is permissively licensed + the license of libcpupower's
|
|
library files. For these bindings that means GPL v2.
|
|
|
|
Please see https://swig.org/legal.html and the discussion [1] for more details.
|
|
|
|
[1]
|
|
https://lore.kernel.org/linux-pm/Zqv9BOjxLAgyNP5B@hatbackup/
|
|
|
|
|
|
build
|
|
-----
|
|
|
|
Install SWIG and the Python development files provided by your distribution.
|
|
|
|
Build the object files for libcpupower by running make in the cpupower
|
|
directory.
|
|
|
|
Return to the directory this README is in to run:
|
|
|
|
$ make
|
|
|
|
|
|
testing
|
|
-------
|
|
|
|
Please verify the _raw_pylibcpupower.so and raw_pylibcpupower.py files have
|
|
been created.
|
|
|
|
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
|
|
-------
|
|
|
|
Original Bindings Author:
|
|
John B. Wyatt IV
|
|
jwyatt@redhat.com
|
|
sageofredondo@gmail.com
|
|
|
|
Copyright (C) 2024 Red Hat
|