mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
a2b7d0e0bf
Add support for tracing onto the PipelineC. This is done by: 1. Creating wrapper functions for each PipelineC function with the script in `scripts/PipelineC_add_tracing.py`. These will call a special function called `wrap` which will ultimately call a method with a `_` prepended to the name 2. Conversion of all PipelineC methods in `PipelineC.cpp` to `static` and their rename with a `_` in front, in order for them to work with the wrapper function in (1) 3. Generation of 2 additional include files, one for types and one for functions, to be used by users of tracing files in order to have introspection. These steps allow the creation of a trace file with the use of the `REVNG_C_API_TRACE_PATH` environment variable. The traces can then be used in conjunction with the `revng trace run` and `revng trace inspect` commands.
rev.ng python package
This python package provides classes that can be used to represent, serialize and deserialize rev.ng models.
It also contains other modules related to various revng CLI tools.
How to install
You probably want to install this package in a virtualenv:
python -m venv <virtualenv_dir>
source <virtualenv_dir>/bin/activate
Installation
To build and install from source:
pip install .
Creating redistributable packages
This command will create a redistributable package in dist:
python setup.py bdist_wheel
The package can be installed using pip:
pip install dist/revng*.whl