0c4c84a14b
…by a simple/static $(gb_CustomTarget_workdir)/foo The build system has a lot of overly complicated leftovers from when it was introduced and had not only deal with split repositories but also had to coexist with another buildsystem. Along with lots of copy'n'paste along the years the makefiles became hard to grasp for newcomers with all our calls and evals. As a first step to streamline that, the macros from TargetLocations that simply prefix a static path to the argument (and similar of the same kind) are a natural pick before simplifying the rules themselves/getting rid of a bunch of eval statements. Change-Id: Ia06dbbcd5d1994755a2ff05b84f72ccbc4e3cab5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167005 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> |
||
---|---|---|
.. | ||
demo | ||
doc | ||
inc | ||
qa/pytests | ||
source | ||
zipcore | ||
CustomTarget_python_shell.mk | ||
CustomTarget_pyuno_pythonloader_ini.mk | ||
Executable_python.mk | ||
IwyuFilter_pyuno.yaml | ||
Library_pythonloader.mk | ||
Library_pyuno.mk | ||
Library_pyuno_wrapper.mk | ||
Makefile | ||
Module_pyuno.mk | ||
Package_python_scripts.mk | ||
Package_python_shell.mk | ||
Package_pyuno_pythonloader_ini.mk | ||
PythonTest_pyuno_pytests_insertremovecells.mk | ||
PythonTest_pyuno_pytests_testcollections.mk | ||
PythonTest_pyuno_pytests_testssl.mk | ||
Rdb_pyuno.mk | ||
README.md |
Python UNO Bindings
UNO bindings for the Python programming language.
To have much joy debugging Python extensions you need to:
- a) edit
pythonloader.py
in your install settingDEBUG=1
at the top - b)
touch pyuno/source/module/pyuno_runtime.cxx
andmake debug=true
inpyuno
Then you'll start to see your exceptions on the console instead of them getting lost at the UNO interface.
Python also comes with a gdb script
libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so.1.0-gdb.py
that is copied to instdir
and will be auto-loaded by gdb
;
it provides commands like py-bt
to get a Python-level backtrace,
and py-print
to print Python variables.
Another way to debug Python code is to use pdb
: edit some initialization
function to insert import pdb; pdb.set_trace()
(somewhere so that it is
executed early), then run soffice
from a terminal and a command-line Python
debugger will appear where you can set Python-level breakpoints.