]> git.xonotic.org Git - xonotic/xonotic.wiki.git/blob - Compiling.md
Update Compiling: add libtool dependency
[xonotic/xonotic.wiki.git] / Compiling.md
1 This page is about compiling the sources included in [stable](https://xonotic.org/download) and [beta](Autobuilds) releases, and is also applicable when [updating by rsync](https://xonotic.org/download#upgrading).  \r
2 For development purposes (git builds), please see [Repository_Access](Repository_Access).\r
3 \r
4 The release Makefile aims to provide a convenient way to compile for alternative CPU architectures, or to get a build fully optimised for a recent x86 CPU (the official binaries are generic x86_64).  It would also allow you to run Xonotic on an OS too old to be supported by official binaries.\r
5 \r
6 To this end the Makefile default settings enable all optimisations that can be used on your current CPU without causing bugs, and compile using all available CPU threads.\r
7 \r
8 The engine builds will be dynamically linked except for d0_blind_id which is statically linked to ensure reliable player ID support and because OS distributions don't ship this.\r
9 \r
10 Invoking `make` or `make help` in the Xonotic directory will print the supported targets and current config.  \r
11 \r
12 **Most people will want `make update-stable client` or `make update-beta client`**\r
13 \r
14 ## System package dependencies\r
15 ### Debian\r
16 Build (client): `build-essential automake libtool libgmp-dev libjpeg-dev libsdl2-dev`  \r
17 Build (server): `build-essential automake libtool libgmp-dev libjpeg-dev zlib1g-dev`  \r
18 Runtime (client): `curl rsync libpng16-16 libfreetype6 libvorbisfile3`  \r
19 Runtime (server): `curl rsync libpng16-16`  \r