diff options
Diffstat (limited to 'media/libjxl/src/doc/developing_in_debian.md')
-rw-r--r-- | media/libjxl/src/doc/developing_in_debian.md | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/media/libjxl/src/doc/developing_in_debian.md b/media/libjxl/src/doc/developing_in_debian.md new file mode 100644 index 0000000000..fd349fb675 --- /dev/null +++ b/media/libjxl/src/doc/developing_in_debian.md @@ -0,0 +1,57 @@ +# Developing in Debian + +These instructions assume an up-to-date Debian/Ubuntu system. +For other platforms, please instead use the following: + +* [Developing in Docker](developing_in_docker.md). +* [Cross Compiling for Windows with Crossroad](developing_with_crossroad.md). + +## Minimum build dependencies + +Apart from the dependencies in `third_party`, some of the tools use external +dependencies that need to be installed on your system first: + +```bash +sudo apt install cmake clang doxygen g++ extra-cmake-modules libgflags-dev \ + libgif-dev libjpeg-dev ninja-build libgoogle-perftools-dev +``` + +Make sure your default `clang` compiler is at least version 6 by running + +```bash +clang --version +``` + +If it still shows an old version despite having, for example, `clang-7` installed, you need +to update the default `clang` compiler. On Debian-based systems run: + +```bash +sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-7 100 +sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-7 100 +``` + +Optionally, to compile some of the extra tool support and tests you can install +the following packages: + +```bash +sudo apt install qtbase5-dev libqt5x11extras5-dev libwebp-dev libgimp2.0-dev \ + libopenexr-dev libgtest-dev libgmock-dev libbenchmark-dev libbenchmark-tools +``` + +For the lint/coverage commands, you will also need additional packages: + +```bash +sudo apt install clang-format clang-tidy curl parallel gcovr +``` + +## Building + +The `libjxl` project uses CMake to build. We provide a script that simplifies the +invocation. To build and test the project, run + +```bash +./ci.sh opt +``` + +This writes binaries to `build/tools` and runs unit tests. More information +on [build modes and testing](building_and_testing.md) is available. |