]> 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 # libfreetype
43
44 # libogg
45
46 # libvorbis
47
48 # libvorbisfile
49
50 # libvorbisenc
51
52 # libtheora
53
54 # libstdc++-6 & libgcc_s_sjlj-1
55 libgcc_s_sjlj-1 is a dependency of libstdc++-6
56
57 # libd0_blind_id-0 & libd0_rijndael-0
58 See https://gitlab.com/xonotic/d0_blind_id
59
60 # libgmp
61 A dependency of libd0_blind_id-0