2016-10-09 23:36:17 +02:00
# Third party libraries
2017-04-28 19:28:21 +02:00
## b2d_convexdecomp
- Upstream: https://github.com/erincatto/Box2D (Contributions/Utilities/ConvexDecomposition)
- Version: TBD
- License: zlib
2017-02-09 00:07:44 +01:00
## certs
- Upstream: ?
TODO.
## fonts
2017-08-27 17:37:33 +02:00
### Noto Sans UI Regular
- Upstream: https://github.com/googlei18n/noto-fonts
- Version: 1.06
- License: OFL-1.1
#### What’ s the difference between the UI and non-UI versions?
The UI fonts were initially prepared for use in Android’ s UI. They have tighter vertical metrics, and some glyphs that would be clipped are redrawn to fit within the constrained space. They can be used anywhere that has limited vertical space. There are no UI verions of scripts that do not need such adjustment, and the non-UI versions should be preferred for use in body text.
https://github.com/googlei18n/noto-fonts/blob/master/FAQ.md#whats-the-difference-between-the-ui-and-non-ui-versions
### Adobe Source Code Pro Regular
2017-02-09 00:07:44 +01:00
- Upstream: ?
2017-08-27 17:37:33 +02:00
### DroidSans*.ttf
- Upstream: ?
2017-02-09 00:07:44 +01:00
2016-10-14 21:57:43 +02:00
## freetype
- Upstream: https://www.freetype.org
2017-06-25 04:16:45 +02:00
- Version: 2.8
2016-10-14 21:57:43 +02:00
- 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}`
2016-10-14 08:27:59 +02:00
## glew
- Upstream: http://glew.sourceforge.net
- Version: 1.13.0
- License: BSD-3-Clause
Files extracted from upstream source:
2016-10-14 18:58:24 +02:00
- `src/glew.c`
2016-10-14 08:27:59 +02:00
- include/GL/ as GL/
- LICENSE.txt
2016-10-10 00:03:33 +02:00
## jpeg-compressor
- Upstream: https://github.com/richgel999/jpeg-compressor
- Version: 1.04
- License: Public domain
Files extracted from upstream source:
2016-10-14 18:58:24 +02:00
- `jpgd.{c,h}`
2016-10-10 00:03:33 +02:00
2016-10-13 20:46:42 +02:00
## libmpcdec
- Upstream: https://www.musepack.net
- Version: SVN somewhere between SV7 and SV8 (r475)
- License: BSD-3-Clause
Files extracted from upstream source:
- all .c and .h files in libmpcdec/
- include/mpc as mpc/
- COPYING from libmpcdec/
2016-10-12 20:37:38 +02:00
## libogg
- Upstream: https://www.xiph.org/ogg
- Version: 1.3.2
- License: BSD-3-Clause
Files extracted from upstream source:
2016-10-14 18:58:24 +02:00
- `src/*.c`
- `include/ogg/*.h` in ogg/
2016-10-12 20:37:38 +02:00
- COPYING
2016-10-09 23:36:17 +02:00
## libpng
- Upstream: http://libpng.org/pub/png/libpng.html
2017-07-22 18:42:17 +02:00
- Version: 1.6.31rc01
2016-10-09 23:36:17 +02:00
- License: libpng/zlib
Files extracted from upstream source:
2016-10-14 18:58:24 +02:00
- all .c and .h files of the main directory, except from
`example.c` and `pngtest.c`
2016-10-09 23:36:17 +02:00
- the arm/ folder
2016-10-14 18:58:24 +02:00
- `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h`
2016-10-11 20:44:26 +02:00
2016-10-12 20:37:38 +02:00
## libvorbis
- Upstream: https://www.xiph.org/vorbis
- Version: 1.3.5
- License: BSD-3-Clause
Files extracted from upstream source:
2016-10-14 18:58:24 +02:00
- `src/*` except from: `lookups.pl` , `Makefile.*`
- `include/vorbis/*.h` as vorbis/
2016-10-12 20:37:38 +02:00
- COPYING
2016-10-11 23:35:58 +02:00
## libwebp
- Upstream: https://chromium.googlesource.com/webm/libwebp/
2017-02-17 15:49:40 +01:00
- Version: 0.6.0
2016-10-11 23:35:58 +02:00
- License: BSD-3-Clause
2016-10-14 21:57:43 +02:00
Files extracted from upstream source:
2016-10-11 23:35:58 +02:00
2017-02-17 15:49:40 +01:00
- `src/*` except from: .am, .rc and .in files
2016-10-11 23:35:58 +02:00
- AUTHORS, COPYING, PATENTS
2017-02-17 15:49:40 +01:00
Important: The files `utils/bit_reader_utils.{c,h}` have Godot-made
2016-10-11 23:35:58 +02:00
changes to ensure they build for Javascript/HTML5. Those
changes are marked with `// -- GODOT --` comments.
2017-04-28 18:29:15 +02: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 19:28:21 +02:00
Collection of single-file libraries used in Godot components.
### core
2017-04-28 18:29:15 +02: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
- `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
```
(cherry picked from commit c5f830d6b90574ef1e34fd2c35a0ebfa1ad92fe6)
2017-04-28 19:00:11 +02: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 18:29:15 +02:00
- `triangulator.{cpp,h}`
* Upstream: https://github.com/ivanfratric/polypartition (`src/polypartition.cpp`)
* Version: TBD, class was renamed
* License: MIT
2017-04-28 19:28:21 +02: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
2017-04-28 18:29:15 +02:00
2016-10-12 23:06:17 +02:00
## openssl
- Upstream: https://www.openssl.org
2017-01-05 22:35:39 +01:00
- Version: 1.0.2h
2016-10-12 23:06:17 +02:00
- License: OpenSSL license / BSD-like
Files extracted from the upstream source:
2017-01-05 23:09:29 +01: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 15:44:57 +02:00
- Apply the Godot-specific patches in the `patches/` folder.
2016-10-12 23:06:17 +02:00
2017-05-27 17:50:43 +02:00
2016-10-12 20:37:38 +02:00
## opus
- Upstream: https://opus-codec.org
2017-05-28 21:15:14 +02:00
- Version: 1.1.5 (opus) and 0.8 (opusfile)
2016-10-12 20:37:38 +02:00
- License: BSD-3-Clause
Files extracted from upstream source:
- all .c and .h files in src/ (both opus and opusfile),
2016-10-14 18:58:24 +02:00
except `opus_demo.c`
2016-11-03 21:10:34 +01:00
- all .h files in include/ (both opus and opusfile) as opus/
2017-04-09 15:17:43 +02:00
- celt/ and silk/ subfolders
2016-10-12 20:37:38 +02:00
- COPYING
2016-10-11 20:44:26 +02: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 18:58:24 +02:00
- all .cpp and .h files apart from `main.cpp`
2016-10-11 20:44:26 +02: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 18:58:24 +02:00
- `rg_etc1.{cpp,h}`
2016-10-12 20:37:38 +02:00
2016-10-13 20:58:40 +02: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 18:58:24 +02:00
- `RtAudio.{cpp,h}`
2016-10-13 20:58:40 +02:00
2016-10-12 20:37:38 +02:00
## speex
- Upstream: http://speex.org/
- Version: 1.2rc1?
- License: BSD-3-Clause
2016-10-13 19:40:40 +02:00
2016-10-13 21:48:06 +02:00
## squish
2016-10-13 21:52:16 +02:00
- Upstream: https://sourceforge.net/projects/libsquish
2017-04-09 15:02:09 +02:00
- Version: 1.15
2016-10-13 21:48:06 +02:00
- License: MIT
Files extracted from upstream source:
- all .cpp, .h and .inl files
>>>>>>> 8311a78... squish: Move to a module and split thirdparty lib
2016-10-13 19:40:40 +02: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 18:58:24 +02:00
## zlib
- Upstream: http://www.zlib.net/
2017-01-16 17:58:34 +01:00
- Version: 1.2.11
2016-10-14 18:58:24 +02:00
- License: zlib
Files extracted from upstream source:
2017-01-05 22:30:02 +01:00
- all .c and .h files