virtualx-engine/thirdparty
Zher Huei Lee e3e2f06324 Replacement of internal RegEx with PCRE2
The pattern and replacement matching behaviour has been changed purely
due to the nature of switching to a standards-compliant library.

One mistake in the previous behaviour was that named groups didn't have
a number. This has been corrected.

As names are actually just an alias of numbered groups,
RegExMatch::get_name_dict() is now get_names() and is a dict
referring to the group number it represents.

Duplicate names are enabled and the with the first matching instance
used.

Due the lack of a suitable equivalent in PCRE2, RegExMatch::expand() was
removed.
2017-08-19 19:29:14 +08:00
..
b2d_convexdecomp Move other lone thirdparty files to thirdparty/misc 2017-04-28 21:19:25 +02:00
certs Reorder the folders in tools to prepare moving tools/editor 2017-02-09 00:08:27 +01:00
enet Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
etc2comp Revert "Mark where ETC1 restriction needs to be done to speed up RGBA8 import" 2017-07-08 09:54:15 +02:00
fonts Reorder the folders in tools to prepare moving tools/editor 2017-02-09 00:08:27 +01:00
freetype Update freetype to 2.8 2017-06-25 10:41:12 +09:00
glad glad: Sync with upstream 0.1.14a0 2017-06-14 20:15:37 +02:00
jpeg-compressor jpg: Make it a module and split jpgd thirdparty files 2016-10-15 11:50:39 +02:00
libogg ogg/vorbis/opus: Make them modules and unbundle thirdparty libs 2016-10-15 11:50:40 +02:00
libpng libpng: Update to upstream version 1.6.31rc01 2017-07-22 18:42:20 +02:00
libsimplewebm WebM: Fix crash when there is no audio stream 2016-12-01 12:00:17 +01:00
libtheora theora: Move to a module and split thirdparty lib 2016-10-15 11:50:41 +02:00
libvorbis ogg/vorbis/opus: Make them modules and unbundle thirdparty libs 2016-10-15 11:50:40 +02:00
libvpx Fix compilation with MSVC 2013 2016-11-15 12:10:05 +01:00
libwebp Update libwebp to 0.6.0 2017-02-17 23:49:40 +09:00
minizip Move core thirdparty files to thirdparty/{minizip,misc} 2017-04-28 21:19:23 +02:00
misc -Added GLTF scene support (still missing animations and .glb extension) 2017-08-02 15:43:49 -03:00
openssl openssl: Sync with upstream 1.0.2l 2017-05-27 19:08:07 +02:00
opus opus: Update to upstream version 1.1.5 2017-05-28 21:15:14 +02:00
pcre2 Replacement of internal RegEx with PCRE2 2017-08-19 19:29:14 +08:00
pvrtccompressor dds/etc1/pbm/pvr: Make those modules and split thirdparty files 2016-10-15 11:50:39 +02:00
rtaudio Rename WINRT_ENABLED to UWP_ENABLED 2016-11-03 14:51:08 -02:00
squish squish: Update to upstream version 1.15 2017-04-09 15:03:39 +02:00
tinyexr Fix MinGW-w64 build of TinyEXR for old toolchains 2017-05-27 13:13:31 +02:00
zlib zlib: Update to upstream version 1.2.11 2017-01-16 17:58:34 +01:00
zstd zstd: Apply upstream patch to fix UWP ARM build 2017-07-25 14:52:14 -03:00
README.md Replacement of internal RegEx with PCRE2 2017-08-19 19:29:14 +08:00

Third party libraries

b2d_convexdecomp

certs

  • Upstream: ?

TODO.

enet

Files extracted from upstream source:

  • all .c files in the main directory (except unix.c win32.c)
  • the include/enet/ folder as enet/ (except unix.h win32.h)
  • LICENSE file

Important: enet.h, host.c, protocol.c have been slightly modified to be usable by godot socket implementation and allow IPv6. Two files (godot.cpp and enet/godot.h) have been added to provide enet socket implementation using Godot classes. It is still possible to build against a system wide ENet but doing so will limit it's functionality to IPv4 only. Check the diff of enet.h, protocol.c, and host.c with the 1.3.13 tarball before the next update.

etc2comp

Files extracted from upstream source:

  • all .cpp and .h files in EtcLib/
  • README.md, LICENSE, AUTHORS

fonts

  • Upstream: ?

TODO.

freetype

Files extracted from upstream source:

  • the src/ folder, stripped of the Jamfile files
  • the include/ folder
  • docs/{FTL.TXT,LICENSE.TXT}

glad

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.

jpeg-compressor

Files extracted from upstream source:

  • jpgd.{c,h}

libogg

Files extracted from upstream source:

  • src/*.c
  • include/ogg/*.h in ogg/
  • COPYING

libpng

Files extracted from upstream source:

  • all .c and .h files of the main directory, except from example.c and pngtest.c
  • the arm/ folder
  • scripts/pnglibconf.h.prebuilt as pnglibconf.h

libsimplewebm

Files extracted from upstream source:

TODO.

libvorbis

Files extracted from upstream source:

  • src/* except from: lookups.pl, Makefile.*
  • include/vorbis/*.h as vorbis/
  • COPYING

libvpx

Files extracted from upstream source:

TODO.

libwebp

Files extracted from upstream source:

  • src/* except from: .am, .rc and .in files
  • AUTHORS, COPYING, PATENTS

Important: The files utils/bit_reader_utils.{c,h} have Godot-made changes to ensure they build for Javascript/HTML5. Those changes are marked with // -- GODOT -- comments.

minizip

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

Collection of single-file libraries used in Godot components.

core

modules

scene

openssl

Files extracted from the upstream source:

  • 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
  • Apply the Godot-specific patches in the patches/ folder.

opus

Files extracted from upstream source:

  • all .c and .h files in src/ (both opus and opusfile), except opus_demo.c
  • all .h files in include/ (both opus and opusfile) as opus/
  • celt/ and silk/ subfolders
  • COPYING

pcre2

Files extracted from upstream source:

  • Files listed in NON-AUTOTOOLS-BUILD steps 1-4
  • All .h files in src/
  • src/pcre2_jit_.c and src/sljit/
  • AUTHORS and COPYING

pvrtccompressor

Files extracted from upstream source:

  • all .cpp and .h files apart from main.cpp
  • LICENSE.TXT

rtaudio

Files extracted from upstream source:

  • RtAudio.{cpp,h}

squish

Files extracted from upstream source:

  • all .cpp, .h and .inl files

theora

Files extracted from upstream source:

  • all .c, .h in lib/
  • all .h files in include/theora/ as theora/
  • COPYING and LICENSE

tinyexr

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. 37f5e1dcd9

zlib

Files extracted from upstream source:

  • all .c and .h files

zstd

Files extracted from upstream source:

  • all .c and .h under lib/
  • README.md, LICENSE, PATENTS