2016-10-09 21:36:17 +00:00
|
|
|
# Third party libraries
|
|
|
|
|
|
|
|
|
2017-04-28 17:28:21 +00:00
|
|
|
## b2d_convexdecomp
|
|
|
|
|
|
|
|
- Upstream: https://github.com/erincatto/Box2D (Contributions/Utilities/ConvexDecomposition)
|
|
|
|
- Version: TBD
|
|
|
|
- License: zlib
|
|
|
|
|
|
|
|
|
2017-02-08 23:07:44 +00:00
|
|
|
## certs
|
|
|
|
|
|
|
|
- Upstream: ?
|
|
|
|
|
|
|
|
TODO.
|
|
|
|
|
|
|
|
|
2016-10-10 17:50:51 +00:00
|
|
|
## enet
|
|
|
|
|
|
|
|
- Upstream: http://enet.bespin.org
|
|
|
|
- Version: 1.3.13
|
|
|
|
- License: MIT
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
2017-03-08 20:13:03 +00:00
|
|
|
- all .c files in the main directory (except unix.c win32.c)
|
|
|
|
- the include/enet/ folder as enet/ (except unix.h win32.h)
|
2016-10-10 17:50:51 +00:00
|
|
|
- LICENSE file
|
|
|
|
|
2017-03-08 20:13:03 +00:00
|
|
|
Important: enet.h, host.c, protocol.c have been slightly modified
|
|
|
|
to be usable by godot socket implementation and allow IPv6.
|
2017-03-23 12:27:41 +00:00
|
|
|
Two files (godot.cpp and enet/godot.h) have been added to provide
|
2017-03-08 20:13:03 +00:00
|
|
|
enet socket implementation using Godot classes.
|
2017-03-23 12:27:41 +00:00
|
|
|
It is still possible to build against a system wide ENet but doing so
|
|
|
|
will limit it's functionality to IPv4 only.
|
2017-03-08 20:13:03 +00:00
|
|
|
Check the diff of enet.h, protocol.c, and host.c with the 1.3.13
|
|
|
|
tarball before the next update.
|
2016-10-10 17:50:51 +00:00
|
|
|
|
|
|
|
|
2017-02-08 23:07:44 +00:00
|
|
|
## fonts
|
|
|
|
|
|
|
|
- Upstream: ?
|
|
|
|
|
|
|
|
TODO.
|
|
|
|
|
|
|
|
|
2016-10-14 19:57:43 +00:00
|
|
|
## freetype
|
|
|
|
|
|
|
|
- Upstream: https://www.freetype.org
|
|
|
|
- Version: 2.6.5
|
|
|
|
- License: FreeType License (BSD-like)
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
|
|
|
- the src/ folder, stripped of the `Jamfile` files
|
|
|
|
- the include/ folder
|
|
|
|
- `docs/{FTL.TXT,LICENSE.TXT}`
|
|
|
|
|
|
|
|
|
2017-01-06 21:51:15 +00:00
|
|
|
## glad
|
|
|
|
|
|
|
|
- Upstream: https://github.com/Dav1dde/glad
|
|
|
|
- Version: 0.1.13a0
|
|
|
|
- License: MIT
|
|
|
|
|
|
|
|
The files we package are automatically generated.
|
|
|
|
See the header of glad.c for instructions on how to generate them for
|
|
|
|
the GLES version Godot targets.
|
|
|
|
|
2016-10-14 06:27:59 +00:00
|
|
|
|
2016-10-09 22:03:33 +00:00
|
|
|
## jpeg-compressor
|
|
|
|
|
|
|
|
- Upstream: https://github.com/richgel999/jpeg-compressor
|
|
|
|
- Version: 1.04
|
|
|
|
- License: Public domain
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
2016-10-14 16:58:24 +00:00
|
|
|
- `jpgd.{c,h}`
|
2016-10-09 22:03:33 +00:00
|
|
|
|
|
|
|
|
2016-10-12 18:37:38 +00:00
|
|
|
## libogg
|
|
|
|
|
|
|
|
- Upstream: https://www.xiph.org/ogg
|
|
|
|
- Version: 1.3.2
|
|
|
|
- License: BSD-3-Clause
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
2016-10-14 16:58:24 +00:00
|
|
|
- `src/*.c`
|
|
|
|
- `include/ogg/*.h` in ogg/
|
2016-10-12 18:37:38 +00:00
|
|
|
- COPYING
|
|
|
|
|
|
|
|
|
2016-10-09 21:36:17 +00:00
|
|
|
## libpng
|
|
|
|
|
|
|
|
- Upstream: http://libpng.org/pub/png/libpng.html
|
2017-01-05 21:27:46 +00:00
|
|
|
- Version: 1.6.28
|
2016-10-09 21:36:17 +00:00
|
|
|
- License: libpng/zlib
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
2016-10-14 16:58:24 +00:00
|
|
|
- all .c and .h files of the main directory, except from
|
|
|
|
`example.c` and `pngtest.c`
|
2016-10-09 21:36:17 +00:00
|
|
|
- the arm/ folder
|
2016-10-14 16:58:24 +00:00
|
|
|
- `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h`
|
2016-10-11 18:44:26 +00:00
|
|
|
|
|
|
|
|
2016-10-17 15:13:34 +00:00
|
|
|
## libsimplewebm
|
|
|
|
|
|
|
|
- Upstream: https://github.com/zaps166/libsimplewebm
|
2016-12-01 10:44:15 +00:00
|
|
|
- Version: 05cfdc2 (git)
|
2016-10-17 15:13:34 +00:00
|
|
|
- License: MIT, BSD-3-Clause
|
|
|
|
|
2017-01-05 22:09:29 +00:00
|
|
|
Files extracted from upstream source:
|
|
|
|
|
|
|
|
TODO.
|
|
|
|
|
2016-10-17 15:13:34 +00:00
|
|
|
|
2016-10-12 18:37:38 +00:00
|
|
|
## libvorbis
|
|
|
|
|
|
|
|
- Upstream: https://www.xiph.org/vorbis
|
|
|
|
- Version: 1.3.5
|
|
|
|
- License: BSD-3-Clause
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
2016-10-14 16:58:24 +00:00
|
|
|
- `src/*` except from: `lookups.pl`, `Makefile.*`
|
|
|
|
- `include/vorbis/*.h` as vorbis/
|
2016-10-12 18:37:38 +00:00
|
|
|
- COPYING
|
|
|
|
|
|
|
|
|
2016-09-14 20:10:03 +00:00
|
|
|
## libvpx
|
|
|
|
|
|
|
|
- Upstream: http://www.webmproject.org/code/
|
|
|
|
- Version: 1.6.0
|
|
|
|
- License: BSD-3-Clause
|
|
|
|
|
2017-01-05 22:09:29 +00:00
|
|
|
Files extracted from upstream source:
|
|
|
|
|
|
|
|
TODO.
|
|
|
|
|
2016-09-14 20:10:03 +00:00
|
|
|
|
2016-10-11 21:35:58 +00:00
|
|
|
## libwebp
|
|
|
|
|
|
|
|
- Upstream: https://chromium.googlesource.com/webm/libwebp/
|
2017-02-17 14:49:40 +00:00
|
|
|
- Version: 0.6.0
|
2016-10-11 21:35:58 +00:00
|
|
|
- License: BSD-3-Clause
|
|
|
|
|
2016-10-14 19:57:43 +00:00
|
|
|
Files extracted from upstream source:
|
2016-10-11 21:35:58 +00:00
|
|
|
|
2017-02-17 14:49:40 +00:00
|
|
|
- `src/*` except from: .am, .rc and .in files
|
2016-10-11 21:35:58 +00:00
|
|
|
- AUTHORS, COPYING, PATENTS
|
|
|
|
|
2017-02-17 14:49:40 +00:00
|
|
|
Important: The files `utils/bit_reader_utils.{c,h}` have Godot-made
|
2016-10-11 21:35:58 +00:00
|
|
|
changes to ensure they build for Javascript/HTML5. Those
|
|
|
|
changes are marked with `// -- GODOT --` comments.
|
|
|
|
|
|
|
|
|
2017-04-28 16:29:15 +00:00
|
|
|
## minizip
|
|
|
|
|
|
|
|
- Upstream: http://www.zlib.net
|
|
|
|
- Version: 1.2.4 (zlib contrib)
|
|
|
|
- License: zlib
|
|
|
|
|
|
|
|
Files extracted from the upstream source:
|
|
|
|
|
|
|
|
- contrib/minizip/{crypt.h,ioapi.{c,h},zip.{c,h},unzip.{c,h}}
|
|
|
|
|
|
|
|
Important: Some files have Godot-made changes for use in core/io.
|
|
|
|
TODO: Properly sync with version 1.2.4 and document changes.
|
|
|
|
|
|
|
|
|
|
|
|
## misc
|
|
|
|
|
2017-04-28 17:28:21 +00:00
|
|
|
Collection of single-file libraries used in Godot components.
|
|
|
|
|
|
|
|
### core
|
2017-04-28 16:29:15 +00:00
|
|
|
|
|
|
|
- `aes256.{cpp,h}`
|
|
|
|
* Upstream: http://www.literatecode.com/aes256
|
|
|
|
* Version: latest, as of April 2017
|
|
|
|
* License: ISC
|
|
|
|
- `base64.{c,h}`
|
|
|
|
* Upstream: http://episec.com/people/edelkind/c.html
|
|
|
|
* Version: latest, as of April 2017
|
|
|
|
* License: Public Domain
|
|
|
|
- `fastlz.{c,h}`
|
|
|
|
* Upstream: https://code.google.com/archive/p/fastlz
|
|
|
|
* Version: svn (r12)
|
|
|
|
* License: MIT
|
|
|
|
- `hq2x.{cpp,h}`
|
|
|
|
* Upstream: https://github.com/brunexgeek/hqx
|
|
|
|
* Version: TBD, file structure differs
|
|
|
|
* License: Apache 2.0
|
|
|
|
- `md5.{cpp,h}`
|
|
|
|
* Upstream: http://www.efgh.com/software/md5.htm
|
|
|
|
* Version: TBD, might not be latest from above URL
|
|
|
|
* License: RSA Message-Digest License
|
|
|
|
- `pcg.{cpp,h}`
|
|
|
|
* Upstream: http://www.pcg-random.org
|
|
|
|
* Version: minimal C implemention, http://www.pcg-random.org/download.html
|
|
|
|
* License: Apache 2.0
|
|
|
|
- `sha256.{c,h}`
|
|
|
|
* Upstream: https://github.com/ilvn/SHA256
|
|
|
|
* Version: git (35ff823, 2015)
|
|
|
|
* License: ISC
|
Split thirdparty smaz.c out of compressed_translation.cpp
Code comes from https://github.com/antirez/smaz/blob/150e125cbae2e8fd20dd332432776ce13395d4d4/smaz.c
With a small modification to match Godot expectations:
```
diff --git a/thirdparty/core/smaz.c b/thirdparty/core/smaz.c
index 9b1ebc2..555dfea 100644
--- a/thirdparty/core/smaz.c
+++ b/thirdparty/core/smaz.c
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
#include <string.h>
/* Our compression codebook, used for compression */
-static char *Smaz_cb[241] = {
+static const char *Smaz_cb[241] = {
"\002s,\266", "\003had\232\002leW", "\003on \216", "", "\001yS",
"\002ma\255\002li\227", "\003or \260", "", "\002ll\230\003s t\277",
"\004fromg\002mel", "", "\003its\332", "\001z\333", "\003ingF", "\001>\336",
@@ -89,7 +89,7 @@ static char *Smaz_rcb[254] = {
"e, ", " it", "whi", " ma", "ge", "x", "e c", "men", ".com"
};
-int smaz_compress(char *in, int inlen, char *out, int outlen) {
+int smaz_compress(const char *in, int inlen, char *out, int outlen) {
unsigned int h1,h2,h3=0;
int verblen = 0, _outlen = outlen;
char verb[256], *_out = out;
@@ -167,7 +167,7 @@ out:
return out-_out;
}
-int smaz_decompress(char *in, int inlen, char *out, int outlen) {
+int smaz_decompress(const char *in, int inlen, char *out, int outlen) {
unsigned char *c = (unsigned char*) in;
char *_out = out;
int _outlen = outlen;
@@ -192,7 +192,7 @@ int smaz_decompress(char *in, int inlen, char *out, int outlen) {
inlen -= 2+len;
} else {
/* Codebook entry */
- char *s = Smaz_rcb[*c];
+ const char *s = Smaz_rcb[*c];
int len = strlen(s);
if (outlen < len) return _outlen+1;
diff --git a/thirdparty/core/smaz.h b/thirdparty/core/smaz.h
index a547d89..a9d8a33 100644
--- a/thirdparty/core/smaz.h
+++ b/thirdparty/core/smaz.h
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
#ifndef _SMAZ_H
#define _SMAZ_H
-int smaz_compress(char *in, int inlen, char *out, int outlen);
-int smaz_decompress(char *in, int inlen, char *out, int outlen);
+int smaz_compress(const char *in, int inlen, char *out, int outlen);
+int smaz_decompress(const char *in, int inlen, char *out, int outlen);
#endif
```
2017-04-28 17:00:11 +00:00
|
|
|
- `smaz.{c,h}`
|
|
|
|
* Upstream: https://github.com/antirez/smaz
|
|
|
|
* Version: git (150e125, 2009)
|
|
|
|
* License: BSD 3-clause
|
|
|
|
* Modifications: use `const char*` instead of `char*` for input string
|
2017-04-28 16:29:15 +00:00
|
|
|
- `triangulator.{cpp,h}`
|
|
|
|
* Upstream: https://github.com/ivanfratric/polypartition (`src/polypartition.cpp`)
|
|
|
|
* Version: TBD, class was renamed
|
|
|
|
* License: MIT
|
|
|
|
|
2017-04-28 17:28:21 +00:00
|
|
|
### modules
|
|
|
|
|
|
|
|
- `curl_hostcheck.{c,h}`
|
|
|
|
* Upstream: https://curl.haxx.se/
|
|
|
|
* Version: ? (2013)
|
|
|
|
* License: MIT
|
|
|
|
- `yuv2rgb.h`
|
|
|
|
* Upstream: http://wss.co.uk/pinknoise/yuv2rgb/ (to check)
|
|
|
|
* Version: ?
|
|
|
|
* License: BSD
|
|
|
|
|
|
|
|
### scene
|
|
|
|
|
|
|
|
- `mikktspace.{c,h}`
|
|
|
|
* Upstream: https://wiki.blender.org/index.php/Dev:Shading/Tangent_Space_Normal_Maps
|
|
|
|
* Version: 1.0
|
|
|
|
* License: zlib
|
|
|
|
- `stb_truetype.h`
|
|
|
|
* Upstream: https://github.com/nothings/stb
|
|
|
|
* Version: 1.11
|
|
|
|
* License: Public Domain (Unlicense) or MIT
|
|
|
|
- `stb_vorbis.c`
|
|
|
|
* Upstream: https://github.com/nothings/stb
|
|
|
|
* Version: 1.09
|
|
|
|
* License: Public Domain (Unlicense) or MIT
|
|
|
|
|
2017-04-28 16:29:15 +00:00
|
|
|
|
2016-10-12 21:06:17 +00:00
|
|
|
## openssl
|
|
|
|
|
|
|
|
- Upstream: https://www.openssl.org
|
2017-01-05 21:35:39 +00:00
|
|
|
- Version: 1.0.2h
|
2016-10-12 21:06:17 +00:00
|
|
|
- License: OpenSSL license / BSD-like
|
|
|
|
|
|
|
|
Files extracted from the upstream source:
|
|
|
|
|
2017-01-05 22:09:29 +00:00
|
|
|
- Our `openssl/`: contains the headers installed in /usr/include/openssl;
|
|
|
|
gather them in the source tarball with `make links` and
|
|
|
|
`cp -f include/openssl/*.h ../openssl/openssl/`
|
|
|
|
- Our `crypto/`: copy of upstream `crypto/`, with some cleanup (see below).
|
|
|
|
- Our `ssl/`: copy of upstream `ssl/`, with some cleanup (see below).
|
|
|
|
- Cleanup:
|
|
|
|
```
|
|
|
|
find \( -name "Makefile" -o -name "*.S" -o -name "*.bat" -o -name "*.bc" \
|
|
|
|
-o -name "*.com" -o -name "*.cnf" -o -name "*.ec" -o -name "*.fre" \
|
|
|
|
-o -name "*.gcc" -o -name "*.in" -o -name "*.lnx" -o -name "*.m4" \
|
|
|
|
-o -name "*.pl" -o -name "*.pod" -o -name "*.s" -o -name "*.sh" \
|
|
|
|
-o -name "*.sol" -o -name "*test*" \) -delete
|
|
|
|
cd openssl; for file in *.h; do find ../{crypto,ssl} -name "$file" -delete; done
|
|
|
|
```
|
|
|
|
For the rest check the `git status` and decide.
|
|
|
|
- e_os.h
|
2017-05-27 13:44:57 +00:00
|
|
|
- Apply the Godot-specific patches in the `patches/` folder.
|
2016-10-12 21:06:17 +00:00
|
|
|
|
2017-05-27 15:50:43 +00:00
|
|
|
|
2016-10-12 18:37:38 +00:00
|
|
|
## opus
|
|
|
|
|
|
|
|
- Upstream: https://opus-codec.org
|
2017-05-28 19:15:14 +00:00
|
|
|
- Version: 1.1.5 (opus) and 0.8 (opusfile)
|
2016-10-12 18:37:38 +00:00
|
|
|
- License: BSD-3-Clause
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
|
|
|
- all .c and .h files in src/ (both opus and opusfile),
|
2016-10-14 16:58:24 +00:00
|
|
|
except `opus_demo.c`
|
2016-11-03 20:10:34 +00:00
|
|
|
- all .h files in include/ (both opus and opusfile) as opus/
|
2017-04-09 13:17:43 +00:00
|
|
|
- celt/ and silk/ subfolders
|
2016-10-12 18:37:38 +00:00
|
|
|
- COPYING
|
|
|
|
|
|
|
|
|
2016-10-11 18:44:26 +00:00
|
|
|
## pvrtccompressor
|
|
|
|
|
|
|
|
- Upstream: https://bitbucket.org/jthlim/pvrtccompressor
|
|
|
|
- Version: hg commit cf71777 - 2015-01-08
|
|
|
|
- License: BSD-3-Clause
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
2016-10-14 16:58:24 +00:00
|
|
|
- all .cpp and .h files apart from `main.cpp`
|
2016-10-11 18:44:26 +00:00
|
|
|
- LICENSE.TXT
|
|
|
|
|
|
|
|
|
|
|
|
## rg-etc1
|
|
|
|
|
|
|
|
- Upstream: https://github.com/richgel999/rg-etc1
|
|
|
|
- Version: 1.04
|
|
|
|
- License: zlib
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
2016-10-14 16:58:24 +00:00
|
|
|
- `rg_etc1.{cpp,h}`
|
2016-10-13 17:40:40 +00:00
|
|
|
|
|
|
|
|
2016-10-13 18:58:40 +00:00
|
|
|
## rtaudio
|
|
|
|
|
|
|
|
- Upstream: http://www.music.mcgill.ca/~gary/rtaudio/
|
|
|
|
- Version: 4.1.2
|
|
|
|
- License: MIT-like
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
2016-10-14 16:58:24 +00:00
|
|
|
- `RtAudio.{cpp,h}`
|
2016-10-13 18:58:40 +00:00
|
|
|
|
|
|
|
|
2016-10-13 19:48:06 +00:00
|
|
|
## squish
|
|
|
|
|
2016-10-13 19:52:16 +00:00
|
|
|
- Upstream: https://sourceforge.net/projects/libsquish
|
2017-04-09 13:02:09 +00:00
|
|
|
- Version: 1.15
|
2016-10-13 19:48:06 +00:00
|
|
|
- License: MIT
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
|
|
|
- all .cpp, .h and .inl files
|
|
|
|
|
|
|
|
|
2016-10-13 17:40:40 +00:00
|
|
|
## theora
|
|
|
|
|
|
|
|
- Upstream: https://www.theora.org
|
|
|
|
- Version: 1.1.1
|
|
|
|
- License: BSD-3-Clause
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
|
|
|
- all .c, .h in lib/
|
|
|
|
- all .h files in include/theora/ as theora/
|
|
|
|
- COPYING and LICENSE
|
2016-10-14 16:58:24 +00:00
|
|
|
|
|
|
|
|
2017-05-27 11:41:18 +00:00
|
|
|
## tinyexr
|
|
|
|
|
|
|
|
- Upstream: https://github.com/syoyo/tinyexr
|
|
|
|
- Version: 0.9.5+ (git a145d69)
|
|
|
|
- License: BSD-3-Clause
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
|
|
|
- `tinyexr.{cc,h}`
|
|
|
|
|
|
|
|
Important: Some changes were made to get TinyEXR to build on the ancient
|
|
|
|
MinGW-w64 toolchain of Travis CI.
|
|
|
|
https://github.com/godotengine/godot/commit/37f5e1dcd94611dd5b670f013abf0323e8b47def
|
|
|
|
|
|
|
|
|
2016-10-14 16:58:24 +00:00
|
|
|
## zlib
|
|
|
|
|
|
|
|
- Upstream: http://www.zlib.net/
|
2017-01-16 16:58:34 +00:00
|
|
|
- Version: 1.2.11
|
2016-10-14 16:58:24 +00:00
|
|
|
- License: zlib
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
2017-01-05 21:30:02 +00:00
|
|
|
- all .c and .h files
|
2017-06-09 01:43:56 +00:00
|
|
|
|
|
|
|
## zstd
|
|
|
|
|
|
|
|
- Upstream: https://github.com/facebook/zstd
|
|
|
|
- Version: 1.2.0
|
|
|
|
- License: BSD-3-Clause
|
|
|
|
|
|
|
|
Files extracted from upstream source:
|
|
|
|
|
|
|
|
- all .c and .h under lib/
|
|
|
|
- README.md, LICENSE, PATENTS
|