Build Process
MyPaint’s build system is due to be replaced. Currently, the MyPaint application
is built with PyPa’s setuptools
, with heavy utilisation
of distutils. The entry point to building MyPaint is setup.py
,
configured by setup.cfg
. This page details how MyPaint’s source
code is transformed into a working application.
The brush engine and some parts of the main program are written in fast C code, so they will need compiling.
Demo
Following what happens when running the command python3 setup.py demo
gives
insight into the building process; The demo
argument chains together each step
from start to finish:
- Run
python3 setup.py demo
, which calls Demo(Command)
- Inherits distutils’
Command
- Function/class calls in the proceeding lowest-level list items are done so from this class.
- Inherits distutils’
- Boilerplate stuff
Build(build)
Install(install)
demo_cmd
- Defined as
build_scripts.executable
- Defined as
Build
Build(build)
BuildConfig(Command)
- Creates the configuration file (src/lib/config.py)
build_ext
build_py
build_clib
build_scripts
BuildTranslations(Command)