Wrapped libpng usage in a pair of functions under PNGDriverCommon,
which convert between Godot Image and png data.
Switched to libpng 1.6 simplified API for ease of maintenance.
Implemented ImageLoaderPNG and ResourceSaverPNG in terms of
PNGDriverCommon functions.
Travis, switched to builtin libpng (thus builtin freetype and zlib also)
so we can build on Xenial.
This increases the build coverage by making sure the Linux
export template still compiles when 3D support is disabled.
This also adds human-readable names to each job, which are displayed
on the Travis CI interface.
Not sure why we switched from homebrew to scons-local anymore,
but pip should work just fine and is recommended by upstream.
Downloads of scons-local from SourceForge were quite iffy, so
this should help avoid CI errors due to not having downloaded
SCons successfully.
Setting Python's user binary PATH seems necessary on Travis/OSX
as per travis-ci/travis-ci#5030 (confirmed that 'scons' is not
in PATH without it).
Also increase AppVeyor cache size to 1024,
should match what is available for us in the free plan:
https://www.appveyor.com/docs/build-cache/#cache-size-beta
And drop obsolete debug_release option for Windows, superseded
by target=release and debug_symbols=yes.
Travis CI has not enough OSX build nodes allocated for open source projects,
so we often have to wait several hours (up to a full day) for builds to start.
Travis always has massive backlog of macOS builds, so we can't rely on them
too much.
The iphone build was mostly useful to spot tools=no or target=release_debug
issues, so replacing it by an appropriate X11 build.
Now that AppVeyor handles testing Windows builds with MSVC,
we can skip the need to test against Travis' old MinGW toolchain
and have a faster CI process.
Also try building X11 binaries against system OpenSSL, should
speed up build.
Commits or PRs that do not respect the clang-format style that we
enforce will fail the test.
Adding ubuntu-toolchain-r-test as its libstdc++ is necessary to install
libllvm-3.9.
As we say in French, "Trop, c'est trop !".
Those builds fail 50% of the time due to timeouts, it's pointless to have them until we
find a better solution to install the Android SDK and NDK.
Workaround for #6973.