X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=Compiling.md;h=6fe7b5bdd7e073c5496d0cdd8e0711835e7bbec4;hb=8bf2a5ee76811983a7157ec978e9119cf209c269;hp=356ef8f2e9990b4332a9f527c85b40ac7951090e;hpb=efce10cfa989414806f622cc852b258b53ca6cd5;p=xonotic%2Fxonotic.wiki.git diff --git a/Compiling.md b/Compiling.md index 356ef8f..6fe7b5b 100644 --- a/Compiling.md +++ b/Compiling.md @@ -1,15 +1,17 @@ This page is about compiling the sources included in [stable](https://xonotic.org/download) and [beta](https://beta.xonotic.org/autobuild) releases, and is also applicable when updating by rsync. -For development purposes, please see [Repository_Access](Repository_Access). +For development purposes (git builds), please see [Repository_Access](Repository_Access). -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). To this end the Makefile defaults to enabling all optimisations that can be used on your current CPU without causing bugs, and to using all available CPU threads. +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. -The builds will be mostly dynamically linked, except for d0_blind_id which is statically linked to ensure reliable player ID support and because distributions don't ship this. +To this end the Makefile defaults to enabling all optimisations that can be used on your current CPU without causing bugs, and to using all available CPU threads. -Invoking `make` or `make help` will print the supported targets and config. +The 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. -Most people reading this will want `make update-beta; make client`. +Invoking `make` or `make help` will print the supported targets and current config. +**TL;DR: Most people will want `make update-beta && make client`** -## Build Dependencies +## System package dependencies ### Debian -`build-essential automake libgmp-dev libjpeg-dev libpng-dev libcurl-dev libsdl2-dev` -*note that Debian's `libjpeg-dev` depends on `libjpeg62-turbo-dev`* +Build: `build-essential automake libgmp-dev libjpeg-dev libpng-dev libsdl2-dev` +Runtime: `libfreetype6 curl rsync` +*Note: Debian's `libjpeg-dev` metapackage pulls in `libjpeg62-turbo-dev`*