]> git.xonotic.org Git - xonotic/xonotic.wiki.git/blob - Shared-libraries-(buildfiles).md
Update Shared libraries (buildfiles)
[xonotic/xonotic.wiki.git] / Shared-libraries-(buildfiles).md
1 Xonotic on Linux uses system libraries. For Windows and macOS external dlls and dylibs are needed. Those reside in xonotic/misc/buildfiles
2
3 Because at the time of writing there is no automatism to build or update the games dependencies for those 2 platforms and the current dlls/dylibs are VERY outdated and thus also contain vulnerabilities, this page should document on where to obtain or how to build them, retaining API compatibility to darkplaces and also older OS platform versions like Windows XP.
4
5 # libcurl
6 libcurl is used for downloading *.pk3 files from servers
7
8 ### Windows
9 Darkplaces loads `libcurl-4.dll` or `libcurl-3.dll`
10
11 Build instructions:
12 * clone https://gitlab.com/incognico/build-libcurl-windows
13 * run `build.bat` in a VS2019 Development Shell
14 * rename the built dlls (x64 & x86) to `libcurl-4.dll`
15
16 ### macOS
17 Darkplaces loads `libcurl.4.dylib` or `libcurl.3.dylib` or `libcurl.2.dylib`
18
19 # libjpeg-turbo
20 libjpeg-turbo is needed to display jpeg images/textures
21
22 ### Windows
23 Darkplaces loads `libjpeg.dll`
24
25 Obtainment instructions:
26 * download libjpeg-turbo-VERSION-vc.exe & libjpeg-turbo-VERSION-vc64.exe from https://sourceforge.net/projects/libjpeg-turbo/files/
27 * extract the *.exe files and use `bin/jpeg62.dll`
28 * rename the dlls (x64 & x86) to `libjpeg.dll`
29
30 ### macOS
31 Darkplaces loads `libjpeg.62.dylib`
32
33 # libpng
34 libpng is needed to display png images/textures
35
36 ### Windows
37 Darkplaces loads `libpng16.dll` or `libpng16-16.dll` or `libpng15-15.dll` or `libpng15.dll` or `libpng14-14.dll` or `libpng14.dll` or `libpng12.dll`
38
39 ### macOS
40 Darkplaces loads `libpng16.16.dylib` or `libpng15.15.dylib` or `libpng14.14.dylib` or `libpng12.0.dylib`
41
42 # zlib
43 A dependency of libpng
44
45 # libfreetype
46
47 # libogg
48
49 # libvorbis
50
51 # libvorbisfile
52
53 # libvorbisenc
54
55 # libtheora
56
57 # libstdc++-6 & libgcc_s_sjlj-1
58 libgcc_s_sjlj-1 is a dependency of libstdc++-6
59
60 # libd0_blind_id-0 & libd0_rijndael-0
61 See https://gitlab.com/xonotic/d0_blind_id
62
63 # libgmp
64 A dependency of libd0_blind_id-0