diff --git a/raylib-dependencies.md b/raylib-dependencies.md index b9e61d6..0b3f873 100644 --- a/raylib-dependencies.md +++ b/raylib-dependencies.md @@ -2,31 +2,35 @@ The following table lists the raylib dependencies. Most of them are single-file **NOTE**: *Last updated on 14th April 2021 for the raylib 3.7 release.* -Library | Version | raylib module | Notes ---- | :---: | :---: | --- -[GLFW3](http://www.glfw.org/) | 3.4-master | [rglfw](https://github.com/raysan5/raylib/blob/master/src/rglfw.c) | Window and input management -[msf_gif](https://github.com/notnullnotvoid/msf_gif) | 2.1 | [core](https://github.com/raysan5/raylib/blob/master/src/core.c) | GIF recording basic functionality -[sdefl.h](https://github.com/vurtun/lib/blob/master/sdefl.h) | - | [core](https://github.com/raysan5/raylib/blob/master/src/core.c) | DEFLATE compression algorithm -[sinfl.h](https://github.com/vurtun/lib/blob/master/sinfl.h) | - | [core](https://github.com/raysan5/raylib/blob/master/src/core.c) | DEFLATE decompression algorithm -[GLAD](https://github.com/raysan5/raylib/blob/master/src/external/glad.h) | 0.1.10a0 | [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.c) | OpenGL extensions loading -[stb_image](https://github.com/raysan5/raylib/blob/master/src/external/stb_image.h) | 2.26 | [textures](https://github.com/raysan5/raylib/blob/master/src/texture.c) | Multiple image formats loading -[stb_image_resize](https://github.com/raysan5/raylib/blob/master/src/external/stb_image_resize.h) | 0.96 | [textures](https://github.com/raysan5/raylib/blob/master/src/texture.c) | Image resizing functions -[stb_image_write](https://github.com/raysan5/raylib/blob/master/src/external/stb_image_write.h) | 1.15 | [textures](https://github.com/raysan5/raylib/blob/master/src/utils.c) | Image writing to multiple formats -[stb_perlin](https://github.com/raysan5/raylib/blob/master/src/external/stb_perlin.h) | 0.5 | [textures](https://github.com/raysan5/raylib/blob/master/src/textures.c) | Perlin noise generator -[stb_truetype](https://github.com/raysan5/raylib/blob/master/src/external/stb_truetype.h) | 1.24 | [text](https://github.com/raysan5/raylib/blob/master/src/text.c) | TTF/OTF fonts data loading -[stb_rect_pack](https://github.com/raysan5/raylib/blob/master/src/external/stb_rect_pack.h) | 1.00 | [text](https://github.com/raysan5/raylib/blob/master/src/text.c) | Rectangles packer, used on font packing -[miniaudio](https://github.com/mackron/miniaudio) | 0.10.33 | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | Audio device management -[stb_vorbis](https://github.com/raysan5/raylib/blob/master/src/external/stb_vorbis.h) | 1.14 (fork) | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | OGG audio data loading -[dr_wav](https://github.com/raysan5/raylib/blob/master/src/external/dr_wav.h) | 0.12.29 | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | WAV audio data loading -[dr_mp3](https://github.com/raysan5/raylib/blob/master/src/external/dr_mp3.h) | 0.6.27 | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | MP3 audio data loading -[dr_flac](https://github.com/raysan5/raylib/blob/master/src/external/dr_flac.h) | 0.12.29 | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | FLAC audio data loading -[jar_mod](https://github.com/raysan5/raylib/blob/master/src/external/jar_mod.h) | 0.01 | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | MOD audio module loading -[jar_xm](https://github.com/raysan5/raylib/blob/master/src/external/jar_xm.h) | 0.3.1 | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | XM audio module loading -[par_shapes](https://github.com/raysan5/raylib/blob/master/src/external/par_shapes.h) | - | [models](https://github.com/raysan5/raylib/blob/master/src/models.c) | Geometric shapes generation -[tinyobj_loader_c](https://github.com/raysan5/raylib/blob/master/src/external/tinyobj_loader_c.h) | ? (Ray) | [models](https://github.com/raysan5/raylib/blob/master/src/models.c) | OBJ/MTL data loading -[cgltf](https://github.com/raysan5/raylib/blob/master/src/external/cgltf.h) | 1.10 | [models](https://github.com/raysan5/raylib/blob/master/src/models.c) | glTF models data loading - -Note that some of the dependencies listed above are specific to only one of the platforms that raylib supports. +Library | Version | License | raylib module | Notes/Comments +--- | :---: | :--- | :---: | --- +[GLFW3](https://github.com/glfw/glfw) | 3.4-master | [zlib/libpng](https://github.com/glfw/glfw/blob/master/LICENSE.md) | [rglfw](https://github.com/raysan5/raylib/blob/master/src/rglfw.c) | Window and input management, only on `PLATFORM_DESKTOP` +[GLAD](https://github.com/Dav1dde/glad) | 0.1.10a0 | [WTFPL/CC0/public domain](https://github.com/Dav1dde/glad#whats-the-license-of-glad-generated-code-101) | [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.c) | OpenGL extensions loading, only on `PLATFORM_DESKTOP` and `OpenGL 3.3` +[sdefl.h](https://github.com/vurtun/lib/blob/master/sdefl.h) | 1.00 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/sdefl.h) | [core](https://github.com/raysan5/raylib/blob/master/src/core.c) | DEFLATE compression algorithm +[sinfl.h](https://github.com/vurtun/lib/blob/master/sinfl.h) | 1.00 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/sinfl.h) | [core](https://github.com/raysan5/raylib/blob/master/src/core.c) | DEFLATE decompression algorithm +[stb_image](https://github.com/nothings/stb) | 2.26 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/stb_image.h) | [textures](https://github.com/raysan5/raylib/blob/master/src/texture.c) | Multiple image formats loading +[stb_image_resize](https://github.com/nothings/stb) | 0.96 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/stb_image_resize.h) | [textures](https://github.com/raysan5/raylib/blob/master/src/texture.c) | Image resizing functions +[stb_image_write](https://github.com/nothings/stb) | 1.15 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/stb_image_write.h) | [textures](https://github.com/raysan5/raylib/blob/master/src/utils.c) | Image writing to multiple formats +[stb_perlin](https://github.com/nothings/stb) | 0.5 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/stb_perlin.h) | [textures](https://github.com/raysan5/raylib/blob/master/src/textures.c) | Perlin noise generator +[stb_truetype](https://github.com/nothings/stb) | 1.24 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/stb_truetype.h) | [text](https://github.com/raysan5/raylib/blob/master/src/text.c) | TTF/OTF fonts data loading +[stb_rect_pack](https://github.com/nothings/stb) | 1.00 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/stb_rect_pack.h) | [text](https://github.com/raysan5/raylib/blob/master/src/text.c) | Rectangles packer, used on font packing +[msf_gif](https://github.com/notnullnotvoid/msf_gif) | 2.1 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/msf_gif.h) | [core](https://github.com/raysan5/raylib/blob/master/src/core.c) | GIF recording basic functionality +[miniaudio](https://github.com/mackron/miniaudio) | 0.10.33 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/miniaudio.h) | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | Audio device management +[stb_vorbis](https://github.com/nothings/stb) | 1.14 (fork) | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/stb_vorbis.h) | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | OGG audio data loading, using [stb_vorbis fork](https://github.com/BareRose/stb/blob/master/stb_vorbis.h) +[dr_wav](https://github.com/mackron/dr_libs) | 0.12.29 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/dr_wav.h) | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | WAV audio data loading +[dr_mp3](https://github.com/mackron/dr_libs) | 0.6.27 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/dr_mp3.h) | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | MP3 audio data loading +[dr_flac](https://github.com/mackron/dr_libs) | 0.12.29 | [MIT/public domain](https://github.com/raysan5/raylib/blob/master/src/external/dr_flac.h) | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | FLAC audio data loading +[jar_mod](https://github.com/raysan5/raylib/blob/master/src/external/jar_mod.h) | 0.01 | [public domain](https://github.com/raysan5/raylib/blob/master/src/external/jar_mod.h) | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | MOD audio module loading, based on [HxCModPlayer](https://github.com/jfdelnero/HxCModPlayer) +[jar_xm](https://github.com/raysan5/raylib/blob/master/src/external/jar_xm.h) | 0.3.1 | [public domain](https://github.com/raysan5/raylib/blob/master/src/external/jar_xm.h) | [raudio](https://github.com/raysan5/raylib/blob/master/src/raudio.c) | XM audio module loading, based on [libxm](https://github.com/Artefact2/libxm) +[par_shapes](https://github.com/prideout/par/blob/master/par_shapes.h) | - | [MIT](https://github.com/raysan5/raylib/blob/master/src/external/par_shapes.h) | [models](https://github.com/raysan5/raylib/blob/master/src/models.c) | Geometric shapes generation +[tinyobj_loader_c](https://github.com/syoyo/tinyobjloader-c) | ? (Ray) | [MIT](https://github.com/raysan5/raylib/blob/master/src/external/tinyobj_loader_c.h) | [models](https://github.com/raysan5/raylib/blob/master/src/models.c) | OBJ/MTL data loading +[cgltf](https://github.com/jkuhlmann/cgltf) | 1.10 | [MIT](https://github.com/raysan5/raylib/blob/master/src/external/cgltf.h) | [models](https://github.com/raysan5/raylib/blob/master/src/models.c) | glTF models data loading + + - NOTE 1: Most of these libraries are only used to load some specific file format (image, font, audio, model). + - NOTE 2: Some of the dependencies are specific to only one of the platforms that raylib supports or even to some specific compiler (i.e. `dirent`). + - NOTE 3: All the libraries licenses should allow raylib to be used on commercial projects without problem. + +### Platform specific dependency notes - `PLATFORM_DESKTOP`: raylib uses on [core](https://github.com/raysan5/raylib/blob/master/src/core.c) module the outstanding [GLFW3](http://www.glfw.org/) library, embedded in the form of [rglfw](https://github.com/raysan5/raylib/blob/master/src/rglfw.c). For more details on GLFW usage, check [GLFW dependency Wiki page](https://github.com/raysan5/raylib/wiki/raylib-GLFW-dependency).