summaryrefslogtreecommitdiff
path: root/Build/source/libs
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2015-01-14 10:59:36 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2015-01-14 10:59:36 +0000
commitaa7bbf0e9b00afeeab12fb092b62976cf24fb439 (patch)
treec18d4ee9d969c2fca65036c7d9194d0961df61a3 /Build/source/libs
parent51f86fe156c11e441cc74238dc38b99f9576d1a9 (diff)
libgd 2.1.1
git-svn-id: svn://tug.org/texlive/trunk@36054 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs')
-rw-r--r--Build/source/libs/README2
-rw-r--r--Build/source/libs/gd/ChangeLog8
-rw-r--r--Build/source/libs/gd/Makefile.am37
-rw-r--r--Build/source/libs/gd/Makefile.in469
-rwxr-xr-xBuild/source/libs/gd/configure24
-rw-r--r--Build/source/libs/gd/gdtest.c15
-rw-r--r--Build/source/libs/gd/libgd-2.1.0-PATCHES/patch-02-no-stdcall12
-rw-r--r--Build/source/libs/gd/libgd-2.1.0/ChangeLog1169
-rw-r--r--Build/source/libs/gd/libgd-2.1.0/src/gd_intern.h42
-rw-r--r--Build/source/libs/gd/libgd-2.1.0/src/gd_io.h52
-rw-r--r--Build/source/libs/gd/libgd-2.1.0/windows/Makefile.w32177
-rw-r--r--Build/source/libs/gd/libgd-2.1.1-PATCHES/ChangeLog (renamed from Build/source/libs/gd/libgd-2.1.0-PATCHES/ChangeLog)9
-rw-r--r--Build/source/libs/gd/libgd-2.1.1-PATCHES/TL-Changes (renamed from Build/source/libs/gd/libgd-2.1.0-PATCHES/TL-Changes)5
-rw-r--r--Build/source/libs/gd/libgd-2.1.1-PATCHES/patch-01-win32 (renamed from Build/source/libs/gd/libgd-2.1.0-PATCHES/patch-01-win32)10
-rw-r--r--Build/source/libs/gd/libgd-2.1.1-PATCHES/patch-02-no-stdcall12
-rw-r--r--Build/source/libs/gd/libgd-2.1.1-PATCHES/patch-03-ceill (renamed from Build/source/libs/gd/libgd-2.1.0-PATCHES/patch-03-ceill)6
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/CMakeLists.txt)23
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/CONTRIBUTORS26
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/COPYING (renamed from Build/source/libs/gd/libgd-2.1.0/COPYING)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/ChangeLog317
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/Makefile.am (renamed from Build/source/libs/gd/libgd-2.1.0/Makefile.am)2
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/NEWS (renamed from Build/source/libs/gd/libgd-2.1.0/NEWS)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/README10
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/VMS/CONFIGURE.COM (renamed from Build/source/libs/gd/libgd-2.1.0/VMS/CONFIGURE.COM)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/VMS/README.VMS (renamed from Build/source/libs/gd/libgd-2.1.0/VMS/README.VMS)0
-rwxr-xr-xBuild/source/libs/gd/libgd-2.1.1/bootstrap.sh (renamed from Build/source/libs/gd/libgd-2.1.0/bootstrap.sh)16
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/AC_HEADER_STDC.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/AC_HEADER_STDC.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/CMakeParseArguments.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/CMakeParseArguments.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/CheckDIRSymbolExists.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/CheckDIRSymbolExists.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/CheckPrototypeExists.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/CheckPrototypeExists.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindFontConfig.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindFontConfig.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindFreetype.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindFreetype.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindGD.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindGD.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindICONV.cmake64
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindJPEG.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindJPEG.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindLIQ.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindLIQ.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindPNG.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindPNG.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindPTHREAD.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindPTHREAD.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindPackageHandleStandardArgs.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindPackageHandleStandardArgs.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindVPX.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindVPX.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindXPM.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindXPM.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/TestForHighBitCharacters.c (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/TestForHighBitCharacters.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/TestForHighBitCharacters.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/TestForHighBitCharacters.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/TestForStandardHeaderwait.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/TestForStandardHeaderwait.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/cmake/modules/gd.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/cmake/modules/gd.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/config/Makefile.am (renamed from Build/source/libs/gd/libgd-2.1.0/config/Makefile.am)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/config/gdlib-config.in (renamed from Build/source/libs/gd/libgd-2.1.0/config/gdlib-config.in)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/config/gdlib.pc.in (renamed from Build/source/libs/gd/libgd-2.1.0/config/gdlib.pc.in)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/configure.ac (renamed from Build/source/libs/gd/libgd-2.1.0/configure.ac)35
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/INSTALL (renamed from Build/source/libs/gd/libgd-2.1.0/docs/INSTALL)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/INSTALL.Solaris16
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/README.CMAKE (renamed from Build/source/libs/gd/libgd-2.1.0/docs/README.CMAKE)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/README.JPN (renamed from Build/source/libs/gd/libgd-2.1.0/docs/README.JPN)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/README.TESTING (renamed from Build/source/libs/gd/libgd-2.1.0/docs/README.TESTING)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/README.TXT (renamed from Build/source/libs/gd/libgd-2.1.0/docs/README.TXT)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/license.txt74
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/nobgd.pl58
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/preamble.txt95
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/project/Languages.txt113
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/project/Topics.txt81
-rwxr-xr-xBuild/source/libs/gd/libgd-2.1.1/docs/naturaldocs/run_docs.sh33
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/examples/CMakeLists.txt)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/arc.c (renamed from Build/source/libs/gd/libgd-2.1.0/examples/arc.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/copyrotated.c (renamed from Build/source/libs/gd/libgd-2.1.0/examples/copyrotated.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/crop.c (renamed from Build/source/libs/gd/libgd-2.1.0/examples/crop.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/flip.c (renamed from Build/source/libs/gd/libgd-2.1.0/examples/flip.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/gif.c (renamed from Build/source/libs/gd/libgd-2.1.0/examples/gif.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/nnquant.c (renamed from Build/source/libs/gd/libgd-2.1.0/examples/nnquant.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/noIcon.pic (renamed from Build/source/libs/gd/libgd-2.1.0/examples/noIcon.pic)bin63486 -> 63486 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/noIcon.sgi (renamed from Build/source/libs/gd/libgd-2.1.0/examples/noIcon.sgi)bin66605 -> 66605 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/noIcon.tga (renamed from Build/source/libs/gd/libgd-2.1.0/examples/noIcon.tga)bin153682 -> 153682 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/noIconAlpha.tga (renamed from Build/source/libs/gd/libgd-2.1.0/examples/noIconAlpha.tga)bin153682 -> 153682 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/resize.c59
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/test_crop_threshold.png (renamed from Build/source/libs/gd/libgd-2.1.0/examples/test_crop_threshold.png)bin7919 -> 7919 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/tgaread.c (renamed from Build/source/libs/gd/libgd-2.1.0/examples/tgaread.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/tiffread.c (renamed from Build/source/libs/gd/libgd-2.1.0/examples/tiffread.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/examples/windows.c (renamed from Build/source/libs/gd/libgd-2.1.0/examples/windows.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/m4/ax_pthread.m4 (renamed from Build/source/libs/gd/libgd-2.1.0/m4/ax_pthread.m4)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/m4/visibility.m4 (renamed from Build/source/libs/gd/libgd-2.1.0/m4/visibility.m4)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/m4/w32.m4 (renamed from Build/source/libs/gd/libgd-2.1.0/m4/w32.m4)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/netware/Makefile.netware (renamed from Build/source/libs/gd/libgd-2.1.0/netware/Makefile.netware)4
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/netware/get_exp.awk (renamed from Build/source/libs/gd/libgd-2.1.0/netware/get_exp.awk)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/netware/get_ver.awk (renamed from Build/source/libs/gd/libgd-2.1.0/netware/get_ver.awk)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/netware/keepscreen.c (renamed from Build/source/libs/gd/libgd-2.1.0/netware/keepscreen.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/netware/nwlibc.c (renamed from Build/source/libs/gd/libgd-2.1.0/netware/nwlibc.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/netware/tests/Makefile.netware (renamed from Build/source/libs/gd/libgd-2.1.0/netware/tests/Makefile.netware)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/src/CMakeLists.txt)14
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/COPYING (renamed from Build/source/libs/gd/libgd-2.1.0/src/COPYING)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/Makefile.am (renamed from Build/source/libs/gd/libgd-2.1.0/src/Makefile.am)2
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/annotate.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/annotate.c)0
-rwxr-xr-xBuild/source/libs/gd/libgd-2.1.1/src/bdftogd (renamed from Build/source/libs/gd/libgd-2.1.0/src/bdftogd)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/bmp.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/bmp.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/circletexttest.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/circletexttest.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/config.h.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/src/config.h.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/config.hin (renamed from Build/source/libs/gd/libgd-2.1.0/src/config.hin)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/demoin.png (renamed from Build/source/libs/gd/libgd-2.1.0/src/demoin.png)bin10027 -> 10027 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/entities.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/entities.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/entities.html (renamed from Build/source/libs/gd/libgd-2.1.0/src/entities.html)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/entities.tcl (renamed from Build/source/libs/gd/libgd-2.1.0/src/entities.tcl)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/fontconfigtest.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/fontconfigtest.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/fontsizetest.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/fontsizetest.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/fontwheeltest.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/fontwheeltest.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd.c)172
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd.h)265
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd2copypal.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd2copypal.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd2time.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd2time.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd2togif.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd2togif.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd2topng.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd2topng.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_bmp.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_bmp.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_color.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_color.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_color.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_color.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_color_map.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_color_map.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_color_map.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_color_map.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_color_map_test.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_color_map_test.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_color_match.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_color_match.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_crop.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_crop.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_errors.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_errors.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_filename.c254
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_filter.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_filter.c)263
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_gd.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_gd.c)59
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_gd2.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_gd2.c)119
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_gif_in.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_gif_in.c)72
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_gif_out.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_gif_out.c)448
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_intern.h90
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_interpolation.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_interpolation.c)335
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_io.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_io.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_io.h100
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_io_dp.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_io_dp.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_io_file.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_io_file.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_io_ss.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_io_ss.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_io_stream.cxx (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_io_stream.cxx)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_io_stream.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_io_stream.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_jpeg.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_jpeg.c)201
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_matrix.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_matrix.c)20
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_nnquant.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_nnquant.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_nnquant.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_nnquant.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_png.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_png.c)236
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_rotate.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_rotate.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_security.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_security.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_ss.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_ss.c)6
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_tga.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_tga.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_tga.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_tga.h)20
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_tiff.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_tiff.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_topal.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_topal.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_transform.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_transform.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_version.c33
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_wbmp.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_wbmp.c)67
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_webp.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_webp.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gd_xbm.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gd_xbm.c)37
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdcache.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdcache.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdcache.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdcache.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdcmpgif.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdcmpgif.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gddemo.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gddemo.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfontg.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfontg.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfontg.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfontg.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfontl.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfontl.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfontl.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfontl.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfontmb.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfontmb.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfontmb.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfontmb.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfonts.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfonts.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfonts.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfonts.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfontt.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfontt.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfontt.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfontt.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdft.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdft.c)136
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfx.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfx.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdfx.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdfx.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdhelpers.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdhelpers.c)5
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdhelpers.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdhelpers.h)9
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdkanji.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdkanji.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdparttopng.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdparttopng.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdpp.cxx (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdpp.cxx)12
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdpp.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdpp.h)91
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdtables.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdtables.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdtest.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdtest.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdtestft.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdtestft.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdtopng.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdtopng.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gdxpm.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gdxpm.c)44
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/gifanimtest.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/gifanimtest.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/giftogd2.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/giftogd2.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/jisx0208.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/jisx0208.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/msinttypes/inttypes.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/msinttypes/inttypes.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/msinttypes/stdint.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/msinttypes/stdint.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/pngtogd.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/pngtogd.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/pngtogd2.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/pngtogd2.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/testac.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/testac.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/testtr.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/testtr.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/wbmp.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/wbmp.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/wbmp.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/wbmp.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/webpimg.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/webpimg.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/webpimg.h (renamed from Build/source/libs/gd/libgd-2.1.0/src/webpimg.h)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/src/webpng.c (renamed from Build/source/libs/gd/libgd-2.1.0/src/webpng.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/test/gdtest.gd2 (renamed from Build/source/libs/gd/libgd-2.1.0/test/gdtest.gd2)bin28661 -> 28661 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/test/gdtest.png (renamed from Build/source/libs/gd/libgd-2.1.0/test/gdtest.png)bin26658 -> 26658 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/test/gdtest_200_300_150_100.png (renamed from Build/source/libs/gd/libgd-2.1.0/test/gdtest_200_300_150_100.png)bin1776 -> 1776 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/test/gdtest_merge.png (renamed from Build/source/libs/gd/libgd-2.1.0/test/gdtest_merge.png)bin30372 -> 30372 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/test/gdtest_wbmp_to_png.png (renamed from Build/source/libs/gd/libgd-2.1.0/test/gdtest_wbmp_to_png.png)bin286 -> 286 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/CMakeLists.txt)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/Makefile.am (renamed from Build/source/libs/gd/libgd-2.1.0/tests/Makefile.am)12
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/bmp/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/bmp/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/bmp/bmp_im2im.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/bmp/bmp_im2im.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/bmp/bmp_null.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/bmp/bmp_null.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/freetype/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/freetype/CMakeLists.txt)5
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/freetype/DejaVuSans.ttf (renamed from Build/source/libs/gd/libgd-2.1.0/tests/freetype/DejaVuSans.ttf)bin569008 -> 569008 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/freetype/bug00132.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/freetype/bug00132.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/freetype/bug00132_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/freetype/bug00132_exp.png)bin217 -> 217 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd/CMakeLists.txt)4
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd/crafted_num_colors.gd (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd/crafted_num_colors.gd)bin1039 -> 1039 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_im2im.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd/gd_im2im.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_null.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd/gd_null.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_num_colors.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd/gd_num_colors.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_versiontest.c21
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd2/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd2/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd2/conv_gd2_exp.gd2 (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd2/conv_gd2_exp.gd2)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd2/conv_test.gd2 (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd2/conv_test.gd2)bin423 -> 423 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd2/conv_test_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd2/conv_test_exp.png)bin87 -> 87 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd2/empty.gd2 (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd2/empty.gd2)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_empty_file.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_empty_file.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_im2im.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_im2im.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_null.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_null.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_read.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_read.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagearc/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagearc/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagearc/bug00079.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagearc/bug00079.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagearc/bug00079_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagearc/bug00079_exp.png)bin2127 -> 2127 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorclosest/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorclosest/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorclosest/gdimagecolorclosest.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorclosest/gdimagecolorclosest.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolordeallocate/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolordeallocate/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolordeallocate/gdimagecolordeallocate.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolordeallocate/gdimagecolordeallocate.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorexact/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorexact/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorexact/gdimagecolorexact.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorexact/gdimagecolorexact.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorreplace/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorreplace/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorreplace/gdimagecolorreplace.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorreplace/gdimagecolorreplace.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorresolve/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorresolve/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorresolve/gdimagecolorresolve.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorresolve/gdimagecolorresolve.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolortransparent/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolortransparent/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolortransparent/gdimagecolortransparent.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolortransparent/gdimagecolortransparent.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/bug00007.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/bug00007.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/bug00081.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/bug00081.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/bug00081_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/bug00081_exp.png)bin95 -> 95 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopyrotated/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopyrotated/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopyrotated/bug00020.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopyrotated/bug00020.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopyrotated/bug00020_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopyrotated/bug00020_exp.png)bin402 -> 402 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/gdnametest.c169
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.tgabin0 -> 9018 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.xbm37
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.xpm58
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_1.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_1.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_1_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_1_exp.png)bin289 -> 289 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_2.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_2.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_2_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_2_exp.png)bin393 -> 393 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_3.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_3.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_3_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_3_exp.png)bin410 -> 410 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_4.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_4.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_4_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_4_exp.png)bin192 -> 192 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00010.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00010.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00010_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00010_exp.png)bin479 -> 479 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00191.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00191.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00191.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00191.png)bin143 -> 143 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/bug00100.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/bug00100.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/bug00100.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/bug00100.png)bin2124 -> 2124 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon0.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon0.png)bin95 -> 95 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon1.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon1.png)bin95 -> 95 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon2.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon2.png)bin140 -> 140 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon3.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon3.png)bin269 -> 269 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/bug00004.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/bug00004.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/bug00078.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/bug00078.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilltoborder/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilltoborder/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilltoborder/bug00037.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilltoborder/bug00037.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilter/gdCopyBlurred.c198
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00072.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00072.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00072_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00072_exp.png)bin133 -> 133 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00077.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00077.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00077_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00077_exp.png)bin97 -> 97 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00111.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00111.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00111_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00111_exp.png)bin79 -> 79 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdImageAALine_thickness.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdImageAALine_thickness.c)2
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdImageAALine_thickness_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdImageAALine_thickness_exp.png)bin534 -> 534 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_a_0_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_a_0_exp.png)bin198 -> 198 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_a_1_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_a_1_exp.png)bin202 -> 202 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_b_0_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_b_0_exp.png)bin343 -> 343 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_b_1_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_b_1_exp.png)bin197 -> 197 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_c_0_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_c_0_exp.png)bin200 -> 200 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_c_1_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_c_1_exp.png)bin194 -> 194 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_d_0_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_d_0_exp.png)bin200 -> 200 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_d_1_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_d_1_exp.png)bin216 -> 216 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_outofrange.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_outofrange.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_bug5.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_bug5.c)31
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon0.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon0.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon0.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon0.png)bin95 -> 95 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon1.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon1.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon1.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon1.png)bin95 -> 95 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon2.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon2.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon2.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon2.png)bin140 -> 140 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon3.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon3.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon3.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon3.png)bin237 -> 237 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepixelate/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepixelate/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepixelate/gdimagepixelate.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepixelate/gdimagepixelate.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon0.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon0.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon0.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon0.png)bin95 -> 95 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon1.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon1.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon1.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon1.png)bin99 -> 99 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon2.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon2.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon2.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon2.png)bin140 -> 140 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon3.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon3.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon3.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon3.png)bin271 -> 271 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerectangle/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerectangle/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerectangle/bug00003.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerectangle/bug00003.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerectangle/bug00106_gdimagerectangle.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerectangle/bug00106_gdimagerectangle.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_000_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_000_exp.png)bin30195 -> 30195 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_015_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_015_exp.png)bin34731 -> 34731 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_030_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_030_exp.png)bin36734 -> 36734 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_045_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_045_exp.png)bin36631 -> 36631 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_060_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_060_exp.png)bin36759 -> 36759 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_075_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_075_exp.png)bin34775 -> 34775 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_090_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_090_exp.png)bin30955 -> 30955 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_105_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_105_exp.png)bin35010 -> 35010 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_120_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_120_exp.png)bin36899 -> 36899 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_135_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_135_exp.png)bin37111 -> 37111 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_150_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_150_exp.png)bin36771 -> 36771 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_165_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_165_exp.png)bin34593 -> 34593 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_180_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_180_exp.png)bin30299 -> 30299 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/php_bug_64898.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/php_bug_64898.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/php_bug_64898.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/php_bug_64898.png)bin1191 -> 1191 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/php_bug_64898_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/php_bug_64898_exp.png)bin6363 -> 6363 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/remirh128.jpg (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/remirh128.jpg)bin10619 -> 10619 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208.png)bin14179 -> 14179 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_1.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_1.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_1.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_1.png)bin22719 -> 22719 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_2.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_2.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_2.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_2.png)bin18296 -> 18296 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagesetpixel/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagesetpixel/CMakeLists.txt)5
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagesetpixel/bug00186.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagesetpixel/bug00186.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringft/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringft/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringft/gdimagestringft_bbox.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringft/gdimagestringft_bbox.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringftex/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringftex/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringftex/gdimagestringftex_returnfontpathname.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringftex/gdimagestringftex_returnfontpathname.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdinterpolatedscale/gdModesAndPalettes.c48
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdinterpolatedscale/gdTrivialResize.c94
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdnewfilectx/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdnewfilectx/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdnewfilectx/gdnewfilectx_null.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdnewfilectx/gdnewfilectx_null.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdtest/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdtest/CMakeLists.txt)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdtest/gdtest.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdtest/gdtest.c)70
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdtest/gdtest.h (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdtest/gdtest.h)10
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdtest/test_config.h.cmake (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdtest/test_config.h.cmake)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdtiled/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdtiled/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdtiled/bug00032.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdtiled/bug00032.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gdtiled/bug00032_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gdtiled/bug00032_exp.png)bin233 -> 233 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_0.gif (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_0.gif)bin7332 -> 7332 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_1.gif (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_1.gif)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_2.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_2.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_2.gif (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_2.gif)bin65646 -> 65646 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_2_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_2_exp.png)bin10515 -> 10515 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_3.gif (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_3.gif)bin18276 -> 18276 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00006.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00006.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00060.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00060.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00060.gif (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00060.gif)bin16821 -> 16821 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00066.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00066.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00066.gif (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00066.gif)bin25489 -> 25489 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00066_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00066_exp.png)bin12247 -> 12247 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00181.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00181.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00227.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00227.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/gif_im2im.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/gif_im2im.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/gif/gif_null.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/gif/gif_null.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/jpeg/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/jpeg/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/jpeg/conv_test.jpeg (renamed from Build/source/libs/gd/libgd-2.1.0/tests/jpeg/conv_test.jpeg)bin2317 -> 2317 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/jpeg/conv_test_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/jpeg/conv_test_exp.png)bin39678 -> 39678 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/jpeg/empty.jpeg (renamed from Build/source/libs/gd/libgd-2.1.0/tests/jpeg/empty.jpeg)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_empty_file.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_empty_file.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_im2im.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_im2im.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_null.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_null.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_read.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_read.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_resolution.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_resolution.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/bug00011.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/bug00011.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/bug00033.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/bug00033.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/bug00033.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/bug00033.png)bin393216 -> 393216 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/bug00086.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/bug00086.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_1.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_1.png)bin1892 -> 1892 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_1_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_1_exp.png)bin2791 -> 2791 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_2.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_2.png)bin238 -> 238 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_2_exp.png (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_2_exp.png)bin284 -> 284 bytes
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/bug00193.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/bug00193.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/emptyfile (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/emptyfile)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/png_im2im.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/png_im2im.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/png_null.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/png_null.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/png/png_resolution.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/png/png_resolution.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/test_config.h.in (renamed from Build/source/libs/gd/libgd-2.1.0/tests/test_config.h.in)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/tga/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/tga/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/tga/tga_null.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/tga/tga_null.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/tiff/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/tiff/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/tiff/tiff_im2im.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/tiff/tiff_im2im.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/tiff/tiff_null.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/tiff/tiff_null.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/wbmp/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/wbmp/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/wbmp/wbmp_im2im.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/wbmp/wbmp_im2im.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/wbmp/wbmp_null.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/wbmp/wbmp_null.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/xpm/CMakeLists.txt (renamed from Build/source/libs/gd/libgd-2.1.0/tests/xpm/CMakeLists.txt)3
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00166.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00166.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00166.xpm (renamed from Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00166.xpm)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00185.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00185.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00185.xpm (renamed from Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00185.xpm)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00185_damaged.xpm (renamed from Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00185_damaged.xpm)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/xpm/color_name.c (renamed from Build/source/libs/gd/libgd-2.1.0/tests/xpm/color_name.c)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/tests/xpm/color_name.xpm (renamed from Build/source/libs/gd/libgd-2.1.0/tests/xpm/color_name.xpm)0
-rwxr-xr-xBuild/source/libs/gd/libgd-2.1.1/thumbs.bat37
-rwxr-xr-xBuild/source/libs/gd/libgd-2.1.1/thumbs.sh320
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/windows/Makefile.vc183
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/windows/libgd.rc (renamed from Build/source/libs/gd/libgd-2.1.0/windows/libgd.rc)0
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/windows/msys/Makefile143
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/windows/msys/README.MSYS.md65
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/windows/msys/deps.mk1
-rwxr-xr-xBuild/source/libs/gd/libgd-2.1.1/windows/msys/run_tests.sh67
-rw-r--r--Build/source/libs/gd/libgd-2.1.1/windows/readme.md11
-rwxr-xr-xBuild/source/libs/gd/libgd-2.1.1/windows/run_tests.bat38
-rwxr-xr-xBuild/source/libs/gd/libgd.test7
-rw-r--r--Build/source/libs/gd/version.ac4
433 files changed, 5978 insertions, 1946 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README
index 3bfcb212ef6..51d8d7f058e 100644
--- a/Build/source/libs/README
+++ b/Build/source/libs/README
@@ -15,7 +15,7 @@ cairo 1.14.0 - checked 15oct14
freetype2 2.5.5 - checked 7jan15
http://savannah.nongnu.org/download/freetype/
-gd 2.1.0 - checked 26jun13
+gd 2.1.1 - checked 14jan15
https://bitbucket.org/libgd/gd-libgd/downloads/
gmp 6.0.0 - checked 25mar14
diff --git a/Build/source/libs/gd/ChangeLog b/Build/source/libs/gd/ChangeLog
index 99bed33199e..71da43c53f3 100644
--- a/Build/source/libs/gd/ChangeLog
+++ b/Build/source/libs/gd/ChangeLog
@@ -1,3 +1,11 @@
+2015-01-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import libgd-2.1.1.
+ * version.ac: Adjust.
+ * libgd.test (new): Shell script for a basic test.
+ * gdtest.c (new): Source code for test program.
+ * Makefile.am: Add new libgd files and test program.
+
2014-06-16 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Drop the obsolete ACLOCAL_AMFLAGS.
diff --git a/Build/source/libs/gd/Makefile.am b/Build/source/libs/gd/Makefile.am
index b134f98fbe6..e977b3bffa7 100644
--- a/Build/source/libs/gd/Makefile.am
+++ b/Build/source/libs/gd/Makefile.am
@@ -1,6 +1,6 @@
## Proxy Makefile.am to build libgd for TeX Live.
##
-## Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org>
+## Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
##
## This file is free software; the copyright holder
## gives unlimited permission to copy and/or distribute it,
@@ -17,27 +17,6 @@ EXTRA_DIST += $(GD_TREE)-PATCHES
# in case of an SVN repository
dist-hook:
rm -rf `find $(distdir) -name .svn -o -name .deps -o -name .dirstamp -o -name '*.$(OBJEXT)'`
- rm -f $(distdir)/$(GD_TREE)/Makefile.in \
- $(distdir)/$(GD_TREE)/aclocal.m4 \
- $(distdir)/$(GD_TREE)/config/Makefile.in \
- $(distdir)/$(GD_TREE)/config/ar-lib \
- $(distdir)/$(GD_TREE)/config/compile \
- $(distdir)/$(GD_TREE)/config/config.guess \
- $(distdir)/$(GD_TREE)/config/config.rpath \
- $(distdir)/$(GD_TREE)/config/config.sub \
- $(distdir)/$(GD_TREE)/config/depcomp \
- $(distdir)/$(GD_TREE)/config/install-sh \
- $(distdir)/$(GD_TREE)/config/ltmain.sh \
- $(distdir)/$(GD_TREE)/config/missing \
- $(distdir)/$(GD_TREE)/configure \
- $(distdir)/$(GD_TREE)/m4/libtool.m4 \
- $(distdir)/$(GD_TREE)/m4/ltoptions.m4 \
- $(distdir)/$(GD_TREE)/m4/ltsugar.m4 \
- $(distdir)/$(GD_TREE)/m4/ltversion.m4 \
- $(distdir)/$(GD_TREE)/m4/lt~obsolete.m4 \
- $(distdir)/$(GD_TREE)/src/Makefile.in \
- $(distdir)/$(GD_TREE)/src/depcomp \
- $(distdir)/$(GD_TREE)/tests/Makefile.in
SUBDIRS = . include
@@ -57,6 +36,7 @@ libgd_a_SOURCES = \
@GD_TREE@/src/gd_color_map.c \
@GD_TREE@/src/gd_color_match.c \
@GD_TREE@/src/gd_crop.c \
+ @GD_TREE@/src/gd_filename.c \
@GD_TREE@/src/gd_filter.c \
@GD_TREE@/src/gd_gd.c \
@GD_TREE@/src/gd_gd2.c \
@@ -78,6 +58,7 @@ libgd_a_SOURCES = \
@GD_TREE@/src/gd_tiff.c \
@GD_TREE@/src/gd_topal.c \
@GD_TREE@/src/gd_transform.c \
+ @GD_TREE@/src/gd_version.c \
@GD_TREE@/src/gd_wbmp.c \
@GD_TREE@/src/gd_webp.c \
@GD_TREE@/src/gd_xbm.c \
@@ -98,6 +79,18 @@ libgd_a_SOURCES = \
$(libgd_a_OBJECTS): config.force
+if build
+check_PROGRAMS = gdtest
+dist_check_SCRIPTS = libgd.test
+TESTS = libgd.test
+endif build
+
+gdtest_SOURCES = gdtest.c
+
+gdtest_CPPFLAGS = -Iinclude -DBGDWIN32 -DNONDLL
+
+LDADD = libgd.a
+
## Rebuild libpng
@LIBPNG_RULE@
## Rebuild libfreetype
diff --git a/Build/source/libs/gd/Makefile.in b/Build/source/libs/gd/Makefile.in
index 2aea568083c..cde93275358 100644
--- a/Build/source/libs/gd/Makefile.in
+++ b/Build/source/libs/gd/Makefile.in
@@ -89,6 +89,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@WIN32_TRUE@am__append_1 = -DNONDLL -DBGDWIN32
+@build_TRUE@check_PROGRAMS = gdtest$(EXEEXT)
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \
@@ -101,7 +102,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
- $(am__configure_deps) $(am__DIST_COMMON)
+ $(am__configure_deps) $(am__dist_check_SCRIPTS_DIST) \
+ $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
@@ -124,6 +126,7 @@ am_libgd_a_OBJECTS = @GD_TREE@/src/gd.$(OBJEXT) \
@GD_TREE@/src/gd_color_map.$(OBJEXT) \
@GD_TREE@/src/gd_color_match.$(OBJEXT) \
@GD_TREE@/src/gd_crop.$(OBJEXT) \
+ @GD_TREE@/src/gd_filename.$(OBJEXT) \
@GD_TREE@/src/gd_filter.$(OBJEXT) \
@GD_TREE@/src/gd_gd.$(OBJEXT) @GD_TREE@/src/gd_gd2.$(OBJEXT) \
@GD_TREE@/src/gd_gif_in.$(OBJEXT) \
@@ -142,6 +145,7 @@ am_libgd_a_OBJECTS = @GD_TREE@/src/gd.$(OBJEXT) \
@GD_TREE@/src/gd_tiff.$(OBJEXT) \
@GD_TREE@/src/gd_topal.$(OBJEXT) \
@GD_TREE@/src/gd_transform.$(OBJEXT) \
+ @GD_TREE@/src/gd_version.$(OBJEXT) \
@GD_TREE@/src/gd_wbmp.$(OBJEXT) \
@GD_TREE@/src/gd_webp.$(OBJEXT) @GD_TREE@/src/gd_xbm.$(OBJEXT) \
@GD_TREE@/src/gdcache.$(OBJEXT) \
@@ -155,6 +159,11 @@ am_libgd_a_OBJECTS = @GD_TREE@/src/gd.$(OBJEXT) \
@GD_TREE@/src/gdtables.$(OBJEXT) @GD_TREE@/src/gdxpm.$(OBJEXT) \
@GD_TREE@/src/wbmp.$(OBJEXT) @GD_TREE@/src/webpimg.$(OBJEXT)
libgd_a_OBJECTS = $(am_libgd_a_OBJECTS)
+am_gdtest_OBJECTS = gdtest-gdtest.$(OBJEXT)
+gdtest_OBJECTS = $(am_gdtest_OBJECTS)
+gdtest_LDADD = $(LDADD)
+gdtest_DEPENDENCIES = libgd.a
+am__dist_check_SCRIPTS_DIST = libgd.test
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -171,6 +180,10 @@ DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
@@ -183,8 +196,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libgd_a_SOURCES)
-DIST_SOURCES = $(libgd_a_SOURCES)
+SOURCES = $(libgd_a_SOURCES) $(gdtest_SOURCES)
+DIST_SOURCES = $(libgd_a_SOURCES) $(gdtest_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
@@ -205,7 +218,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- cscope distdir dist dist-all distcheck
+ cscope check recheck distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
@@ -227,6 +240,207 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/../../build-aux/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+ $(TEST_LOG_FLAGS)
+am__set_b = \
+ case '$@' in \
+ */*) \
+ case '$*' in \
+ */*) b='$*';; \
+ *) b=`echo '$@' | sed 's/\.log$$//'`; \
+ esac;; \
+ *) \
+ b='$*';; \
+ esac
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/../../am/rebuild.am \
$(srcdir)/../../am/reconfig.am $(srcdir)/Makefile.in \
@@ -235,12 +449,13 @@ am__DIST_COMMON = $(srcdir)/../../am/rebuild.am \
$(top_srcdir)/../../build-aux/config.sub \
$(top_srcdir)/../../build-aux/depcomp \
$(top_srcdir)/../../build-aux/install-sh \
- $(top_srcdir)/../../build-aux/missing ../../build-aux/compile \
- ../../build-aux/config.guess ../../build-aux/config.sub \
- ../../build-aux/depcomp ../../build-aux/install-sh \
- ../../build-aux/ltmain.sh ../../build-aux/missing \
- ../../build-aux/texinfo.tex ../../build-aux/ylwrap ChangeLog \
- README
+ $(top_srcdir)/../../build-aux/missing \
+ $(top_srcdir)/../../build-aux/test-driver \
+ ../../build-aux/compile ../../build-aux/config.guess \
+ ../../build-aux/config.sub ../../build-aux/depcomp \
+ ../../build-aux/install-sh ../../build-aux/ltmain.sh \
+ ../../build-aux/missing ../../build-aux/texinfo.tex \
+ ../../build-aux/ylwrap ChangeLog README
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -407,6 +622,7 @@ libgd_a_SOURCES = \
@GD_TREE@/src/gd_color_map.c \
@GD_TREE@/src/gd_color_match.c \
@GD_TREE@/src/gd_crop.c \
+ @GD_TREE@/src/gd_filename.c \
@GD_TREE@/src/gd_filter.c \
@GD_TREE@/src/gd_gd.c \
@GD_TREE@/src/gd_gd2.c \
@@ -428,6 +644,7 @@ libgd_a_SOURCES = \
@GD_TREE@/src/gd_tiff.c \
@GD_TREE@/src/gd_topal.c \
@GD_TREE@/src/gd_transform.c \
+ @GD_TREE@/src/gd_version.c \
@GD_TREE@/src/gd_wbmp.c \
@GD_TREE@/src/gd_webp.c \
@GD_TREE@/src/gd_xbm.c \
@@ -446,6 +663,11 @@ libgd_a_SOURCES = \
@GD_TREE@/src/wbmp.c \
@GD_TREE@/src/webpimg.c
+@build_TRUE@dist_check_SCRIPTS = libgd.test
+@build_TRUE@TESTS = libgd.test
+gdtest_SOURCES = gdtest.c
+gdtest_CPPFLAGS = -Iinclude -DBGDWIN32 -DNONDLL
+LDADD = libgd.a
# Reconfig
reconfig_prereq = $(LIBPNG_DEPEND) $(FREETYPE2_DEPEND)
@@ -459,7 +681,7 @@ all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../am/reconfig.am $(srcdir)/../../am/rebuild.am $(am__configure_deps)
@@ -530,6 +752,8 @@ clean-noinstLIBRARIES:
@GD_TREE@/src/$(DEPDIR)/$(am__dirstamp)
@GD_TREE@/src/gd_crop.$(OBJEXT): @GD_TREE@/src/$(am__dirstamp) \
@GD_TREE@/src/$(DEPDIR)/$(am__dirstamp)
+@GD_TREE@/src/gd_filename.$(OBJEXT): @GD_TREE@/src/$(am__dirstamp) \
+ @GD_TREE@/src/$(DEPDIR)/$(am__dirstamp)
@GD_TREE@/src/gd_filter.$(OBJEXT): @GD_TREE@/src/$(am__dirstamp) \
@GD_TREE@/src/$(DEPDIR)/$(am__dirstamp)
@GD_TREE@/src/gd_gd.$(OBJEXT): @GD_TREE@/src/$(am__dirstamp) \
@@ -573,6 +797,8 @@ clean-noinstLIBRARIES:
@GD_TREE@/src/$(DEPDIR)/$(am__dirstamp)
@GD_TREE@/src/gd_transform.$(OBJEXT): @GD_TREE@/src/$(am__dirstamp) \
@GD_TREE@/src/$(DEPDIR)/$(am__dirstamp)
+@GD_TREE@/src/gd_version.$(OBJEXT): @GD_TREE@/src/$(am__dirstamp) \
+ @GD_TREE@/src/$(DEPDIR)/$(am__dirstamp)
@GD_TREE@/src/gd_wbmp.$(OBJEXT): @GD_TREE@/src/$(am__dirstamp) \
@GD_TREE@/src/$(DEPDIR)/$(am__dirstamp)
@GD_TREE@/src/gd_webp.$(OBJEXT): @GD_TREE@/src/$(am__dirstamp) \
@@ -613,6 +839,13 @@ libgd.a: $(libgd_a_OBJECTS) $(libgd_a_DEPENDENCIES) $(EXTRA_libgd_a_DEPENDENCIES
$(AM_V_AR)$(libgd_a_AR) libgd.a $(libgd_a_OBJECTS) $(libgd_a_LIBADD)
$(AM_V_at)$(RANLIB) libgd.a
+clean-checkPROGRAMS:
+ -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
+
+gdtest$(EXEEXT): $(gdtest_OBJECTS) $(gdtest_DEPENDENCIES) $(EXTRA_gdtest_DEPENDENCIES)
+ @rm -f gdtest$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(gdtest_OBJECTS) $(gdtest_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f @GD_TREE@/src/*.$(OBJEXT)
@@ -620,12 +853,14 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdtest-gdtest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_bmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_color.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_color_map.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_color_match.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_crop.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_filename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_filter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_gd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_gd2.Po@am__quote@
@@ -647,6 +882,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_tiff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_topal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_transform.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_version.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_wbmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_webp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GD_TREE@/src/$(DEPDIR)/gd_xbm.Po@am__quote@
@@ -681,6 +917,20 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+gdtest-gdtest.o: gdtest.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdtest_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gdtest-gdtest.o -MD -MP -MF $(DEPDIR)/gdtest-gdtest.Tpo -c -o gdtest-gdtest.o `test -f 'gdtest.c' || echo '$(srcdir)/'`gdtest.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gdtest-gdtest.Tpo $(DEPDIR)/gdtest-gdtest.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdtest.c' object='gdtest-gdtest.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdtest_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gdtest-gdtest.o `test -f 'gdtest.c' || echo '$(srcdir)/'`gdtest.c
+
+gdtest-gdtest.obj: gdtest.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdtest_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gdtest-gdtest.obj -MD -MP -MF $(DEPDIR)/gdtest-gdtest.Tpo -c -o gdtest-gdtest.obj `if test -f 'gdtest.c'; then $(CYGPATH_W) 'gdtest.c'; else $(CYGPATH_W) '$(srcdir)/gdtest.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gdtest-gdtest.Tpo $(DEPDIR)/gdtest-gdtest.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdtest.c' object='gdtest-gdtest.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gdtest_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gdtest-gdtest.obj `if test -f 'gdtest.c'; then $(CYGPATH_W) 'gdtest.c'; else $(CYGPATH_W) '$(srcdir)/gdtest.c'; fi`
+
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
@@ -787,6 +1037,162 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+ rm -f $< $@
+ $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+ @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+ @$(am__set_TESTS_bases); \
+ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+ redo_bases=`for i in $$bases; do \
+ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+ done`; \
+ if test -n "$$redo_bases"; then \
+ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+ if $(am__make_dryrun); then :; else \
+ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+ fi; \
+ fi; \
+ if test -n "$$am__remaking_logs"; then \
+ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+ "recursion detected" >&2; \
+ elif test -n "$$redo_logs"; then \
+ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+ fi; \
+ if $(am__make_dryrun); then :; else \
+ st=0; \
+ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+ for i in $$redo_bases; do \
+ test -f $$i.trs && test -r $$i.trs \
+ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+ test -f $$i.log && test -r $$i.log \
+ || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+ done; \
+ test $$st -eq 0 || exit 1; \
+ fi
+ @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+ ws='[ ]'; \
+ results=`for b in $$bases; do echo $$b.trs; done`; \
+ test -n "$$results" || results=/dev/null; \
+ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
+ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
+ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
+ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
+ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+ if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+ success=true; \
+ else \
+ success=false; \
+ fi; \
+ br='==================='; br=$$br$$br$$br$$br; \
+ result_count () \
+ { \
+ if test x"$$1" = x"--maybe-color"; then \
+ maybe_colorize=yes; \
+ elif test x"$$1" = x"--no-color"; then \
+ maybe_colorize=no; \
+ else \
+ echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+ fi; \
+ shift; \
+ desc=$$1 count=$$2; \
+ if test $$maybe_colorize = yes && test $$count -gt 0; then \
+ color_start=$$3 color_end=$$std; \
+ else \
+ color_start= color_end=; \
+ fi; \
+ echo "$${color_start}# $$desc $$count$${color_end}"; \
+ }; \
+ create_testsuite_report () \
+ { \
+ result_count $$1 "TOTAL:" $$all "$$brg"; \
+ result_count $$1 "PASS: " $$pass "$$grn"; \
+ result_count $$1 "SKIP: " $$skip "$$blu"; \
+ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+ result_count $$1 "FAIL: " $$fail "$$red"; \
+ result_count $$1 "XPASS:" $$xpass "$$red"; \
+ result_count $$1 "ERROR:" $$error "$$mgn"; \
+ }; \
+ { \
+ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
+ $(am__rst_title); \
+ create_testsuite_report --no-color; \
+ echo; \
+ echo ".. contents:: :depth: 2"; \
+ echo; \
+ for b in $$bases; do echo $$b; done \
+ | $(am__create_global_log); \
+ } >$(TEST_SUITE_LOG).tmp || exit 1; \
+ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
+ if $$success; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
+ fi; \
+ echo "$${col}$$br$${std}"; \
+ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
+ echo "$${col}$$br$${std}"; \
+ create_testsuite_report --maybe-color; \
+ echo "$$col$$br$$std"; \
+ if $$success; then :; else \
+ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
+ if test -n "$(PACKAGE_BUGREPORT)"; then \
+ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+ fi; \
+ echo "$$col$$br$$std"; \
+ fi; \
+ $$success || exit 1
+
+check-TESTS:
+ @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+ @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+ exit $$?;
+recheck: all $(check_PROGRAMS) $(dist_check_SCRIPTS)
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ bases=`for i in $$bases; do echo $$i; done \
+ | $(am__list_recheck_tests)` || exit 1; \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ log_list=`echo $$log_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+ am__force_recheck=am--force-recheck \
+ TEST_LOGS="$$log_list"; \
+ exit $$?
+.test.log:
+ @p='$<'; \
+ $(am__set_b); \
+ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@ @p='$<'; \
+@am__EXEEXT_TRUE@ $(am__set_b); \
+@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
+
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@@ -979,6 +1385,9 @@ distcleancheck: distclean
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) \
+ $(dist_check_SCRIPTS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-recursive
all-am: Makefile $(LIBRARIES) config.h
installdirs: installdirs-recursive
@@ -1003,6 +1412,9 @@ install-strip:
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
+ -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+ -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+ -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -1019,11 +1431,12 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
-clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
+clean-am: clean-checkPROGRAMS clean-generic clean-noinstLIBRARIES \
+ mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf @GD_TREE@/src/$(DEPDIR)
+ -rm -rf ./$(DEPDIR) @GD_TREE@/src/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-hdr distclean-tags
@@ -1071,7 +1484,7 @@ installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
- -rm -rf @GD_TREE@/src/$(DEPDIR)
+ -rm -rf ./$(DEPDIR) @GD_TREE@/src/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -1089,10 +1502,11 @@ ps-am:
uninstall-am:
-.MAKE: $(am__recursive_targets) all install-am install-strip
+.MAKE: $(am__recursive_targets) all check-am install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
- am--refresh check check-am clean clean-cscope clean-generic \
+ am--refresh check check-TESTS check-am clean \
+ clean-checkPROGRAMS clean-cscope clean-generic \
clean-noinstLIBRARIES cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
dist-tarZ dist-xz dist-zip distcheck distclean \
@@ -1106,7 +1520,7 @@ uninstall-am:
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
- tags tags-am uninstall uninstall-am
+ recheck tags tags-am uninstall uninstall-am
.PRECIOUS: Makefile
@@ -1114,27 +1528,6 @@ uninstall-am:
# in case of an SVN repository
dist-hook:
rm -rf `find $(distdir) -name .svn -o -name .deps -o -name .dirstamp -o -name '*.$(OBJEXT)'`
- rm -f $(distdir)/$(GD_TREE)/Makefile.in \
- $(distdir)/$(GD_TREE)/aclocal.m4 \
- $(distdir)/$(GD_TREE)/config/Makefile.in \
- $(distdir)/$(GD_TREE)/config/ar-lib \
- $(distdir)/$(GD_TREE)/config/compile \
- $(distdir)/$(GD_TREE)/config/config.guess \
- $(distdir)/$(GD_TREE)/config/config.rpath \
- $(distdir)/$(GD_TREE)/config/config.sub \
- $(distdir)/$(GD_TREE)/config/depcomp \
- $(distdir)/$(GD_TREE)/config/install-sh \
- $(distdir)/$(GD_TREE)/config/ltmain.sh \
- $(distdir)/$(GD_TREE)/config/missing \
- $(distdir)/$(GD_TREE)/configure \
- $(distdir)/$(GD_TREE)/m4/libtool.m4 \
- $(distdir)/$(GD_TREE)/m4/ltoptions.m4 \
- $(distdir)/$(GD_TREE)/m4/ltsugar.m4 \
- $(distdir)/$(GD_TREE)/m4/ltversion.m4 \
- $(distdir)/$(GD_TREE)/m4/lt~obsolete.m4 \
- $(distdir)/$(GD_TREE)/src/Makefile.in \
- $(distdir)/$(GD_TREE)/src/depcomp \
- $(distdir)/$(GD_TREE)/tests/Makefile.in
$(libgd_a_OBJECTS): config.force
diff --git a/Build/source/libs/gd/configure b/Build/source/libs/gd/configure
index 4fecbd2365b..9e1b0b306f1 100755
--- a/Build/source/libs/gd/configure
+++ b/Build/source/libs/gd/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gd (TeX Live) 2.1.0.
+# Generated by GNU Autoconf 2.69 for gd (TeX Live) 2.1.1.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -580,12 +580,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='gd (TeX Live)'
PACKAGE_TARNAME='gd--tex-live-'
-PACKAGE_VERSION='2.1.0'
-PACKAGE_STRING='gd (TeX Live) 2.1.0'
+PACKAGE_VERSION='2.1.1'
+PACKAGE_STRING='gd (TeX Live) 2.1.1'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="libgd-2.1.0/src/gd.c"
+ac_unique_file="libgd-2.1.1/src/gd.c"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1306,7 +1306,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures gd (TeX Live) 2.1.0 to adapt to many kinds of systems.
+\`configure' configures gd (TeX Live) 2.1.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1376,7 +1376,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of gd (TeX Live) 2.1.0:";;
+ short | recursive ) echo "Configuration of gd (TeX Live) 2.1.1:";;
esac
cat <<\_ACEOF
@@ -1485,7 +1485,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-gd (TeX Live) configure 2.1.0
+gd (TeX Live) configure 2.1.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1908,7 +1908,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by gd (TeX Live) $as_me 2.1.0, which was
+It was created by gd (TeX Live) $as_me 2.1.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3831,7 +3831,7 @@ fi
# Define the identity of the package.
PACKAGE='gd--tex-live-'
- VERSION='2.1.0'
+ VERSION='2.1.1'
cat >>confdefs.h <<_ACEOF
@@ -5961,7 +5961,7 @@ $as_echo "#define HAVE_LIBFREETYPE 1" >>confdefs.h
$as_echo "#define HAVE_FT2BUILD_H 1" >>confdefs.h
-GD_TREE=libgd-2.1.0
+GD_TREE=libgd-2.1.1
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for native WIN32 or MINGW32" >&5
@@ -6569,7 +6569,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by gd (TeX Live) $as_me 2.1.0, which was
+This file was extended by gd (TeX Live) $as_me 2.1.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6635,7 +6635,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-gd (TeX Live) config.status 2.1.0
+gd (TeX Live) config.status 2.1.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/libs/gd/gdtest.c b/Build/source/libs/gd/gdtest.c
new file mode 100644
index 00000000000..0a02df04801
--- /dev/null
+++ b/Build/source/libs/gd/gdtest.c
@@ -0,0 +1,15 @@
+/* pixtest.c: Basic test for libpixman
+ *
+ * Copyright (C) 2013 Peter Breitenlohner <tex-live@tug.org>
+ * You may freely use, modify and/or distribute this file.
+ */
+
+#include <stdio.h>
+#include <gd.h>
+
+int main (int argc, char **argv)
+{
+ printf ("%s: Compiled with libgd version %s; using %s\n",
+ argv[0], GD_VERSION_STRING, gdVersionString ());
+ return 0;
+}
diff --git a/Build/source/libs/gd/libgd-2.1.0-PATCHES/patch-02-no-stdcall b/Build/source/libs/gd/libgd-2.1.0-PATCHES/patch-02-no-stdcall
deleted file mode 100644
index ec0a7305484..00000000000
--- a/Build/source/libs/gd/libgd-2.1.0-PATCHES/patch-02-no-stdcall
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur libgd-2.1.0.orig/src/gd.h libgd-2.1.0/src/gd.h
---- libgd-2.1.0.orig/src/gd.h 2013-06-25 11:58:23.000000000 +0200
-+++ libgd-2.1.0/src/gd.h 2013-06-26 13:53:36.000000000 +0200
-@@ -44,7 +44,7 @@
- # define BGD_EXPORT_DATA_PROT __declspec(dllimport)
- # endif
- # endif
--# define BGD_STDCALL __stdcall
-+# define BGD_STDCALL
- # define BGD_EXPORT_DATA_IMPL
- #else
- # ifdef HAVE_VISIBILITY
diff --git a/Build/source/libs/gd/libgd-2.1.0/ChangeLog b/Build/source/libs/gd/libgd-2.1.0/ChangeLog
deleted file mode 100644
index 18f133911ac..00000000000
--- a/Build/source/libs/gd/libgd-2.1.0/ChangeLog
+++ /dev/null
@@ -1,1169 +0,0 @@
-2007-04-09 18:21 pajoye
-
- * NEWS: - #72 entry
-
-2007-04-09 18:18 pajoye
-
- * gd.c, tests/gdimageline/bug00072.c,
- tests/gdimageline/bug00072_exp.png: - #72, gdImageAALine draws
- axis aligned lines two pixels large . add gdImageVLine and
- HLine, not exported (will be 2.1.0)
-
-2007-04-09 16:00 pajoye
-
- * tests/: gdimageline/gdimageline_aa.c, gdtest/gdtest.c,
- gif/bug00005.c: - always store image diff files in the build dir
- - store the output result as well - remove c++ comment - be more
- verbose in the error messages
-
-2007-04-04 14:04 pajoye
-
- * tests/gif/: CMakeLists.txt, bug00060.c, bug00066.c, bug00066.gif,
- bug00066_exp.png: - add test for #66 - fix leak in test #60
-
-2007-04-04 13:38 pajoye
-
- * NEWS: - #70 entry
-
-2007-04-04 13:33 pajoye
-
- * gd_gif_in.c: - #70, do not try to use the global color map if
- none exists - free im on error
-
-2007-04-03 19:03 pajoye
-
- * NEWS: - update NEWS entries for the last commits
-
-2007-04-03 18:38 pajoye
-
- * gdft.c: - we already lock it earlier, prevent deadlock/double
- lock
-
-2007-04-01 22:41 pajoye
-
- * gd.c, gd_png.c, gdft.c: - #67, Preferable calls of gdFree() in
- libg (tabe at fixedpoint dot jp)
-
-2007-04-01 22:12 pajoye
-
- * tests/gdtest/test_config.h.cmake: - add configuration file
-
-2007-04-01 21:54 pajoye
-
- * gd_gif_in.c: - #52, #60, #66 - a frame size must be confined to
- the screen defition - consider 00005_2 as invalid (65k x
- 65k frame size for a 400x312 screen) - be sure to always
- read the dimensions in the frame and does not use the screen
- size (see #66 for a side effect)
-
-2007-04-01 21:48 pajoye
-
- * tests/: gd2/gd2_empty_file.c, gd2/gd2_read.c,
- gdimagecopyrotated/bug00020.c, gdimagefill/bug00002_1.c,
- gdimagefill/bug00002_2.c, gdimagefill/bug00002_3.c,
- gdimagefill/bug00002_4.c, gdimagefilledellipse/bug00010.c,
- gdimageline/gdimageline_aa.c, gdtest/CMakeLists.txt,
- gdtest/gdtest.c, gif/CMakeLists.txt, gif/bug00005.c,
- gif/bug00060.c, gif/bug00060.gif, jpeg/jpeg_empty_file.c,
- jpeg/jpeg_read.c, png/bug00011.c, png/bug00033.c: - allow tests
- to be launched outside the src tree - #60, add test case for #60
-
-2007-03-31 19:24 pajoye
-
- * entities.h: - update from entities.tcl
-
-2007-03-31 16:26 pajoye
-
- * gd_gif_in.c: - #52, #60 - local Pallette are read twice - Use
- the local dimension when available - Rely on the global
- dimension when the local dimension are invalid and the format
- is GIF87 (no animation) NB: The #52 TS patch must be applied
- first
-
-2007-03-15 23:25 nlopess
-
- * tests/gif/bug00005_2.c: MFB: fix leak in test
-
-2007-03-15 23:23 nlopess
-
- * tests/gif/bug00005_2.c: fix leak in test
-
-2007-03-12 17:05 pajoye
-
- * CMakeLists.txt: -MFB: - generate config.h in the BUIL_DIR
- instead of the SOURCE_DIR - drop old commented lines
-
-2007-03-12 17:01 pajoye
-
- * CMakeLists.txt: - generate config.h in the BUIL_DIR instead of
- the SOURCE_DIR - drop old commented lines
-
-2007-03-08 21:02 nlopess
-
- * gd_gif_in.c: MFB: fix bug #52: Reading GIF images is not thread
- safe (static usage in private functions)
-
-2007-03-08 20:59 nlopess
-
- * NEWS: fix news, sorry
-
-2007-03-08 20:56 nlopess
-
- * NEWS, gd_gif_in.c: fix bug #52: Reading GIF images is not thread
- safe (static usage in private functions)
-
-2007-03-08 20:52 pajoye
-
- * ISSUES: - we use NEWS now
-
-2007-03-07 20:30 nlopess
-
- * CMakeLists.txt: set HAVE_FT2BUILD_H when ft2build.h file is found
-
-2007-03-07 16:53 pajoye
-
- * CMakeLists.txt: - fix windows cmake support - use BGDWIN32 for
- now, static build and other windows options will follow shortly
-
-2007-03-07 16:52 pajoye
-
- * cmake/modules/FindFreetype.cmake: - windows may have
- freetype2.lib
-
-2007-03-05 16:42 pajoye
-
- * Makefile.am, NEWS, windows/Makefile: - #51 - revert Ilia's patch
- (was not required) - Remove strlcpy, we don't need it now (I
- keep it in cvs just in case but it will not be distributed or
- used in the binaries)
-
-2007-03-02 23:02 nlopess
-
- * gd_gif_in.c: MFB
-
-2007-03-02 22:59 nlopess
-
- * cmake/modules/FindPTHREAD.cmake: fix pthread support in cmake
- toolchain
-
-2007-03-02 22:59 nlopess
-
- * gd_gif_in.c: merge with php tree: fix access to unitialized
- memory (introduced with the strlcpy usage) # now gd_strlcpy()
- becomes useless again :P
-
-2007-03-02 15:36 edink
-
- * windows/Makefile: Add new file compilation
-
-2007-02-27 21:32 pajoye
-
- * windows/Makefile: - MFH: fix new lines, vc7 does not like
- makefile with both unix and windows line ending
-
-2007-02-27 21:32 pajoye
-
- * windows/Makefile: - fix new lines, vc7 does not like makefile
- with both unix and windows line ending
-
-2007-02-27 01:38 pajoye
-
- * NEWS: - andersrum..
-
-2007-02-27 00:55 pajoye
-
- * ChangeLog: - update Changelog
-
-2007-02-27 00:55 pajoye
-
- * NEWS: - update NEWS for 2.0.35RC1
-
-2007-02-27 00:46 pajoye
-
- * gd.c: - #41, fix possible overrun (detected with valgrind) (Nuno
- Lopes)
-
-2007-02-27 00:39 pajoye
-
- * CMakeLists.txt, Makefile.am, gd.h, gd_gif_in.c, strlcpy.c: - #51,
- Use strlcpy instead of strncpy in gd_gif_c - fix off-by-one
-
-2007-02-26 20:59 pajoye
-
- * gdft.c: - #48, Race condition in gdImageStringFTEx It is safe
- to destroy a unlocked mutex, not a locked one (Nuno Lopes)
-
-2007-02-26 20:58 pajoye
-
- * gdft.c: - #48, Race condition in gdImageStringFTEx it is safe
- to destroy an unlocked mutex, not a locked one (Nuno Lopes)
-
-2007-02-26 20:30 pajoye
-
- * gdft.c: - MFB: #48, Race condition in gdImageStringFTEx (cache)
-
-2007-02-26 20:30 pajoye
-
- * gdft.c: - #48, Race condition in gdImageStringFTEx (cache)
-
-2007-02-07 01:32 pajoye
-
- * ChangeLog: - sync
-
-2007-02-07 01:27 pajoye
-
- * NEWS: - add CVE ref.
-
-2007-02-07 01:26 pajoye
-
- * ChangeLog: - sync changelog
-
-2007-02-07 01:26 pajoye
-
- * gd.h: - go for 2.0.34
-
-2007-02-07 01:24 pajoye
-
- * gd.c: - MFB: ansi/windows build fix, all declarations must be on
- top (Edin)
-
-2007-02-07 01:21 pajoye
-
- * gd.c: - ansi/windows build fix, all declarations must be on top
- (Edin)
-
-2007-02-07 01:14 pajoye
-
- * NEWS: - #40
-
-2007-02-07 01:12 pajoye
-
- * gdft.c: - #40 — possible Buffer overflow in the
- gdImageStringFTEx function in gdft.c (patch by Kees Kook)
-
-2007-02-06 23:29 pajoye
-
- * windows/libgd.rc: - update dll rc
-
-2007-02-06 23:24 pajoye
-
- * ChangeLog: - sync Changelog
-
-2007-02-03 02:34 pajoye
-
- * NEWS: - updates
-
-2007-02-03 02:18 pajoye
-
- * ChangeLog: - update changelog
-
-2007-02-03 02:16 pajoye
-
- * Makefile.am, configure.ac: - MFB: #31 — Shared library support
- on cygwin (Dr. Volker Zell)
-
-2007-02-03 02:15 pajoye
-
- * Makefile.am, configure.ac: - #31 Shared library support on cygwin
- (Dr. Volker Zell)
-
-2007-02-03 02:11 pajoye
-
- * gd.h, gdft.c, index.html: - MFB: #30, restores the ability to
- recognize and handle a font with Adobe-specific character
- encoding
-
-2007-02-03 02:03 pajoye
-
- * gd.c: - MFB: #14, sanity check
-
-2007-02-03 02:00 pajoye
-
- * gd.c: - #14, sanity check
-
-2007-02-01 12:01 pajoye
-
- * gdft.c: - #30, do not extend sign (restores the ability to
- recognize and handle a font with Adobe-specific character
- encoding (Adobe custom) ).
-
-2007-02-01 00:31 pajoye
-
- * gd.h, gdft.c, index.html: - #30, restores the ability to
- recognize and handle a font with Adobe-specific character
- encoding (Adobe custom) - Fix proto in index.html
-
-2007-01-30 10:11 pajoye
-
- * NEWS: - 2.0.34RC1 news
-
-2007-01-29 23:22 pajoye
-
- * ChangeLog: - update
-
-2007-01-29 22:56 pajoye
-
- * gd.c: - #32, Pattern-fill works incorrectly if tile is created
- via gdImageCreateTruecolor (Ethan Merritt)
-
-2007-01-29 22:11 pajoye
-
- * ChangeLog: - update changelog
-
-2007-01-29 22:07 pajoye
-
- * COPYING, index.html: - update years and (c)
-
-2007-01-25 01:08 pajoye
-
- * cmake/modules/: FindFontconfig.cmake, FindFreetype.cmake,
- FindGD.cmake, FindPNG.cmake, FindPTHREAD.cmake, FindXPM.cmake: -
- add lib64 tests (Chritian Rodriguez)
-
-2007-01-25 00:06 pajoye
-
- * tests/gif/bug00005.c: - remove version checks
-
-2007-01-24 23:32 pajoye
-
- * config.h.cmake: - config.h.in for cmake
-
-2007-01-24 23:20 pajoye
-
- * cmake/modules/: AC_HEADER_STDC.cmake, CheckDIRSymbolExists.cmake,
- CheckPrototypeExists.cmake, FindFontconfig.cmake,
- FindFreetype.cmake, FindGD.cmake, FindPNG.cmake,
- FindPTHREAD.cmake, FindXPM.cmake, TestForHighBitCharacters.c,
- TestForHighBitCharacters.cmake, TestForStandardHeaderwait.cmake,
- gd.cmake: - add missing cmake macros/modules
-
-2007-01-24 01:36 pajoye
-
- * README.TESTING: - WS
-
-2007-01-24 00:57 pajoye
-
- * tests/: gd2/CMakeLists.txt, gd2/conv_gd2_exp.gd2,
- gd2/conv_test.gd2, gd2/conv_test_exp.png, gd2/empty.gd2,
- gd2/gd2_empty_file.c, gd2/gd2_read.c,
- gdimagecolorclosest/CMakeLists.txt,
- gdimagecolorclosest/gdimagecolorclosest.c,
- gdimagecolorexact/CMakeLists.txt,
- gdimagecolorexact/gdimagecolorexact.c,
- gdimagecolorresolve/CMakeLists.txt,
- gdimagecolorresolve/gdimagecolorresolve.c,
- gdimagecopy/CMakeLists.txt, gdimagecopy/bug00007.c,
- gdimagecopyrotated/CMakeLists.txt, gdimagecopyrotated/bug00020.c,
- gdimagecopyrotated/bug00020_exp.png, gdimagefill/CMakeLists.txt,
- gdimagefill/bug00002_1.c, gdimagefill/bug00002_1_exp.png,
- gdimagefill/bug00002_2.c, gdimagefill/bug00002_2_exp.png,
- gdimagefill/bug00002_3.c, gdimagefill/bug00002_3_exp.png,
- gdimagefill/bug00002_4.c, gdimagefill/bug00002_4_exp.png,
- gdimagefilledellipse/CMakeLists.txt,
- gdimagefilledellipse/bug00010.c,
- gdimagefilledellipse/bug00010_exp.png,
- gdimagefilledrectangle/CMakeLists.txt,
- gdimagefilledrectangle/bug00004.c,
- gdimagefilltoborder/CMakeLists.txt,
- gdimagefilltoborder/bug00037.c, gdimageline/CMakeLists.txt,
- gdimageline/gdimageline_aa.c,
- gdimageline/gdimageline_aa_a_0_exp.png,
- gdimageline/gdimageline_aa_a_1_exp.png,
- gdimageline/gdimageline_aa_b_0_exp.png,
- gdimageline/gdimageline_aa_b_1_exp.png,
- gdimageline/gdimageline_aa_c_0_exp.png,
- gdimageline/gdimageline_aa_c_1_exp.png,
- gdimageline/gdimageline_aa_d_0_exp.png,
- gdimageline/gdimageline_aa_d_1_exp.png,
- gdimageline/gdimageline_aa_outofrange.c,
- gdimagerectangle/CMakeLists.txt, gdimagerectangle/bug00003.c,
- gdtest/CMakeLists.txt, gdtest/gdtest.c, gdtest/gdtest.h,
- gdtiled/CMakeLists.txt, gdtiled/bug00032.c,
- gdtiled/bug00032_exp.png, gif/CMakeLists.txt, gif/bug00005.c,
- gif/bug00005_0.gif, gif/bug00005_1.gif, gif/bug00005_2.c,
- gif/bug00005_2.gif, gif/bug00005_2_exp.png, gif/bug00005_3.gif,
- gif/bug00006.c, jpeg/CMakeLists.txt, jpeg/conv_test.jpeg,
- jpeg/conv_test_exp.png, jpeg/empty.jpeg, jpeg/jpeg_empty_file.c,
- jpeg/jpeg_read.c, png/CMakeLists.txt, png/bug00011.c,
- png/bug00033.c, png/bug00033.png, png/emptyfile: - initial commit
- of the GD test suites See README.TESTING for more details or
- how to run it
-
-2007-01-24 00:55 pajoye
-
- * tests/CMakeLists.txt: - initial commit of the GD test suites
- See README.TESTING for more details or how to ru
-
-2007-01-24 00:54 pajoye
-
- * CMakeLists.txt, README.TESTING: - initial commit of the GD test
- suites See README.TESTING for more details or how to run it
-
-2007-01-24 00:45 pajoye
-
- * tests/: README, bug00001.c, bug00002_1.c, bug00002_2.c,
- bug00002_3.c, bug00003.c, bug00004.c, bug00005.c, bug00005_1.gif,
- bug00005_2.gif, bug00005_3.gif, bug00007.c, bug00008.c,
- bug00010.c, bug00011.c, emptyfile: - remove temporary tests
- before adding the tests suite
-
-2007-01-20 03:09 pajoye
-
- * gd.c: - #4, gdImageFill rewrite fix, small images (< 4 pixels)
- crash
-
-2007-01-20 03:02 pajoye
-
- * gd.c: #37, gdImageFillToBorder crashes when used with alpha
-
-2007-01-12 14:02 pajoye
-
- * gd.h: - prepare snap
-
-2007-01-12 14:00 pajoye
-
- * circletexttest.c: - double config.h include removed (Edin)
-
-2007-01-11 21:58 pajoye
-
- * gd_gif_in.c: - #7, part of the patch required for
- http://bugs.php.net/bug.php?id=33220 was missing. Thanks to
- Nuno Lopes for the head up
-
-2007-01-11 03:24 pajoye
-
- * gdcache.c: #14, another sanity check (catched by Takeshi
- (tabe[at]fixedpoint[dot]jp))
-
-2007-01-09 17:08 pajoye
-
- * ChangeLog: - update
-
-2007-01-07 19:18 pajoye
-
- * gd_png.c: - #32, malformed PNG image crashes (CRC error) test
- is following
-
-2007-01-06 14:48 pajoye
-
- * configure.ac: - older versions of auto* need quotes here
-
-2007-01-05 05:11 pajoye
-
- * gd.c: - add sanity checks for alloc error in gdImageFill
-
-2007-01-05 05:03 pajoye
-
- * tests/bug00002_3.c: - #2, #32, add transparent color to each
- image (see #32)
-
-2007-01-05 03:41 pajoye
-
- * tests/bug00002_3.c: - add a test to conver the case described in
- issue #32 when a tile is a truecolor image, background of tiled
- region is painted black rather than transparent
-
-2007-01-04 15:27 pajoye
-
- * README.TXT: - add bootstrap.sh note
-
-2007-01-04 15:25 pajoye
-
- * COPYING: - add myself
-
-2007-01-04 15:23 pajoye
-
- * makefile.sample: - remove outdated makefile.sample
-
-2007-01-04 15:21 pajoye
-
- * index.html: - changelog, issues and the release announcements
- will be used from now on
-
-2007-01-04 15:10 pajoye
-
- * configure.ac, index.html: - update version nr - update links -
- update bug report link
-
-2007-01-04 14:45 pajoye
-
- * ISSUES: - windows build support entry (Edin)
-
-2007-01-04 14:23 pajoye
-
- * ChangeLog: - update it
-
-2007-01-04 13:52 pajoye
-
- * gdfx.c: - New line at the end of the file
-
-2007-01-04 13:49 pajoye
-
- * gd_topal.c: #14, set fserror after the check
-
-2007-01-04 13:44 pajoye
-
- * ISSUES, gd_gif_out.c: - #14, sanity check in gd_gif_out
-
-2007-01-04 13:40 pajoye
-
- * gd_gd2.c: - #14, one more sanity check in gd_gd2
-
-2007-01-04 13:36 pajoye
-
- * ISSUES, gd.c: - #14, sanity check for memory alloc error in
- gdImageCreateTrueColor
-
-2007-01-04 13:05 pajoye
-
- * README.TXT, configure.pl: - rm configure.pl, outdated anyway
-
-2007-01-04 02:49 pajoye
-
- * ISSUES: - Update credentials
-
-2007-01-04 02:24 pajoye
-
- * gdxpm.c: - #14, some more sanitiy check
-
-2007-01-04 01:40 pajoye
-
- * ISSUES: - fix to match the issues #
-
-2007-01-03 22:57 pajoye
-
- * ISSUES, gd_topal.c: #35, Added sanity checks for allocations
- failure in gd_topal (yet another.)
-
-2007-01-03 22:50 pajoye
-
- * gd_io.h, gd_io_ss.c: #33, sourceGetbuf must return 0 for errors
- and EOF #34, Fixed gdSeek declaration, offset argument was
- missing
-
-2007-01-03 22:47 pajoye
-
- * ISSUES, gd_io_dp.c: #33, dynamicGetbuf must return 0 for errors
- and EOF
-
-2007-01-03 22:42 pajoye
-
- * ISSUES, gd_gd2.c: #32, Added sanity checks for allocations
- failures in gd_gd2
-
-2007-01-03 22:24 pajoye
-
- * ISSUES: #31, Added DISABLE_THREADS to permit disabling of thread
- support (John Ellson/Graphviz)
-
-2007-01-03 22:21 pajoye
-
- * ISSUES, gdft.c: #30, uninitialized variable "charmap" and avoid
- divide-by-zero errors at very small dpi values (John
- Ellson/Graphviz)
-
-2007-01-03 22:04 pajoye
-
- * ISSUES, gdft.c: #28, Fixed gdImageStringFTEx when called with an
- empty string Initialize the bounding box variables to zero
- (Kevin Scaldeferri)
-
-2007-01-03 21:56 pajoye
-
- * ISSUES, gdft.c: #26, gdFontCacheSetup returns error when
- gdCacheCreate fails #27, Added sanity checks for possible
- failures in fontFetch and tweenColorFetch
-
-2007-01-03 21:50 pajoye
-
- * ISSUES, gdcache.c: #25, Added sanity checks for possible
- allocation failures in gdCacheCreate and main
-
-2007-01-03 21:45 pajoye
-
- * ISSUES, gd.c: #23, Added sanity checks for possible allocation
- failures in gdImageFilledPolygon and gdImageSetStyle #24,
- Out of range checks in gdImageSetAAPixelColor
-
-2007-01-03 21:38 pajoye
-
- * gd.c: #22, missing immplementation
-
-2007-01-03 21:34 pajoye
-
- * ISSUES, gd.c: #22, Fixed transparency preservation in
- gdImageCopyRotated
-
-2007-01-03 21:31 pajoye
-
- * ISSUES, gd.c: #21, gdImageCopyResized sanity check for allocation
- failures
-
-2007-01-03 21:25 pajoye
-
- * ISSUES, gd.c: #20, Fixed gdImageCopyMergeGray when used with a
- true color image
-
-2007-01-03 21:18 pajoye
-
- * ISSUES, gd.c: #19, Use abs instead of fbas in HWB_Diff (Nick
- Atty)
-
-2007-01-03 21:09 pajoye
-
- * ISSUES, gd.c: - #18, Removed invalid gdFree call when overflow2
- fails - #17, Free im->pixels as well on error
-
-2007-01-03 20:48 pajoye
-
- * ISSUES, entities.tcl: #17, Added "static" to entities_s struct
- declaration to avoid obscure compiler problem on Suns (John
- Ellson/Graphviz)
-
-2007-01-03 20:42 pajoye
-
- * ISSUES, gd.c: - #16, Added sanity checks in gdImageCreate for
- possible allocation failures (John Ellson/Graphviz)
-
-2007-01-03 20:14 pajoye
-
- * ISSUES, gd_topal.c: - #15, gdImageCreatePaletteFromTrueColor(),
- colors allocated henceforth from the resulting image
- overwrite the palette colors (Rob Leslie)
-
-2007-01-03 19:31 pajoye
-
- * ISSUES, gd_topal.c: - #14, Fixed leak in jinit_2pass_quantizer
- (gd_topal.c)
-
-2006-11-08 13:32 lhecking
-
- * ISSUES: Updated.
-
-2006-11-08 13:23 pajoye
-
- * gd.c: - #7, gdImageCopy does not respect alpha (2/2)
-
-2006-11-05 16:01 pajoye
-
- * ISSUES, gd_png.c: - #12, initialize the sig buf not infile, good
- that we don't use getC...
-
-2006-10-15 19:20 pajoye
-
- * ChangeLog: - initial cvs ChangeLog, will create a cronjob to
- update it daily
-
-2006-10-12 13:38 lhecking
-
- * Makefile.in, aclocal.m4, configure, config/Makefile.in,
- test/Makefile.in: Remove generated files.
-
-2006-10-12 13:36 lhecking
-
- * bootstrap.sh: Bootstrap script to generate auto* files.
-
-2006-10-12 13:30 lhecking
-
- * .cvsignore, config/.cvsignore, test/.cvsignore: Update after
- removal of generated files.
-
-2006-10-11 11:46 lhecking
-
- * config/gdlib-config.in: Add @LIBICONV@ wherever @LIBS@ is used.
-
-2006-10-11 02:03 pajoye
-
- * ISSUES: - #11 entry
-
-2006-10-11 02:02 pajoye
-
- * gd_png.c, tests/bug00011.c, tests/emptyfile: - #11,
- gdImageCreateFromPng* possible crash with empty file
- Thanks to Antony Dovgal to have catched this bug
-
-2006-10-10 02:40 pajoye
-
- * ISSUES, gd.c, tests/bug00010.c: - #10, gdImageFilledEllipse does
- not respect transparency (rewriten)
-
-2006-10-09 16:22 pajoye
-
- * ISSUES, Makefile.am, Makefile.in, aclocal.m4, config.hin,
- configure, configure.ac, config/Makefile.in, config/config.guess,
- config/config.sub, config/ltmain.sh, test/Makefile.in: - #9,
- configure/build script updates auto* lib* (Lars Hecking)
-
-2006-10-09 04:38 pajoye
-
- * ISSUES, tests/bug00008.c: - port another test for gdImageFill
-
-2006-10-09 04:37 pajoye
-
- * tests/bug00007.c: - temp fp
-
-2006-10-08 23:43 pajoye
-
- * ISSUES, gd.c, tests/bug00007.c: - #7, imagecopy doen't copy the
- alpha channel, palette to truecolor copy
-
-2006-10-08 18:42 pajoye
-
- * ISSUES, gd_gif_out.c, tests/bug00004.c: - #4, TrueColor
- transparency with GIF palette output
-
-2006-09-28 17:22 pajoye
-
- * ISSUES, gd_gif_in.c, tests/bug00005.c, tests/bug00005_1.gif,
- tests/bug00005_2.gif, tests/bug00005_3.gif: - GIF security fixes
-
-2006-09-28 10:16 pajoye
-
- * ISSUES, gd.c, tests/bug00003.c: - #3, gdImageRectanle draws the
- corners twice
-
-2006-09-28 02:32 pajoye
-
- * tests/bug00002_2.c: - #2, test with gdTile
-
-2006-09-28 02:01 pajoye
-
- * ISSUES: - #2 entry
-
-2006-09-28 01:58 pajoye
-
- * gd.c, tests/bug00002_1.c:
- - #2, imagefill segfaults: - when call with invalid index color
- - segfaults or invalid result when used with complex patterns or
- transparent color (more tests to come)
-
-2006-09-28 01:07 pajoye
-
- * tests/bug00001.c: - test case for bug #1
-
-2006-09-28 01:05 pajoye
-
- * gdft.c: - #1, Initialize values this also provides a 5x speedup
- in the imagefttext.phpt test, because without this patch it
- never got cache hits (Nuno Lopes)
-
-2006-09-28 01:04 pajoye
-
- * ISSUES: - initial commit temp file to store issue fixes
- history. Will be replaced by the issue tracker asap
-
-2006-09-28 00:50 pajoye
-
- * aclocal.m4, configure: - Sync the generated version TODO:
- remove all generated files from CVS and add an autogen.sh script
-
-2006-05-17 17:53 edink
-
- * windows/: .cvsignore, Makefile: Added nmake dist target
-
-2006-05-17 17:27 edink
-
- * gdcmpgif.c: Fixed windows build
-
-2006-05-17 17:26 edink
-
- * windows/Makefile: Compile more helper tools
-
-2006-05-17 15:05 edink
-
- * windows/: Makefile, libgd.rc: Use bgd.dll name, and update
- copyright info
-
-2006-05-17 15:04 edink
-
- * gd.h: Added version info
-
-2006-05-17 14:39 edink
-
- * windows/Makefile: "all" target should be the first
-
-2006-05-17 14:34 edink
-
- * windows/: .cvsignore, Makefile, libgd.rc: Added MSVC++ build file
- for use with nmake.exe
-
-2006-05-17 11:15 edink
-
- * windows/.cvsignore: Added windows build dir
-
-2006-05-17 10:43 edink
-
- * .cvsignore, config/.cvsignore, test/.cvsignore: Ignore build
- files
-
-2006-04-14 02:15 pajoye
-
- * tests/README: - as reminder, initila commit
-
-2006-04-05 22:46 pajoye
-
- * gd_jpeg.c, wbmp.c: - URLs
-
-2006-04-05 22:40 pajoye
-
- * configure.ac: - use the devel list in there
-
-2006-04-05 22:14 pajoye
-
- * AUTHORS, ChangeLog, HISTORY, Makefile, Makefile.nt, NEWS, README,
- alphachanneltest.html, antialiased.png, arc, bdf-howto.txt,
- bresenham_ellipse, bwtest.png, config.guess, config.sub,
- configure.in, demoout.gif, demoout.png, errs, gd-1.2.lsm, gd.1,
- gd.ver, gd2tolzw.c, gd_arc_f.c, gd_arc_f_buggy.c, gd_lzw_out.c,
- gdfonta.c, gdfonta.h, gdft.c.swp, gdparttogif.c, gdprog,
- gdprog.1, gdtestttf.c, gdtogif.c, gdttf.c, giftogd.c, giftolzw.c,
- io.c, io.h, io_dp.c, io_file.c, io_ss.c, libgd.so.2.0.0,
- ltconfig, ltmain.sh, mathmake.c, mtables.c, readme.txt,
- so_locations, tc, webgif.c: - remove files not present in 2.0.33
-
-2006-04-05 19:21 pajoye
-
- * alphachanneltest.html: - testing loginfo/cvsspam
-
-2006-04-05 19:12 pajoye
-
- * index.html: - update URLs and MLs
-
-2006-04-05 17:56 pierre
-
- * config/Makefile.am, config/Makefile.in, config/config.guess,
- config/config.rpath, config/config.sub, config/depcomp,
- config/gdlib-config.in, config/install-sh, config/ltmain.sh,
- config/missing, config/mkinstalldirs, test/Makefile.am,
- test/Makefile.in, test/gdtest.gd2, test/gdtest.png,
- test/gdtest_200_300_150_100.png, test/gdtest_merge.png,
- test/gdtest_wbmp_to_png.png: - sync with 2.0.33
-
-2006-04-05 17:55 pierre
-
- * circletexttest.c, configure, configure.ac, fontconfigtest.c,
- gd2togif.c, gd2topng.c, gd_gif_out.c, gdcmpgif.c, gdft.c,
- gdkanji.c, gifanimtest.c, index.html: - sync to 2.0.33
-
-2006-04-05 17:55 pierre
-
- * configure, configure.ac, gd.c, gd_gif_in.c, gdft.c, gdtestft.c,
- index.html, testtr.c: - sync to 2.0.32
-
-2006-04-05 17:55 pierre
-
- * Makefile.in, aclocal.m4, configure, configure.ac, gdft.c,
- index.html: - sync to 2.0.31
-
-2006-04-05 17:54 pierre
-
- * configure, configure.ac, gd.h, gdft.c, index.html: - sync to
- 2.0.30
-
-2006-04-05 17:54 pierre
-
- * Makefile.am, Makefile.in, circletexttest.c, config.hin,
- configure, configure.ac, entities.h, entities.tcl, err.out,
- fontconfigtest.c, fontsizetest.c, fontwheeltest.c, gd.c, gd.h,
- gd2togif.c, gd_gd2.c, gd_gif_out.c, gd_io.h, gd_io_dp.c,
- gd_jpeg.c, gd_png.c, gd_security.c, gd_topal.c, gd_wbmp.c,
- gdcache.h, gdcmpgif.c, gdfontg.h, gdfontl.h, gdfontmb.h,
- gdfonts.h, gdfontt.h, gdft.c, gdfx.c, gdfx.h, gdhelpers.c,
- gdhelpers.h, gdxpm.c, gifanimtest.c, giftogd2.c, index.html,
- jisx0208.h, makefile.sample, testtr.c, wbmp.c, wbmp.h: - sync to
- 2.0.29
-
-2006-04-05 17:53 pierre
-
- * Makefile.am, Makefile.in, configure, configure.ac, gd.h,
- gd_gif_in.c, gd_gif_out.c, gd_topal.c, gddemo.c, index.html,
- testtr.c: - sync to 2.0.28
-
-2006-04-05 17:53 pierre
-
- * configure, configure.ac, gd.c, gdft.c, index.html: - sync to
- 2.0.27
-
-2006-04-05 17:53 pierre
-
- * Makefile.am, Makefile.in, config.hin, configure, configure.ac,
- entities.h, entities.html, entities.tcl, fontwheeltest.c, gd.c,
- gd.h, gddemo.c, gdft.c, index.html, testtr.c: - sync to 2.0.26
-
-2006-04-05 17:52 pierre
-
- * configure, configure.ac, gd.h, gdfontg.h, gdfontl.h, gdfontmb.h,
- gdfonts.h, gdfontt.h, index.html: - sync to 2.0.25
-
-2006-04-05 17:52 pierre
-
- * annotate.c, configure, configure.ac, fontsizetest.c, gd.c, gd.h,
- gd2time.c, gd_gd.c, gd_gd2.c, gd_io_dp.c, gd_io_file.c,
- gd_io_ss.c, gd_jpeg.c, gd_png.c, gd_ss.c, gd_topal.c, gd_wbmp.c,
- gdcache.h, gdfontg.c, gdfontg.h, gdfontl.c, gdfontl.h,
- gdfontmb.c, gdfontmb.h, gdfonts.c, gdfonts.h, gdfontt.c,
- gdfontt.h, gdft.c, gdfx.c, gdfx.h, gdhelpers.c, gdhelpers.h,
- gdkanji.c, gdxpm.c, index.html, webpng.c: - sync to 2.0.24
-
-2006-04-05 17:51 pierre
-
- * circletexttest.c, configure, configure.ac, gd.h, gd_gd2.c,
- gd_io_dp.c, gd_jpeg.c, gd_png.c, gd_topal.c, gddemo.c, gdfontg.c,
- gdfontl.c, gdfontmb.c, gdfonts.c, gdfontt.c, gdft.c, gdfx.c,
- gdtest.c, index.html: - sync to 2.0.23
-
-2006-04-05 17:51 pierre
-
- * Makefile.in, circletexttest.c, configure, configure.ac, gd.c,
- gd_jpeg.c, gddemo.c, gdfontg.c, gdfontg.h, gdfontl.c, gdfontl.h,
- gdfontmb.c, gdfontmb.h, gdfonts.c, gdfonts.h, gdfontt.c,
- gdfontt.h, index.html: - sync to 2.0.22
-
-2006-04-05 17:50 pierre
-
- * configure, configure.ac, gd.c, gd.h, gd_gd.c, gd_gd2.c,
- gd_io_dp.c, gd_jpeg.c, gd_png.c, gd_wbmp.c, gdft.c, gdtest.c,
- index.html: - sync to 2.0.21
-
-2006-04-05 17:50 pierre
-
- * configure, configure.ac, gd.h, gdfontg.c, gdfontl.c, gdfontmb.c,
- gdfonts.c, gdfontt.c, gdft.c, index.html: - sync to 2.0.20
-
-2006-04-05 17:50 pierre
-
- * configure, configure.ac, gd.h, gdfontg.h, gdfontl.h, gdfonts.h,
- index.html: - sync to 2.0.19
-
-2006-04-05 17:50 pierre
-
- * circletexttest.c, configure, configure.ac, gd.h, gd_io.h,
- gdcache.h, gdfontg.c, gdfontg.h, gdfontl.c, gdfontl.h,
- gdfontmb.c, gdfontmb.h, gdfonts.c, gdfonts.h, gdfontt.c,
- gdfontt.h, gdft.c, gdfx.h, gdhelpers.h, index.html: - sync to
- 2.0.18
-
-2006-04-05 17:49 pierre
-
- * Makefile.am, Makefile.in, circletexttest.c, config.hin,
- configure, configure.ac, gd.c, gd.h, gd_gd2.c, gd_io.c,
- gd_io_file.c, gd_jpeg.c, gd_png.c, gd_topal.c, gdft.c, gdfx.c,
- gdfx.h, gdhelpers.h, index.html: - sync to 2.0.17
-
-2006-04-05 17:49 pierre
-
- * configure, configure.ac, gd.c, index.html: - sync to 2.0.15
-
-2006-04-05 17:48 pierre
-
- * configure, configure.ac, gd.c, gd_jpeg.c, index.html: - sync to
- 2.0.14
-
-2006-04-05 17:48 pierre
-
- * configure, configure.ac, gd.c, gd_gd2.c, gd_png.c, gdft.c,
- index.html: - sync to 2.0.13
-
-2006-04-05 17:47 pierre
-
- * Makefile.am, Makefile.in, annotate.c, config.hin, configure,
- configure.ac, gd.c, gd.h, gd2topng.c, gd_gd.c, gd_gd2.c, gd_io.h,
- gd_jpeg.c, gd_png.c, gd_topal.c, gdcache.c, gdcache.h, gddemo.c,
- gdft.c, gdkanji.c, gdtest.c, gdtestft.c, gdtopng.c, index.html: -
- sync to 2.0.12
-
-2006-04-05 17:47 pierre
-
- * configure, configure.ac, gd.h, gd2topng.c, gd_gd2.c, gd_io.h,
- gd_io_file.c, index.html, pngtogd2.c: - sync to 2.0.11
-
-2006-04-05 17:47 pierre
-
- * Makefile.in, aclocal.m4, configure, configure.ac, depcomp, gd.c,
- gd.h, gd_jpeg.c, gddemo.c, gdft.c, gdtestft.c, index.html,
- install-sh, missing, mkinstalldirs: - sync to 2.0.10
-
-2006-04-05 17:46 pierre
-
- * Makefile.in, aclocal.m4, annotate.c, config.hin, configure,
- configure.ac, fontsizetest.c, fontwheeltest.c, gd.c, gd.h,
- gd2time.c, gd2topng.c, gd_gd.c, gd_gd2.c, gd_io.h, gd_io_dp.c,
- gd_io_file.c, gd_io_ss.c, gd_jpeg.c, gd_png.c, gd_ss.c,
- gd_topal.c, gd_wbmp.c, gdcache.c, gdcache.h, gddemo.c, gdfontg.c,
- gdfontg.h, gdfontl.c, gdfontl.h, gdfontmb.c, gdfontmb.h,
- gdfonts.c, gdfonts.h, gdfontt.c, gdfontt.h, gdft.c, gdhelpers.h,
- gdkanji.c, gdparttopng.c, gdtables.c, gdtest.c, gdtestft.c,
- gdtopng.c, index.html, jisx0208.h, mathmake.c, pngtogd.c,
- pngtogd2.c, testac.c, wbmp.c, wbmp.h, webpng.c: - sync to 2.0.9
-
-2006-04-05 17:46 pierre
-
- * aclocal.m4, configure, configure.ac, gd.c, gd.h, gddemo.c,
- index.html: - sync to 2.0.8
-
-2006-04-05 17:45 pierre
-
- * configure, configure.ac, index.html: - sync to 2.0.7
-
-2006-04-05 17:45 pierre
-
- * README.TXT, configure, configure.ac, gd.c, gd2copypal.c,
- gd2topng.c, gdft.c, gdtestft.c, gdxpm.c, index.html, mathmake.c,
- pngtogd.c, testac.c: - sync to 2.0.6
-
-2006-04-05 17:44 pierre
-
- * COPYING, INSTALL, Makefile.am, Makefile.in, README.TXT,
- aclocal.m4, annotate.c, config.hin, configure, configure.ac,
- configure.pl, fontsizetest.c, fontwheeltest.c, gd.c, gd.h,
- gd2copypal.c, gd2time.c, gd2topng.c, gd_gd.c, gd_gd2.c, gd_io.c,
- gd_io_dp.c, gd_io_file.c, gd_io_ss.c, gd_jpeg.c, gd_png.c,
- gd_ss.c, gd_topal.c, gd_wbmp.c, gdcache.c, gdcache.h, gddemo.c,
- gdft.c, gdhelpers.c, gdkanji.c, gdparttopng.c, gdtest.c,
- gdtestft.c, gdtopng.c, gdxpm.c, index.html, mathmake.c,
- pngtogd.c, pngtogd2.c, testac.c, wbmp.c, webpng.c: - sync to
- 2.0.5
-
-2006-04-05 17:44 pierre
-
- * configure, err.out, fontsizetest.c, fontwheeltest.c, gd.c, gd.h,
- gd2topng.c, gd_gd.c, gd_gd2.c, gd_io.h, gd_io_dp.c, gd_io_file.c,
- gd_io_ss.c, gd_jpeg.c, gd_png.c, gd_ss.c, gd_topal.c, gd_wbmp.c,
- gdcache.h, gddemo.c, gdft.c, gdhelpers.c, gdhelpers.h, gdkanji.c,
- gdparttopng.c, gdtest.c, gdtestft.c, gdtopng.c, gdxpm.c,
- index.html, makefile.sample, testac.c, wbmp.c, webpng.c: - sync
- to 2.0.4
-
-2006-04-05 17:43 pierre
-
- * annotate.c, configure, gd.c, gd_gd2.c, index.html: - sync to
- 2.0.3
-
-2006-04-05 17:43 pierre
-
- * README.TXT, configure, gd.c, gd.h, gddemo.c, gdft.c, gdtestft.c,
- index.html, makefile.sample: - sync to 2.0.2
-
-2006-04-05 17:42 pierre
-
- * Makefile, arc, bresenham_ellipse, gd.c, gd.h, gd2copypal.c,
- gd2time.c, gd2topng.c, gd_arc_f_buggy.c, gd_gd.c, gd_gd2.c,
- gd_io.c, gd_io_dp.c, gd_io_file.c, gd_io_ss.c, gd_jpeg.c,
- gd_png.c, gd_ss.c, gd_topal.c, gd_wbmp.c, gdcache.c, gddemo.c,
- gdfontg.c, gdfontl.c, gdfontmb.c, gdfonts.c, gdfontt.c, gdft.c,
- gdhelpers.c, gdkanji.c, gdparttopng.c, gdtables.c, gdtest.c,
- gdtestft.c, gdtopng.c, gdxpm.c, index.html, libgd.so.2.0.0,
- mathmake.c, pngtogd.c, pngtogd2.c, readme.jpn, readme.txt,
- testac.c, wbmp.c, webpng.c: - sync to 2.0.1
-
-2006-04-05 17:42 pierre
-
- * Makefile, Makefile.nt, README-JPEG.TXT, alphachanneltest.html,
- antialiased.png, errs, gd.c, gd.h, gd_arc_f.c, gd_gd.c, gd_gd2.c,
- gd_jpeg.c, gd_png.c, gd_topal.c, gddemo.c, gdft.c, gdft.c.swp,
- gdkanji.c, gdtestft.c, index.html, libgd.so.2.0.0, readme.txt,
- tc, testac.c, webpng.c: - sync to 2.0.0
-
-2006-04-05 17:41 pierre
-
- * Makefile, Makefile.nt, gd.c, gd.h, gd_gd2.c, gd_io.c, gd_io_dp.c,
- gd_io_file.c, gd_io_ss.c, gd_jpeg.c, gd_png.c, gd_wbmp.c,
- gdcache.c, gdft.c, gdhelpers.c, gdhelpers.h, gdkanji.c,
- gdtestft.c, gdtestttf.c, gdttf.c, gdxpm.c, index.html,
- readme.txt, wbmp.c, wbmp.h: - sync to 1.8.4
-
-2006-04-05 17:41 pierre
-
- * Makefile, bwtest.png, gd.c, gd.h, gd_jpeg.c, gd_png.c, gd_wbmp.c,
- gdtest.c, index.html, install-item, readme.txt, wbmp.c, wbmp.h: -
- sync to 1.8.3
-
-2006-04-05 17:40 pierre
-
- * Makefile, Makefile.nt, bdftogd, gd_jpeg.c, gdtest.c, index.html,
- readme.txt, webpng.c: - sync to 1.8.1
-
-2006-04-05 17:40 pierre
-
- * Makefile, gd.c, gd.h, gd_jpeg.c, gd_wbmp.c, gdtest.c, index.html,
- readme.txt: - sync to 1.8.0
-
-2006-04-05 17:39 pierre
-
- * Makefile, index.html, readme.txt: - sync to 1.7.3
-
-2006-04-05 17:39 pierre
-
- * Makefile, gdttf.c, index.html, readme.txt: - sync to 1.7.2
-
-2006-04-05 17:38 pierre
-
- * ChangeLog, Makefile, gdtestttf.c, index.html, readme.txt: - sync
- to 1.7.1
-
-2006-04-05 17:38 pierre
-
- * ChangeLog, Makefile, bdftogd, demoout.png, gd.c, gd.h, gd_gd2.c,
- gd_io_dp.c, gd_io_file.c, gd_io_ss.c, gddemo.c, gdfontg.h,
- gdfontl.h, gdfontmb.h, gdfonts.h, gdfontt.h, gdkanji.c,
- gdtables.c, gdtestttf.c, gdttf.c, gdxpm.c, index.html,
- jisx0208.h, readme.txt: - sync to 1.7.0
-
-2006-04-05 17:37 pierre
-
- * COPYING, ChangeLog, NEWS, README, configure, configure.in,
- gd_png.c, index.html, mkinstalldirs: - sync to 1.6.3
-
-2006-04-05 17:37 pierre
-
- * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, Makefile.in,
- NEWS, README, aclocal.m4, config.guess, config.sub, configure,
- configure.in, gd.c, gd.h, gd2copypal.c, gd2time.c, gd2topng.c,
- gd_gd.c, gd_gd2.c, gd_io_dp.c, gd_png.c, gdcache.c, gdcache.h,
- gdparttopng.c, gdtest.c, gdtestttf.c, gdtopng.c, gdttf.c,
- index.html, install-sh, ltconfig, ltmain.sh, missing,
- mkinstalldirs, pngtogd.c, pngtogd2.c, webpng.c: - sync to 1.6.2
-
-2006-04-05 17:36 pierre
-
- * HISTORY, gd.h, gd_png.c, index.html, readme.txt: - sync to 1.6.1
-
-2006-04-05 17:35 pierre
-
- * HISTORY, Makefile, demoin.png, demoout.png, gd.c, gd.h,
- gd2copypal.c, gd2time.c, gd2topng.c, gd_gd.c, gd_gd2.c, gd_io.c,
- gd_io.h, gd_io_dp.c, gd_io_file.c, gd_io_ss.c, gd_png.c, gd_ss.c,
- gddemo.c, gdparttopng.c, gdtest.c, gdtopng.c, index.html,
- pngtogd.c, pngtogd2.c, readme.txt, webpng.c: - sync to 1.6.0
-
-2006-04-05 17:35 pierre
-
- * HISTORY, Makefile, bdftogd, gd.c, gd.h, gd2copypal.c, gd2time.c,
- gd2togif.c, gd2tolzw.c, gd_gd.c, gd_gd2.c, gd_gif_in.c,
- gd_gif_out.c, gd_lzw_out.c, gdparttogif.c, gdtest.c, gdtogif.c,
- giftogd2.c, giftolzw.c, index.html, io.c, io.h, io_dp.c,
- io_file.c, io_ss.c, readme.txt: - sync to 1.5.0
-
-2006-04-05 17:34 pierre
-
- * Makefile, bdf-howto.txt, bdftogd, gd.c, gd.h, gdfonta.c,
- gdfonta.h, index.html, readme.txt: - sync to 1.4.0
-
-2006-04-05 17:33 pierre
-
- * Makefile, bdftogd, demoin.gif, demoout.gif, gd.c, gd.h, gddemo.c,
- gdfontg.c, gdfontg.h, gdfontl.c, gdfontl.h, gdfontmb.c,
- gdfontmb.h, gdfonts.c, gdfonts.h, gdfontt.c, gdfontt.h,
- giftogd.c, index.html, mathmake.c, mtables.c, readme.txt,
- so_locations, webgif.c: - sync to 1.3.0
-
-2006-04-05 17:28 pierre
-
- * INSTALL, Makefile, README, gd-1.2.lsm, gd.1, gd.ver, gdprog,
- gdprog.1: Initial revision
-
-2006-04-05 17:28 pierre
-
- * INSTALL, Makefile, README, gd-1.2.lsm, gd.1, gd.ver, gdprog,
- gdprog.1: initial import
-
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_intern.h b/Build/source/libs/gd/libgd-2.1.0/src/gd_intern.h
deleted file mode 100644
index 2e60613e981..00000000000
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_intern.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef GD_INTERN_H
-#define GD_INTERN_H
-
-#if HAVE_LIMITS_H
-#include <limits.h>
-#endif
-
-#ifndef MIN
-#define MIN(a,b) ((a)<(b)?(a):(b))
-#endif
-#define MIN3(a,b,c) ((a)<(b)?(MIN(a,c)):(MIN(b,c)))
-#ifndef MAX
-#define MAX(a,b) ((a)<(b)?(b):(a))
-#endif
-#define MAX3(a,b,c) ((a)<(b)?(MAX(b,c)):(MAX(a,c)))
-
-#ifndef MAXPATHLEN
-# ifdef PATH_MAX
-# define MAXPATHLEN PATH_MAX
-# elif defined(MAX_PATH)
-# define MAXPATHLEN MAX_PATH
-# else
-# if defined(__GNU__)
-# define MAXPATHLEN 4096
-# else
-# define MAXPATHLEN 256 /* Should be safe for any weird systems that do not define it */
-# endif
-# endif
-#endif
-
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#else
-# if defined(HAVE_INTTYPES_H)
-# include <inttypes.h>
-# else
-# include "msinttypes/inttypes.h"
-# endif
-#endif
-
-#endif
-
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_io.h b/Build/source/libs/gd/libgd-2.1.0/src/gd_io.h
deleted file mode 100644
index ed02d25735c..00000000000
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_io.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef GD_IO_H
-#define GD_IO_H 1
-
-#include <stdio.h>
-
-#ifdef VMS
-# define Putchar gdPutchar
-#endif
-
- typedef struct gdIOCtx {
- int (*getC)(struct gdIOCtx *);
- int (*getBuf)(struct gdIOCtx *, void *, int);
- void (*putC)(struct gdIOCtx *, int);
- int (*putBuf)(struct gdIOCtx *, const void *, int);
- /* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
- int (*seek)(struct gdIOCtx *, const int);
- long (*tell)(struct gdIOCtx *);
- void (*gd_free)(struct gdIOCtx *);
- void *data;
- }
- gdIOCtx;
-
- typedef struct gdIOCtx *gdIOCtxPtr;
-
- void Putword(int w, gdIOCtx *ctx);
- void Putchar(int c, gdIOCtx *ctx);
-
- void gdPutC(const unsigned char c, gdIOCtx *ctx);
- int gdPutBuf(const void *, int, gdIOCtx *);
- void gdPutWord(int w, gdIOCtx *ctx);
- void gdPutInt(int w, gdIOCtx *ctx);
-
- int gdGetC(gdIOCtx *ctx);
- int gdGetBuf(void *, int, gdIOCtx *);
- int gdGetByte(int *result, gdIOCtx *ctx);
- int gdGetWord(int *result, gdIOCtx *ctx);
- int gdGetWordLSB(signed short int *result, gdIOCtx *ctx);
- int gdGetInt(int *result, gdIOCtx *ctx);
- int gdGetIntLSB(signed int *result, gdIOCtx *ctx);
-
- int gdSeek(gdIOCtx *ctx, const int offset);
- long gdTell(gdIOCtx *ctx);
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/Build/source/libs/gd/libgd-2.1.0/windows/Makefile.w32 b/Build/source/libs/gd/libgd-2.1.0/windows/Makefile.w32
deleted file mode 100644
index 22e0256b82d..00000000000
--- a/Build/source/libs/gd/libgd-2.1.0/windows/Makefile.w32
+++ /dev/null
@@ -1,177 +0,0 @@
-# Makefile form Microsoft C++ nmake.exe
-# $Id$
-!IFNDEF WITH_DEVEL
-WITH_DEVEL = ../../deps
-!ENDIF
-
-!IFNDEF WITH_BUILD
-WITH_BUILD = ..\..\gdbuild
-!ENDIF
-
-!IFDEF WITH_PNG
-!IF "$(WITH_PNG)"=="dll"
-PNG_LIBS = libpng.lib
-USE_LIBPNG = true
-PNG = dll
-!ELSEIF "$(WITH_PNG)"=="static"
-PNG_LIBS = libpng_a.lib
-USE_LIBPNG = true
-PNG = static
-!ELSE
-USE_LIBPNG = false
-!ENDIF
-!ENDIF
-
-!IFDEF WITH_JPEG
-!IF "$(WITH_JPEG)"=="dll"
-JPEG_LIBS = libjpeg.lib
-USE_LIBJPEG = true
-PNG = dll
-!ELSEIF "$(WITH_JPEG)"=="static"
-JPEG_LIBS = libjpeg_a.lib
-USE_LIBJPEG = true
-PNG = static
-!ELSE
-USE_LIBJPEG = false
-!ENDIF
-!ENDIF
-
-EXTRA_INCLUDE=$(WITH_DEVEL)/include
-EXTRA_LIBS=/libpath:$(WITH_DEVEL)/lib
-
-CC=cl.exe
-LD=link.exe
-BUILD=Release
-#BUILD=Debug
-
-LIBGD_SRC_DIR=..\src
-LIBGD_OBJ_DIR=$(WITH_BUILD)
-LIBGD_BIN_DIR=$(WITH_BUILD)\bin
-
-!MESSAGE library source: $(LIBGD_SRC_DIR)
-!MESSAGE library objects: $(LIBGD_OBJ_DIR)
-
-LIBGDCFLAGS= \
- /D PATHSEPARATOR="\";\"" \
- /D DEFAULT_FONTPATH="\"C:\\WINDOWS\\FONTS;C:\\WINNT\\FONTS\"" \
-
-#LIBS=libjpeg.lib freetype2.lib libpng.lib zlib.lib kernel32.lib user32.lib advapi32.lib
-LIBS=kernel32.lib user32.lib advapi32.lib
-
-!IF "$(USE_LIBPNG)" == "true"
-LIBPNG_CFLAGS = $(LIBPNG_CFLAGS) /I"$(WITH_DEVEL)/include/libpng15" /D HAVE_LIBPNG
-LIBS= $(LIBS) libpng_a.lib
-!ENDIF
-
-CFLAGS=/c -I. -I.. -I../src -I$(EXTRA_INCLUDE) -nologo -DWIN32 -D_WIN32 -DMSWIN32 -DBGDWIN32 $(LIBGDCFLAGS)
-#LIBS=libjpeg.lib freetype2.lib libpng.lib zlib.lib kernel32.lib user32.lib advapi32.lib
-
-!if "$(BUILD)" == "Debug"
-CFLAGS=$(CFLAGS) /Od /Zi /MTd /D_DEBUG /LDd
-LDFLAGS=/DEBUG $(LDFLAGS) /nodefaultlib:msvcrt.lib $(EXTRA_LIBS)
-LIBS=$(LIBS) msvcrtd.lib
-!else
-CFLAGS=$(CFLAGS) /Oi /O2 /Oy /GF /MT /DNDEBUG /LD
-LDFLAGS=/nodefaultlib:msvcrtd.lib $(EXTRA_LIBS)
-LIBS=$(LIBS) msvcrt.lib
-!endif
-
-CPPFLAGS=$(CFLAGS)
-
-!if "$(DLLNAME)" == ""
-DLLNAME=libgd.dll
-!endif
-
-DYNAMICLIB=$(DLLNAME:.dll=.lib)
-
-!if "$(STATICLIB)" == ""
-STATICLIB=libgd_a.lib
-!endif
-
-LIB_OBJS= \
- $(LIBGD_OBJ_DIR)\gd.obj \
- $(LIBGD_OBJ_DIR)\gdcache.obj \
- $(LIBGD_OBJ_DIR)\gdfontg.obj \
- $(LIBGD_OBJ_DIR)\gdfontl.obj \
- $(LIBGD_OBJ_DIR)\gdfontmb.obj \
- $(LIBGD_OBJ_DIR)\gdfonts.obj \
- $(LIBGD_OBJ_DIR)\gdfontt.obj \
- $(LIBGD_OBJ_DIR)\gdft.obj \
- $(LIBGD_OBJ_DIR)\gdfx.obj \
- $(LIBGD_OBJ_DIR)\gd_gd2.obj \
- $(LIBGD_OBJ_DIR)\gd_gd.obj \
- $(LIBGD_OBJ_DIR)\gd_gif_in.obj \
- $(LIBGD_OBJ_DIR)\gd_gif_out.obj \
- $(LIBGD_OBJ_DIR)\gdhelpers.obj \
- $(LIBGD_OBJ_DIR)\gd_io.obj \
- $(LIBGD_OBJ_DIR)\gd_io_dp.obj \
- $(LIBGD_OBJ_DIR)\gd_io_file.obj \
- $(LIBGD_OBJ_DIR)\gd_io_ss.obj \
- $(LIBGD_OBJ_DIR)\gd_jpeg.obj \
- $(LIBGD_OBJ_DIR)\gd_security.obj \
- $(LIBGD_OBJ_DIR)\gdkanji.obj \
- $(LIBGD_OBJ_DIR)\gd_png.obj \
- $(LIBGD_OBJ_DIR)\gd_ss.obj \
- $(LIBGD_OBJ_DIR)\gdtables.obj \
- $(LIBGD_OBJ_DIR)\gd_topal.obj \
- $(LIBGD_OBJ_DIR)\gd_transform.obj \
- $(LIBGD_OBJ_DIR)\gd_wbmp.obj \
- $(LIBGD_OBJ_DIR)\gdxpm.obj \
- $(LIBGD_OBJ_DIR)\wbmp.obj \
- $(LIBGD_OBJ_DIR)\gd_interpolation.obj \
- $(LIBGD_OBJ_DIR)\gd_matrix.obj \
- $(LIBGD_OBJ_DIR)\gd_rotate.obj
-
-EXE_OBJS= \
- annotate.obj \
- circletexttest.obj \
- fontconfigtest.obj \
- fontsizetest.obj \
- fontwheeltest.obj \
- gd2copypal.obj \
- gd2togif.obj \
- gd2topng.obj \
- gdcmpgif.obj \
- gdparttopng.obj \
- gdtopng.obj \
- giftogd2.obj \
- gdtest.obj \
- gdtestft.obj \
- gifanimtest.obj \
- pngtogd.obj \
- pngtogd2.obj \
- testac.obj \
- testtr.obj \
- webpng.obj
-
-$(LIBGD_OBJ_DIR):
- @if not exist $(LIBGD_OBJ_DIR) mkdir $(LIBGD_OBJ_DIR)
-
-$(LIBGD_BIN_DIR):
- @if not exist $(LIBGD_BIN_DIR) mkdir $(LIBGD_BIN_DIR)
-
-all: $(LIBGD_OBJ_DIR) $(LIBGD_BIN_DIR) $(LIB_OBJS) $(STATICLIB)
-
-.SUFFIXES: .c .obj .res
-
-{$(LIBGD_SRC_DIR)\}.c{$(LIBGD_OBJ_DIR)\}.obj:
- $(CC) $(CFLAGS) /Fo"$@" $<
-
-$(STATICLIB): $(LIB_OBJS)
- $(LD) /lib /out:$(LIBGD_BIN_DIR)/$(STATICLIB) $(LIB_OBJS)
-
-dist: all
- -rmdir /s /q distro
- mkdir distro
- mkdir distro\bin
- copy *.exe distro\bin
- copy *.dll distro\bin
- mkdir distro\include
- copy ..\*.h distro\include
- mkdir distro\lib
- copy *.lib distro\lib
- copy ..\COPYING distro\COPYING.TXT
-
-clean:
- -del /q $(LIBGD_OBJ_DIR)\*.obj $(LIBGD_OBJ_DIR)\*.dll $(LIBGD_OBJ_DIR)\*.lib $(LIBGD_OBJ_DIR)\*.ilk $(LIBGD_OBJ_DIR)\*.pdb $(LIBGD_OBJ_DIR)\*.exp $(LIBGD_OBJ_DIR)\*.exe $(LIBGD_OBJ_DIR)\*.png $(LIBGD_OBJ_DIR)\*.res
- -rmdir /s /q distro \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-2.1.0-PATCHES/ChangeLog b/Build/source/libs/gd/libgd-2.1.1-PATCHES/ChangeLog
index f7dd7300e94..f4dc178903b 100644
--- a/Build/source/libs/gd/libgd-2.1.0-PATCHES/ChangeLog
+++ b/Build/source/libs/gd/libgd-2.1.1-PATCHES/ChangeLog
@@ -1,3 +1,12 @@
+2015-01-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported libgd-2.1.1 source tree from:
+ https://bitbucket.org/libgd/gd-libgd/downloads
+
+ * patch-01-win32: Adapted.
+ * patch-02-no-stdcall: Adapted.
+ * patch-03-ceill: Adapted.
+
2014-06-20 Peter Breitenlohner <peb@mppmu.mpg.de>
* patch-03-ceill (new): Replace ceill() by ceil() as everywhere.
diff --git a/Build/source/libs/gd/libgd-2.1.0-PATCHES/TL-Changes b/Build/source/libs/gd/libgd-2.1.1-PATCHES/TL-Changes
index 2898c0677dd..4e822ab3e8b 100644
--- a/Build/source/libs/gd/libgd-2.1.0-PATCHES/TL-Changes
+++ b/Build/source/libs/gd/libgd-2.1.1-PATCHES/TL-Changes
@@ -1,10 +1,11 @@
-Changes applied to the libgd-2.1.0/ tree as obtained from:
+Changes applied to the libgd-2.1.1/ tree as obtained from:
https://bitbucket.org/libgd/gd-libgd/downloads
Removed:
Makefile.in
aclocal.m4
config/Makefile.in
+ config/ar-lib
config/compile
config/config.guess
config/config.rpath
@@ -24,6 +25,6 @@ Removed:
tests/Makefile.in
Removed execute permission:
- windows/Makefile.w32
windows/libgd.rc
+ windows/msys/deps.mk
diff --git a/Build/source/libs/gd/libgd-2.1.0-PATCHES/patch-01-win32 b/Build/source/libs/gd/libgd-2.1.1-PATCHES/patch-01-win32
index 70ee7ce5275..66c6d4fe915 100644
--- a/Build/source/libs/gd/libgd-2.1.0-PATCHES/patch-01-win32
+++ b/Build/source/libs/gd/libgd-2.1.1-PATCHES/patch-01-win32
@@ -1,7 +1,7 @@
-diff -ur libgd-2.1.0.orig/src/gdft.c libgd-2.1.0/src/gdft.c
---- libgd-2.1.0.orig/src/gdft.c 2013-06-25 11:58:23.000000000 +0200
-+++ libgd-2.1.0/src/gdft.c 2013-06-26 13:52:34.000000000 +0200
-@@ -1512,6 +1512,16 @@
+diff -ur libgd-2.1.1.orig/src/gdft.c libgd-2.1.1/src/gdft.c
+--- libgd-2.1.1.orig/src/gdft.c 2015-01-14 02:10:56.000000000 +0100
++++ libgd-2.1.1/src/gdft.c 2015-01-14 10:47:30.790634045 +0100
+@@ -1638,6 +1638,16 @@
*/
*fontpath = NULL;
fontsearchpath = getenv ("GDFONTPATH");
@@ -17,4 +17,4 @@ diff -ur libgd-2.1.0.orig/src/gdft.c libgd-2.1.0/src/gdft.c
+#endif
if (!fontsearchpath)
fontsearchpath = DEFAULT_FONTPATH;
-
+ path = (char *) gdMalloc(sizeof(char) * strlen(fontsearchpath) + 1);
diff --git a/Build/source/libs/gd/libgd-2.1.1-PATCHES/patch-02-no-stdcall b/Build/source/libs/gd/libgd-2.1.1-PATCHES/patch-02-no-stdcall
new file mode 100644
index 00000000000..f493ede7614
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1-PATCHES/patch-02-no-stdcall
@@ -0,0 +1,12 @@
+diff -ur libgd-2.1.1.orig/src/gd.h libgd-2.1.1/src/gd.h
+--- libgd-2.1.1.orig/src/gd.h 2015-01-14 02:15:47.000000000 +0100
++++ libgd-2.1.1/src/gd.h 2015-01-14 10:49:15.922009653 +0100
+@@ -62,7 +62,7 @@
+ # define BGD_EXPORT_DATA_PROT __declspec(dllimport)
+ # endif
+ # endif
+-# define BGD_STDCALL __stdcall
++# define BGD_STDCALL
+ # define BGD_EXPORT_DATA_IMPL
+ #else
+ # ifdef HAVE_VISIBILITY
diff --git a/Build/source/libs/gd/libgd-2.1.0-PATCHES/patch-03-ceill b/Build/source/libs/gd/libgd-2.1.1-PATCHES/patch-03-ceill
index f8fc797d69e..574ccf0a805 100644
--- a/Build/source/libs/gd/libgd-2.1.0-PATCHES/patch-03-ceill
+++ b/Build/source/libs/gd/libgd-2.1.1-PATCHES/patch-03-ceill
@@ -1,6 +1,6 @@
-diff -ur libgd-2.1.0.orig/src/gd_bmp.c libgd-2.1.0/src/gd_bmp.c
---- libgd-2.1.0.orig/src/gd_bmp.c 2013-06-25 11:58:23.000000000 +0200
-+++ libgd-2.1.0/src/gd_bmp.c 2014-06-20 17:18:24.000000000 +0200
+diff -ur libgd-2.1.1.orig/src/gd_bmp.c libgd-2.1.1/src/gd_bmp.c
+--- libgd-2.1.1.orig/src/gd_bmp.c 2015-01-06 10:16:03.000000000 +0100
++++ libgd-2.1.1/src/gd_bmp.c 2015-01-14 10:50:17.032906106 +0100
@@ -792,7 +792,7 @@
}
diff --git a/Build/source/libs/gd/libgd-2.1.0/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/CMakeLists.txt
index 4880f559ce5..5bec7043208 100644
--- a/Build/source/libs/gd/libgd-2.1.0/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/CMakeLists.txt
@@ -1,9 +1,9 @@
# $Id$
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6 FATAL_ERROR)
SET(PACKAGE GD)
SET(PACKAGE_NAME GD)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6 FATAL_ERROR)
CMAKE_POLICY(SET CMP0017 OLD)
PROJECT(GD)
@@ -13,6 +13,7 @@ OPTION(ENABLE_PNG "Enable PNG support" 0)
OPTION(ENABLE_LIQ "Enable libimagequant support" 0)
OPTION(ENABLE_JPEG "Enable JPEG support" 0)
OPTION(ENABLE_TIFF "Enable TIFF support" 0)
+OPTION(ENABLE_ICONV "Enable ICONV support" 0)
OPTION(ENABLE_XPM "Enable XPM support" 0)
OPTION(ENABLE_FREETYPE "Enable Freetype2 support" 0)
OPTION(ENABLE_FONTCONFIG "Enable FontConfig support" 0)
@@ -68,12 +69,12 @@ else (USE_EXT_GD)
SET(GD_VERSION_MAJOR "2")
SET(GD_VERSION_MINOR "1")
- SET(GD_VERSION_PATCH "0")
- SET(GD_VERSION_EXTRA "-alpha1")
+ SET(GD_VERSION_PATCH "1")
+ SET(GD_VERSION_EXTRA "")
SET(GD_VERSION "${GD_VERSION_MAJOR}.${GD_VERSION_MINOR}.${GD_VERSION_PATCH}${GD_VERSION_EXTRA}")
SET(GD_VERSION_STRING "${GD_VERSION}")
- SET(GD_VERSION_INT "20100")
+ SET(GD_VERSION_INT "20101")
SET(CMAKE_REQUIRED_INCLUDES "/usr/include" "/usr/local/include")
@@ -86,6 +87,10 @@ else (USE_EXT_GD)
if (ENABLE_PNG)
FIND_PACKAGE(PNG REQUIRED)
endif (ENABLE_PNG)
+
+ if (ENABLE_ICONV)
+ FIND_PACKAGE(ICONV REQUIRED)
+ endif (ENABLE_ICONV)
FIND_PACKAGE(ZLIB)
@@ -141,6 +146,12 @@ else (USE_EXT_GD)
INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
SET(HAVE_LIBPNG 1)
ENDIF(PNG_FOUND)
+
+ IF(ICONV_FOUND)
+ INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR})
+ SET(HAVE_ICONV 1)
+ SET(HAVE_ICONV_H 1)
+ ENDIF(ICONV_FOUND)
IF(LIQ_FOUND)
INCLUDE_DIRECTORIES(${LIQ_INCLUDE_DIR})
@@ -191,13 +202,13 @@ else (USE_EXT_GD)
ADD_DEFINITIONS("/D_CRT_SECURE_NO_DEPRECATE")
endif(NOT MINGW AND MSVC_VERSION GREATER 1399)
if (MINGW OR MSYS)
- ADD_DEFINITIONS("-mms-bitfields -m32")
+ ADD_DEFINITIONS("-mms-bitfields") # -m32
endif (MINGW OR MSYS)
else (WIN32)
SET(GD_LIB gd)
endif (WIN32)
- SET(GD_LIB_STATIC "${GD_LIB}-static")
+ SET(GD_LIB_STATIC "${GD_LIB}_static")
IF(PROFILE)
add_definitions("-pg")
diff --git a/Build/source/libs/gd/libgd-2.1.1/CONTRIBUTORS b/Build/source/libs/gd/libgd-2.1.1/CONTRIBUTORS
new file mode 100644
index 00000000000..37ae474b6c3
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/CONTRIBUTORS
@@ -0,0 +1,26 @@
+chapg
+Chris Reuter
+Colin Watson
+Dimitar Dobrev
+edink
+Gilles Espinasse
+guenter
+Kornel Lesiński
+kshepherd
+lhecking
+Marcin Wojdyr
+mattias
+Mike Frysinger
+mloskot
+Nathanael Jones
+nlopess
+Ondřej Surý
+Pierre Joye
+pornel
+Remi Collet
+scottmac
+tabe
+Takeshi Abe
+Tim Toohey
+tostercx
+Vincent Bernat
diff --git a/Build/source/libs/gd/libgd-2.1.0/COPYING b/Build/source/libs/gd/libgd-2.1.1/COPYING
index 5e17d03e861..5e17d03e861 100644
--- a/Build/source/libs/gd/libgd-2.1.0/COPYING
+++ b/Build/source/libs/gd/libgd-2.1.1/COPYING
diff --git a/Build/source/libs/gd/libgd-2.1.1/ChangeLog b/Build/source/libs/gd/libgd-2.1.1/ChangeLog
new file mode 100644
index 00000000000..8668226ee13
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/ChangeLog
@@ -0,0 +1,317 @@
+be907e0 fix indent (Pierre Joye)
+999b5d2 add sanity check and fix leak on exit (Pierre Joye)
+1424dd6 free path on error (Pierre Joye)
+13d87a6 free im on error (Pierre Joye)
+2a40315 update changelog (Pierre Joye)
+5c562ec Add thumbs.bat and thumbs.sh to Makefile.am (Nathanael Jones)
+bc372f2 Merge branch 'master' into rebase-1-for-2015 (Nathanael Jones)
+a247407 Use sprintf instead of snprintf to be C89 compliant. (Nathanael Jones)
+0324316 Remove uneeded includes introduced in earlier version-local commits. (Nathanael Jones)
+4d54513 Exposed all missing format-independent members in the C++ wrapper. (Nathanael Jones)
+c7bf379 Update gdpp.* to use HAVE_LIBPNG vs HAVE_PNG, etc.- should honor the same feature support flags as the rest of gd, (Nathanael Jones)
+40c6129 Normalize static lib name to libgd.a on *nix and libgd_static.lib on windows. (Nathanael Jones)
+7c2b071 Replace windows MSVC makefile; update msys iconv path. (Nathanael Jones)
+07c3fde Drop -m32 definition on MINGW; prevents a 64-bit build from occurring. (Nathanael Jones)
+37f5925 Skip bug00132 - failing because test data is out if date (we think). (Nathanael Jones)
+f085a2e When both CPP_SHARP and _WIN32 are defined, do not enable thread safety. (Nathanael Jones)
+e81ff90 Export C++ wrapper clases. Change two Gd() functions of the C++ wrapper to return values when the underlying C calls do. (Nathanael Jones)
+56f79f3 C89 compat; define vars at top of function (Nathanael Jones)
+b52b9c5 Upgrade to long-syntax CMAKE add_test command to improve cross-platform compatibility. (Nathanael Jones)
+e8a1a46 free coeffs (Pierre Joye)
+5f7c099 free allocated palette on error (Pierre Joye)
+7b49862 fix im leaked on error (Pierre Joye)
+4faf926 just reduce static analyzer noise (Pierre Joye)
+2a09086 free tc_cache and path on error (leak) (Pierre Joye)
+09e954b Thumbs: add osx settings for travis (tostercx)
+4af76c9 fix comment (Remi Collet)
+3c0d220 Fix possible infinite loop (php bug report #68713) - make code more legible (yy>=yy-1 seems ugly) - fix mem leak, always free src->tpixels (Remi Collet)
+7a8e6b8 Thumbs: use rsync -u on osx as it doesn't have cp -u (tostercx)
+eb9d7d1 Thumbs: Remove cp -u usage (Nathanael Jones)
+c9e458b add read-only test images to tarball (Remi Collet)
+3169371 use / in image patch (Remi Collet)
+81e9a99 move overflow test outside the loop for perf (Remi Collet)
+47eb44b Fix possible buffer read overflow detected by -fsanitize=address, thanks to Jan Bee (Remi Collet)
+5fe6837 squash test commits; add deps from nuget; fix bindings (tostercx)
+679fd78 pack compressed dll vers; build bindings (tostercx)
+0c3b914 fix mingw if blocks (tostercx)
+84319d1 replace slashes with backslashes for appveyor/cmd (tostercx)
+c954881 add build targets for gnu with thumbs (tostercx)
+18c51e6 fix tiff targets (tostercx)
+5f99611 fix dll_name not set before usage (tostercx)
+c447d68 fetch nasm (tostercx)
+7ba81f0 add thumbs (tostercx)
+4865cdb rename libs correctly as soon as they're copied (tostercx)
+bf51c4e fix tbsd_*_built flags not being set (tostercx)
+f3deb6b add basic msvc thumbs (tostercx)
+39fd5ce Exposed all missing format-independent members in the C++ wrapper. (Dimitar Dobrev)
+2d74b00 update lib switching macros (tostercx)
+d5527e7 push config.h (tostercx)
+5828f7e Use ifdefs around keyword redefinitions (Nathanael Jones)
+d3fb9c3 update appveyor project url (tostercx)
+6db34b7 Merged in nathanaeljones/gd-libgd/test-message-improvements (pull request #22) (Nathanael Jones)
+d1a6768 Merged in nathanaeljones/gd-libgd/add-osx-boostrap-support (pull request #21) - bootstrap.sh now offers build tips on OS X and defaults to glibtoolize (Nathanael Jones)
+31619ab Merged in nathanaeljones/gd-libgd/shut-up-automake (pull request #23) Silence automake 1.14 warnings (Nathanael Jones)
+7eb9462 Merged in nathanaeljones/gd-libgd/cmake-iconv (pull request #24) (Nathanael Jones)
+dedf03f Merged in nathanaeljones/gd-libgd/msvc-fix-keyword-macros (pull request #25) (Nathanael Jones)
+c4809ae Changed two functions of the C++ wrapper to return values when the underlying C calls do. (Dimitar Dobrev)
+433b04a set msvc output to minimal (tostercx)
+daa7613 move drone build script to file (tostercx)
+82550ca add drone badge (tostercx)
+6ea31fb reset build type (tostercx)
+47eaee1 test CMAKE_BULD_TYPE (tostercx)
+e4fbb28 test CMAKE_BULD_TYPE (tostercx)
+8e18552 push uncompressed dlls as artifacts (tostercx)
+0bcb5e3 push uncompressed dlls as artifacts (tostercx)
+5d09526 test dgn w64 (tostercx)
+e3fe7e4 warn inline (tostercx)
+adc3b7c test w64-32 (tostercx)
+55f9066 inline test 3 (tostercx)
+12898fe inline test 2 (tostercx)
+8864390 inline test (tostercx)
+0cd926f Exported all classes from the C++ binding of libgd. (Nathanael Jones)
+c8711e7 fetch binding gen from master (tostercx)
+23b5f11 test 32bit msvc bindings (tostercx)
+98d1a1a update binding artifact handling (tostercx)
+6be49c8 test msvc x64 bindings 4 (tostercx)
+97c2846 test msvc x64 bindings 3 (tostercx)
+eee663c test msvc x64 bindings 2 (tostercx)
+a7ce8bb test msvc x64 bindings (tostercx)
+12a6fbc scrap ramdisks (tostercx)
+1f07497 ramdisk test 3 (tostercx)
+398a82c ramdisk test 2 (tostercx)
+c6cd0d8 ramdisk test (tostercx)
+ae8a7e5 imdisk test 7 (tostercx)
+3a178fd imdisk test 6 (tostercx)
+5d5eb2a imdisk test 6 (tostercx)
+bfdc673 imdisk test 5 (tostercx)
+1855563 imdisk test 5 (tostercx)
+084e2e2 imdisk test 4 (tostercx)
+bbad6a7 imdisk test 3 (tostercx)
+9d3bd38 imdisk test 2 (tostercx)
+ff7ace5 Merge branch 'master' of https://github.com/imazen/gd-libgd (tostercx)
+e78df6a imdisk test (tostercx)
+f15ea0e Msbuild logging: Fix block scope error (Nathanael Jones)
+3a7334c Msbuild now logs to file and uploads as artifact (Nathanael Jones)
+c0ce1fa Enable verbose msbuild output temporarily (Nathanael Jones)
+b70fd99 fix unix static name (tostercx)
+b217d22 update nuget package names; add version # (tostercx)
+724869d update test macro usage (tostercx)
+560aa9b fix ps syntax errors (tostercx)
+dce1809 configure files only if building bindings (tostercx)
+e023800 test min=1 (tostercx)
+668ef42 test min=0 (tostercx)
+c28d572 quote function (tostercx)
+cd9ae09 test test switching macros (tostercx)
+c9b0fec add gdsharp .cs files to artifact (tostercx)
+c19f2e0 remove SET spaces (tostercx)
+3e88692 fix if spacing (tostercx)
+9208848 test min flag (tostercx)
+fef130e mingw test - noft; wtiff (tostercx)
+8fae7df test mingw no tiff (tostercx)
+bef860f mingw test build (tostercx)
+841f3cd fix msvc static lib name; test mingw no-rtti (tostercx)
+31552f5 build all (tostercx)
+071963b fix if block (tostercx)
+71f8aaf remove original dll on pack (tostercx)
+b7ac813 minimal build (tostercx)
+487ee4c re-enable packing (tostercx)
+8e4ea0e test ps spacing (tostercx)
+3ef2235 disable upx (tostercx)
+918d603 update library names (tostercx)
+bfff81d update library names (tostercx)
+daa782e upx test 3 (tostercx)
+5fc0ca3 upx test 2 (tostercx)
+4fba094 add upx; fix cmake_cmd (tostercx)
+015be62 spring cleaning (tostercx)
+09daf1d re-fix if block (tostercx)
+338c39b fix mingw freetype static link (tostercx)
+335fd04 fix tiff static link (tostercx)
+397029a fix if block (tostercx)
+c16ccd1 fix freetype static links (tostercx)
+6c3617a add appveyor badge (tostercx)
+b6b0249 push nunit result xml as artifact (tostercx)
+d87b394 disable iconv (tostercx)
+fb10cf1 fix dll dir for bindings (tostercx)
+61e8d53 simplify build script (tostercx)
+b6a6ba6 fix static link to iconv for mingw builds (tostercx)
+f8d2a36 fix mingw static links (tostercx)
+ff2eb8a fix msvc link to static jpeg (tostercx)
+1d75d52 remove inline flags; fetch deps from subbuilds (tostercx)
+b0167e9 keep inline functions (tostercx)
+6d3ab8d fix mingw dir; build only mingw (tostercx)
+4d88ae7 scrap .vhd mount; update compiler blob location (tostercx)
+1f7d33b test mounted mingww64 (tostercx)
+bd4cebd fix bloated freetype (tostercx)
+ade007d Support MSVC++ 2013 and higher: define _ALLOW_KEYWORD_MACROS, inline, strcasecmp, snprintf. (Nathanael Jones)
+f82b371 Add libiconv support to CMake files (Nathanael Jones)
+10ffb33 Silence automake 1.14 warnings ("source file is in a subdirectory, but option subdir-objects is disabled"). (Nathanael Jones)
+90c3799 Add gdTestAssertMsg(condition, formatmessage, variables) to support detailed failure messages. Improve error reporting and diagnostics in gdimagefile test. Fix 'max' definition conflict on some compilers. (Nathanael Jones)
+7f1d183 bootstrap.sh now offers build tips on OS X and defaults to glibtoolize (Nathanael Jones)
+444c760 update mingw crt static link command (tostercx)
+0b10bb8 exclude failing binding test; build all (tostercx)
+f05791c static link msvc runtime (tostercx)
+4f8e411 fix elseif block (tostercx)
+7dc864c static link mingw compiler deps (tostercx)
+c38ad3c update repositories (tostercx)
+64b843b Merge pull request #5 from tostercx/master (tostercx)
+292124c squash everything (tostercx)
+8d63a96 Merge pull request #4 from tostercx/master (Nathanael Jones)
+344267f fix testing env detection and directory (tostercx)
+9664951 fix tests not executing (tostercx)
+701507b fix x64 cross compiles (tostercx)
+33dff1f not needed anymore (tostercx)
+c1bcfcd not needed anymore (tostercx)
+9546428 fix platform letter case (tostercx)
+4d74480 fix gdtest not rebuilding (tostercx)
+4fac5f7 remove mkdir error messages (tostercx)
+6e7128a Prevent CppSharp parsing error (Nathanael Jones)
+8e8c0f9 Get gdnametest passing on windows (Nathanael Jones)
+300b6ff Fix gdnametest on *nix (Nathanael Jones)
+6c4ffe7 Improve error messages in gdnametest. (Nathanael Jones)
+ddbf021 Drop strcasecmp implementation. Only define 'inline' on msvc builds. (Nathanael Jones)
+42e5fa7 Merge remote-tracking branch 'origin/master' (Nathanael Jones)
+e30293d Add a readme for building on windows. (Nathanael Jones)
+681992a Remove src/config.h and src/gd.h from .gitignore. Sheesh. (Nathanael Jones)
+235c5b0 Merge pull request #3 from tostercx/master (Nathanael Jones)
+0eb3b05 fix rebuilds failing (tostercx)
+dab8734 fix mkdir failing on appveyor (tostercx)
+0356ea9 fix mkdir failing on appveyor (tostercx)
+96408de fix mkdir (tostercx)
+073197d fix dir making (tostercx)
+2e1d22e fix makefile always rebuilding (tostercx)
+25b31be add cleanup, .gitnore build directories and deps, partially fix always rebuilding (tostercx)
+7f735f6 Merged in nathanaeljones/gd-libgd/nathanaeljones/restore-support-for-alphablendingflag-va-1409782287517 (pull request #20) (Pierre Joye)
+08eb6ee Restore support for alphaBlendingFlag value gdEffectAlphaBlend (Nathanael Jones)
+e3ff6ec C89 compat (tostercx)
+e52ed5e Merge pull request #2 from tostercx/master (Nathanael Jones)
+6cc63f2 fix platorm reports in test (tostercx)
+68a8dc0 updated windows makefile and test execution (tostercx)
+8e7df78 Fix syntax error in Makefile.vc (missing line continuations) (Nathanael Jones)
+71ab3d8 Fix space/tab mix in Makefile.vc; enable vectorization reporting. (Nathanael Jones)
+911046d Comment out unused compilation vars; ensure (_)WIN32 is set, enable speed optimizations via /O2 (Nathanael Jones)
+749b33e Improve error reporting in gdimagefile test. Add gdTestAssertMsg(condition, message, variables) to support detailed failure messages. (Nathanael Jones)
+db88704 Restore support for alphaBlendingFlag value gdEffectAlphaBlend. (9 unit tests pass again). (Nathanael Jones)
+dc8bb49 Only omit the 'max' macro if it is already present (this may break windows, let's see) (Nathanael Jones)
+b0b140f Drop 7zip installation step, should already be installed on AppVeyor by default. (Nathanael Jones)
+bcf7cb4 Switch dependency repository back, and use a named branch now for compatibility. (Nathanael Jones)
+043dfa8 Merge pull request #1 from tostercx/master (Nathanael Jones)
+12ab27b add notes (tostercx)
+b710274 remove old makefiles (tostercx)
+dd870dc consolidate makefiles to windows/makefile.vc (tostercx)
+c114d89 consolidate makefiles to windows/makefile.vc (tostercx)
+720f82b add static lib to artifacts, generate test config in makefile (tostercx)
+c088f28 add static lib to artifacts, generate test config in makefile (tostercx)
+0db988e add static lib to artifacts, generate test config in kaefile (tostercx)
+1ce2b19 fix overwriting LIB env var (tostercx)
+e0475cc debug iconv tmp fix (tostercx)
+a3ee395 re-fix mkdir (tostercx)
+5abb901 fix mkdir (tostercx)
+35888c5 added making static libgd (tostercx)
+701bc63 switch to libjpeg-turbo (tostercx)
+d74fa37 fetch deps from imazen/gd-win-dependencies (tostercx)
+23cbea2 Add AppVeyor files provided by TosterCx (Nathanael Jones)
+af9ca1d Simplify makefile and add static lib generation. (Nathanael Jones)
+ce5f060 Simplify Makefile.vc (Nathanael Jones)
+ab31a6d Build inside Release_GD (Nathanael Jones)
+ee308e1 Rename Makefile.gd and add some notes (Nathanael Jones)
+d8987f5 Added strcasecmp implementation, now creates a .dll (Nathanael Jones)
+09006c4 Get makefile almost working (Nathanael Jones)
+2fdf3ad Start work on nmake makefile (Nathanael Jones)
+0eb8429 Changed path to libiconv in msys Makefile. (Nathanael Jones)
+5aee678 Merged from the upstream. (Nathanael Jones)
+31ff666 Merged in ttoohey/gd-libgd/layout-effect (pull request #18) (Ondřej Surý)
+33c05c1 Merged in ttoohey/gd-libgd/bugfix/font_path_overrun (pull request #19) (Ondřej Surý)
+463c3bd CVE-2014-2497, NULL pointer dereference, fix #126 (Remi Collet)
+f01ade7 Remove wrong license headers. Based on http://www.paulbourke.net/dataformats/tga/ (Pierre Joye)
+354409b Fix buffer overrun from long font search path (Tim Toohey)
+01dccbd add tests for layer effects (Tim Toohey)
+b39f92b Add overlay and multiply effects to gdImageSetPixel (Tim Toohey)
+4b86e06 Fix artefact in gdImageScale using GD_BILINEAR_FIXED (Remi Collet)
+1de3b80 new example "resize" (Remi Collet)
+5b42b11 Fix gdImageSetInterpolationMethod with GD_DEFAULT (Remi Collet)
+2d5dc2e MSys Makefile now statically links libgd.dll to libiconv. (Chris Reuter)
+01104a2 MSys Makefile fix (Chris Reuter)
+7a8e8b2 Bug fix: GD DLL rename hadn't been propagated everywhere. (Chris Reuter)
+6b94f66 Minor enhancements to the MinGW+Msys build scripts. (Chris Reuter)
+339b17a Updated the MSys build files. (Chris Reuter)
+0cb34fd Got gd_filename.c to work correctly under Windows. (Chris Reuter)
+74ad18c Updated .gitignore. (Chris Reuter)
+0da2258 Added TIFF to the list of skipped image formats in gdnametest.c (Chris Reuter)
+0afe34d Merge branch 'master' of https://bitbucket.org/libgd/gd-libgd (Chris Reuter)
+275ac17 Started importing the old manual into Naturaldocs comments. (Chris Reuter)
+3b2caf6 Added function 'gdImageGetInterpolationMethod()'. (Chris Reuter)
+592e232 Merge branch 'master' of https://bitbucket.org/libgd/gd-libgd (Chris Reuter)
+00cd958 Added gdnametest and gdCopyBlurred to .gitignore. (Chris Reuter)
+4761a7e Added gdnametest and gdCopyBlurred to .gitignore. (Chris Reuter)
+c9d2f89 Added gdImageFile(), gdImageCreateFromFile() and gdSupportsFileType(). (Chris Reuter)
+9eb3951 Added gdImageFile(), gdImageCreateFromFile() and gdSupportsFileType(). (Chris Reuter)
+e054be7 Small code cleanup. (Chris Reuter)
+3cb508f Small code cleanup. (Chris Reuter)
+9933000 Merge branch 'master' of https://bitbucket.org/libgd/gd-libgd (Chris Reuter)
+b20cdef Added a test case for gdImageCopyGaussianBlurred(). (Chris Reuter)
+6febd90 Added a new Gaussian blur function. (Chris Reuter)
+3c43f07 Merge branch 'master' of https://bitbucket.org/libgd/gd-libgd (Chris Reuter)
+d525680 Bug fix: gdImageScale() was sometimes messing up transparency. (Chris Reuter)
+b505465 Merge remote-tracking branch 'upstream/master' (Chris Reuter)
+549addc Added .gitignore lines to exclude naturaldocs by-products. (Chris Reuter)
+bb1d4a0 Added documention for gdImageCreate() and type gdImage. (Chris Reuter)
+3c1202e Added beginnings of an updated manual (Chris Reuter)
+7060f5e Added another Makefile. (Chris Reuter)
+769fb15 Added another Makefile. (Chris Reuter)
+3f8931d Bug fix: tests didn't (always) return a valid status. (Chris Reuter)
+0dfd45c Bug fix: tests didn't (always) return a valid status. (Chris Reuter)
+f316c8a Removed bash-ism from bootstrap.sh. (Not /bin/sh are bash, even these days.) (Chris Reuter)
+6cb7f9f Merge branch 'master' of github.com:imazen-discovery/gd-libgd (Chris Reuter)
+0adaf8a Merge branch 'master' of https://bitbucket.org/libgd/gd-libgd (Chris Reuter)
+d21db28 Merge remote-tracking branch 'refs/remotes/origin/master' (Nathanael Jones)
+68d38a8 bootstrap.sh now offers build tips on OS X and defaults to glibtoolize (Nathanael Jones)
+9812cc4 Merge branch 'master' of https://bitbucket.org/suetanvil/gd-libgd. (Chris Reuter)
+506e57a Merged libgd/gd-libgd into master (Chris Reuter)
+16ccce6 Fixed a comment. (Chris Reuter)
+e82b084 Added new files to CMakeLists.txt. (Chris Reuter)
+8cdb109 Updated Netware makefile (Chris Reuter)
+784ffdd Test case for new version code. (Chris Reuter)
+4378b8d gd.h now holds the canonical version number. (Chris Reuter)
+3c96ad1 Keep automake from complaining "automake: but option 'subdir-objects' is disabled" (Nathanael Jones)
+5b7f746 Merged libgd/gd-libgd into master (Chris Reuter)
+3766620 Merge branch 'master' of https://bitbucket.org/libgd/gd-libgd (Chris Reuter)
+3884557 Merged in suetanvil/gd-libgd/scale-palette-image-bug (pull request #16) (Chris Reuter)
+1a92b2e Merged in suetanvil/gd-libgd/interp-precision (pull request #15) (Chris Reuter)
+723ea52 Fix for Issue #97: segfaults when scaling a non-truecolor image (Chris Reuter)
+f321961 Added test case to exercise all of the gdImageScale() modes. (Chris Reuter)
+5586a1e Merged libgd/gd-libgd into master (Chris Reuter)
+948bb0a Higher precision in scaling. (Chris Reuter)
+3f713da Higher precision in scaling. (Chris Reuter)
+1c6ee56 More dead code removal. (Chris Reuter)
+241ada6 Removed some dead code. (Chris Reuter)
+916d00c Merged in suetanvil/gd-libgd/suetanvil-scale-code-cleanup (pull request #14) (Pierre Joye)
+0510b4f Merged in suetanvil/gd-libgd/suetanvil-dead-code-removal (pull request #13) (Pierre Joye)
+2ade818 Merge branch 'private-scale-axis-merge-rebased' (Chris Reuter)
+546b274 Bug fix: #92: Bicubic scaling leaves the rightmost and bottom rows black (Chris Reuter)
+16ed1a9 Added a test case for gdImageScaleTwoPass(). (Chris Reuter)
+65fce84 Improved testing code (Chris Reuter)
+be3c8cb Cleaned up floating-point rescaling code. (Chris Reuter)
+0d13658 More dead code removal. (Chris Reuter)
+5ce14ef Removed some dead code. (Chris Reuter)
+70a4070 Merge branch 'master' of https://bitbucket.org/suetanvil/gd-libgd (Chris Reuter)
+08fdff6 Merged libgd/gd-libgd into master (Chris Reuter)
+6db2828 Merge remote-tracking branch 'remotes/bitbucket-repo/suetanvil' (Chris Reuter)
+3c5c639 Merged in suetanvil/gd-libgd/suetanvil (pull request #12) (Pierre Joye)
+4f65a3e Fixed memory overrun bug in gdImageScaleTwoPass (Chris Reuter)
+3e76d30 Merged libgd/gd-libgd into master (Chris Reuter)
+de7acbf Merged in suetanvil/gd-libgd (pull request #11) (Pierre Joye)
+4c70f57 Fix #86: gdImageScale segfaults with most interpolation types (Chris Reuter)
+6d1275d Fix bug #86 (segfaults on gdImageScale with most interpolation modes). (Chris Reuter)
+2a862b2 Undo previous change to make a cleaner changeset. (Chris Reuter)
+4a90e3f Fixed bug #86. https://bitbucket.org/libgd/gd-libgd/issue/86/gdimagescale-segfaults-with-most (Chris Reuter)
+d47c718 Merge branch '2.1.0-stable' into bicubic-fixed-perf (Chris Reuter)
+fda0b29 Added a function to retrieve the interpolation mode ID. (Chris Reuter)
+fb93646 Added the latest manual I could find. (Chris Reuter)
+a0be11f Added new README.md prior to importing into GitHub. (Chris Reuter)
+a0f58c6 fix #81, cmake_minimum_required must be the 1st line in 2.8+ (Pierre Joye)
+54f8019 GD_EXTRA_VERSION and GD_VERSION_STRING needs quotes (Courtesy of Marc Deslauriers) (Ondřej Surý)
+dfea094 Add INSTALL notes for Solaris conflicting iconv.h headers (fixes #76) (Ondřej Surý)
+37689ef ignore generated gd.h header (Ondřej Surý)
+5b917b4 Merged in fix-version-in-gd.h (pull request #9) (Ondřej Surý)
+f597bd4 Don't append dash when GDLIB_EXTRA is empty (Ondřej Surý)
+f47a1df Create gd.h from gd.h.in to properly include current library version (Ondřej Surý) \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-2.1.0/Makefile.am b/Build/source/libs/gd/libgd-2.1.1/Makefile.am
index e8697dec587..17c5b0537e7 100644
--- a/Build/source/libs/gd/libgd-2.1.0/Makefile.am
+++ b/Build/source/libs/gd/libgd-2.1.1/Makefile.am
@@ -1,3 +1,3 @@
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src config tests
-EXTRA_DIST = test docs examples windows VMS cmake netware bootstrap.sh CMakeLists.txt
+EXTRA_DIST = test docs examples windows VMS cmake netware bootstrap.sh CMakeLists.txt thumbs.bat thumbs.sh CONTRIBUTORS README
diff --git a/Build/source/libs/gd/libgd-2.1.0/NEWS b/Build/source/libs/gd/libgd-2.1.1/NEWS
index 8bf38434add..8bf38434add 100644
--- a/Build/source/libs/gd/libgd-2.1.0/NEWS
+++ b/Build/source/libs/gd/libgd-2.1.1/NEWS
diff --git a/Build/source/libs/gd/libgd-2.1.1/README b/Build/source/libs/gd/libgd-2.1.1/README
new file mode 100644
index 00000000000..457b9c1f027
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/README
@@ -0,0 +1,10 @@
+GD is an open source code library for the dynamic creation of images by programmers.
+
+GD is written in C, and "wrappers" are available for Perl, PHP and other languages. GD creates PNG,
+JPEG, GIF, WebP, XPM, BMP images, among other formats. GD is commonly used to generate charts,
+graphics, thumbnails, and most anything else, on the fly. While not restricted to use on the web.
+
+The most common applications of GD involve website development.
+
+The library was originally developped by Thomas Boutell and is now maintained by many contributors (see the CONTRIBUTORS file)
+under the umbrella of PHP.net.
diff --git a/Build/source/libs/gd/libgd-2.1.0/VMS/CONFIGURE.COM b/Build/source/libs/gd/libgd-2.1.1/VMS/CONFIGURE.COM
index a2e42c5b223..a2e42c5b223 100644
--- a/Build/source/libs/gd/libgd-2.1.0/VMS/CONFIGURE.COM
+++ b/Build/source/libs/gd/libgd-2.1.1/VMS/CONFIGURE.COM
diff --git a/Build/source/libs/gd/libgd-2.1.0/VMS/README.VMS b/Build/source/libs/gd/libgd-2.1.1/VMS/README.VMS
index cdeee561654..cdeee561654 100644
--- a/Build/source/libs/gd/libgd-2.1.0/VMS/README.VMS
+++ b/Build/source/libs/gd/libgd-2.1.1/VMS/README.VMS
diff --git a/Build/source/libs/gd/libgd-2.1.0/bootstrap.sh b/Build/source/libs/gd/libgd-2.1.1/bootstrap.sh
index 3092064cfcf..dac639eeaa4 100755
--- a/Build/source/libs/gd/libgd-2.1.0/bootstrap.sh
+++ b/Build/source/libs/gd/libgd-2.1.1/bootstrap.sh
@@ -2,8 +2,24 @@
# $Id$
# Small shell script to build gd from source
+# Generate the manual (unless naturaldocs isn't installed). Source
+# dists should include the docs so that end users don't need to
+# install naturaldocs. At the same time, we tolerate it being missing
+# so that random hackers don't need it just to build the code.
+if which naturaldocs > /dev/null; then
+ echo "Generation user docs:"
+ (cd docs/naturaldocs; bash run_docs.sh)
+else
+ echo "Can't find naturaldocs; not generating user manual."
+fi
+
+
# allow importing from the environment, e.g.
# "AUTOCONF=autoconf259 ... ./bootstrap.sh"
+if echo $OSTYPE | grep -q '^darwin' ; then
+ echo Having trouble on OS X? Try brew install autoconf libtool automake gettext apple-gcc42 pkg-config cmake
+ LIBTOOLIZE=${LIBTOOLIZE:-glibtoolize}
+fi
ACLOCAL=${ACLOCAL:-aclocal}
AUTOCONF=${AUTOCONF:-autoconf}
AUTOHEADER=${AUTOHEADER:-autoheader}
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/AC_HEADER_STDC.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/AC_HEADER_STDC.cmake
index cf4fff83ba5..cf4fff83ba5 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/AC_HEADER_STDC.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/AC_HEADER_STDC.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/CMakeParseArguments.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/CMakeParseArguments.cmake
index b57b0296d3f..b57b0296d3f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/CMakeParseArguments.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/CMakeParseArguments.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/CheckDIRSymbolExists.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/CheckDIRSymbolExists.cmake
index dde6c7f3af8..dde6c7f3af8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/CheckDIRSymbolExists.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/CheckDIRSymbolExists.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/CheckPrototypeExists.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/CheckPrototypeExists.cmake
index 85a171758bc..85a171758bc 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/CheckPrototypeExists.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/CheckPrototypeExists.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindFontConfig.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindFontConfig.cmake
index 23d0020c52e..23d0020c52e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindFontConfig.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindFontConfig.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindFreetype.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindFreetype.cmake
index 3d2a8a48088..3d2a8a48088 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindFreetype.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindFreetype.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindGD.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindGD.cmake
index 2860d6cc77f..2860d6cc77f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindGD.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindGD.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindICONV.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindICONV.cmake
new file mode 100644
index 00000000000..49d5f6b95a0
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindICONV.cmake
@@ -0,0 +1,64 @@
+# - Try to find Iconv
+# Once done this will define
+#
+# ICONV_FOUND - system has Iconv
+# ICONV_INCLUDE_DIR - the Iconv include directory
+# ICONV_LIBRARIES - Link these to use Iconv
+# ICONV_SECOND_ARGUMENT_IS_CONST - the second argument for iconv() is const
+#
+include(CheckCCompilerFlag)
+include(CheckCSourceCompiles)
+
+IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+ # Already in cache, be silent
+ SET(ICONV_FIND_QUIETLY TRUE)
+ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+
+FIND_PATH(ICONV_INCLUDE_DIR iconv.h HINTS /sw/include/ PATHS /opt/local)
+
+FIND_LIBRARY(ICONV_LIBRARIES NAMES libiconv_a iconv libiconv c PATHS /opt/local)
+
+IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+ SET(ICONV_FOUND TRUE)
+ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
+
+set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR})
+set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES})
+IF(ICONV_FOUND)
+ check_c_compiler_flag("-Werror" ICONV_HAVE_WERROR)
+ set (CMAKE_C_FLAGS_BACKUP "${CMAKE_C_FLAGS}")
+ if(ICONV_HAVE_WERROR)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
+ endif(ICONV_HAVE_WERROR)
+ check_c_source_compiles("
+ #include <iconv.h>
+ int main(){
+ iconv_t conv = 0;
+ const char* in = 0;
+ size_t ilen = 0;
+ char* out = 0;
+ size_t olen = 0;
+ iconv(conv, &in, &ilen, &out, &olen);
+ return 0;
+ }
+" ICONV_SECOND_ARGUMENT_IS_CONST )
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_BACKUP}")
+ENDIF(ICONV_FOUND)
+set(CMAKE_REQUIRED_INCLUDES)
+set(CMAKE_REQUIRED_LIBRARIES)
+
+IF(ICONV_FOUND)
+ IF(NOT ICONV_FIND_QUIETLY)
+ MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}")
+ ENDIF(NOT ICONV_FIND_QUIETLY)
+ELSE(ICONV_FOUND)
+ IF(Iconv_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find Iconv")
+ ENDIF(Iconv_FIND_REQUIRED)
+ENDIF(ICONV_FOUND)
+
+MARK_AS_ADVANCED(
+ ICONV_INCLUDE_DIR
+ ICONV_LIBRARIES
+ ICONV_SECOND_ARGUMENT_IS_CONST
+) \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindJPEG.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindJPEG.cmake
index bb310d65dcb..bb310d65dcb 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindJPEG.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindJPEG.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindLIQ.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindLIQ.cmake
index 08713f51704..08713f51704 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindLIQ.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindLIQ.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindPNG.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindPNG.cmake
index a44affcfcc0..a44affcfcc0 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindPNG.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindPNG.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindPTHREAD.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindPTHREAD.cmake
index 0627c6d0a44..0627c6d0a44 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindPTHREAD.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindPTHREAD.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindPackageHandleStandardArgs.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindPackageHandleStandardArgs.cmake
index de124acce43..de124acce43 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindPackageHandleStandardArgs.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindPackageHandleStandardArgs.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindVPX.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindVPX.cmake
index 3a8c45ed196..3a8c45ed196 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindVPX.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindVPX.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindXPM.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindXPM.cmake
index 9b59feaa10e..9b59feaa10e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/FindXPM.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/FindXPM.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/TestForHighBitCharacters.c b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/TestForHighBitCharacters.c
index 2be51745ac8..2be51745ac8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/TestForHighBitCharacters.c
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/TestForHighBitCharacters.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/TestForHighBitCharacters.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/TestForHighBitCharacters.cmake
index b1a1b908223..b1a1b908223 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/TestForHighBitCharacters.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/TestForHighBitCharacters.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/TestForStandardHeaderwait.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/TestForStandardHeaderwait.cmake
index d3df427f9c8..d3df427f9c8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/TestForStandardHeaderwait.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/TestForStandardHeaderwait.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/gd.cmake b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/gd.cmake
index 1e846dd855d..1e846dd855d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/cmake/modules/gd.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/cmake/modules/gd.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/config/Makefile.am b/Build/source/libs/gd/libgd-2.1.1/config/Makefile.am
index 7ec5849fb68..7ec5849fb68 100644
--- a/Build/source/libs/gd/libgd-2.1.0/config/Makefile.am
+++ b/Build/source/libs/gd/libgd-2.1.1/config/Makefile.am
diff --git a/Build/source/libs/gd/libgd-2.1.0/config/gdlib-config.in b/Build/source/libs/gd/libgd-2.1.1/config/gdlib-config.in
index 70af36b5359..70af36b5359 100644
--- a/Build/source/libs/gd/libgd-2.1.0/config/gdlib-config.in
+++ b/Build/source/libs/gd/libgd-2.1.1/config/gdlib-config.in
diff --git a/Build/source/libs/gd/libgd-2.1.0/config/gdlib.pc.in b/Build/source/libs/gd/libgd-2.1.1/config/gdlib.pc.in
index b980a606902..b980a606902 100644
--- a/Build/source/libs/gd/libgd-2.1.0/config/gdlib.pc.in
+++ b/Build/source/libs/gd/libgd-2.1.1/config/gdlib.pc.in
diff --git a/Build/source/libs/gd/libgd-2.1.0/configure.ac b/Build/source/libs/gd/libgd-2.1.1/configure.ac
index 2f9f744df71..1024a3a5ad6 100644
--- a/Build/source/libs/gd/libgd-2.1.0/configure.ac
+++ b/Build/source/libs/gd/libgd-2.1.1/configure.ac
@@ -3,16 +3,14 @@
AC_PREREQ(2.54)
-# Some m4 magic to have correct version number everywhere
-m4_define([gd_MAJOR],[2])dnl
-m4_define([gd_MINOR],[1])dnl
-m4_define([gd_REVISION],[0])dnl
-dnl m4_define([gd_EXTRA],[rc2])
+# We extract version numbers from src/versions.h
+define([gv],[perl config/getver.pl ]$1)
-m4_ifdef([gd_EXTRA],
- [m4_define([gd_PKG_VERSION],[gd_MAJOR.gd_MINOR.gd_REVISION-gd_EXTRA])],
- [m4_define([gd_PKG_VERSION],[gd_MAJOR.gd_MINOR.gd_REVISION])]
-)dnl
+m4_define([gd_MAJOR],esyscmd(gv(MAJOR)))dnl
+m4_define([gd_MINOR],esyscmd(gv(MINOR)))dnl
+m4_define([gd_REVISION],esyscmd(gv(RELEASE)))dnl
+m4_define([gd_EXTRA],esyscmd(gv(EXTRA)))dnl
+m4_define([gd_PKG_VERSION],[gd_MAJOR.gd_MINOR.gd_REVISION]gd_EXTRA)]dnl
AC_INIT([GD], gd_PKG_VERSION, [https://bitbucket.org/libgd/gd-libgd/issues], [libgd], [http://lib.gd])
AC_CONFIG_SRCDIR([src/gd.c])
@@ -20,18 +18,19 @@ AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_HOST
-# This is not used anywhere
+# This is not used anywhere. However, Makefile.netware searches
+# through configure for these definitions to find the version numbers.
+# (Assuming anyone still uses Netware, that should be changed to use
+# gd.h via getver.pl instead.)
GDLIB_MAJOR=gd_MAJOR
GDLIB_MINOR=gd_MINOR
GDLIB_REVISION=gd_REVISION
GDLIB_EXTRA=gd_EXTRA
-AC_SUBST(GDLIB_MAJOR)
-AC_SUBST(GDLIB_MINOR)
-AC_SUBST(GDLIB_REVISION)
-AC_SUBST(GDLIB_EXTRA)
+GDLIB_VERSION=gd_PKG_VERSION
# Dynamic library version information
# See http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
+
GDLIB_CURRENT=3
GDLIB_REVISION=0
GDLIB_AGE=0
@@ -45,7 +44,7 @@ AC_SUBST(GDLIB_AGE)
FEATURES="GD_GIF GD_GIFANIM GD_OPENPOLYGON"
AC_SUBST(FEATURES)
-AM_INIT_AUTOMAKE([foreign dist-bzip2 dist-xz -Wall -Werror])
+AM_INIT_AUTOMAKE([foreign dist-bzip2 dist-xz -Wall -Werror subdir-objects])
AC_CONFIG_HEADERS([src/config.h:src/config.hin])
dnl newer automake wants this, but we still want to work with older
@@ -455,10 +454,10 @@ AC_MSG_RESULT([
AC_CONFIG_FILES([Makefile
src/Makefile
- tests/Makefile
- tests/test_config.h
+ tests/Makefile
+ tests/test_config.h
config/Makefile
config/gdlib-config
- config/gdlib.pc])
+ config/gdlib.pc])
AC_OUTPUT
diff --git a/Build/source/libs/gd/libgd-2.1.0/docs/INSTALL b/Build/source/libs/gd/libgd-2.1.1/docs/INSTALL
index a1e89e18ad2..a1e89e18ad2 100644
--- a/Build/source/libs/gd/libgd-2.1.0/docs/INSTALL
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/INSTALL
diff --git a/Build/source/libs/gd/libgd-2.1.1/docs/INSTALL.Solaris b/Build/source/libs/gd/libgd-2.1.1/docs/INSTALL.Solaris
new file mode 100644
index 00000000000..d6b5bd1adac
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/INSTALL.Solaris
@@ -0,0 +1,16 @@
+Solaris CAVEATS
+===============
+
+If you are using GNU iconv library installed in f.e. /opt, you will
+need to add the header location to CMAKE= in configure invokation to
+ensure that the system iconv.h header is not used when searching for
+iconv library.
+
+The resulting ./configure invokation would look something like this:
+
+MAKE=gmake CC="gcc -m64" ./configure --prefix=/opt/local \
+CFLAGS="-I/opt/local/include -DHAVE_ICONV -O2 -fomit-frame-pointer -pipe -m64" \
+--with-png=/usr --with-freetype=/opt/local
+
+For more information and discussion see:
+https://bitbucket.org/libgd/gd-libgd/issue/76
diff --git a/Build/source/libs/gd/libgd-2.1.0/docs/README.CMAKE b/Build/source/libs/gd/libgd-2.1.1/docs/README.CMAKE
index baf583c3ba6..baf583c3ba6 100644
--- a/Build/source/libs/gd/libgd-2.1.0/docs/README.CMAKE
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/README.CMAKE
diff --git a/Build/source/libs/gd/libgd-2.1.0/docs/README.JPN b/Build/source/libs/gd/libgd-2.1.1/docs/README.JPN
index 65db00b5534..65db00b5534 100644
--- a/Build/source/libs/gd/libgd-2.1.0/docs/README.JPN
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/README.JPN
diff --git a/Build/source/libs/gd/libgd-2.1.0/docs/README.TESTING b/Build/source/libs/gd/libgd-2.1.1/docs/README.TESTING
index a4c50efe3e6..a4c50efe3e6 100644
--- a/Build/source/libs/gd/libgd-2.1.0/docs/README.TESTING
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/README.TESTING
diff --git a/Build/source/libs/gd/libgd-2.1.0/docs/README.TXT b/Build/source/libs/gd/libgd-2.1.1/docs/README.TXT
index 39725dd62c1..39725dd62c1 100644
--- a/Build/source/libs/gd/libgd-2.1.0/docs/README.TXT
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/README.TXT
diff --git a/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/license.txt b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/license.txt
new file mode 100644
index 00000000000..4164bce4bc7
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/license.txt
@@ -0,0 +1,74 @@
+Title: License
+
+Credits and license terms:
+
+> In order to resolve any possible confusion regarding the authorship of
+> gd, the following copyright statement covers all of the authors who
+> have required such a statement. If you are aware of any oversights in
+> this copyright notice, please contact Pierre-A. Joye who will be
+> pleased to correct them.
+>
+> Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+> 2002, 2003, 2004 by Cold Spring Harbor Laboratory. Funded under
+> Grant P41-RR02188 by the National Institutes of Health.
+>
+> Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+> 2004 by Boutell.Com, Inc.
+>
+> Portions relating to GD2 format copyright 1999, 2000, 2001, 2002,
+> 2003, 2004 Philip Warner.
+>
+> Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003,
+> 2004 Greg Roelofs.
+>
+> Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002,
+> 2003, 2004 John Ellson (ellson@graphviz.org).
+>
+> Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John
+> Ellson (ellson@graphviz.org).
+>
+> Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+> Pierre-Alain Joye (pierre@libgd.org).
+>
+> Portions relating to JPEG and to color quantization copyright
+> 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994,
+> 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas
+> G. Lane. This software is based in part on the work of the
+> Independent JPEG Group. See the file README-JPEG.TXT for more
+> information.
+>
+> Portions relating to GIF compression copyright 1989 by Jef
+> Poskanzer and David Rowley, with modifications for thread safety
+> by Thomas Boutell.
+>
+> Portions relating to GIF decompression copyright 1990, 1991, 1993
+> by David Koblas, with modifications for thread safety by Thomas
+> Boutell.
+>
+> Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004
+> Maurice Szmurlo and Johan Van den Brande.
+>
+> Portions relating to GIF animations copyright 2004 Jaakko Hyvätti
+> (jaakko.hyvatti@iki.fi)
+>
+> Permission has been granted to copy, distribute and modify gd in
+> any context without fee, including a commercial application,
+> provided that this notice is present in user-accessible supporting
+> documentation.
+>
+> This does not affect your ownership of the derived work itself,
+> and the intent is to assure proper credit for the authors of gd,
+> not to interfere with your productive use of gd. If you have
+> questions, ask. "Derived works" includes all programs that utilize
+> the library. Credit must be given in user-accessible
+> documentation.
+>
+> This software is provided "AS IS." The copyright holders disclaim
+> all warranties, either express or implied, including but not
+> limited to implied warranties of merchantability and fitness for a
+> particular purpose, with respect to this code and accompanying
+> documentation.
+>
+> Although their code does not appear in the current release, the
+> authors also wish to thank Hutchison Avenue Software Corporation
+> for their prior contributions.
diff --git a/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/nobgd.pl b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/nobgd.pl
new file mode 100644
index 00000000000..e1c34624a81
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/nobgd.pl
@@ -0,0 +1,58 @@
+#!/usr/bin/env perl
+
+# Copy C source files (i.e. *.[ch]) from $src to $dest, first
+# stripping out uses of the macro BGD_DECLARE(<type>). A line must
+# begin with 'BGD_DECLARE' for it to be considered a use.
+
+use strict;
+use warnings;
+
+use File::Basename;
+
+my ($src, $dest) = @ARGV;
+
+die "Invalid arguments: nobgd.pl <src-dir> <dest-dir>\n"
+ unless ($src && $dest && -d $src && -d $dest);
+
+for my $file (glob("$src/*.c"), glob("$src/*.h")) {
+ do {local $| = 1; print "."};
+ fixup($file, $dest);
+}
+print "\n";
+
+sub fixup {
+ my ($src, $destDir) = @_;
+ my $dest = $destDir . "/" . basename($src);
+
+ my $content = slurp($src);
+ $content =~ s{^ BGD_DECLARE \( ([^)]+) \)}{$1}gmx;
+ unslurp($dest, $content);
+}
+
+
+sub slurp {
+ my ($filename) = @_;
+ local $/; # no file separator
+ my $data;
+
+ open my $fh, "<", $filename
+ or die "Unable to read file '$filename'.\n";
+ $data = <$fh>;
+ close($fh);
+
+ return $data;
+}
+
+
+sub unslurp {
+ my ($filename, $data) = @_;
+
+ die "Refusing to overwrite file '$filename'\n" if -f $filename;
+
+ open my $fh, ">", $filename
+ or die "Unable to open '$filename' for writing.\n";
+ print {$fh} $data
+ or die "Error writing file '$filename'\n";
+ close ($fh);
+}
+
diff --git a/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/preamble.txt b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/preamble.txt
new file mode 100644
index 00000000000..ca2e43f9db1
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/preamble.txt
@@ -0,0 +1,95 @@
+Title: About LibGD @VERSION@
+
+What is gd?:
+
+gd is a graphics library. It allows your code to quickly draw images
+complete with lines, arcs, text, multiple colors, cut and paste from
+other images, and flood fills, and write out the result as a PNG or
+JPEG file. This is particularly useful in World Wide Web applications,
+where PNG and JPEG are two of the formats accepted for inline images
+by most browsers.
+
+gd is not a paint program. If you are looking for a paint program, you
+are looking in the wrong place. If you are not a programmer, you are
+looking in the wrong place, unless you are installing a required
+library in order to run an application.
+
+gd does not provide for every possible desirable graphics
+operation. It is not necessary or desirable for gd to become a
+kitchen-sink graphics package, but version 2.0 does include most
+frequently requested features, including both truecolor and palette
+images, resampling (smooth resizing of truecolor images) and so forth.
+
+gd basics: using gd in your program:
+
+gd lets you create PNG or JPEG images on the fly. To use gd in your
+program, include the file gd.h, and link with the gd library and the
+other required libraries; the syntax for most Unix flavors is:
+
+> -lgd -lpng -lz -ljpeg -lfreetype -lm
+
+Assuming that all of these libraries are available.
+
+If you want to use the provided simple fonts, include gdfontt.h,
+gdfonts.h, gdfontmb.h, gdfontl.h and/or gdfontg.h. For more impressive
+results, install FreeType 2.x and use the gdImageStringFT function. If
+you are not using the provided Makefile and/or a library-based
+approach, be sure to include the source modules as well in your
+project.
+
+Here is a short example program. (For a more advanced example, see
+gddemo.c, included in the distribution. gddemo.c is NOT the same
+program; it demonstrates additional features!)
+
+>/* Bring in gd library functions */
+>#include "gd.h"
+>
+>/* Bring in standard I/O so we can output the PNG to a file */
+>#include <stdio.h>
+>
+>int main() {
+> /* Declare the image */
+> gdImagePtr im;
+> /* Declare output files */
+> FILE *pngout, *jpegout;
+> /* Declare color indexes */
+> int black;
+> int white;
+>
+> /* Allocate the image: 64 pixels across by 64 pixels tall */
+> im = gdImageCreate(64, 64);
+>
+> /* Allocate the color black (red, green and blue all minimum).
+> Since this is the first color in a new image, it will
+> be the background color. */
+> black = gdImageColorAllocate(im, 0, 0, 0);
+>
+> /* Allocate the color white (red, green and blue all maximum). */
+> white = gdImageColorAllocate(im, 255, 255, 255);
+>
+> /* Draw a line from the upper left to the lower right,
+> using white color index. */
+> gdImageLine(im, 0, 0, 63, 63, white);
+>
+> /* Open a file for writing. "wb" means "write binary", important
+> under MSDOS, harmless under Unix. */
+> pngout = fopen("test.png", "wb");
+>
+> /* Do the same for a JPEG-format file. */
+> jpegout = fopen("test.jpg", "wb");
+>
+> /* Output the image to the disk file in PNG format. */
+> gdImagePng(im, pngout);
+>
+> /* Output the same image in JPEG format, using the default
+> JPEG quality setting. */
+> gdImageJpeg(im, jpegout, -1);
+>
+> /* Close the files. */
+> fclose(pngout);
+> fclose(jpegout);
+>
+> /* Destroy the image in memory. */
+> gdImageDestroy(im);
+>}
+>
diff --git a/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/project/Languages.txt b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/project/Languages.txt
new file mode 100644
index 00000000000..85d5fde477b
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/project/Languages.txt
@@ -0,0 +1,113 @@
+Format: 1.51
+
+# This is the Natural Docs languages file for this project. If you change
+# anything here, it will apply to THIS PROJECT ONLY. If you'd like to change
+# something for all your projects, edit the Languages.txt in Natural Docs'
+# Config directory instead.
+
+
+# You can prevent certain file extensions from being scanned like this:
+# Ignore Extensions: [extension] [extension] ...
+
+
+#-------------------------------------------------------------------------------
+# SYNTAX:
+#
+# Unlike other Natural Docs configuration files, in this file all comments
+# MUST be alone on a line. Some languages deal with the # character, so you
+# cannot put comments on the same line as content.
+#
+# Also, all lists are separated with spaces, not commas, again because some
+# languages may need to use them.
+#
+# Language: [name]
+# Alter Language: [name]
+# Defines a new language or alters an existing one. Its name can use any
+# characters. If any of the properties below have an add/replace form, you
+# must use that when using Alter Language.
+#
+# The language Shebang Script is special. It's entry is only used for
+# extensions, and files with those extensions have their shebang (#!) lines
+# read to determine the real language of the file. Extensionless files are
+# always treated this way.
+#
+# The language Text File is also special. It's treated as one big comment
+# so you can put Natural Docs content in them without special symbols. Also,
+# if you don't specify a package separator, ignored prefixes, or enum value
+# behavior, it will copy those settings from the language that is used most
+# in the source tree.
+#
+# Extensions: [extension] [extension] ...
+# [Add/Replace] Extensions: [extension] [extension] ...
+# Defines the file extensions of the language's source files. You can
+# redefine extensions found in the main languages file. You can use * to
+# mean any undefined extension.
+#
+# Shebang Strings: [string] [string] ...
+# [Add/Replace] Shebang Strings: [string] [string] ...
+# Defines a list of strings that can appear in the shebang (#!) line to
+# designate that it's part of the language. You can redefine strings found
+# in the main languages file.
+#
+# Ignore Prefixes in Index: [prefix] [prefix] ...
+# [Add/Replace] Ignored Prefixes in Index: [prefix] [prefix] ...
+#
+# Ignore [Topic Type] Prefixes in Index: [prefix] [prefix] ...
+# [Add/Replace] Ignored [Topic Type] Prefixes in Index: [prefix] [prefix] ...
+# Specifies prefixes that should be ignored when sorting symbols in an
+# index. Can be specified in general or for a specific topic type.
+#
+#------------------------------------------------------------------------------
+# For basic language support only:
+#
+# Line Comments: [symbol] [symbol] ...
+# Defines a space-separated list of symbols that are used for line comments,
+# if any.
+#
+# Block Comments: [opening sym] [closing sym] [opening sym] [closing sym] ...
+# Defines a space-separated list of symbol pairs that are used for block
+# comments, if any.
+#
+# Package Separator: [symbol]
+# Defines the default package separator symbol. The default is a dot.
+#
+# [Topic Type] Prototype Enders: [symbol] [symbol] ...
+# When defined, Natural Docs will attempt to get a prototype from the code
+# immediately following the topic type. It stops when it reaches one of
+# these symbols. Use \n for line breaks.
+#
+# Line Extender: [symbol]
+# Defines the symbol that allows a prototype to span multiple lines if
+# normally a line break would end it.
+#
+# Enum Values: [global|under type|under parent]
+# Defines how enum values are referenced. The default is global.
+# global - Values are always global, referenced as 'value'.
+# under type - Values are under the enum type, referenced as
+# 'package.enum.value'.
+# under parent - Values are under the enum's parent, referenced as
+# 'package.value'.
+#
+# Perl Package: [perl package]
+# Specifies the Perl package used to fine-tune the language behavior in ways
+# too complex to do in this file.
+#
+#------------------------------------------------------------------------------
+# For full language support only:
+#
+# Full Language Support: [perl package]
+# Specifies the Perl package that has the parsing routines necessary for full
+# language support.
+#
+#-------------------------------------------------------------------------------
+
+# The following languages are defined in the main file, if you'd like to alter
+# them:
+#
+# Text File, Shebang Script, C/C++, C#, Java, JavaScript, Perl, Python,
+# PHP, SQL, Visual Basic, Pascal, Assembly, Ada, Tcl, Ruby, Makefile,
+# ActionScript, ColdFusion, R, Fortran
+
+# If you add a language that you think would be useful to other developers
+# and should be included in Natural Docs by default, please e-mail it to
+# languages [at] naturaldocs [dot] org.
diff --git a/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/project/Topics.txt b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/project/Topics.txt
new file mode 100644
index 00000000000..21530908d76
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/project/Topics.txt
@@ -0,0 +1,81 @@
+Format: 1.51
+
+# This is the Natural Docs topics file for this project. If you change anything
+# here, it will apply to THIS PROJECT ONLY. If you'd like to change something
+# for all your projects, edit the Topics.txt in Natural Docs' Config directory
+# instead.
+
+
+# If you'd like to prevent keywords from being recognized by Natural Docs, you
+# can do it like this:
+# Ignore Keywords: [keyword], [keyword], ...
+#
+# Or you can use the list syntax like how they are defined:
+# Ignore Keywords:
+# [keyword]
+# [keyword], [plural keyword]
+# ...
+
+
+#-------------------------------------------------------------------------------
+# SYNTAX:
+#
+# Topic Type: [name]
+# Alter Topic Type: [name]
+# Creates a new topic type or alters one from the main file. Each type gets
+# its own index and behavior settings. Its name can have letters, numbers,
+# spaces, and these charaters: - / . '
+#
+# Plural: [name]
+# Sets the plural name of the topic type, if different.
+#
+# Keywords:
+# [keyword]
+# [keyword], [plural keyword]
+# ...
+# Defines or adds to the list of keywords for the topic type. They may only
+# contain letters, numbers, and spaces and are not case sensitive. Plural
+# keywords are used for list topics. You can redefine keywords found in the
+# main topics file.
+#
+# Index: [yes|no]
+# Whether the topics get their own index. Defaults to yes. Everything is
+# included in the general index regardless of this setting.
+#
+# Scope: [normal|start|end|always global]
+# How the topics affects scope. Defaults to normal.
+# normal - Topics stay within the current scope.
+# start - Topics start a new scope for all the topics beneath it,
+# like class topics.
+# end - Topics reset the scope back to global for all the topics
+# beneath it.
+# always global - Topics are defined as global, but do not change the scope
+# for any other topics.
+#
+# Class Hierarchy: [yes|no]
+# Whether the topics are part of the class hierarchy. Defaults to no.
+#
+# Page Title If First: [yes|no]
+# Whether the topic's title becomes the page title if it's the first one in
+# a file. Defaults to no.
+#
+# Break Lists: [yes|no]
+# Whether list topics should be broken into individual topics in the output.
+# Defaults to no.
+#
+# Can Group With: [type], [type], ...
+# Defines a list of topic types that this one can possibly be grouped with.
+# Defaults to none.
+#-------------------------------------------------------------------------------
+
+# The following topics are defined in the main file, if you'd like to alter
+# their behavior or add keywords:
+#
+# Generic, Class, Interface, Section, File, Group, Function, Variable,
+# Property, Type, Constant, Enumeration, Event, Delegate, Macro,
+# Database, Database Table, Database View, Database Index, Database
+# Cursor, Database Trigger, Cookie, Build Target
+
+# If you add something that you think would be useful to other developers
+# and should be included in Natural Docs by default, please e-mail it to
+# topics [at] naturaldocs [dot] org.
diff --git a/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/run_docs.sh b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/run_docs.sh
new file mode 100755
index 00000000000..dfe1e62ebf8
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/docs/naturaldocs/run_docs.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+set -e
+
+# Version number
+VERSION=`(cd ../../; perl config/getver.pl)`
+
+# Clear away old docs and ensure the doc dir. is present.
+[ -d html ] && rm -rf html
+mkdir html
+
+# Create a lightly-processed copy of the source to use as input. This
+# file skips all non-C code in src/ and removes the BGD_DECLARE()
+# macro from definitions so they don't show up in the docs.
+[ -d tmp ] && rm -rf tmp
+mkdir tmp
+perl nobgd.pl ../../src/ tmp/
+
+# Add the external docs.
+cp license.txt tmp/
+sed -e "s/@VERSION@/$VERSION/g" preamble.txt > tmp/preamble.txt
+# ^^^ hack to get the version number in the docs.
+
+# Run naturaldocs to create the manual.
+naturaldocs --rebuild --rebuild-output --documented-only \
+ -i tmp/ \
+ -o html html \
+ --project project/
+
+# And cleanup the temp files.
+rm -rf Data tmp
+
+
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/examples/CMakeLists.txt
index e31e67d408a..e31e67d408a 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/arc.c b/Build/source/libs/gd/libgd-2.1.1/examples/arc.c
index 8e862833855..8e862833855 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/arc.c
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/arc.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/copyrotated.c b/Build/source/libs/gd/libgd-2.1.1/examples/copyrotated.c
index 03e493d0ce0..03e493d0ce0 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/copyrotated.c
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/copyrotated.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/crop.c b/Build/source/libs/gd/libgd-2.1.1/examples/crop.c
index bafb6df849c..bafb6df849c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/crop.c
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/crop.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/flip.c b/Build/source/libs/gd/libgd-2.1.1/examples/flip.c
index 2399457b81b..2399457b81b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/flip.c
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/flip.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/gif.c b/Build/source/libs/gd/libgd-2.1.1/examples/gif.c
index d5103f086b3..d5103f086b3 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/gif.c
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/gif.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/nnquant.c b/Build/source/libs/gd/libgd-2.1.1/examples/nnquant.c
index 33ed523266e..33ed523266e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/nnquant.c
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/nnquant.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/noIcon.pic b/Build/source/libs/gd/libgd-2.1.1/examples/noIcon.pic
index 8335d3a2a28..8335d3a2a28 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/noIcon.pic
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/noIcon.pic
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/noIcon.sgi b/Build/source/libs/gd/libgd-2.1.1/examples/noIcon.sgi
index 98aac523c10..98aac523c10 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/noIcon.sgi
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/noIcon.sgi
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/noIcon.tga b/Build/source/libs/gd/libgd-2.1.1/examples/noIcon.tga
index 7063fac97bf..7063fac97bf 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/noIcon.tga
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/noIcon.tga
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/noIconAlpha.tga b/Build/source/libs/gd/libgd-2.1.1/examples/noIconAlpha.tga
index 3af87b47b67..3af87b47b67 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/noIconAlpha.tga
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/noIconAlpha.tga
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.1/examples/resize.c b/Build/source/libs/gd/libgd-2.1.1/examples/resize.c
new file mode 100644
index 00000000000..84543cd434b
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/resize.c
@@ -0,0 +1,59 @@
+#include "gd.h"
+#include <stdio.h>
+#include <stdlib.h>
+
+int main (int argc, char *argv[]) {
+ FILE *fp;
+ gdImagePtr in, out;
+ int w, h;
+
+ /* Help */
+ if (argc<=4) {
+ printf("%s input.jpg output.jpg width height\n", argv[0]);
+ return 1;
+ }
+
+ /* Size */
+ w = atoi(argv[3]);
+ h = atoi(argv[4]);
+ if (w<=0 || h<=0) {
+ fprintf(stderr, "Bad size %dx%d\n", h, w);
+ return 2;
+ }
+
+ /* Input */
+ fp = fopen(argv[1], "rb");
+ if (!fp) {
+ fprintf(stderr, "Can't read image %s\n", argv[1]);
+ return 3;
+ }
+ in = gdImageCreateFromJpeg(fp);
+ fclose(fp);
+ if (!in) {
+ fprintf(stderr, "Can't create image from %s\n", argv[1]);
+ return 4;
+ }
+
+ /* Resize */
+ gdImageSetInterpolationMethod(in, GD_BILINEAR_FIXED);
+ out = gdImageScale(in, w, h);
+ if (!out) {
+ fprintf(stderr, "gdImageScale fails\n");
+ return 5;
+ }
+
+ /* Output */
+ fp = fopen(argv[2], "wb");
+ if (!fp) {
+ fprintf(stderr, "Can't save image %s\n", argv[2]);
+ return 6;
+ }
+ gdImageJpeg(out, fp, 90);
+ fclose(fp);
+
+ /* Cleanups */
+ gdImageDestroy(in);
+ gdImageDestroy(out);
+
+ return 0;
+} \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/test_crop_threshold.png b/Build/source/libs/gd/libgd-2.1.1/examples/test_crop_threshold.png
index 4a9dff1a815..4a9dff1a815 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/test_crop_threshold.png
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/test_crop_threshold.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/tgaread.c b/Build/source/libs/gd/libgd-2.1.1/examples/tgaread.c
index a8e080782b2..a8e080782b2 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/tgaread.c
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/tgaread.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/tiffread.c b/Build/source/libs/gd/libgd-2.1.1/examples/tiffread.c
index fe63ce00b2c..fe63ce00b2c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/tiffread.c
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/tiffread.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/examples/windows.c b/Build/source/libs/gd/libgd-2.1.1/examples/windows.c
index 55976386f4e..55976386f4e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/examples/windows.c
+++ b/Build/source/libs/gd/libgd-2.1.1/examples/windows.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/m4/ax_pthread.m4 b/Build/source/libs/gd/libgd-2.1.1/m4/ax_pthread.m4
index 6d400ed4e8e..6d400ed4e8e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/m4/ax_pthread.m4
+++ b/Build/source/libs/gd/libgd-2.1.1/m4/ax_pthread.m4
diff --git a/Build/source/libs/gd/libgd-2.1.0/m4/visibility.m4 b/Build/source/libs/gd/libgd-2.1.1/m4/visibility.m4
index 2ff6330aa42..2ff6330aa42 100644
--- a/Build/source/libs/gd/libgd-2.1.0/m4/visibility.m4
+++ b/Build/source/libs/gd/libgd-2.1.1/m4/visibility.m4
diff --git a/Build/source/libs/gd/libgd-2.1.0/m4/w32.m4 b/Build/source/libs/gd/libgd-2.1.1/m4/w32.m4
index fbcc541d969..fbcc541d969 100644
--- a/Build/source/libs/gd/libgd-2.1.0/m4/w32.m4
+++ b/Build/source/libs/gd/libgd-2.1.1/m4/w32.m4
diff --git a/Build/source/libs/gd/libgd-2.1.0/netware/Makefile.netware b/Build/source/libs/gd/libgd-2.1.1/netware/Makefile.netware
index 0e82afd30ce..3da624349f5 100644
--- a/Build/source/libs/gd/libgd-2.1.0/netware/Makefile.netware
+++ b/Build/source/libs/gd/libgd-2.1.1/netware/Makefile.netware
@@ -350,9 +350,9 @@ $(OBJDIR)/%.o: %.c
# @echo Compiling $<
$(CC) $(CFLAGS) -c $< -o $@
-$(OBJDIR)/version.inc: ../configure.ac $(OBJDIR)
+$(OBJDIR)/version.inc: ../configure $(OBJDIR)
@echo Creating $@
- @$(AWK) -f get_ver.awk $< > $@
+ @$(AWK) -f get_ver.awk $< > $@ # TODO: get version info from src/gd.h
dist: all
-$(RM) -r $(OBJDIR)*
diff --git a/Build/source/libs/gd/libgd-2.1.0/netware/get_exp.awk b/Build/source/libs/gd/libgd-2.1.1/netware/get_exp.awk
index 5428bf63ca7..5428bf63ca7 100644
--- a/Build/source/libs/gd/libgd-2.1.0/netware/get_exp.awk
+++ b/Build/source/libs/gd/libgd-2.1.1/netware/get_exp.awk
diff --git a/Build/source/libs/gd/libgd-2.1.0/netware/get_ver.awk b/Build/source/libs/gd/libgd-2.1.1/netware/get_ver.awk
index 8747a338a57..8747a338a57 100644
--- a/Build/source/libs/gd/libgd-2.1.0/netware/get_ver.awk
+++ b/Build/source/libs/gd/libgd-2.1.1/netware/get_ver.awk
diff --git a/Build/source/libs/gd/libgd-2.1.0/netware/keepscreen.c b/Build/source/libs/gd/libgd-2.1.1/netware/keepscreen.c
index 0ff85628524..0ff85628524 100644
--- a/Build/source/libs/gd/libgd-2.1.0/netware/keepscreen.c
+++ b/Build/source/libs/gd/libgd-2.1.1/netware/keepscreen.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/netware/nwlibc.c b/Build/source/libs/gd/libgd-2.1.1/netware/nwlibc.c
index b981a554773..b981a554773 100644
--- a/Build/source/libs/gd/libgd-2.1.0/netware/nwlibc.c
+++ b/Build/source/libs/gd/libgd-2.1.1/netware/nwlibc.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/netware/tests/Makefile.netware b/Build/source/libs/gd/libgd-2.1.1/netware/tests/Makefile.netware
index 74cc234cba7..74cc234cba7 100644
--- a/Build/source/libs/gd/libgd-2.1.0/netware/tests/Makefile.netware
+++ b/Build/source/libs/gd/libgd-2.1.1/netware/tests/Makefile.netware
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/src/CMakeLists.txt
index daeaa26e774..e27467dba0d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/src/CMakeLists.txt
@@ -64,24 +64,30 @@ SET (LIBGD_SRC_FILES
gd_webp.c
webpimg.c
gd_xbm.c
+ gd_version.c
)
add_library(${GD_LIB} ${LIBGD_SRC_FILES})
add_library(${GD_LIB_STATIC} STATIC ${LIBGD_SRC_FILES})
if (WIN32 AND NOT MINGW AND NOT MSYS)
-# SET_TARGET_PROPERTIES(${GD_LIB} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:msvcrt.lib")
-SET_PROPERTY(TARGET ${GD_LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS NONDLL=1)
+ # SET_TARGET_PROPERTIES(${GD_LIB} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:msvcrt.lib")
+ SET_PROPERTY(TARGET ${GD_LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS NONDLL=1)
ENDIF(WIN32 AND NOT MINGW AND NOT MSYS)
+if(UNIX)
+ set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
+endif()
+
if (MINGW OR MSYS)
ADD_DEFINITIONS("-mms-bitfields")
+ set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
endif (MINGW OR MSYS)
INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_SOURCE_DIR}/src")
-target_link_libraries(${GD_LIB} ${ZLIB_LIBRARIES} ${FREETYPE_LIBRARIES} ${PNG_LIBRARIES} ${LIQ_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${XPM_LIBRARIES} ${FONTCONFIG_LIBRARY} ${VPX_LIBRARIES})
-target_link_libraries(${GD_LIB_STATIC} ${ZLIB_LIBRARIES} ${FREETYPE_LIBRARIES} ${PNG_LIBRARIES} ${LIQ_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${XPM_LIBRARIES} ${FONTCONFIG_LIBRARY} ${VPX_LIBRARIES} )
+target_link_libraries(${GD_LIB} ${ZLIB_LIBRARIES} ${FREETYPE_LIBRARIES} ${PNG_LIBRARIES} ${ICONV_LIBRARIES} ${LIQ_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${XPM_LIBRARIES} ${FONTCONFIG_LIBRARY} ${VPX_LIBRARIES})
+target_link_libraries(${GD_LIB_STATIC} ${ZLIB_LIBRARIES} ${FREETYPE_LIBRARIES} ${PNG_LIBRARIES} ${ICONV_LIBRARIES} ${LIQ_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${XPM_LIBRARIES} ${FONTCONFIG_LIBRARY} ${VPX_LIBRARIES} )
set(GD_PROGRAMS annotate gdparttopng gdtopng gd2copypal gd2topng pngtogd pngtogd2 webpng gd2togif gdcmpgif giftogd2)
foreach(program ${GD_PROGRAMS})
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/COPYING b/Build/source/libs/gd/libgd-2.1.1/src/COPYING
index 90ef1c867ef..90ef1c867ef 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/COPYING
+++ b/Build/source/libs/gd/libgd-2.1.1/src/COPYING
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/Makefile.am b/Build/source/libs/gd/libgd-2.1.1/src/Makefile.am
index a0f2cd16665..ac66c79e082 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/Makefile.am
+++ b/Build/source/libs/gd/libgd-2.1.1/src/Makefile.am
@@ -48,7 +48,7 @@ libgd_la_SOURCES = gd.c gd_color.c gd_color_map.c gd_transform.c gdfx.c gd_secur
gdfontmb.c gdfonts.c gdfontt.c gdft.c gdhelpers.c gdhelpers.h gdkanji.c gdtables.c gdxpm.c jisx0208.h wbmp.c wbmp.h \
gd_filter.c gd_nnquant.c gd_rotate.c gd_matrix.c gd_interpolation.c gd_crop.c webpimg.c webpimg.h gd_webp.c gd_tiff.c \
gd_tga.c gd_tga.h gd_bmp.c bmp.h gd_color.h gd_nnquant.h gd_tga.h gd_intern.h gd_io_stream.h gd_xbm.c \
- gd_color_match.c
+ gd_color_match.c gd_version.c gd_filename.c
libgd_la_LDFLAGS = -version-info $(GDLIB_CURRENT):$(GDLIB_REVISION):$(GDLIB_AGE) -no-undefined
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/annotate.c b/Build/source/libs/gd/libgd-2.1.1/src/annotate.c
index c66e3311306..c66e3311306 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/annotate.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/annotate.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/bdftogd b/Build/source/libs/gd/libgd-2.1.1/src/bdftogd
index 66ffcc9ae88..66ffcc9ae88 100755
--- a/Build/source/libs/gd/libgd-2.1.0/src/bdftogd
+++ b/Build/source/libs/gd/libgd-2.1.1/src/bdftogd
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/bmp.h b/Build/source/libs/gd/libgd-2.1.1/src/bmp.h
index cecde0383f5..cecde0383f5 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/bmp.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/bmp.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/circletexttest.c b/Build/source/libs/gd/libgd-2.1.1/src/circletexttest.c
index 55e0970c1a3..55e0970c1a3 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/circletexttest.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/circletexttest.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/config.h.cmake b/Build/source/libs/gd/libgd-2.1.1/src/config.h.cmake
index a8e6f00b64d..a8e6f00b64d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/config.h.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/src/config.h.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/config.hin b/Build/source/libs/gd/libgd-2.1.1/src/config.hin
index 54aeb524284..54aeb524284 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/config.hin
+++ b/Build/source/libs/gd/libgd-2.1.1/src/config.hin
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/demoin.png b/Build/source/libs/gd/libgd-2.1.1/src/demoin.png
index c3e57b2081e..c3e57b2081e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/demoin.png
+++ b/Build/source/libs/gd/libgd-2.1.1/src/demoin.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/entities.h b/Build/source/libs/gd/libgd-2.1.1/src/entities.h
index cf24cb63e3d..cf24cb63e3d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/entities.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/entities.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/entities.html b/Build/source/libs/gd/libgd-2.1.1/src/entities.html
index 5c5d7b65a32..5c5d7b65a32 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/entities.html
+++ b/Build/source/libs/gd/libgd-2.1.1/src/entities.html
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/entities.tcl b/Build/source/libs/gd/libgd-2.1.1/src/entities.tcl
index 1f7c9e7e4af..1f7c9e7e4af 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/entities.tcl
+++ b/Build/source/libs/gd/libgd-2.1.1/src/entities.tcl
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/fontconfigtest.c b/Build/source/libs/gd/libgd-2.1.1/src/fontconfigtest.c
index 47c484922db..47c484922db 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/fontconfigtest.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/fontconfigtest.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/fontsizetest.c b/Build/source/libs/gd/libgd-2.1.1/src/fontsizetest.c
index 55b9209d051..55b9209d051 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/fontsizetest.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/fontsizetest.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/fontwheeltest.c b/Build/source/libs/gd/libgd-2.1.1/src/fontwheeltest.c
index b2bb258fdad..b2bb258fdad 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/fontwheeltest.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/fontwheeltest.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd.c b/Build/source/libs/gd/libgd-2.1.1/src/gd.c
index 8c364d9e5fc..cc698a0923f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd.c
@@ -129,6 +129,35 @@ static void gdImageBrushApply (gdImagePtr im, int x, int y);
static void gdImageTileApply (gdImagePtr im, int x, int y);
BGD_DECLARE(int) gdImageGetTrueColorPixel (gdImagePtr im, int x, int y);
+
+/*
+ Function: gdImageCreate
+
+ gdImageCreate is called to create palette-based images, with no
+ more than 256 colors. The image must eventually be destroyed using
+ gdImageDestroy().
+
+ Parameters:
+
+ sx - The image width.
+ sy - The image height.
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+ Example:
+
+ > gdImagePtr im;
+ > im = gdImageCreate(64, 64);
+ > // ... Use the image ...
+ > gdImageDestroy(im);
+
+ See Also:
+
+ <gdImageCreateTrueColor>
+
+ */
BGD_DECLARE(gdImagePtr) gdImageCreate (int sx, int sy)
{
int i;
@@ -194,6 +223,42 @@ BGD_DECLARE(gdImagePtr) gdImageCreate (int sx, int sy)
return im;
}
+
+
+/*
+ Function: gdImageCreateTrueColor
+
+ <gdImageCreateTrueColor> is called to create truecolor images,
+ with an essentially unlimited number of colors. Invoke
+ <gdImageCreateTrueColor> with the x and y dimensions of the
+ desired image. <gdImageCreateTrueColor> returns a <gdImagePtr>
+ to the new image, or NULL if unable to allocate the image. The
+ image must eventually be destroyed using <gdImageDestroy>().
+
+ Truecolor images are always filled with black at creation
+ time. There is no concept of a "background" color index.
+
+ Parameters:
+
+ sx - The image width.
+ sy - The image height.
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+ Example:
+
+ > gdImagePtr im;
+ > im = gdImageCreateTrueColor(64, 64);
+ > // ... Use the image ...
+ > gdImageDestroy(im);
+
+ See Also:
+
+ <gdImageCreateTrueColor>
+
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateTrueColor (int sx, int sy)
{
int i;
@@ -266,6 +331,31 @@ BGD_DECLARE(gdImagePtr) gdImageCreateTrueColor (int sx, int sy)
return im;
}
+/*
+ Function: gdImageDestroy
+
+ <gdImageDestroy> is used to free the memory associated with an
+ image. It is important to invoke <gdImageDestroy> before exiting
+ your program or assigning a new image to a <gdImagePtr> variable.
+
+ Parameters:
+
+ im - Pointer to the gdImage to delete.
+
+ Returns:
+
+ Nothing.
+
+ Example:
+
+ > gdImagePtr im;
+ > im = gdImageCreate(10, 10);
+ > // ... Use the image ...
+ > // Now destroy it
+ > gdImageDestroy(im);
+
+*/
+
BGD_DECLARE(void) gdImageDestroy (gdImagePtr im)
{
int i;
@@ -971,10 +1061,21 @@ BGD_DECLARE(void) gdImageSetPixel (gdImagePtr im, int x, int y, int color)
default:
if (gdImageBoundsSafeMacro (im, x, y)) {
if (im->trueColor) {
- if (im->alphaBlendingFlag) {
- im->tpixels[y][x] = gdAlphaBlend (im->tpixels[y][x], color);
- } else {
- im->tpixels[y][x] = color;
+ switch (im->alphaBlendingFlag) {
+ default:
+ case gdEffectReplace:
+ im->tpixels[y][x] = color;
+ break;
+ case gdEffectAlphaBlend:
+ case gdEffectNormal:
+ im->tpixels[y][x] = gdAlphaBlend(im->tpixels[y][x], color);
+ break;
+ case gdEffectOverlay :
+ im->tpixels[y][x] = gdLayerOverlay(im->tpixels[y][x], color);
+ break;
+ case gdEffectMultiply :
+ im->tpixels[y][x] = gdLayerMultiply(im->tpixels[y][x], color);
+ break;
}
} else {
im->pixels[y][x] = color;
@@ -3240,6 +3341,55 @@ BGD_DECLARE(int) gdAlphaBlend (int dst, int src)
return ((alpha << 24) + (red << 16) + (green << 8) + blue);
}
+static int gdAlphaOverlayColor (int src, int dst, int max );
+BGD_DECLARE(int) gdLayerOverlay (int dst, int src)
+{
+ int a1, a2;
+ a1 = gdAlphaMax - gdTrueColorGetAlpha(dst);
+ a2 = gdAlphaMax - gdTrueColorGetAlpha(src);
+ return ( ((gdAlphaMax - a1*a2/gdAlphaMax) << 24) +
+ (gdAlphaOverlayColor( gdTrueColorGetRed(src), gdTrueColorGetRed(dst), gdRedMax ) << 16) +
+ (gdAlphaOverlayColor( gdTrueColorGetGreen(src), gdTrueColorGetGreen(dst), gdGreenMax ) << 8) +
+ (gdAlphaOverlayColor( gdTrueColorGetBlue(src), gdTrueColorGetBlue(dst), gdBlueMax ))
+ );
+}
+
+/* Apply 'overlay' effect - background pixels are colourised by the foreground colour */
+static int gdAlphaOverlayColor (int src, int dst, int max )
+{
+ dst = dst << 1;
+ if( dst > max ) {
+ /* in the "light" zone */
+ return dst + (src << 1) - (dst * src / max) - max;
+ } else {
+ /* in the "dark" zone */
+ return dst * src / max;
+ }
+}
+
+/* Apply 'multiply' effect */
+BGD_DECLARE(int) gdLayerMultiply (int dst, int src)
+{
+ int a1, a2, r1, r2, g1, g2, b1, b2;
+ a1 = gdAlphaMax - gdTrueColorGetAlpha(src);
+ a2 = gdAlphaMax - gdTrueColorGetAlpha(dst);
+
+ r1 = gdRedMax - (a1 * (gdRedMax - gdTrueColorGetRed(src))) / gdAlphaMax;
+ r2 = gdRedMax - (a2 * (gdRedMax - gdTrueColorGetRed(dst))) / gdAlphaMax;
+ g1 = gdGreenMax - (a1 * (gdGreenMax - gdTrueColorGetGreen(src))) / gdAlphaMax;
+ g2 = gdGreenMax - (a2 * (gdGreenMax - gdTrueColorGetGreen(dst))) / gdAlphaMax;
+ b1 = gdBlueMax - (a1 * (gdBlueMax - gdTrueColorGetBlue(src))) / gdAlphaMax;
+ b2 = gdBlueMax - (a2 * (gdBlueMax - gdTrueColorGetBlue(dst))) / gdAlphaMax ;
+
+ a1 = gdAlphaMax - a1;
+ a2 = gdAlphaMax - a2;
+ return ( ((a1*a2/gdAlphaMax) << 24) +
+ ((r1*r2/gdRedMax) << 16) +
+ ((g1*g2/gdGreenMax) << 8) +
+ ((b1*b2/gdBlueMax))
+ );
+}
+
BGD_DECLARE(void) gdImageAlphaBlending (gdImagePtr im, int alphaBlendingArg)
{
im->alphaBlendingFlag = alphaBlendingArg;
@@ -3489,8 +3639,8 @@ BGD_DECLARE(int) gdImagePaletteToTrueColor(gdImagePtr src)
}
}
- /* free old palette buffer */
- for (yy = y - 1; yy >= yy - 1; yy--) {
+ /* free old palette buffer (y is sy) */
+ for (yy = 0; yy < y; yy++) {
gdFree(src->pixels[yy]);
}
gdFree(src->pixels);
@@ -3501,12 +3651,10 @@ BGD_DECLARE(int) gdImagePaletteToTrueColor(gdImagePtr src)
return 1;
clean_on_error:
- if (y > 0) {
-
- for (yy = y; yy >= yy - 1; y--) {
- gdFree(src->tpixels[y]);
- }
- gdFree(src->tpixels);
+ /* free new true color buffer (y is not allocated, have failed) */
+ for (yy = 0; yy < y; yy++) {
+ gdFree(src->tpixels[yy]);
}
+ gdFree(src->tpixels);
return 0;
}
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd.h b/Build/source/libs/gd/libgd-2.1.1/src/gd.h
index d8b7807d65f..bdc479c9275 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd.h
@@ -2,15 +2,33 @@
extern "C" {
#endif
+
#ifndef GD_H
#define GD_H 1
-#define GD_MAJOR_VERSION 2
-#define GD_MINOR_VERSION 1
-#define GD_RELEASE_VERSION 0
-#define GD_EXTRA_VERSION "alpha"
-#define GD_VERSION_STRING "2.1.0-alpha"
-
+/* Version information. This gets parsed by build scripts as well as
+ * gcc so each #define line in this group must also be splittable on
+ * whitespace, take the form GD_*_VERSION and contain the magical
+ * trailing comment. */
+#define GD_MAJOR_VERSION 2 /*version605b5d1778*/
+#define GD_MINOR_VERSION 1 /*version605b5d1778*/
+#define GD_RELEASE_VERSION 1 /*version605b5d1778*/
+#define GD_EXTRA_VERSION "" /*version605b5d1778*/
+/* End parsable section. */
+
+/* The version string. This is constructed from the version number
+ * parts above via macro abuse^Wtrickery. */
+#define GDXXX_VERSION_STR(mjr, mnr, rev, ext) mjr "." mnr "." rev ext
+#define GDXXX_STR(s) GDXXX_SSTR(s) /* Two levels needed to expand args. */
+#define GDXXX_SSTR(s) #s
+
+#define GD_VERSION_STRING \
+ GDXXX_VERSION_STR(GDXXX_STR(GD_MAJOR_VERSION), \
+ GDXXX_STR(GD_MINOR_VERSION), \
+ GDXXX_STR(GD_RELEASE_VERSION), \
+ GD_EXTRA_VERSION)
+
+
/* Do the DLL dance: dllexport when building the DLL,
dllimport when importing from it, nothing when
not on Silly Silly Windows (tm Aardman Productions). */
@@ -59,6 +77,22 @@ extern "C" {
#define BGD_DECLARE(rt) BGD_EXPORT_DATA_PROT rt BGD_STDCALL
+/* VS2012+ disable keyword macroizing unless _ALLOW_KEYWORD_MACROS is set
+ We define inline, snprintf, and strcasecmp if they're missing
+*/
+#ifdef _MSC_VER
+# define _ALLOW_KEYWORD_MACROS
+# ifndef inline
+# define inline __inline
+# endif
+# ifndef strcasecmp
+# define strcasecmp _stricmp
+# endif
+# ifndef snprintf
+# define snprintf _snprintf
+# endif
+#endif
+
#ifdef __cplusplus
extern "C"
{
@@ -121,6 +155,7 @@ extern "C" {
#define gdEffectAlphaBlend 1
#define gdEffectNormal 2
#define gdEffectOverlay 3
+#define gdEffectMultiply 4
#define GD_TRUE 1
#define GD_FALSE 0
@@ -136,7 +171,9 @@ extern "C" {
The resulting color is opaque. */
BGD_DECLARE(int) gdAlphaBlend (int dest, int src);
-
+BGD_DECLARE(int) gdLayerOverlay (int dest, int src);
+BGD_DECLARE(int) gdLayerMultiply (int dest, int src);
+
enum gdPaletteQuantizationMethod {
GD_QUANT_DEFAULT = 0,
GD_QUANT_JQUANT = 1, /* libjpeg's old median cut. Fast, but only uses 16-bit color. */
@@ -148,7 +185,7 @@ enum gdPaletteQuantizationMethod {
* Group: Transform
*
* Constants: gdInterpolationMethod
-
+ *
* GD_BELL - Bell
* GD_BESSEL - Bessel
* GD_BILINEAR_FIXED - fixed point bilinear
@@ -205,6 +242,27 @@ typedef enum {
/* Interpolation function ptr */
typedef double (* interpolation_method )(double);
+
+/*
+ Group: Types
+
+ typedef: gdImage
+
+ typedef: gdImagePtr
+
+ The data structure in which gd stores images. <gdImageCreate>,
+ <gdImageCreateTrueColor> and the various image file-loading functions
+ return a pointer to this type, and the other functions expect to
+ receive a pointer to this type as their first argument.
+
+ *gdImagePtr* is a pointer to *gdImage*.
+
+ (Previous versions of this library encouraged directly manipulating
+ the contents ofthe struct but we are attempting to move away from
+ this practice so the fields are no longer documented here. If you
+ need to poke at the internals of this struct, feel free to look at
+ *gd.h*.)
+*/
typedef struct gdImageStruct {
/* Palette-based image pixels */
unsigned char **pixels;
@@ -329,6 +387,47 @@ typedef struct
}
gdPointF, *gdPointFPtr;
+
+/*
+ Group: Types
+
+ typedef: gdFont
+
+ typedef: gdFontPtr
+
+ A font structure, containing the bitmaps of all characters in a
+ font. Used to declare the characteristics of a font. Text-output
+ functions expect these as their second argument, following the
+ <gdImagePtr> argument. <gdFontSmall> and <gdFontGetLarge> both
+ return one.
+
+ You can provide your own font data by providing such a structure and
+ the associated pixel array. You can determine the width and height
+ of a single character in a font by examining the w and h members of
+ the structure. If you will not be creating your own fonts, you will
+ not need to concern yourself with the rest of the components of this
+ structure.
+
+ Please see the files gdfontl.c and gdfontl.h for an example of
+ the proper declaration of this structure.
+
+ > typedef struct {
+ > // # of characters in font
+ > int nchars;
+ > // First character is numbered... (usually 32 = space)
+ > int offset;
+ > // Character width and height
+ > int w;
+ > int h;
+ > // Font data; array of characters, one row after another.
+ > // Easily included in code, also easily loaded from
+ > // data files.
+ > char *data;
+ > } gdFont;
+
+ gdFontPtr is a pointer to gdFont.
+
+*/
typedef struct {
/* # of characters in font */
int nchars;
@@ -418,12 +517,36 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromTgaPtr(int size, void *data);
BGD_DECLARE(gdImagePtr) gdImageCreateFromBmp (FILE * inFile);
BGD_DECLARE(gdImagePtr) gdImageCreateFromBmpPtr (int size, void *data);
BGD_DECLARE(gdImagePtr) gdImageCreateFromBmpCtx (gdIOCtxPtr infile);
+BGD_DECLARE(gdImagePtr) gdImageCreateFromFile(const char *filename);
+
+
+/*
+ Group: Types
+
+ typedef: gdSource
+
+ typedef: gdSourcePtr
+
+ *Note:* This interface is *obsolete* and kept only for
+ *compatibility. Use <gdIOCtx> instead.
+
+ Represents a source from which a PNG can be read. Programmers who
+ do not wish to read PNGs from a file can provide their own
+ alternate input mechanism, using the <gdImageCreateFromPngSource>
+ function. See the documentation of that function for an example of
+ the proper use of this type.
+
+ > typedef struct {
+ > int (*source) (void *context, char *buffer, int len);
+ > void *context;
+ > } gdSource, *gdSourcePtr;
-/* A custom data source. */
-/* The source function must return -1 on error, otherwise the number
- of bytes fetched. 0 is EOF, not an error! */
-/* context will be passed to your source function. */
+ The source function must return -1 on error, otherwise the number
+ of bytes fetched. 0 is EOF, not an error!
+ 'context' will be passed to your source function.
+
+*/
typedef struct {
int (*source) (void *context, char *buffer, int len);
void *context;
@@ -461,7 +584,9 @@ BGD_DECLARE(void) gdImageDestroy (gdImagePtr im);
alpha channel value of 'color'; default is to overwrite.
Tiling and line styling are also implemented
here. All other gd drawing functions pass through this call,
- allowing for many useful effects. */
+ allowing for many useful effects.
+ Overlay and multiply effects are used when gdImageAlphaBlending
+ is passed gdEffectOverlay and gdEffectMultiply */
BGD_DECLARE(void) gdImageSetPixel (gdImagePtr im, int x, int y, int color);
/* FreeType 2 text output with hook to extra flags */
@@ -526,9 +651,23 @@ BGD_DECLARE(char *) gdImageStringFT (gdImage * im, int *brect, int fg, char *fon
double ptsize, double angle, int x, int y,
char *string);
+
+/*
+ Group: Types
+
+ typedef: gdFTStringExtra
+
+ typedef: gdFTStringExtraPtr
+
+ A structure and associated pointer type used to pass additional
+ parameters to the <gdImageStringFTEx> function. See
+ <gdImageStringFTEx> for the structure definition.
+
+ Thanks to Wez Furlong.
+*/
+
/* 2.0.5: provides an extensible way to pass additional parameters.
Thanks to Wez Furlong, sorry for the delay. */
-
typedef struct {
int flags; /* Logical OR of gdFTEX_ values */
double linespacing; /* fine tune line spacing for '\n' */
@@ -596,7 +735,23 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
double ptsize, double angle, int x, int y,
char *string, gdFTStringExtraPtr strex);
-/* Point type for use in polygon drawing. */
+
+/*
+ Group: Types
+
+ typedef: gdPoint
+
+ typedef: gdPointPtr
+
+ Represents a point in the coordinate space of the image; used by
+ <gdImagePolygon>, <gdImageOpenPolygon> and <gdImageFilledPolygon>
+ for polygon drawing.
+
+ > typedef struct {
+ > int x, y;
+ > } gdPoint, *gdPointPtr;
+
+*/
typedef struct {
int x, y;
}
@@ -751,6 +906,10 @@ BGD_DECLARE(void) gdImagePngCtxEx (gdImagePtr im, gdIOCtx * out, int level);
BGD_DECLARE(void) gdImageWBMP (gdImagePtr image, int fg, FILE * out);
BGD_DECLARE(void) gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out);
+BGD_DECLARE(int) gdImageFile(gdImagePtr im, const char *filename);
+BGD_DECLARE(int) gdSupportsFileType(const char *filename, int writing);
+
+
/* Guaranteed to correctly free memory returned by the gdImage*Ptr
functions */
BGD_DECLARE(void) gdFree (void *m);
@@ -772,9 +931,22 @@ BGD_DECLARE(void *) gdImageWebpPtr (gdImagePtr im, int *size);
BGD_DECLARE(void *) gdImageWebpPtrEx (gdImagePtr im, int *size, int quantization);
BGD_DECLARE(void) gdImageWebpCtx (gdImagePtr im, gdIOCtx * outfile, int quantization);
-/* Legal values for Disposal. gdDisposalNone is always used by
- the built-in optimizer if previm is passed. */
+/**
+ * Group: GifAnim
+ *
+ * Legal values for Disposal. gdDisposalNone is always used by
+ * the built-in optimizer if previm is passed.
+ *
+ * Constants: gdImageGifAnim
+ *
+ * gdDisposalUnknown - Not recommended
+ * gdDisposalNone - Preserve previous frame
+ * gdDisposalRestoreBackground - First allocated color of palette
+ * gdDisposalRestorePrevious - Restore to before start of frame
+ *
+ * See also: <gdImageGifAnimAdd>
+ */
enum {
gdDisposalUnknown,
gdDisposalNone,
@@ -792,11 +964,36 @@ BGD_DECLARE(void *) gdImageGifAnimBeginPtr(gdImagePtr im, int *size, int GlobalC
BGD_DECLARE(void *) gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal, gdImagePtr previm);
BGD_DECLARE(void *) gdImageGifAnimEndPtr(int *size);
-/* A custom data sink. For backwards compatibility. Use gdIOCtx
- instead. The sink function must return -1 on error, otherwise the
- number of bytes written, which must be equal to len. Context will
- be passed to your sink function.
+
+
+/*
+ Group: Types
+
+ typedef: gdSink
+
+ typedef: gdSinkPtr
+
+ *Note:* This interface is *obsolete* and kept only for
+ *compatibility. Use <gdIOCtx> instead.
+
+ Represents a "sink" (destination) to which a PNG can be
+ written. Programmers who do not wish to write PNGs to a file can
+ provide their own alternate output mechanism, using the
+ <gdImagePngToSink> function. See the documentation of that
+ function for an example of the proper use of this type.
+
+ > typedef struct {
+ > int (*sink) (void *context, char *buffer, int len);
+ > void *context;
+ > } gdSink, *gdSinkPtr;
+
+ The _sink_ function must return -1 on error, otherwise the number of
+ bytes written, which must be equal to len.
+
+ _context_ will be passed to your sink function.
+
*/
+
typedef struct {
int (*sink) (void *context, const char *buffer, int len);
void *context;
@@ -937,6 +1134,10 @@ BGD_DECLARE(int) gdImageBrightness(gdImagePtr src, int brightness);
BGD_DECLARE(int) gdImageGrayScale(gdImagePtr src);
BGD_DECLARE(int) gdImageNegate(gdImagePtr src);
+BGD_DECLARE(gdImagePtr) gdImageCopyGaussianBlurred(gdImagePtr src, int radius,
+ double sigma);
+
+
/* Macros to access information about images. */
/* Returns nonzero if the image is a truecolor image,
@@ -1038,21 +1239,10 @@ BGD_DECLARE(gdImagePtr) gdImageCropAuto(gdImagePtr im, const unsigned int mode);
BGD_DECLARE(gdImagePtr) gdImageCropThreshold(gdImagePtr im, const unsigned int color, const float threshold);
BGD_DECLARE(int) gdImageSetInterpolationMethod(gdImagePtr im, gdInterpolationMethod id);
+BGD_DECLARE(gdInterpolationMethod) gdImageGetInterpolationMethod(gdImagePtr im);
-gdImagePtr gdImageScaleBilinear(gdImagePtr im, const unsigned int new_width, const unsigned int new_height);
-gdImagePtr gdImageScaleBicubic(gdImagePtr src_img, const unsigned int new_width, const unsigned int new_height);
-gdImagePtr gdImageScaleBicubicFixed(gdImagePtr src, const unsigned int width, const unsigned int height);
-gdImagePtr gdImageScaleNearestNeighbour(gdImagePtr im, const unsigned int width, const unsigned int height);
-gdImagePtr gdImageScaleTwoPass(const gdImagePtr pOrigImage, const unsigned int uOrigWidth, const unsigned int uOrigHeight, const unsigned int uNewWidth, const unsigned int uNewHeight);
BGD_DECLARE(gdImagePtr) gdImageScale(const gdImagePtr src, const unsigned int new_width, const unsigned int new_height);
-gdImagePtr gdImageRotate90(gdImagePtr src, int ignoretransparent);
-gdImagePtr gdImageRotate180(gdImagePtr src, int ignoretransparent);
-gdImagePtr gdImageRotate270(gdImagePtr src, int ignoretransparent);
-gdImagePtr gdImageRotateNearestNeighbour(gdImagePtr src, const float degrees, const int bgColor);
-gdImagePtr gdImageRotateBilinear(gdImagePtr src, const float degrees, const int bgColor);
-gdImagePtr gdImageRotateBicubicFixed(gdImagePtr src, const float degrees, const int bgColor);
-gdImagePtr gdImageRotateGeneric(gdImagePtr src, const float degrees, const int bgColor);
BGD_DECLARE(gdImagePtr) gdImageRotateInterpolated(const gdImagePtr src, const float angle, int bgcolor);
typedef enum {
@@ -1099,6 +1289,15 @@ BGD_DECLARE(int) gdTransformAffineBoundingBox(gdRectPtr src, const double affine
/* resolution affects ttf font rendering, particularly hinting */
#define GD_RESOLUTION 96 /* pixels per inch */
+
+/* Version information functions */
+BGD_DECLARE(int) gdMajorVersion(void);
+BGD_DECLARE(int) gdMinorVersion(void);
+BGD_DECLARE(int) gdReleaseVersion(void);
+BGD_DECLARE(const char *) gdExtraVersion(void);
+BGD_DECLARE(const char *) gdVersionString(void);
+
+
#ifdef __cplusplus
}
#endif
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd2copypal.c b/Build/source/libs/gd/libgd-2.1.1/src/gd2copypal.c
index eaa67b55e6f..eaa67b55e6f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd2copypal.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd2copypal.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd2time.c b/Build/source/libs/gd/libgd-2.1.1/src/gd2time.c
index 3c9e8af2c7b..3c9e8af2c7b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd2time.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd2time.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd2togif.c b/Build/source/libs/gd/libgd-2.1.1/src/gd2togif.c
index 5a0be19b378..5a0be19b378 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd2togif.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd2togif.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd2topng.c b/Build/source/libs/gd/libgd-2.1.1/src/gd2topng.c
index 6c0626f3b30..6c0626f3b30 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd2topng.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd2topng.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_bmp.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_bmp.c
index 5f39b67c3e4..5f39b67c3e4 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_bmp.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_bmp.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_color.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_color.c
index 6d8a8466b8a..6d8a8466b8a 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_color.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_color.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_color.h b/Build/source/libs/gd/libgd-2.1.1/src/gd_color.h
index 08b06cee09b..08b06cee09b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_color.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_color.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_color_map.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_color_map.c
index ff48399a982..ff48399a982 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_color_map.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_color_map.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_color_map.h b/Build/source/libs/gd/libgd-2.1.1/src/gd_color_map.h
index 6d2275e5647..6d2275e5647 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_color_map.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_color_map.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_color_map_test.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_color_map_test.c
index 26e08bd8516..26e08bd8516 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_color_map_test.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_color_map_test.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_color_match.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_color_match.c
index 5f0fd0a86c2..5f0fd0a86c2 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_color_match.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_color_match.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_crop.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_crop.c
index 02966336d18..02966336d18 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_crop.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_crop.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_errors.h b/Build/source/libs/gd/libgd-2.1.1/src/gd_errors.h
index 4ecee94b386..4ecee94b386 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_errors.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_errors.h
diff --git a/Build/source/libs/gd/libgd-2.1.1/src/gd_filename.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_filename.c
new file mode 100644
index 00000000000..ba636cfe0e7
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_filename.c
@@ -0,0 +1,254 @@
+/* Convenience functions to read or write images from or to disk,
+ * determining file type from the filename extension. */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+
+#include "gd.h"
+
+typedef gdImagePtr (BGD_STDCALL *ReadFn)(FILE *in);
+typedef void (BGD_STDCALL *WriteFn)(gdImagePtr im, FILE *out);
+typedef gdImagePtr (BGD_STDCALL *LoadFn)(char *filename);
+
+#ifdef HAVE_LIBZ
+static void BGD_STDCALL writegd2(gdImagePtr im, FILE *out) {
+ gdImageGd2(im, out, 0, GD2_FMT_COMPRESSED);
+}/* writegd*/
+#endif
+
+#ifdef HAVE_LIBJPEG
+static void BGD_STDCALL writejpeg(gdImagePtr im, FILE *out) {
+ gdImageJpeg(im, out, -1);
+}/* writejpeg*/
+#endif
+
+static void BGD_STDCALL writewbmp(gdImagePtr im, FILE *out) {
+ int fg = gdImageColorClosest(im, 0, 0, 0);
+
+ gdImageWBMP(im, fg, out);
+}/* writejpeg*/
+
+static void BGD_STDCALL writebmp(gdImagePtr im, FILE *out) {
+ gdImageBmp(im, out, GD_TRUE);
+}/* writejpeg*/
+
+
+enum FType {UNKNOWN, PNG, JPG, GIF, TIFF, GD, GD2, WEBP};
+static struct FileType {
+ const char *ext;
+ ReadFn reader;
+ WriteFn writer;
+ LoadFn loader;
+} Types[] = {
+ {".gif", gdImageCreateFromGif, gdImageGif, NULL},
+ {".gd", gdImageCreateFromGd, gdImageGd, NULL},
+ {".wbmp", gdImageCreateFromWBMP, writewbmp, NULL},
+ {".bmp", gdImageCreateFromBmp, writebmp, NULL},
+
+ {".xbm", gdImageCreateFromXbm, NULL, NULL},
+ {".tga", gdImageCreateFromTga, NULL, NULL},
+
+#ifdef HAVE_LIBPNG
+ {".png", gdImageCreateFromPng, gdImagePng, NULL},
+#endif
+
+#ifdef HAVE_LIBJPEG
+ {".jpg", gdImageCreateFromJpeg, writejpeg, NULL},
+ {".jpeg", gdImageCreateFromJpeg, writejpeg, NULL},
+#endif
+
+#ifdef HAVE_LIBTIFF
+ {".tiff", gdImageCreateFromTiff, gdImageTiff, NULL},
+ {".tif" , gdImageCreateFromTiff, gdImageTiff, NULL},
+#endif
+
+#ifdef HAVE_LIBZ
+ {".gd2", gdImageCreateFromGd2, writegd2, NULL},
+#endif
+
+#ifdef HAVE_LIBVPX
+ {".webp", gdImageCreateFromWebp, gdImageWebp, NULL},
+#endif
+
+#ifdef HAVE_LIBXPM
+ {".xpm", NULL, NULL, gdImageCreateFromXpm},
+#endif
+
+ {NULL, NULL, NULL}
+};
+
+
+struct FileType *
+ftype(const char *filename) {
+ int n;
+ char *ext;
+
+ /* Find the file extension (i.e. the last period in the string. */
+ ext = strrchr(filename, '.');
+ if (!ext) return NULL;
+
+ for (n = 0; Types[n].ext; n++) {
+ if (strcasecmp(ext, Types[n].ext) == 0) {
+ return &Types[n];
+ }/* if */
+ }/* for */
+
+ return NULL;
+}/* ftype*/
+
+
+/*
+ Function: gdSupportsFileType
+
+ Tests if a given file type is supported by GD.
+
+ Given the name of an image file (which does not have to exist),
+ returns 1 (i.e. TRUE) if <gdImageCreateFromFile> can read a file
+ of that type. This is useful if you do not know which image types
+ were enabled at compile time.
+
+ If _writing_ is true, the result will be true only if
+ <gdImageFile> can write a file of this type.
+
+ Note that filename parsing is done exactly the same as is done by
+ <gdImageCreateFromFile> and <gdImageFile> and is subject to the
+ same limitations.
+
+ Assuming LibGD is compiled with support for these image types, the
+ following extensions are supported:
+
+ - .gif
+ - .gd, .gd2
+ - .wbmp
+ - .bmp
+ - .xbm
+ - .tga
+ - .png
+ - .jpg, .jpeg
+ - .tiff, .tif
+ - .webp
+ - .xpm
+
+ Names are parsed case-insenstively.
+
+ Parameters:
+
+ filename - Filename with tested extension.
+ writing - Flag: true tests if writing works
+
+ Returns:
+
+ GD_TRUE (1) if the file type is supported, GD_FALSE (0) if not.
+
+*/
+BGD_DECLARE(int)
+gdSupportsFileType(const char *filename, int writing) {
+ struct FileType *entry = ftype(filename);
+ return !!entry && (!writing || !!entry->writer);
+}/* gdSupportsFileType*/
+
+
+/*
+ Function: gdImageCreateFromFile
+
+ Read an image file of any supported.
+
+ Given the path to a file, <gdImageCreateFromFile> will open the
+ file, read its contents with the appropriate _gdImageCreateFrom*_
+ function and return it.
+
+ File type is determined by the filename extension, so having an
+ incorrect extension will probably not work. For example, renaming
+ PNG image "foo.png" to "foo.gif" and then attempting to load it
+ will fail even if GD supports both formats. See
+ <gdSupportsFiletype> for more details.
+
+ NULL is returned on error.
+
+ Parameters:
+
+ filename - the input file name
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+*/
+
+BGD_DECLARE(gdImagePtr)
+gdImageCreateFromFile(const char *filename) {
+ struct FileType *entry = ftype(filename);
+ FILE *fh;
+ gdImagePtr result;
+
+ if (!entry) return NULL;
+ if (entry->loader) return entry->loader((char *)filename);
+ if (!entry->reader) return NULL;
+
+ fh = fopen(filename, "rb");
+ if (!fh) return NULL;
+
+ result = entry->reader(fh);
+
+ fclose(fh);
+
+ return result;
+}/* gdImageCreateFromFile*/
+
+
+
+/*
+ Function: gdImageFile
+
+ Writes an image to a file in the format indicated by the filename.
+
+ File type is determined by the extension of the file name. See
+ <gdSupportsFiletype> for an overview of the parsing.
+
+ For file types that require extra arguments, <gdImageFile>
+ attempts to use sane defaults:
+
+ <gdImageGd2> - chunk size = 0, compression is enabled.
+ <gdImageJpeg> - quality = -1 (i.e. the reasonable default)
+ <gdImageWBMP> - foreground is the darkest available color
+
+ Everything else is called with the two-argument function and so
+ will use the default values.
+
+ <gdImageFile> has some rudimentary error detection and will return
+ GD_FALSE (0) if a detectable error occurred. However, the image
+ loaders do not normally return their error status so a result of
+ GD_TRUE (1) does **not** mean the file was saved successfully.
+
+ Parameters:
+
+ im - The image to save.
+ filename - The path to the file to which the image is saved.
+
+ Returns:
+
+ GD_FALSE (0) if an error was detected, GD_TRUE (1) if not.
+
+*/
+
+BGD_DECLARE(int)
+gdImageFile(gdImagePtr im, const char *filename) {
+ struct FileType *entry = ftype(filename);
+ FILE *fh;
+
+ if (!entry || !entry->writer) return GD_FALSE;
+
+ fh = fopen(filename, "wb");
+ if (!fh) return GD_FALSE;
+
+ entry->writer(im, fh);
+
+ fclose(fh);
+
+ return GD_TRUE;
+}/* gdImageFile*/
+
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_filter.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_filter.c
index 6735aabfe5b..a3119f77f80 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_filter.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_filter.c
@@ -3,6 +3,8 @@
#endif
#include "gd.h"
+#include "gdhelpers.h"
+#include "gd_intern.h"
#ifdef _WIN32
# include <windows.h>
@@ -11,6 +13,10 @@
#endif
#include <stdlib.h>
#include <time.h>
+#include <math.h>
+
+#define NDEBUG /* Uncomment to enable assertions. */
+#include <assert.h>
typedef int (BGD_STDCALL *FuncPtr)(gdImagePtr, int, int);
@@ -562,11 +568,33 @@ BGD_DECLARE(int) gdImageEdgeDetectQuick(gdImagePtr src)
return gdImageConvolution(src, filter, 1, 127);
}
+/*
+ Function: gdImageGaussianBlur
+
+ <gdImageGaussianBlur> performs a Gaussian blur of radius 1 on the
+ image. The image is modified in place.
+
+ *NOTE:* You will almost certain want to use
+ <gdImageCopyGaussianBlurred> instead, as it allows you to change
+ your kernel size and sigma value. Future versions of this
+ function may fall back to calling it instead of
+ <gdImageConvolution>, causing subtle changes so be warned.
+
+ Parameters:
+ im - The image to blur
+
+ Returns:
+ GD_TRUE (1) on success, GD_FALSE (0) on failure.
+
+*/
+
BGD_DECLARE(int) gdImageGaussianBlur(gdImagePtr im)
{
- float filter[3][3] = {{1.0,2.0,1.0},
- {2.0,4.0,2.0},
- {1.0,2.0,1.0}};
+ float filter[3][3] = {
+ {1.0, 2.0, 1.0},
+ {2.0, 4.0, 2.0},
+ {1.0, 2.0, 1.0}
+ };
return gdImageConvolution(im, filter, 16, 0);
}
@@ -604,3 +632,232 @@ BGD_DECLARE(int) gdImageSmooth(gdImagePtr im, float weight)
return gdImageConvolution(im, filter, weight+8, 0);
}
+
+
+/* ======================== Gaussian Blur Code ======================== */
+
+/* Return an array of coefficients for 'radius' and 'sigma' (sigma >=
+ * 0 means compute it). Result length is 2*radius+1. */
+static double *
+gaussian_coeffs(int radius, double sigmaArg) {
+ const double sigma = (sigmaArg <= 0.0) ? (2.0/3.0)*radius : sigmaArg;
+ const double s = 2.0 * sigma * sigma;
+ double *result;
+ double sum = 0;
+ int x, n, count;
+
+ count = 2*radius + 1;
+
+ result = gdMalloc(sizeof(double) * count);
+ if (!result) {
+ return NULL;
+ }/* if */
+
+ for (x = -radius; x <= radius; x++) {
+ double coeff = exp(-(x*x)/s);
+
+ sum += coeff;
+ result[x + radius] = coeff;
+ }/* for */
+
+ for (n = 0; n < count; n++) {
+ result[n] /= sum;
+ }/* for */
+
+ return result;
+}/* gaussian_coeffs*/
+
+
+
+static inline int
+reflect(int max, int x)
+{
+ assert(x > -max && x < 2*max);
+
+ if(x < 0) return -x;
+ if(x >= max) return max - (x - max) - 1;
+ return x;
+}/* reflect*/
+
+
+
+static inline void
+applyCoeffsLine(gdImagePtr src, gdImagePtr dst, int line, int linelen,
+ double *coeffs, int radius, gdAxis axis)
+{
+ int ndx;
+
+ for (ndx = 0; ndx < linelen; ndx++) {
+ double r = 0, g = 0, b = 0, a = 0;
+ int cndx;
+ int *dest = (axis == HORIZONTAL) ?
+ &dst->tpixels[line][ndx] :
+ &dst->tpixels[ndx][line];
+
+ for (cndx = -radius; cndx <= radius; cndx++) {
+ const double coeff = coeffs[cndx + radius];
+ const int rndx = reflect(linelen, ndx + cndx);
+
+ const int srcpx = (axis == HORIZONTAL) ?
+ src->tpixels[line][rndx] :
+ src->tpixels[rndx][line];
+
+ r += coeff * (double)gdTrueColorGetRed(srcpx);
+ g += coeff * (double)gdTrueColorGetGreen(srcpx);
+ b += coeff * (double)gdTrueColorGetBlue(srcpx);
+ a += coeff * (double)gdTrueColorGetAlpha(srcpx);
+ }/* for */
+
+ *dest = gdTrueColorAlpha(uchar_clamp(r, 0xFF), uchar_clamp(g, 0xFF),
+ uchar_clamp(b, 0xFF), uchar_clamp(a, 0x7F));
+ }/* for */
+}/* applyCoeffsLine*/
+
+
+static void
+applyCoeffs(gdImagePtr src, gdImagePtr dst, double *coeffs, int radius,
+ gdAxis axis)
+{
+ int line, numlines, linelen;
+
+ if (axis == HORIZONTAL) {
+ numlines = src->sy;
+ linelen = src->sx;
+ } else {
+ numlines = src->sx;
+ linelen = src->sy;
+ }/* if .. else*/
+
+ for (line = 0; line < numlines; line++) {
+ applyCoeffsLine(src, dst, line, linelen, coeffs, radius, axis);
+ }/* for */
+}/* applyCoeffs*/
+
+/*
+ Function: gdImageCopyGaussianBlurred
+
+ Return a copy of the source image _src_ blurred according to the
+ parameters using the Gaussian Blur algorithm.
+
+ _radius_ is a radius, not a diameter so a radius of 2 (for
+ example) will blur across a region 5 pixels across (2 to the
+ center, 1 for the center itself and another 2 to the other edge).
+
+ _sigma_ represents the "fatness" of the curve (lower == fatter).
+ If _sigma_ is less than or equal to 0,
+ <gdImageCopyGaussianBlurred> ignores it and instead computes an
+ "optimal" value. Be warned that future versions of this function
+ may compute sigma differently.
+
+ The resulting image is always truecolor.
+
+ More Details:
+
+ A Gaussian Blur is generated by replacing each pixel's color
+ values with the average of the surrounding pixels' colors. This
+ region is a circle whose radius is given by argument _radius_.
+ Thus, a larger radius will yield a blurrier image.
+
+ This average is not a simple mean of the values. Instead, values
+ are weighted using the Gaussian function (roughly a bell curve
+ centered around the destination pixel) giving it much more
+ influence on the result than its neighbours. Thus, a fatter curve
+ will give the center pixel more weight and make the image less
+ blurry; lower _sigma_ values will yield flatter curves.
+
+ Currently, <gdImageCopyGaussianBlurred> computes the default sigma
+ as
+
+ (2/3)*radius
+
+ Note, however that we reserve the right to change this if we find
+ a better ratio. If you absolutely need the current sigma value,
+ you should set it yourself.
+
+ Parameters:
+
+ src - the source image
+ radius - the blur radius (*not* diameter--range is 2*radius + 1)
+ sigma - the sigma value or a value <= 0.0 to use the computed default
+
+ Returns:
+
+ The new image or NULL if an error occurred. The result is always
+ truecolor.
+
+ Example:
+
+ > FILE *in;
+ > gdImagePtr result, src;
+ >
+ > in = fopen("foo.png", "rb");
+ > src = gdImageCreateFromPng(in);
+ >
+ > result = gdImageCopyGaussianBlurred(im, src->sx / 10, -1.0);
+
+*/
+
+/* TODO: Look into turning this into a generic seperable filter
+ * function with Gaussian Blur being one special case. (At the
+ * moment, I can't find any other useful separable filter so for not,
+ * it's just blur.) */
+BGD_DECLARE(gdImagePtr)
+gdImageCopyGaussianBlurred(gdImagePtr src, int radius, double sigma)
+{
+ gdImagePtr tmp = NULL, result = NULL;
+ double *coeffs;
+ int freeSrc = 0;
+
+ if (radius < 1) {
+ return NULL;
+ }/* if */
+
+ /* Compute the coefficients. */
+ coeffs = gaussian_coeffs(radius, sigma);
+ if (!coeffs) {
+ return NULL;
+ }/* if */
+
+ /* If the image is not truecolor, we first make a truecolor
+ * scratch copy. */
+ if (!src->trueColor) {
+ int tcstat;
+
+ src = gdImageClone(src);
+ if (!src) {
+ gdFree(coeffs);
+ return NULL;
+ }
+
+ tcstat = gdImagePaletteToTrueColor(src);
+ if (!tcstat) {
+ gdImageDestroy(src);
+ gdFree(coeffs);
+ return NULL;
+ }/* if */
+
+ freeSrc = 1;
+ }/* if */
+
+ /* Apply the filter horizontally. */
+ tmp = gdImageCreateTrueColor(src->sx, src->sy);
+ if (!tmp) {
+ gdFree(coeffs);
+ return NULL;
+ }
+ applyCoeffs(src, tmp, coeffs, radius, HORIZONTAL);
+
+ /* Apply the filter vertically. */
+ result = gdImageCreateTrueColor(src->sx, src->sy);
+ if (result) {
+ applyCoeffs(tmp, result, coeffs, radius, VERTICAL);
+ }/* if */
+
+ gdImageDestroy(tmp);
+ gdFree(coeffs);
+
+ if (freeSrc) gdImageDestroy(src);
+
+ return result;
+}/* gdImageCopyGaussianBlurred*/
+
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_gd.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_gd.c
index 3cdfd58f461..f8d39cb00ce 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_gd.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_gd.c
@@ -139,6 +139,49 @@ fail1:
return 0;
}
+/*
+ Function: gdImageCreateFromGd
+
+ <gdImageCreateFromGd> is called to load images from gd format
+ files. Invoke <gdImageCreateFromGd> with an already opened pointer
+ to a file containing the desired image in the gd file format,
+ which is specific to gd and intended for very fast loading. (It is
+ not intended for compression; for compression, use PNG or JPEG.)
+
+ <gdImageCreateFromGd> returns a <gdImagePtr> to the new image, or
+ NULL if unable to load the image (most often because the file is
+ corrupt or does not contain a gd format
+ image). <gdImageCreateFromGd> does not close the file. You can
+ inspect the sx and sy members of the image to determine its
+ size. The image must eventually be destroyed using
+ <gdImageDestroy>.
+
+ Variants:
+
+ <gdImageCreateFromGdPtr> creates an image from GD data (i.e. the
+ contents of a GD file) already in memory.
+
+ <gdImageCreateFromGdCtx> reads in an image using the functions in
+ a <gdIOCtx> struct.
+
+ Parameters:
+
+ infile - The input FILE pointer
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+ Example:
+
+ > gdImagePtr im;
+ > FILE *in;
+ > in = fopen("mygd.gd", "rb");
+ > im = gdImageCreateFromGd(in);
+ > fclose(in);
+ > // ... Use the image ...
+ > gdImageDestroy(im);
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd (FILE * inFile)
{
gdImagePtr im;
@@ -153,6 +196,16 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGd (FILE * inFile)
return im;
}
+/*
+ Function: gdImageCreateFromGdPtr
+
+ Parameters:
+
+ size - size of GD data in bytes.
+ data - GD data (i.e. contents of a GIF file).
+
+ Reads in GD data from memory. See <gdImageCreateFromGd>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGdPtr (int size, void *data)
{
gdImagePtr im;
@@ -164,6 +217,12 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGdPtr (int size, void *data)
return im;
}
+/*
+ Function: gdImageCreateFromGdCtx
+
+ Reads in a GD image via a <gdIOCtx> struct. See
+ <gdImageCreateFromGd>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGdCtx (gdIOCtxPtr in)
{
int sx, sy;
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_gd2.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_gd2.c
index e7207f9ac6e..3e70bfac673 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_gd2.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_gd2.c
@@ -250,6 +250,52 @@ _gd2ReadChunk (int offset, char *compBuf, int compSize, char *chunkBuf,
return TRUE;
}
+
+/*
+ Function: gdImageCreateFromGd2
+
+ <gdImageCreateFromGd2> is called to load images from gd2 format
+ files. Invoke <gdImageCreateFromGd2> with an already opened
+ pointer to a file containing the desired image in the gd2 file
+ format, which is specific to gd2 and intended for fast loading of
+ parts of large images. (It is a compressed format, but generally
+ not as good as maximum compression of the entire image would be.)
+
+ <gdImageCreateFromGd2> returns a <gdImagePtr> to the new image, or
+ NULL if unable to load the image (most often because the file is
+ corrupt or does not contain a gd format
+ image). <gdImageCreateFromGd2> does not close the file. You can
+ inspect the sx and sy members of the image to determine its
+ size. The image must eventually be destroyed using
+ <gdImageDestroy>.
+
+
+ Variants:
+
+ <gdImageCreateFromGd2Ptr> creates an image from GD data (i.e. the
+ contents of a GD2 file) already in memory.
+
+ <gdImageCreateFromGd2Ctx> reads in an image using the functions in
+ a <gdIOCtx> struct.
+
+ Parameters:
+
+ infile - The input FILE pointer
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+ Example:
+
+ > gdImagePtr im;
+ > FILE *in;
+ > in = fopen("mygd.gd2", "rb");
+ > im = gdImageCreateFromGd2(in);
+ > fclose(in);
+ > // ... Use the image ...
+ > gdImageDestroy(im);
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2 (FILE * inFile)
{
gdIOCtx *in = gdNewFileCtx (inFile);
@@ -263,6 +309,16 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2 (FILE * inFile)
return im;
}
+/*
+ Function: gdImageCreateFromGd2Ptr
+
+ Parameters:
+
+ size - size of GD2 data in bytes.
+ data - GD2 data (i.e. contents of a GIF file).
+
+ See <gdImageCreateFromGd2>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Ptr (int size, void *data)
{
gdImagePtr im;
@@ -274,6 +330,12 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Ptr (int size, void *data)
return im;
}
+/*
+ Function: gdImageCreateFromGd2Ctx
+
+ Reads in a GD2 image via a <gdIOCtx> struct. See
+ <gdImageCreateFromGd2>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Ctx (gdIOCtxPtr in)
{
int sx, sy;
@@ -438,6 +500,37 @@ fail:
return 0;
}
+
+/*
+ Function: gdImageCreateFromGd2Part
+
+ <gdImageCreateFromGd2Part> is called to load parts of images from
+ gd2 format files. Invoked in the same way as <gdImageCreateFromGd2>,
+ but with extra parameters indicating the source (x, y) and
+ width/height of the desired image. <gdImageCreateFromGd2Part>
+ returns a <gdImagePtr> to the new image, or NULL if unable to load
+ the image. The image must eventually be destroyed using
+ <gdImageDestroy>.
+
+ Variants:
+
+ <gdImageCreateFromGd2PartPtr> creates an image from GD2 data
+ (i.e. the contents of a GD2 file) already in memory.
+
+ <gdImageCreateFromGd2Ctx> reads in an image using the functions in
+ a <gdIOCtx> struct.
+
+ Parameters:
+
+ infile - The input FILE pointer
+ srcx, srcy - The source X and Y coordinates
+ w, h - The resulting image's width and height
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Part (FILE * inFile, int srcx, int srcy, int w, int h)
{
gdImagePtr im;
@@ -451,6 +544,19 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2Part (FILE * inFile, int srcx, int s
return im;
}
+/*
+ Function: gdImageCreateFromGd2PartPtr
+
+ Parameters:
+
+ size - size of GD data in bytes.
+ data - GD data (i.e. contents of a GIF file).
+ srcx, srcy - The source X and Y coordinates
+ w, h - The resulting image's width and height
+
+ Reads in part of a GD2 image file stored from memory. See
+ <gdImageCreateFromGd2Part>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2PartPtr (int size, void *data, int srcx, int srcy, int w,
int h)
{
@@ -463,6 +569,19 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2PartPtr (int size, void *data, int s
return im;
}
+
+/*
+ Function: gdImageCreateFromGd2PartCtx
+
+ Parameters:
+
+ in - The data source.
+ srcx, srcy - The source X and Y coordinates
+ w, h - The resulting image's width and height
+
+ Reads in part of a GD2 data image file via a <gdIOCtx> struct. See
+ <gdImageCreateFromGd2Part>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGd2PartCtx (gdIOCtx * in, int srcx, int srcy, int w, int h)
{
int scx, scy, ecx, ecy, fsx, fsy;
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_gif_in.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_gif_in.c
index 68cdd3209e9..3ae74dea523 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_gif_in.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_gif_in.c
@@ -75,8 +75,10 @@ static struct {
#define STACK_SIZE ((1<<(MAX_LWZ_BITS))*2)
+#define CSD_BUF_SIZE 280
+
typedef struct {
- unsigned char buf[280];
+ unsigned char buf[CSD_BUF_SIZE];
int curbit;
int lastbit;
int done;
@@ -102,6 +104,49 @@ static int LWZReadByte (gdIOCtx *fd, LZW_STATIC_DATA *sd, char flag, int input_c
static void ReadImage (gdImagePtr im, gdIOCtx *fd, int len, int height, unsigned char (*cmap)[256], int interlace, int *ZeroDataBlockP); /*1.4//, int ignore); */
+/*
+ Function: gdImageCreateFromGif
+
+ <gdImageCreateFromGif> is called to load images from GIF format
+ files. Invoke <gdImageCreateFromGif> with an already opened
+ pointer to a file containing the desired
+ image.
+
+ <gdImageCreateFromGif> returns a <gdImagePtr> to the new image, or
+ NULL if unable to load the image (most often because the file is
+ corrupt or does not contain a GIF image). <gdImageCreateFromGif>
+ does not close the file. You can inspect the sx and sy members of
+ the image to determine its size. The image must eventually be
+ destroyed using <gdImageDestroy>.
+
+ Variants:
+
+ <gdImageCreateFromGifPtr> creates an image from GIF data (i.e. the
+ contents of a GIF file) already in memory.
+
+ <gdImageCreateFromGifCtx> reads in an image using the functions in
+ a <gdIOCtx> struct.
+
+ Parameters:
+
+ infile - The input FILE pointer
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+ Example:
+
+ > gdImagePtr im;
+ > ... inside a function ...
+ > FILE *in;
+ > in = fopen("mygif.gif", "rb");
+ > im = gdImageCreateFromGif(in);
+ > fclose(in);
+ > // ... Use the image ...
+ > gdImageDestroy(im);
+
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGif(FILE *fdFile)
{
gdIOCtx *fd = gdNewFileCtx(fdFile);
@@ -115,6 +160,16 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGif(FILE *fdFile)
return im;
}
+/*
+ Function: gdImageCreateFromGifPtr
+
+ Parameters:
+
+ size - size of GIF data in bytes.
+ data - GIF data (i.e. contents of a GIF file).
+
+ See <gdImageCreateFromGif>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGifPtr (int size, void *data)
{
gdImagePtr im;
@@ -127,6 +182,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromGifPtr (int size, void *data)
return im;
}
+/*
+ Function: gdImageCreateFromGifCtx
+
+ See <gdImageCreateFromGif>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromGifCtx(gdIOCtxPtr fd)
{
int BitPixel;
@@ -408,9 +468,13 @@ GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroD
scd->lastbit = (2 + count) * 8;
}
- ret = 0;
- for (i = scd->curbit, j = 0; j < code_size; ++i, ++j) {
- ret |= ((scd->buf[i / 8] & (1 << (i % 8))) != 0) << j;
+ if ((scd->curbit + code_size - 1) >= (CSD_BUF_SIZE * 8)) {
+ ret = -1;
+ } else {
+ ret = 0;
+ for (i = scd->curbit, j = 0; j < code_size; ++i, ++j) {
+ ret |= ((scd->buf[i / 8] & (1 << (i % 8))) != 0) << j;
+ }
}
scd->curbit += code_size;
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_gif_out.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_gif_out.c
index c863172d64d..51ceb753855 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_gif_out.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_gif_out.c
@@ -93,6 +93,33 @@ static void char_init(GifCtx *ctx);
static void char_out(int c, GifCtx *ctx);
static void flush_char(GifCtx *ctx);
+
+
+
+/*
+ Function: gdImageGifPtr
+
+ Identical to <gdImageGif> except that it returns a pointer to a
+ memory area with the GIF data. This memory must be freed by the
+ caller when it is no longer needed.
+
+ The caller *must* invoke <gdFree>, not _free()_. This is because
+ it is not guaranteed that libgd will use the same implementation
+ of malloc, free, etc. as your proggram.
+
+ The 'size' parameter receives the total size of the block of
+ memory.
+
+ Parameters:
+
+ im - The image to write
+ size - Output: the size of the resulting image.
+
+ Returns:
+
+ A pointer to the GIF data or NULL if an error occurred.
+
+*/
BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size)
{
void *rv;
@@ -104,6 +131,65 @@ BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size)
return rv;
}
+/*
+ Function: gdImageGif
+
+ <gdImageGif> outputs the specified image to the specified file in
+ GIF format. The file must be open for binary writing. (Under MSDOS
+ and all versions of Windows, it is important to use "wb" as
+ opposed to simply "w" as the mode when opening the file; under
+ Unix there is no penalty for doing so). <gdImageGif> does not close
+ the file; your code must do so.
+
+ GIF does not support true color; GIF images can contain a maximum
+ of 256 colors. If the image to be written is a truecolor image,
+ such as those created with gdImageCreateTrueColor or loaded from a
+ JPEG or a truecolor PNG image file, a palette-based temporary
+ image will automatically be created internally using the
+ <gdImageCreatePaletteFromTrueColor> function. The original image
+ pixels are not modified. This conversion produces high quality
+ palettes but does require some CPU time. If you are regularly
+ converting truecolor to palette in this way, you should consider
+ creating your image as a palette-based image in the first place.
+
+ Variants:
+
+ <gdImageGifCtx> outputs the image via a <gdIOCtx> struct.
+
+ <gdImageGifPtr> stores the image in a large array of bytes.
+
+ Parameters:
+
+ im - The image to write
+ outFile - The FILE pointer to write the image to.
+
+ Returns:
+
+ Nothing
+
+ Example:
+
+ > gdImagePtr im;
+ > int black, white;
+ > FILE *out;
+ > // Create the image
+ > im = gdImageCreate(100, 100);
+ > // Allocate background
+ > white = gdImageColorAllocate(im, 255, 255, 255);
+ > // Allocate drawing color
+ > black = gdImageColorAllocate(im, 0, 0, 0);
+ > // Draw rectangle
+ > gdImageRectangle(im, 0, 0, 99, 99, black);
+ > // Open output file in binary mode
+ > out = fopen("rect.gif", "wb");
+ > // Write GIF
+ > gdImageGif(im, out);
+ > // Close file
+ > fclose(out);
+ > // Destroy image
+ > gdImageDestroy(im);
+
+*/
BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile)
{
gdIOCtx *out = gdNewFileCtx(outFile);
@@ -112,6 +198,21 @@ BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile)
out->gd_free(out);
}
+/*
+ Function: gdImageGifCtx
+
+ Writes a GIF image via a <gdIOCtx>. See <gdImageGif>.
+
+ Parameters:
+
+ im - The image to write
+ out - The <gdIOCtx> struct used to do the writing.
+
+ Returns:
+
+ Nothing.
+
+*/
BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
{
gdImagePtr pim = 0, tim = im;
@@ -142,6 +243,37 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
}
}
+
+/*
+ Function: gdImageGifAnimBeginPtr
+
+ Like <gdImageGifAnimBegin> except that it outputs to a memory
+ buffer. See <gdImageGifAnimBegin>.
+
+ The returned memory must be freed by the caller when it is no
+ longer needed. **The caller must invoke <gdFree>(), not free()**,
+ unless the caller is absolutely certain that the same
+ implementations of malloc, free, etc. are used both at library
+ build time and at application build time (but don't; it could
+ always change).
+
+ The 'size' parameter receives the total size of the block of
+ memory.
+
+ Parameters:
+
+ im - The reference image
+ size - Output: the size in bytes of the result.
+ GlobalCM - Global colormap flag: 1 -> yes, 0 -> no, -1 -> do default
+ Loops - Loop count; 0 -> infinite, -1 means no loop
+
+ Returns:
+
+ A pointer to the resulting data (the contents of the start of the
+ GIF) or NULL if an error occurred.
+
+*/
+
BGD_DECLARE(void *) gdImageGifAnimBeginPtr(gdImagePtr im, int *size, int GlobalCM, int Loops)
{
void *rv;
@@ -153,6 +285,57 @@ BGD_DECLARE(void *) gdImageGifAnimBeginPtr(gdImagePtr im, int *size, int GlobalC
return rv;
}
+
+/*
+ Function: gdImageGifAnimBegin
+
+ This function must be called as the first function when creating a
+ GIF animation. It writes the correct GIF file headers to selected
+ file output, and prepares for frames to be added for the
+ animation. The image argument is not used to produce an image
+ frame to the file, it is only used to establish the GIF animation
+ frame size, interlacing options and the color
+ palette. <gdImageGifAnimAdd> is used to add the first and
+ subsequent frames to the animation, and the animation must be
+ terminated by writing a semicolon character (;) to it or by using
+ gdImageGifAnimEnd to do that.
+
+ The GlobalCM flag indicates if a global color map (or palette) is
+ used in the GIF89A header. A nonzero value specifies that a global
+ color map should be used to reduce the size of the animation. Of
+ course, if the color maps of individual frames differ greatly, a
+ global color map may not be a good idea. GlobalCM=1 means write
+ global color map, GlobalCM=0 means do not, and GlobalCM=-1 means
+ to do the default, which currently is to use a global color map.
+
+ If Loops is 0 or greater, the Netscape 2.0 extension for animation
+ loop count is written. 0 means infinite loop count. -1 means that
+ the extension is not added which results in no looping. -1 is the
+ default.
+
+ Variants:
+
+ <gdImageGifAnimBeginCtx> outputs the image via a <gdIOCtx> struct.
+
+ <gdImageGifAnimBeginPtr> stores the image in a large array of bytes.
+
+ Parameters:
+
+ im - The reference image
+ outfile - The output FILE*.
+ GlobalCM - Global colormap flag: 1 -> yes, 0 -> no, -1 -> do default
+ Loops - Loop count; 0 -> infinite, -1 means no loop
+
+ Returns:
+
+ Nothing.
+
+ Example:
+
+ See <gdImageGifAnimBegin>.
+
+*/
+
BGD_DECLARE(void) gdImageGifAnimBegin(gdImagePtr im, FILE *outFile, int GlobalCM, int Loops)
{
gdIOCtx *out = gdNewFileCtx(outFile);
@@ -161,6 +344,26 @@ BGD_DECLARE(void) gdImageGifAnimBegin(gdImagePtr im, FILE *outFile, int GlobalCM
out->gd_free(out);
}
+
+
+/*
+ Function: gdImageGifAnimBeginCtx
+
+ Like <gdImageGifAnimBegin> except that it outputs to <gdIOCtx>.
+ See <gdImageGifAnimBegin>.
+
+ Parameters:
+
+ im - The reference image
+ out - Pointer to the output <gdIOCtx>.
+ GlobalCM - Global colormap flag: 1 -> yes, 0 -> no, -1 -> do default
+ Loops - Loop count; 0 -> infinite, -1 means no loop
+
+ Returns:
+
+ Nothing.
+
+*/
BGD_DECLARE(void) gdImageGifAnimBeginCtx(gdImagePtr im, gdIOCtxPtr out, int GlobalCM, int Loops)
{
int B;
@@ -225,7 +428,43 @@ BGD_DECLARE(void) gdImageGifAnimBeginCtx(gdImagePtr im, gdIOCtxPtr out, int Glob
}
}
-BGD_DECLARE(void *) gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal, gdImagePtr previm)
+
+
+/*
+ Function: gdImageGifAnimAddPtr
+
+ Like <gdImageGifAnimAdd> (which contains more information) except
+ that it stores the data to write into memory and returns a pointer
+ to it.
+
+ This memory must be freed by the caller when it is no longer
+ needed. **The caller must invoke <gdFree>(), not free(),** unless
+ the caller is absolutely certain that the same implementations of
+ malloc, free, etc. are used both at library build time and at
+ application build time (but don't; it could always change).
+
+ The 'size' parameter receives the total size of the block of
+ memory.
+
+ Parameters:
+
+ im - The image to add.
+ size - Output: the size of the resulting buffer.
+ LocalCM - Flag. If 1, use a local color map for this frame.
+ LeftOfs - Left offset of image in frame.
+ TopOfs - Top offset of image in frame.
+ Delay - Delay before next frame (in 1/100 seconds)
+ Disposal - MODE: How to treat this frame when the next one loads.
+ previm - NULL or a pointer to the previous image written.
+
+ Returns:
+
+ Pointer to the resulting data or NULL if an error occurred.
+
+*/
+BGD_DECLARE(void *) gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM,
+ int LeftOfs, int TopOfs, int Delay,
+ int Disposal, gdImagePtr previm)
{
void *rv;
gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
@@ -236,7 +475,114 @@ BGD_DECLARE(void *) gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM,
return rv;
}
-BGD_DECLARE(void) gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal, gdImagePtr previm)
+
+/*
+ Function: gdImageGifAnimAdd
+
+ This function writes GIF animation frames to GIF animation, which
+ was initialized with <gdImageGifAnimBegin>. With _LeftOfs_ and
+ _TopOfs_ you can place this frame in different offset than (0,0)
+ inside the image screen as defined in <gdImageGifAnimBegin>. Delay
+ between the previous frame and this frame is in 1/100s
+ units. _Disposal_ is usually <gdDisposalNone>, meaning that the
+ pixels changed by this frame should remain on the display when the
+ next frame begins to render, but can also be <gdDisposalUnknown>
+ (not recommended), <gdDisposalRestoreBackground> (restores the
+ first allocated color of the global palette), or
+ <gdDisposalRestorePrevious> (restores the appearance of the
+ affected area before the frame was rendered). Only
+ <gdDisposalNone> is a sensible choice for the first frame. If
+ _previm_ is passed, the built-in GIF optimizer will always use
+ <gdDisposalNone> regardless of the Disposal parameter.
+
+ Setting the _LocalCM_ flag to 1 adds a local palette for this
+ image to the animation. Otherwise the global palette is assumed
+ and the user must make sure the palettes match. Use
+ <gdImagePaletteCopy> to do that.
+
+ Automatic optimization is activated by giving the previous image
+ as a parameter. This function then compares the images and only
+ writes the changed pixels to the new frame in animation. The
+ _Disposal_ parameter for optimized animations must be set to 1,
+ also for the first frame. _LeftOfs_ and _TopOfs_ parameters are
+ ignored for optimized frames. To achieve good optimization, it is
+ usually best to use a single global color map. To allow
+ <gdImageGifAnimAdd> to compress unchanged pixels via the use of a
+ transparent color, the image must include a transparent color.
+
+
+ Variants:
+
+ <gdImageGifAnimAddCtx> outputs its data via a <gdIOCtx> struct.
+
+ <gdImageGifAnimAddPtr> outputs its data to a memory buffer which
+ it returns.
+
+ Parameters:
+
+ im - The image to add.
+ outfile - The output FILE* being written.
+ LocalCM - Flag. If 1, use a local color map for this frame.
+ LeftOfs - Left offset of image in frame.
+ TopOfs - Top offset of image in frame.
+ Delay - Delay before next frame (in 1/100 seconds)
+ Disposal - MODE: How to treat this frame when the next one loads.
+ previm - NULL or a pointer to the previous image written.
+
+ Returns:
+
+ Nothing.
+
+ Example:
+
+ > {
+ > gdImagePtr im, im2, im3;
+ > int black, white, trans;
+ > FILE *out;
+ >
+ > im = gdImageCreate(100, 100); // Create the image
+ > white = gdImageColorAllocate(im, 255, 255, 255); // Allocate background
+ > black = gdImageColorAllocate(im, 0, 0, 0); // Allocate drawing color
+ > trans = gdImageColorAllocate(im, 1, 1, 1); // trans clr for compression
+ > gdImageRectangle(im, 0, 0, 10, 10, black); // Draw rectangle
+ >
+ > out = fopen("anim.gif", "wb");// Open output file in binary mode
+ > gdImageGifAnimBegin(im, out, 1, 3);// Write GIF hdr, global clr map,loops
+ > // Write the first frame. No local color map. Delay = 1s
+ > gdImageGifAnimAdd(im, out, 0, 0, 0, 100, 1, NULL);
+ >
+ > // construct the second frame
+ > im2 = gdImageCreate(100, 100);
+ > (void)gdImageColorAllocate(im2, 255, 255, 255); // White background
+ > gdImagePaletteCopy (im2, im); // Make sure the palette is identical
+ > gdImageRectangle(im2, 0, 0, 15, 15, black); // Draw something
+ > // Allow animation compression with transparent pixels
+ > gdImageColorTransparent (im2, trans);
+ > gdImageGifAnimAdd(im2, out, 0, 0, 0, 100, 1, im); // Add second frame
+ >
+ > // construct the third frame
+ > im3 = gdImageCreate(100, 100);
+ > (void)gdImageColorAllocate(im3, 255, 255, 255); // white background
+ > gdImagePaletteCopy (im3, im); // Make sure the palette is identical
+ > gdImageRectangle(im3, 0, 0, 15, 20, black); // Draw something
+ > // Allow animation compression with transparent pixels
+ > gdImageColorTransparent (im3, trans);
+ > // Add the third frame, compressing against the second one
+ > gdImageGifAnimAdd(im3, out, 0, 0, 0, 100, 1, im2);
+ > gdImageGifAnimEnd(out); // End marker, same as putc(';', out);
+ > fclose(out); // Close file
+ >
+ > // Destroy images
+ > gdImageDestroy(im);
+ > gdImageDestroy(im2);
+ > gdImageDestroy(im3);
+ > }
+
+*/
+
+BGD_DECLARE(void) gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM,
+ int LeftOfs, int TopOfs, int Delay,
+ int Disposal, gdImagePtr previm)
{
gdIOCtx *out = gdNewFileCtx(outFile);
if (out == NULL) return;
@@ -257,7 +603,31 @@ static int comparewithmap(gdImagePtr im1, gdImagePtr im2, int c1, int c2, int *c
return (colorMap[c1] = gdImageColorExactAlpha(im2, im1->red[c1], im1->green[c1], im1->blue[c1], im1->alpha[c1])) == c2;
}
-BGD_DECLARE(void) gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtxPtr out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal, gdImagePtr previm)
+/*
+ Function: gdImageGifAnimAddCtx
+
+ Adds an animation frame via a <gdIOCtxPtr>. See gdImageGifAnimAdd>.
+
+ Parameters:
+
+ im - The image to add.
+ out - The output <gdIOCtxPtr>.
+ LocalCM - Flag. If 1, use a local color map for this frame.
+ LeftOfs - Left offset of image in frame.
+ TopOfs - Top offset of image in frame.
+ Delay - Delay before next frame (in 1/100 seconds)
+ Disposal - MODE: How to treat this frame when the next one loads.
+ previm - NULL or a pointer to the previous image written.
+
+ Returns:
+
+ Nothing.
+
+*/
+BGD_DECLARE(void) gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtxPtr out,
+ int LocalCM, int LeftOfs, int TopOfs,
+ int Delay, int Disposal,
+ gdImagePtr previm)
{
gdImagePtr pim = NULL, tim = im;
int interlace, transparent, BitsPerPixel;
@@ -456,6 +826,37 @@ fail_end:
}
}
+
+
+/*
+ Function: gdImageGifAnimEnd
+
+ Terminates the GIF file properly.
+
+ (Previous versions of this function's documentation suggested just
+ manually writing a semicolon (';') instead since that is all this
+ function does. While that has no longer changed, we now suggest
+ that you do not do this and instead always call
+ <gdImageGifAnimEnd> (or equivalent) since later versions could
+ possibly do more or different things.)
+
+ Variants:
+
+ <gdImageGifAnimEndCtx> outputs its data via a <gdIOCtx> struct.
+
+ <gdImageGifAnimEndPtr> outputs its data to a memory buffer which
+ it returns.
+
+ Parameters:
+
+ outfile - the destination FILE*.
+
+ Returns:
+
+ Nothing.
+
+*/
+
BGD_DECLARE(void) gdImageGifAnimEnd(FILE *outFile)
{
#if 1
@@ -468,6 +869,32 @@ BGD_DECLARE(void) gdImageGifAnimEnd(FILE *outFile)
#endif
}
+/*
+ Function: gdImageGifAnimEndPtr
+
+ Like <gdImageGifAnimEnd> (which contains more information) except
+ that it stores the data to write into memory and returns a pointer
+ to it.
+
+ This memory must be freed by the caller when it is no longer
+ needed. **The caller must invoke <gdFree>(), not free(),** unless
+ the caller is absolutely certain that the same implementations of
+ malloc, free, etc. are used both at library build time and at
+ application build time (but don't; it could always change).
+
+ The 'size' parameter receives the total size of the block of
+ memory.
+
+ Parameters:
+
+ size - Output: the size of the resulting buffer.
+
+ Returns:
+
+ Pointer to the resulting data or NULL if an error occurred.
+
+*/
+
BGD_DECLARE(void *) gdImageGifAnimEndPtr(int *size)
{
char *rv = (char *) gdMalloc(1);
@@ -479,6 +906,21 @@ BGD_DECLARE(void *) gdImageGifAnimEndPtr(int *size)
return (void *)rv;
}
+/*
+ Function: gdImageGifAnimEndCtx
+
+ Like <gdImageGifAnimEnd>, but writes its data via a <gdIOCtx>.
+
+ Parameters:
+
+ out - the destination <gdIOCtx>.
+
+ Returns:
+
+ Nothing.
+
+*/
+
BGD_DECLARE(void) gdImageGifAnimEndCtx(gdIOCtx *out)
{
/*
diff --git a/Build/source/libs/gd/libgd-2.1.1/src/gd_intern.h b/Build/source/libs/gd/libgd-2.1.1/src/gd_intern.h
new file mode 100644
index 00000000000..a30062b11f8
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_intern.h
@@ -0,0 +1,90 @@
+#ifndef GD_INTERN_H
+#define GD_INTERN_H
+
+#if HAVE_LIMITS_H
+#include <limits.h>
+#endif
+
+
+#ifndef MAXPATHLEN
+# ifdef PATH_MAX
+# define MAXPATHLEN PATH_MAX
+# elif defined(MAX_PATH)
+# define MAXPATHLEN MAX_PATH
+# else
+# if defined(__GNU__)
+# define MAXPATHLEN 4096
+# else
+# define MAXPATHLEN 256 /* Should be safe for any weird systems that do not define it */
+# endif
+# endif
+#endif
+
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#else
+# if defined(HAVE_INTTYPES_H)
+# include <inttypes.h>
+# else
+# include "msinttypes/inttypes.h"
+# endif
+#endif
+
+#include "gd.h"
+
+#ifndef MIN
+#define MIN(a,b) ((a)<(b)?(a):(b))
+#endif
+#define MIN3(a,b,c) ((a)<(b)?(MIN(a,c)):(MIN(b,c)))
+#ifndef MAX
+#define MAX(a,b) ((a)<(b)?(b):(a))
+#endif
+#define MAX3(a,b,c) ((a)<(b)?(MAX(b,c)):(MAX(a,c)))
+
+
+typedef enum {
+ HORIZONTAL,
+ VERTICAL,
+} gdAxis;
+
+/* Convert a double to an unsigned char, rounding to the nearest
+ * integer and clamping the result between 0 and max. The absolute
+ * value of clr must be less than the maximum value of an unsigned
+ * short. */
+static inline unsigned char
+uchar_clamp(double clr, unsigned char max) {
+ unsigned short result;
+
+ //assert(fabs(clr) <= SHRT_MAX);
+
+ /* Casting a negative float to an unsigned short is undefined.
+ * However, casting a float to a signed truncates toward zero and
+ * casting a negative signed value to an unsigned of the same size
+ * results in a bit-identical value (assuming twos-complement
+ * arithmetic). This is what we want: all legal negative values
+ * for clr will be greater than 255. */
+
+ /* Convert and clamp. */
+ result = (unsigned short)(short)(clr + 0.5);
+ if (result > max) {
+ result = (clr < 0) ? 0 : max;
+ }/* if */
+
+ return result;
+}/* uchar_clamp*/
+
+
+/* Internal prototypes: */
+
+/* gd_rotate.c */
+gdImagePtr gdImageRotate90(gdImagePtr src, int ignoretransparent);
+gdImagePtr gdImageRotate180(gdImagePtr src, int ignoretransparent);
+gdImagePtr gdImageRotate270(gdImagePtr src, int ignoretransparent);
+
+
+
+
+
+
+#endif
+
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_interpolation.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_interpolation.c
index 88dca85cc44..a829d4f2d9e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_interpolation.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_interpolation.c
@@ -61,23 +61,39 @@ TODO:
#include <stdlib.h>
#include <string.h>
#include <math.h>
+#include <assert.h>
+
+#define NDEBUG 1 /* TODO: disable/enable assertions in configure. */
+#include <assert.h>
#include "gd.h"
#include "gdhelpers.h"
+#include "gd_intern.h"
#ifdef _MSC_VER
# pragma optimize("t", on)
# include <emmintrin.h>
#endif
-#ifndef MIN
-#define MIN(a,b) ((a)<(b)?(a):(b))
-#endif
-#define MIN3(a,b,c) ((a)<(b)?(MIN(a,c)):(MIN(b,c)))
-#ifndef MAX
-#define MAX(a,b) ((a)<(b)?(b):(a))
-#endif
-#define MAX3(a,b,c) ((a)<(b)?(MAX(b,c)):(MAX(a,c)))
+static gdImagePtr gdImageScaleBilinear(gdImagePtr im,
+ const unsigned int new_width,
+ const unsigned int new_height);
+static gdImagePtr gdImageScaleBicubicFixed(gdImagePtr src,
+ const unsigned int width,
+ const unsigned int height);
+static gdImagePtr gdImageScaleNearestNeighbour(gdImagePtr im,
+ const unsigned int width,
+ const unsigned int height);
+static gdImagePtr gdImageRotateNearestNeighbour(gdImagePtr src,
+ const float degrees,
+ const int bgColor);
+static gdImagePtr gdImageRotateBilinear(gdImagePtr src, const float degrees,
+ const int bgColor);
+static gdImagePtr gdImageRotateBicubicFixed(gdImagePtr src, const float degrees,
+ const int bgColor);
+static gdImagePtr gdImageRotateGeneric(gdImagePtr src, const float degrees,
+ const int bgColor);
+
#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
@@ -145,35 +161,6 @@ typedef struct
#define DEFAULT_SINC_RADIUS 1.0
#define DEFAULT_WELSH_RADIUS 1.0
-enum GD_RESIZE_FILTER_TYPE{
- FILTER_DEFAULT = 0,
- FILTER_BELL,
- FILTER_BESSEL,
- FILTER_BLACKMAN,
- FILTER_BOX,
- FILTER_BSPLINE,
- FILTER_CATMULLROM,
- FILTER_COSINE,
- FILTER_CUBICCONVOLUTION,
- FILTER_CUBICSPLINE,
- FILTER_HERMITE,
- FILTER_LANCZOS3,
- FILTER_LANCZOS8,
- FILTER_MITCHELL,
- FILTER_QUADRATIC,
- FILTER_QUADRATICBSPLINE,
- FILTER_TRIANGLE,
- FILTER_GAUSSIAN,
- FILTER_HANNING,
- FILTER_HAMMING,
- FILTER_SINC,
- FILTER_WELSH,
-
- FILTER_CALLBACK = 999
-};
-
-typedef enum GD_RESIZE_FILTER_TYPE gdResizeFilterType;
-
static double KernelBessel_J1(const double x)
{
double p, q;
@@ -808,7 +795,7 @@ static int getPixelInterpolateWeight(gdImagePtr im, const double x, const double
}
/**
- * Function: getPixelInterpolated
+ * InternalFunction: getPixelInterpolated
* Returns the interpolated color value using the default interpolation
* method. The returned color is always in the ARGB format (truecolor).
*
@@ -953,9 +940,6 @@ static inline LineContribType *_gdContributionsCalc(unsigned int line_size, unsi
double dTotalWeight = 0.0;
int iSrc;
- res->ContribRow[u].Left = iLeft;
- res->ContribRow[u].Right = iRight;
-
/* Cut edge points to fit in filter window in case of spill-off */
if (iRight - iLeft + 1 > windows_size) {
if (iLeft < ((int)src_size - 1 / 2)) {
@@ -965,6 +949,9 @@ static inline LineContribType *_gdContributionsCalc(unsigned int line_size, unsi
}
}
+ res->ContribRow[u].Left = iLeft;
+ res->ContribRow[u].Right = iRight;
+
for (iSrc = iLeft; iSrc <= iRight; iSrc++) {
dTotalWeight += (res->ContribRow[u].Weights[iSrc-iLeft] = scale_f_d * (*pFilter)(scale_f_d * (dCenter - (double)iSrc)));
}
@@ -983,142 +970,142 @@ static inline LineContribType *_gdContributionsCalc(unsigned int line_size, unsi
return res;
}
-static inline void _gdScaleRow(gdImagePtr pSrc, unsigned int src_width, gdImagePtr dst, unsigned int dst_width, unsigned int row, LineContribType *contrib)
+
+static inline void
+_gdScaleOneAxis(gdImagePtr pSrc, gdImagePtr dst,
+ unsigned int dst_len, unsigned int row, LineContribType *contrib,
+ gdAxis axis)
{
- int *p_src_row = pSrc->tpixels[row];
- int *p_dst_row = dst->tpixels[row];
- unsigned int x;
-
- for (x = 0; x < dst_width - 1; x++) {
- register unsigned char r = 0, g = 0, b = 0, a = 0;
- const int left = contrib->ContribRow[x].Left;
- const int right = contrib->ContribRow[x].Right;
+ unsigned int ndx;
+
+ for (ndx = 0; ndx < dst_len; ndx++) {
+ double r = 0, g = 0, b = 0, a = 0;
+ const int left = contrib->ContribRow[ndx].Left;
+ const int right = contrib->ContribRow[ndx].Right;
+ int *dest = (axis == HORIZONTAL) ?
+ &dst->tpixels[row][ndx] :
+ &dst->tpixels[ndx][row];
+
int i;
/* Accumulate each channel */
for (i = left; i <= right; i++) {
const int left_channel = i - left;
- r += (unsigned char)(contrib->ContribRow[x].Weights[left_channel] * (double)(gdTrueColorGetRed(p_src_row[i])));
- g += (unsigned char)(contrib->ContribRow[x].Weights[left_channel] * (double)(gdTrueColorGetGreen(p_src_row[i])));
- b += (unsigned char)(contrib->ContribRow[x].Weights[left_channel] * (double)(gdTrueColorGetBlue(p_src_row[i])));
- a += (unsigned char)(contrib->ContribRow[x].Weights[left_channel] * (double)(gdTrueColorGetAlpha(p_src_row[i])));
- }
- p_dst_row[x] = gdTrueColorAlpha(r, g, b, a);
- }
-}
-
-static inline void _gdScaleHoriz(gdImagePtr pSrc, unsigned int src_width, unsigned int src_height, gdImagePtr pDst, unsigned int dst_width, unsigned int dst_height)
+ const int srcpx = (axis == HORIZONTAL) ?
+ pSrc->tpixels[row][i] :
+ pSrc->tpixels[i][row];
+
+ r += contrib->ContribRow[ndx].Weights[left_channel]
+ * (double)(gdTrueColorGetRed(srcpx));
+ g += contrib->ContribRow[ndx].Weights[left_channel]
+ * (double)(gdTrueColorGetGreen(srcpx));
+ b += contrib->ContribRow[ndx].Weights[left_channel]
+ * (double)(gdTrueColorGetBlue(srcpx));
+ a += contrib->ContribRow[ndx].Weights[left_channel]
+ * (double)(gdTrueColorGetAlpha(srcpx));
+ }/* for */
+
+ *dest = gdTrueColorAlpha(uchar_clamp(r, 0xFF), uchar_clamp(g, 0xFF),
+ uchar_clamp(b, 0xFF),
+ uchar_clamp(a, 0x7F)); /* alpha is 0..127 */
+ }/* for */
+}/* _gdScaleOneAxis*/
+
+
+static inline int
+_gdScalePass(const gdImagePtr pSrc, const unsigned int src_len,
+ const gdImagePtr pDst, const unsigned int dst_len,
+ const unsigned int num_lines,
+ const gdAxis axis)
{
- unsigned int u;
+ unsigned int line_ndx;
LineContribType * contrib;
- /* same width, just copy it */
- if (dst_width == src_width) {
- unsigned int y;
- for (y = 0; y < src_height - 1; ++y) {
- memcpy(pDst->tpixels[y], pSrc->tpixels[y], src_width);
- }
- }
+ /* Same dim, just copy it. */
+ assert(dst_len != src_len); // TODO: caller should handle this.
- contrib = _gdContributionsCalc(dst_width, src_width, (double)dst_width / (double)src_width, pSrc->interpolation);
+ contrib = _gdContributionsCalc(dst_len, src_len,
+ (double)dst_len / (double)src_len,
+ pSrc->interpolation);
if (contrib == NULL) {
- return;
- }
- /* Scale each row */
- for (u = 0; u < dst_height - 1; u++) {
- _gdScaleRow(pSrc, src_width, pDst, dst_width, u, contrib);
+ return 0;
}
- _gdContributionsFree (contrib);
-}
-
-static inline void _gdScaleCol (gdImagePtr pSrc, unsigned int src_width, gdImagePtr pRes, unsigned int dst_width, unsigned int dst_height, unsigned int uCol, LineContribType *contrib)
-{
- unsigned int y;
- for (y = 0; y < dst_height - 1; y++) {
- register unsigned char r = 0, g = 0, b = 0, a = 0;
- const int iLeft = contrib->ContribRow[y].Left;
- const int iRight = contrib->ContribRow[y].Right;
- int i;
- /* Accumulate each channel */
- for (i = iLeft; i <= iRight; i++) {
- const int pCurSrc = pSrc->tpixels[i][uCol];
- const int i_iLeft = i - iLeft;
- r += (unsigned char)(contrib->ContribRow[y].Weights[i_iLeft] * (double)(gdTrueColorGetRed(pCurSrc)));
- g += (unsigned char)(contrib->ContribRow[y].Weights[i_iLeft] * (double)(gdTrueColorGetGreen(pCurSrc)));
- b += (unsigned char)(contrib->ContribRow[y].Weights[i_iLeft] * (double)(gdTrueColorGetBlue(pCurSrc)));
- a += (unsigned char)(contrib->ContribRow[y].Weights[i_iLeft] * (double)(gdTrueColorGetAlpha(pCurSrc)));
- }
- pRes->tpixels[y][uCol] = gdTrueColorAlpha(r, g, b, a);
+ /* Scale each line */
+ for (line_ndx = 0; line_ndx < num_lines; line_ndx++) {
+ _gdScaleOneAxis(pSrc, pDst, dst_len, line_ndx, contrib, axis);
}
-}
-
-static inline void _gdScaleVert (const gdImagePtr pSrc, const unsigned int src_width, const unsigned int src_height, const gdImagePtr pDst, const unsigned int dst_width, const unsigned int dst_height)
-{
- unsigned int u;
- LineContribType * contrib;
+ _gdContributionsFree (contrib);
- /* same height, copy it */
- if (src_height == dst_height) {
- unsigned int y;
- for (y = 0; y < src_height - 1; ++y) {
- memcpy(pDst->tpixels[y], pSrc->tpixels[y], src_width);
- }
- }
+ return 1;
+}/* _gdScalePass*/
- contrib = _gdContributionsCalc(dst_height, src_height, (double)(dst_height) / (double)(src_height), pSrc->interpolation);
- /* scale each column */
- for (u = 0; u < dst_width - 1; u++) {
- _gdScaleCol(pSrc, src_width, pDst, dst_width, dst_height, u, contrib);
- }
- _gdContributionsFree(contrib);
-}
-gdImagePtr gdImageScaleTwoPass(const gdImagePtr src, const unsigned int src_width, const unsigned int src_height, const unsigned int new_width, const unsigned int new_height)
+static gdImagePtr
+gdImageScaleTwoPass(const gdImagePtr src, const unsigned int new_width,
+ const unsigned int new_height)
{
- gdImagePtr tmp_im;
- gdImagePtr dst;
+ const unsigned int src_width = src->sx;
+ const unsigned int src_height = src->sy;
+ gdImagePtr tmp_im = NULL;;
+ gdImagePtr dst = NULL;
- tmp_im = gdImageCreateTrueColor(new_width, src_height);
- if (tmp_im == NULL) {
- return NULL;
- }
- _gdScaleHoriz(src, src_width, src_height, tmp_im, new_width, src_height);
+ /* First, handle the trivial case. */
+ if (src_width == new_width && src_height == new_height) {
+ return gdImageClone(src);
+ }/* if */
+ /* Convert to truecolor if it isn't; this code requires it. */
+ if (!src->trueColor) {
+ gdImagePaletteToTrueColor(src);
+ }/* if */
+
+ /* Scale horizontally unless sizes are the same. */
+ if (src_width == new_width) {
+ tmp_im = src;
+ } else {
+ tmp_im = gdImageCreateTrueColor(new_width, src_height);
+ if (tmp_im == NULL) {
+ return NULL;
+ }
+ gdImageSetInterpolationMethod(tmp_im, src->interpolation_id);
+
+ _gdScalePass(src, src_width, tmp_im, new_width, src_height, HORIZONTAL);
+ }/* if .. else*/
+
+ /* If vertical sizes match, we're done. */
+ if (src_height == new_height) {
+ assert(tmp_im != src);
+ return tmp_im;
+ }/* if */
+
+ /* Otherwise, we need to scale vertically. */
dst = gdImageCreateTrueColor(new_width, new_height);
- if (dst == NULL) {
- gdFree(tmp_im);
- return NULL;
- }
- _gdScaleVert(tmp_im, new_width, src_height, dst, new_width, new_height);
- gdFree(tmp_im);
-
- return dst;
-}
-
-gdImagePtr Scale(const gdImagePtr src, const unsigned int src_width, const unsigned int src_height, const gdImagePtr dst, const unsigned int new_width, const unsigned int new_height)
-{
- gdImagePtr tmp_im;
-
- tmp_im = gdImageCreateTrueColor(new_width, src_height);
- if (tmp_im == NULL) {
- return NULL;
- }
- _gdScaleHoriz(src, src_width, src_height, tmp_im, new_width, src_height);
+ if (dst != NULL) {
+ gdImageSetInterpolationMethod(dst, src->interpolation_id);
+ _gdScalePass(tmp_im, src_height, dst, new_height, new_width, VERTICAL);
+ }/* if */
- _gdScaleVert(tmp_im, new_width, src_height, dst, new_width, new_height);
+ if (src != tmp_im) {
+ gdFree(tmp_im);
+ }/* if */
- gdFree(tmp_im);
return dst;
-}
+}/* gdImageScaleTwoPass*/
+
/*
- BilinearFixed, BicubicFixed and nearest implementations are rewamped versions of the implementation in CBitmapEx
+ BilinearFixed, BicubicFixed and nearest implementations are
+ rewamped versions of the implementation in CBitmapEx
+
http://www.codeproject.com/Articles/29121/CBitmapEx-Free-C-Bitmap-Manipulation-Class
- Integer only implementation, good to have for common usages like pre scale very large
- images before using another interpolation methods for the last step.
+
+ Integer only implementation, good to have for common usages like
+ pre scale very large images before using another interpolation
+ methods for the last step.
*/
-gdImagePtr gdImageScaleNearestNeighbour(gdImagePtr im, const unsigned int width, const unsigned int height)
+static gdImagePtr
+gdImageScaleNearestNeighbour(gdImagePtr im, const unsigned int width, const unsigned int height)
{
const unsigned long new_width = MAX(1, width);
const unsigned long new_height = MAX(1, height);
@@ -1338,8 +1325,8 @@ static gdImagePtr gdImageScaleBilinearTC(gdImagePtr im, const unsigned int new_w
gdFixed f_j = gd_itofx(j);
gdFixed f_a = gd_mulfx(f_i, f_dy);
gdFixed f_b = gd_mulfx(f_j, f_dx);
- const long m = gd_fxtoi(f_a);
- const long n = gd_fxtoi(f_b);
+ const gdFixed m = gd_fxtoi(f_a);
+ const gdFixed n = gd_fxtoi(f_b);
gdFixed f_f = f_a - gd_itofx(m);
gdFixed f_g = f_b - gd_itofx(n);
@@ -1378,10 +1365,10 @@ static gdImagePtr gdImageScaleBilinearTC(gdImagePtr im, const unsigned int new_w
f_a3 = gd_itofx(gdTrueColorGetAlpha(pixel3));
f_a4 = gd_itofx(gdTrueColorGetAlpha(pixel4));
{
- const char red = (char) gd_fxtoi(gd_mulfx(f_w1, f_r1) + gd_mulfx(f_w2, f_r2) + gd_mulfx(f_w3, f_r3) + gd_mulfx(f_w4, f_r4));
- const char green = (char) gd_fxtoi(gd_mulfx(f_w1, f_g1) + gd_mulfx(f_w2, f_g2) + gd_mulfx(f_w3, f_g3) + gd_mulfx(f_w4, f_g4));
- const char blue = (char) gd_fxtoi(gd_mulfx(f_w1, f_b1) + gd_mulfx(f_w2, f_b2) + gd_mulfx(f_w3, f_b3) + gd_mulfx(f_w4, f_b4));
- const char alpha = (char) gd_fxtoi(gd_mulfx(f_w1, f_a1) + gd_mulfx(f_w2, f_a2) + gd_mulfx(f_w3, f_a3) + gd_mulfx(f_w4, f_a4));
+ const unsigned char red = (unsigned char) gd_fxtoi(gd_mulfx(f_w1, f_r1) + gd_mulfx(f_w2, f_r2) + gd_mulfx(f_w3, f_r3) + gd_mulfx(f_w4, f_r4));
+ const unsigned char green = (unsigned char) gd_fxtoi(gd_mulfx(f_w1, f_g1) + gd_mulfx(f_w2, f_g2) + gd_mulfx(f_w3, f_g3) + gd_mulfx(f_w4, f_g4));
+ const unsigned char blue = (unsigned char) gd_fxtoi(gd_mulfx(f_w1, f_b1) + gd_mulfx(f_w2, f_b2) + gd_mulfx(f_w3, f_b3) + gd_mulfx(f_w4, f_b4));
+ const unsigned char alpha = (unsigned char) gd_fxtoi(gd_mulfx(f_w1, f_a1) + gd_mulfx(f_w2, f_a2) + gd_mulfx(f_w3, f_a3) + gd_mulfx(f_w4, f_a4));
new_img->tpixels[dst_offset_v][dst_offset_h] = gdTrueColorAlpha(red, green, blue, alpha);
}
@@ -1394,7 +1381,9 @@ static gdImagePtr gdImageScaleBilinearTC(gdImagePtr im, const unsigned int new_w
return new_img;
}
-gdImagePtr gdImageScaleBilinear(gdImagePtr im, const unsigned int new_width, const unsigned int new_height)
+static gdImagePtr
+gdImageScaleBilinear(gdImagePtr im, const unsigned int new_width,
+ const unsigned int new_height)
{
if (im->trueColor) {
return gdImageScaleBilinearTC(im, new_width, new_height);
@@ -1403,7 +1392,9 @@ gdImagePtr gdImageScaleBilinear(gdImagePtr im, const unsigned int new_width, con
}
}
-gdImagePtr gdImageScaleBicubicFixed(gdImagePtr src, const unsigned int width, const unsigned int height)
+static gdImagePtr
+gdImageScaleBicubicFixed(gdImagePtr src, const unsigned int width,
+ const unsigned int height)
{
const long new_width = MAX(1, width);
const long new_height = MAX(1, height);
@@ -1666,13 +1657,16 @@ BGD_DECLARE(gdImagePtr) gdImageScale(const gdImagePtr src, const unsigned int ne
if (src->interpolation == NULL) {
return NULL;
}
- im_scaled = gdImageScaleTwoPass(src, src->sx, src->sy, new_width, new_height);
+ im_scaled = gdImageScaleTwoPass(src, new_width, new_height);
break;
}
+
return im_scaled;
}
-gdImagePtr gdImageRotateNearestNeighbour(gdImagePtr src, const float degrees, const int bgColor)
+static gdImagePtr
+gdImageRotateNearestNeighbour(gdImagePtr src, const float degrees,
+ const int bgColor)
{
float _angle = ((float) (-degrees / 180.0f) * (float)M_PI);
const int src_w = gdImageSX(src);
@@ -1728,7 +1722,8 @@ gdImagePtr gdImageRotateNearestNeighbour(gdImagePtr src, const float degrees, co
return dst;
}
-gdImagePtr gdImageRotateGeneric(gdImagePtr src, const float degrees, const int bgColor)
+static gdImagePtr
+gdImageRotateGeneric(gdImagePtr src, const float degrees, const int bgColor)
{
float _angle = ((float) (-degrees / 180.0f) * (float)M_PI);
const int src_w = gdImageSX(src);
@@ -1796,7 +1791,8 @@ gdImagePtr gdImageRotateGeneric(gdImagePtr src, const float degrees, const int b
return dst;
}
-gdImagePtr gdImageRotateBilinear(gdImagePtr src, const float degrees, const int bgColor)
+static gdImagePtr
+gdImageRotateBilinear(gdImagePtr src, const float degrees, const int bgColor)
{
float _angle = (float)((- degrees / 180.0f) * M_PI);
const unsigned int src_w = gdImageSX(src);
@@ -1918,7 +1914,8 @@ gdImagePtr gdImageRotateBilinear(gdImagePtr src, const float degrees, const int
return dst;
}
-gdImagePtr gdImageRotateBicubicFixed(gdImagePtr src, const float degrees, const int bgColor)
+static gdImagePtr
+gdImageRotateBicubicFixed(gdImagePtr src, const float degrees,const int bgColor)
{
const float _angle = (float)((- degrees / 180.0f) * M_PI);
const int src_w = gdImageSX(src);
@@ -2524,10 +2521,7 @@ BGD_DECLARE(int) gdImageSetInterpolationMethod(gdImagePtr im, gdInterpolationMet
switch (id) {
case GD_DEFAULT:
- im->interpolation_id = GD_BILINEAR_FIXED;
- im->interpolation = NULL;
- break;
-
+ id = GD_BILINEAR_FIXED;
/* Optimized versions */
case GD_BILINEAR_FIXED:
case GD_BICUBIC_FIXED:
@@ -2597,6 +2591,15 @@ BGD_DECLARE(int) gdImageSetInterpolationMethod(gdImagePtr im, gdInterpolationMet
return 1;
}
+
+/* Return the interpolation mode set in 'im'. This is here so that
+ * the value can be read via a language or VM with an FFI but no
+ * (portable) way to extract the value from the struct. */
+BGD_DECLARE(gdInterpolationMethod) gdImageGetInterpolationMethod(gdImagePtr im)
+{
+ return im->interpolation_id;
+}
+
#ifdef _MSC_VER
# pragma optimize("", on)
#endif
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_io.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_io.c
index 03b83472120..03b83472120 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_io.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_io.c
diff --git a/Build/source/libs/gd/libgd-2.1.1/src/gd_io.h b/Build/source/libs/gd/libgd-2.1.1/src/gd_io.h
new file mode 100644
index 00000000000..1039d597dc8
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_io.h
@@ -0,0 +1,100 @@
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef GD_IO_H
+#define GD_IO_H 1
+
+#include <stdio.h>
+
+#ifdef VMS
+# define Putchar gdPutchar
+#endif
+
+/*
+ Group: Types
+
+ typedef: gdIOCtx
+
+ gdIOCtx structures hold function pointers for doing image IO.
+
+ Most of the gd functions that read and write files, such as
+ <gdImagePng> also have variants that accept a <gdIOCtx> structure;
+ see <gdImagePngCtx> and <gdImageCreateFromJpegCtx>.
+
+ Those who wish to provide their own custom routines to read and
+ write images can populate a gdIOCtx structure with functions of
+ their own devising to to read and write data. For image reading, the
+ only mandatory functions are getC and getBuf, which must return the
+ number of characters actually read, or a negative value on error or
+ EOF. These functions must read the number of characters requested
+ unless at the end of the file.
+
+ For image writing, the only mandatory functions are putC and putBuf,
+ which return the number of characters written; these functions must
+ write the number of characters requested except in the event of an
+ error. The seek and tell functions are only required in conjunction
+ with the gd2 file format, which supports quick loading of partial
+ images. The gd_free function will not be invoked when calling the
+ standard Ctx functions; it is an implementation convenience when
+ adding new data types to gd. For examples, see gd_png.c, gd_gd2.c,
+ gd_jpeg.c, etc., all of which rely on gdIOCtx to implement the
+ standard image read and write functions.
+
+ > typedef struct gdIOCtx
+ > {
+ > int (*getC) (struct gdIOCtx *);
+ > int (*getBuf) (struct gdIOCtx *, void *, int wanted);
+ >
+ > void (*putC) (struct gdIOCtx *, int);
+ > int (*putBuf) (struct gdIOCtx *, const void *, int wanted);
+ >
+ > // seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek!
+ > int (*seek) (struct gdIOCtx *, const int);
+ > long (*tell) (struct gdIOCtx *);
+ >
+ > void (*gd_free) (struct gdIOCtx *);
+ > } gdIOCtx;
+
+
+
+
+ */
+typedef struct gdIOCtx {
+ int (*getC)(struct gdIOCtx *);
+ int (*getBuf)(struct gdIOCtx *, void *, int);
+ void (*putC)(struct gdIOCtx *, int);
+ int (*putBuf)(struct gdIOCtx *, const void *, int);
+ /* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
+ int (*seek)(struct gdIOCtx *, const int);
+ long (*tell)(struct gdIOCtx *);
+ void (*gd_free)(struct gdIOCtx *);
+ void *data;
+} gdIOCtx;
+
+typedef struct gdIOCtx *gdIOCtxPtr;
+
+void Putword(int w, gdIOCtx *ctx);
+void Putchar(int c, gdIOCtx *ctx);
+
+void gdPutC(const unsigned char c, gdIOCtx *ctx);
+int gdPutBuf(const void *, int, gdIOCtx *);
+void gdPutWord(int w, gdIOCtx *ctx);
+void gdPutInt(int w, gdIOCtx *ctx);
+
+int gdGetC(gdIOCtx *ctx);
+int gdGetBuf(void *, int, gdIOCtx *);
+int gdGetByte(int *result, gdIOCtx *ctx);
+int gdGetWord(int *result, gdIOCtx *ctx);
+int gdGetWordLSB(signed short int *result, gdIOCtx *ctx);
+int gdGetInt(int *result, gdIOCtx *ctx);
+int gdGetIntLSB(signed int *result, gdIOCtx *ctx);
+
+int gdSeek(gdIOCtx *ctx, const int offset);
+long gdTell(gdIOCtx *ctx);
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_io_dp.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_io_dp.c
index 8dbcc62e2aa..8dbcc62e2aa 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_io_dp.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_io_dp.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_io_file.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_io_file.c
index d3893e4cea2..d3893e4cea2 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_io_file.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_io_file.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_io_ss.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_io_ss.c
index a0cf3918f91..a0cf3918f91 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_io_ss.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_io_ss.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_io_stream.cxx b/Build/source/libs/gd/libgd-2.1.1/src/gd_io_stream.cxx
index 28021afc1ae..28021afc1ae 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_io_stream.cxx
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_io_stream.cxx
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_io_stream.h b/Build/source/libs/gd/libgd-2.1.1/src/gd_io_stream.h
index 703548fec26..703548fec26 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_io_stream.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_io_stream.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_jpeg.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_jpeg.c
index 73a38126192..925b417fac3 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_jpeg.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_jpeg.c
@@ -127,6 +127,71 @@ static void fatal_jpeg_error(j_common_ptr cinfo)
* library documentation for more details.
*/
+
+/*
+ Function: gdImageJpeg
+
+ <gdImageJpeg> outputs the specified image to the specified file in
+ JPEG format. The file must be open for writing. Under MSDOS and
+ all versions of Windows, it is important to use "wb" as opposed to
+ simply "w" as the mode when opening the file, and under Unix there
+ is no penalty for doing so. <gdImageJpeg> does not close the file;
+ your code must do so.
+
+ If _quality_ is negative, the default IJG JPEG quality value (which
+ should yield a good general quality / size tradeoff for most
+ situations) is used. Otherwise, for practical purposes, _quality_
+ should be a value in the range 0-95, higher quality values usually
+ implying both higher quality and larger image sizes.
+
+ If you have set image interlacing using <gdImageInterlace>, this
+ function will interpret that to mean you wish to output a
+ progressive JPEG. Some programs (e.g., Web browsers) can display
+ progressive JPEGs incrementally; this can be useful when browsing
+ over a relatively slow communications link, for
+ example. Progressive JPEGs can also be slightly smaller than
+ sequential (non-progressive) JPEGs.
+
+ Variants:
+
+ <gdImageJpegCtx> stores the image using a <gdIOCtx> struct.
+
+ <gdImageJpegPtr> stores the image to RAM.
+
+ Parameters:
+
+ im - The image to save
+ outFile - The FILE pointer to write to.
+ quality - Compression quality (0-95, 0 means use the default).
+
+ Returns:
+
+ Nothing.
+
+ Example:
+
+ > gdImagePtr im;
+ > int black, white;
+ > FILE *out;
+ > // Create the image
+ > im = gdImageCreate(100, 100);
+ > // Allocate background
+ > white = gdImageColorAllocate(im, 255, 255, 255);
+ > // Allocate drawing color
+ > black = gdImageColorAllocate(im, 0, 0, 0);
+ > // Draw rectangle
+ > gdImageRectangle(im, 0, 0, 99, 99, black);
+ > // Open output file in binary mode
+ > out = fopen("rect.jpg", "wb");
+ > // Write JPEG using default quality
+ > gdImageJpeg(im, out, -1);
+ > // Close file
+ > fclose(out);
+ > // Destroy image
+ > gdImageDestroy(im);
+
+*/
+
BGD_DECLARE(void) gdImageJpeg(gdImagePtr im, FILE *outFile, int quality)
{
gdIOCtx *out = gdNewFileCtx(outFile);
@@ -135,6 +200,31 @@ BGD_DECLARE(void) gdImageJpeg(gdImagePtr im, FILE *outFile, int quality)
out->gd_free(out);
}
+/*
+ Function: gdImageJpegPtr
+
+ Identical to <gdImageJpeg> except that it returns a pointer to a
+ memory area with the JPEG data. This memory must be freed by the
+ caller when it is no longer needed.
+
+ The caller *must* invoke <gdFree>, not free(). This is because it
+ is not guaranteed that libgd will use the same implementation of
+ malloc, free, etc. as your proggram.
+
+ The 'size' parameter receives the total size of the block of
+ memory.
+
+ Parameters:
+
+ im - The image to write
+ size - Output: the size of the resulting image.
+ quality - Compression quality.
+
+ Returns:
+
+ A pointer to the JPEG data or NULL if an error occurred.
+
+*/
BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality)
{
void *rv;
@@ -148,6 +238,19 @@ BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality)
void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile);
+/*
+ Function: gdImageJpegCtx
+
+ Write the image as JPEG data via a <gdIOCtx>. See <gdImageJpeg>
+ for more details.
+
+ Parameters:
+
+ im - The image to write.
+ outfile - The output sink.
+ quality - Image quality.
+
+*/
BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
{
struct jpeg_compress_struct cinfo;
@@ -299,10 +402,73 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
gdFree(row);
}
+
+
+
+/*
+ Function: gdImageCreateFromJpeg
+
+ See <gdImageCreateFromJpegEx>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromJpeg(FILE *inFile)
{
return gdImageCreateFromJpegEx(inFile, 1);
}
+
+
+/*
+ Function: gdImageCreateFromJpegEx
+
+ <gdImageCreateFromJpegEx> is called to load truecolor images from
+ JPEG format files. Invoke <gdImageCreateFromJpegEx> with an
+ already opened pointer to a file containing the desired
+ image. <gdImageCreateFromJpegEx> returns a <gdImagePtr> to the new
+ truecolor image, or NULL if unable to load the image (most often
+ because the file is corrupt or does not contain a JPEG
+ image). <gdImageCreateFromJpegEx> does not close the file.
+
+ You can inspect the sx and sy members of the image to determine
+ its size. The image must eventually be destroyed using
+ <gdImageDestroy>.
+
+ *The returned image is always a truecolor image.*
+
+ Variants:
+
+ <gdImageCreateFromJpegPtrEx> creates an image from JPEG data
+ already in memory.
+
+ <gdImageCreateFromJpegCtxEx> reads its data via the function
+ pointers in a <gdIOCtx> structure.
+
+ <gdImageCreateFromJpeg>, <gdImageCreateFromJpegPtr> and
+ <gdImageCreateFromJpegCtx> are equivalent to calling their
+ _Ex_-named counterparts with an ignore_warning set to 1
+ (i.e. TRUE).
+
+ Parameters:
+
+ infile - The input FILE pointer.
+ ignore_warning - Flag. If true, ignores recoverable warnings.
+
+ Returns:
+
+ A pointer to the new *truecolor* image. This will need to be
+ destroyed with <gdImageDestroy> once it is no longer needed.
+
+ On error, returns NULL.
+
+ Example:
+
+ > gdImagePtr im;
+ > FILE *in;
+ > in = fopen("myjpeg.jpg", "rb");
+ > im = gdImageCreateFromJpegEx(in, GD_TRUE);
+ > fclose(in);
+ > // ... Use the image ...
+ > gdImageDestroy(im);
+
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegEx(FILE *inFile, int ignore_warning)
{
gdImagePtr im;
@@ -313,10 +479,32 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegEx(FILE *inFile, int ignore_warning
return im;
}
+/*
+ Function: gdImageCreateFromJpegPtr
+
+ Parameters:
+
+ size - size of JPEG data in bytes.
+ data - pointer to JPEG data.
+
+ See <gdImageCreateFromJpegEx>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegPtr(int size, void *data)
{
return gdImageCreateFromJpegPtrEx(size, data, 1);
}
+
+/*
+ Function: gdImageCreateFromJpegPtrEx
+
+ Parameters:
+
+ size - size of JPEG data in bytes.
+ data - pointer to JPEG data.
+ ignore_warning - if true, ignore recoverable warnings
+
+ See <gdImageCreateFromJpegEx>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegPtrEx(int size, void *data, int ignore_warning)
{
gdImagePtr im;
@@ -334,13 +522,20 @@ void jpeg_gdIOCtx_src(j_decompress_ptr cinfo, gdIOCtx *infile);
static int CMYKToRGB(int c, int m, int y, int k, int inverted);
/*
- * Create a gd-format image from the JPEG-format INFILE. Returns the
- * image, or NULL upon error.
- */
+ Function: gdImageCreateFromJpegCtx
+
+ See <gdImageCreateFromJpeg>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegCtx(gdIOCtx *infile)
{
return gdImageCreateFromJpegCtxEx(infile, 1);
}
+
+/*
+ Function: gdImageCreateFromJpegCtxEx
+
+ See <gdImageCreateFromJpeg>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromJpegCtxEx(gdIOCtx *infile, int ignore_warning)
{
struct jpeg_decompress_struct cinfo;
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_matrix.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_matrix.c
index 3147dea0fcd..182ea35b546 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_matrix.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_matrix.c
@@ -92,7 +92,7 @@ BGD_DECLARE(int) gdAffineInvert (double dst[6], const double src[6])
* flip_v - Whether or not to flip vertically
*
* Returns:
- * GD_SUCCESS on success or GD_FAILURE
+ * GD_TRUE on success or GD_FALSE
*/
BGD_DECLARE(int) gdAffineFlip (double dst[6], const double src[6], const int flip_h, const int flip_v)
{
@@ -120,7 +120,7 @@ BGD_DECLARE(int) gdAffineFlip (double dst[6], const double src[6], const int fli
* m2 - Second affine matrix
*
* Returns:
- * GD_SUCCESS on success or GD_FAILURE
+ * GD_TRUE on success or GD_FALSE
*/
BGD_DECLARE(int) gdAffineConcat (double dst[6], const double m1[6], const double m2[6])
{
@@ -149,7 +149,7 @@ BGD_DECLARE(int) gdAffineConcat (double dst[6], const double m1[6], const double
* dst - Where to store the resulting affine transform
*
* Returns:
- * GD_SUCCESS on success or GD_FAILURE
+ * GD_TRUE on success or GD_FALSE
*/
BGD_DECLARE(int) gdAffineIdentity (double dst[6])
{
@@ -171,7 +171,7 @@ BGD_DECLARE(int) gdAffineIdentity (double dst[6])
* scale_y - Y scale factor
*
* Returns:
- * GD_SUCCESS on success or GD_FAILURE
+ * GD_TRUE on success or GD_FALSE
*/
BGD_DECLARE(int) gdAffineScale (double dst[6], const double scale_x, const double scale_y)
{
@@ -196,7 +196,7 @@ BGD_DECLARE(int) gdAffineScale (double dst[6], const double scale_x, const doubl
* angle - Rotation angle in degrees
*
* Returns:
- * GD_SUCCESS on success or GD_FAILURE
+ * GD_TRUE on success or GD_FALSE
*/
BGD_DECLARE(int) gdAffineRotate (double dst[6], const double angle)
{
@@ -221,7 +221,7 @@ BGD_DECLARE(int) gdAffineRotate (double dst[6], const double angle)
* angle - Shear angle in degrees
*
* Returns:
- * GD_SUCCESS on success or GD_FAILURE
+ * GD_TRUE on success or GD_FALSE
*/
BGD_DECLARE(int) gdAffineShearHorizontal(double dst[6], const double angle)
{
@@ -243,7 +243,7 @@ BGD_DECLARE(int) gdAffineShearHorizontal(double dst[6], const double angle)
* angle - Shear angle in degrees
*
* Returns:
- * GD_SUCCESS on success or GD_FAILURE
+ * GD_TRUE on success or GD_FALSE
*/
BGD_DECLARE(int) gdAffineShearVertical(double dst[6], const double angle)
{
@@ -266,7 +266,7 @@ BGD_DECLARE(int) gdAffineShearVertical(double dst[6], const double angle)
* offset_y - Vertical translation amount
*
* Returns:
- * GD_SUCCESS on success or GD_FAILURE
+ * GD_TRUE on success or GD_FALSE
*/
BGD_DECLARE(int) gdAffineTranslate (double dst[6], const double offset_x, const double offset_y)
{
@@ -288,7 +288,7 @@ BGD_DECLARE(int) gdAffineTranslate (double dst[6], const double offset_x, const
* composed of scaling, rotation, shearing, and translation, returns
* the amount of scaling.
*
- * GD_SUCCESS on success or GD_FAILURE
+ * GD_TRUE on success or GD_FALSE
**/
BGD_DECLARE(double) gdAffineExpansion (const double src[6])
{
@@ -322,7 +322,7 @@ BGD_DECLARE(int) gdAffineRectilinear (const double m[6])
* m2 - The first affine transformation
*
* Returns:
- * GD_SUCCESS on success or GD_FAILURE
+ * GD_TRUE on success or GD_FALSE
*/
BGD_DECLARE(int) gdAffineEqual (const double m1[6], const double m2[6])
{
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_nnquant.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_nnquant.c
index c4b43d6ea35..c4b43d6ea35 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_nnquant.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_nnquant.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_nnquant.h b/Build/source/libs/gd/libgd-2.1.1/src/gd_nnquant.h
index b054fb1da44..b054fb1da44 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_nnquant.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_nnquant.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_png.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_png.c
index 3d381e9b3bd..95139e8b8b5 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_png.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_png.c
@@ -96,6 +96,64 @@ gdPngFlushData (png_structp png_ptr)
(void)png_ptr;
}
+/*
+ Function: gdImageCreateFromPng
+
+ <gdImageCreateFromPng> is called to load images from PNG format
+ files. Invoke <gdImageCreateFromPng> with an already opened
+ pointer to a FILE containing the desired
+ image. <gdImageCreateFromPng> returns a <gdImagePtr> to the new
+ image, or NULL if unable to load the image (most often because the
+ file is corrupt or does not contain a PNG
+ image). <gdImageCreateFromPng> does not close the file. You can
+ inspect the sx and sy members of the image to determine its
+ size. The image must eventually be destroyed using
+ gdImageDestroy().
+
+ If the PNG image being loaded is a truecolor image, the resulting
+ gdImagePtr will refer to a truecolor image. If the PNG image being
+ loaded is a palette or grayscale image, the resulting gdImagePtr
+ will refer to a palette image. gd retains only 8 bits of
+ resolution for each of the red, green and blue channels, and only
+ 7 bits of resolution for the alpha channel. The former restriction
+ affects only a handful of very rare 48-bit color and 16-bit
+ grayscale PNG images. The second restriction affects all
+ semitransparent PNG images, but the difference is essentially
+ invisible to the eye. 7 bits of alpha channel resolution is, in
+ practice, quite a lot.
+
+ Variants:
+
+ <gdImageCreateFromPngPtr> creates an image from PNG data (i.e. the
+ contents of a PNG file) already in memory.
+
+ <gdImageCreateFromPngCtx> reads in an image using the functions in
+ a <gdIOCtx> struct.
+
+ <gdImageCreateFromPngSource> is similar to
+ <gdImageCreateFromPngCtx> but uses the old <gdSource> interface.
+ It is *obsolete*.
+
+ Parameters:
+
+ infile - The input FILE pointer.
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+ Example:
+
+ > gdImagePtr im;
+ > ... inside a function ...
+ > FILE *in;
+ > in = fopen("mypng.png", "rb");
+ > im = gdImageCreateFromPng(in);
+ > fclose(in);
+ > // ... Use the image ...
+ > gdImageDestroy(im);
+
+ */
BGD_DECLARE(gdImagePtr) gdImageCreateFromPng (FILE * inFile)
{
gdImagePtr im;
@@ -106,6 +164,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPng (FILE * inFile)
return im;
}
+/*
+ Function: gdImageCreateFromPngPtr
+
+ See <gdImageCreateFromPng>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromPngPtr (int size, void *data)
{
gdImagePtr im;
@@ -117,9 +180,17 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngPtr (int size, void *data)
return im;
}
+
+
/* This routine is based in part on the Chapter 13 demo code in
* "PNG: The Definitive Guide" (http://www.libpng.org/pub/png/book/).
*/
+
+/*
+ Function: gdImageCreateFromPngCtx
+
+ See <gdImageCreateFromPng>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
{
png_byte sig[8];
@@ -130,7 +201,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
png_infop info_ptr;
png_uint_32 width, height, rowbytes, w, h, res_x, res_y;
int bit_depth, color_type, interlace_type, unit_type;
- int num_palette, num_trans;
+ int num_palette = 0, num_trans;
png_colorp palette;
png_color_16p trans_gray_rgb;
png_color_16p trans_color_rgb;
@@ -276,6 +347,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
if ((palette = (png_colorp) gdMalloc (256 * sizeof (png_color))) == NULL) {
gd_error("gd-png error: cannot allocate gray palette\n");
png_destroy_read_struct (&png_ptr, &info_ptr, NULL);
+ gdImageDestroy(im);
return NULL;
}
palette_allocated = TRUE;
@@ -350,6 +422,9 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
rowbytes = png_get_rowbytes (png_ptr, info_ptr);
if (overflow2(rowbytes, height)) {
png_destroy_read_struct (&png_ptr, &info_ptr, NULL);
+ if (im) {
+ gdImageDestroy(im);
+ }
return NULL;
}
image_data = (png_bytep) gdMalloc (rowbytes * height);
@@ -359,6 +434,9 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
if (im) {
gdImageDestroy(im);
}
+ if (palette_allocated) {
+ gdFree (palette);
+ }
return NULL;
}
if (overflow2(height, sizeof (png_bytep))) {
@@ -367,6 +445,9 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
if (im) {
gdImageDestroy(im);
}
+ if (palette_allocated) {
+ gdFree (palette);
+ }
return NULL;
}
@@ -378,6 +459,9 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
gdImageDestroy(im);
}
gdFree (image_data);
+ if (palette_allocated) {
+ gdFree (palette);
+ }
return NULL;
}
@@ -474,6 +558,61 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOCtx * infile)
}
+/*
+ Function: gdImagePngEx
+
+ <gdImagePngEx> outputs the specified image to the specified file in
+ PNG format. The file must be open for writing. Under MSDOS and all
+ versions of Windows, it is important to use "wb" as opposed to
+ simply "w" as the mode when opening the file, and under Unix there
+ is no penalty for doing so. <gdImagePngEx> does not close the file;
+ your code must do so.
+
+ In addition, <gdImagePngEx> allows the level of compression to be
+ specified. A compression level of 0 means "no compression." A
+ compression level of 1 means "compressed, but as quickly as
+ possible." A compression level of 9 means "compressed as much as
+ possible to produce the smallest possible file." A compression level
+ of -1 will use the default compression level at the time zlib was
+ compiled on your system.
+
+ Variants:
+
+ <gdImagePng> is equivalent to calling <gdImagePngEx> with
+ compression of -1.
+
+ <gdImagePngCtx> and <gdImagePngCtxEx> write via a <gdIOCtx>
+ instead of a file handle.
+
+ <gdImagePngPtr> and <gdImagePngPtrEx> store the image file to
+ memory.
+
+ Parameters:
+
+ im - the image to write
+ outFile - the output FILE* object.
+ level - compression level: 0 -> none, 1-9 -> level, -1 -> default
+
+ Returns:
+
+ Nothing.
+
+ Example:
+
+ > gdImagePtr im;
+ > int black, white;
+ > FILE *out;
+ >
+ > im = gdImageCreate(100, 100); // Create the image
+ > white = gdImageColorAllocate(im, 255, 255, 255); // Alloc background
+ > black = gdImageColorAllocate(im, 0, 0, 0); // Allocate drawing color
+ > gdImageRectangle(im, 0, 0, 99, 99, black); // Draw rectangle
+ > out = fopen("rect.png", "wb"); // Open output file (binary)
+ > gdImagePngEx(im, out, 9); // Write PNG, max compression
+ > fclose(out); // Close file
+ > gdImageDestroy(im); // Destroy image
+
+*/
BGD_DECLARE(void) gdImagePngEx (gdImagePtr im, FILE * outFile, int level)
{
gdIOCtx *out = gdNewFileCtx (outFile);
@@ -482,6 +621,20 @@ BGD_DECLARE(void) gdImagePngEx (gdImagePtr im, FILE * outFile, int level)
out->gd_free (out);
}
+/*
+ Function: gdImagePng
+
+ Equivalent to calling <gdImagePngEx> with compression of -1.
+
+ Parameters:
+
+ im - the image to save.
+ outFile - the output FILE*.
+
+ Returns:
+
+ Nothing.
+*/
BGD_DECLARE(void) gdImagePng (gdImagePtr im, FILE * outFile)
{
gdIOCtx *out = gdNewFileCtx (outFile);
@@ -490,6 +643,24 @@ BGD_DECLARE(void) gdImagePng (gdImagePtr im, FILE * outFile)
out->gd_free (out);
}
+
+/*
+ Function: gdImagePngPtr
+
+ Equivalent to calling <gdImagePngPtrEx> with compression of -1.
+
+ See <gdImagePngEx> for more information.
+
+ Parameters:
+
+ im - the image to save.
+ size - Output: size in bytes of the result.
+
+ Returns:
+
+ A pointer to memory containing the image data or NULL on error.
+
+*/
BGD_DECLARE(void *) gdImagePngPtr (gdImagePtr im, int *size)
{
void *rv;
@@ -501,6 +672,30 @@ BGD_DECLARE(void *) gdImagePngPtr (gdImagePtr im, int *size)
return rv;
}
+/*
+ Function: gdImagePngPtrEx
+
+ Identical to <gdImagePngEx> except that it returns a pointer to a
+ memory area with the PNG data. This memory must be freed by the
+ caller when it is no longer needed. **The caller must invoke
+ gdFree(), not free()**
+
+ The 'size' parameter receives the total size of the block of
+ memory.
+
+ See <gdImagePngEx> for more information.
+
+ Parameters:
+
+ im - the image to save.
+ size - Output: size in bytes of the result.
+ level - compression level: 0 -> none, 1-9 -> level, -1 -> default
+
+ Returns:
+
+ A pointer to memory containing the image data or NULL on error.
+
+*/
BGD_DECLARE(void *) gdImagePngPtrEx (gdImagePtr im, int *size, int level)
{
void *rv;
@@ -512,12 +707,51 @@ BGD_DECLARE(void *) gdImagePngPtrEx (gdImagePtr im, int *size, int level)
return rv;
}
+
+
+/*
+ Function: gdImagePngCtx
+
+ Equivalent to calling <gdImagePngCtxEx> with compression of -1.
+ See <gdImagePngEx> for more information.
+
+ Parameters:
+
+ im - the image to save.
+ outfile - the <gdIOCtx> to write to.
+
+ Returns:
+
+ Nothing.
+
+*/
BGD_DECLARE(void) gdImagePngCtx (gdImagePtr im, gdIOCtx * outfile)
{
/* 2.0.13: 'return' here was an error, thanks to Kevin Smith */
gdImagePngCtxEx (im, outfile, -1);
}
+
+
+
+/*
+ Function: gdImagePngCtxEx
+
+ Outputs the given image as PNG data, but using a <gdIOCtx> instead
+ of a file. See <gdIamgePnEx>.
+
+ Parameters:
+
+ im - the image to save.
+ outfile - the <gdIOCtx> to write to.
+ level - compression level: 0 -> none, 1-9 -> level, -1 -> default
+
+ Returns:
+
+ Nothing.
+
+*/
+
/* This routine is based in part on code from Dale Lutz (Safe Software Inc.)
* and in part on demo code from Chapter 15 of "PNG: The Definitive Guide"
* (http://www.libpng.org/pub/png/book/).
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_rotate.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_rotate.c
index eb057e1148e..eb057e1148e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_rotate.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_rotate.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_security.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_security.c
index 0051ebf4559..0051ebf4559 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_security.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_security.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_ss.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_ss.c
index 702a917e91d..9098c9bc91c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_ss.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_ss.c
@@ -25,6 +25,12 @@ BGD_DECLARE(void) gdImagePngToSink (gdImagePtr im, gdSinkPtr outSink)
out->gd_free (out);
}
+/*
+ Function: gdImageCreateFromPngSource
+
+ See <gdImageCreateFromPng> for documentation. This is obsolete; use
+ <gdImageCreateFromPngCtx> instead.
+ */
BGD_DECLARE(gdImagePtr) gdImageCreateFromPngSource (gdSourcePtr inSource)
{
gdIOCtx *in = gdNewSSCtx (inSource, NULL);
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_tga.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_tga.c
index 756248afcea..756248afcea 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_tga.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_tga.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_tga.h b/Build/source/libs/gd/libgd-2.1.1/src/gd_tga.h
index 5c535fd8c31..297f3dc99d6 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_tga.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_tga.h
@@ -1,23 +1,3 @@
-/*
- * TGA Image read support
- * Copyright (C) 2005 Andrew Ireland, Jon Keto, Michael Beal
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
#ifndef __TGA_H
#define __TGA_H 1
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_tiff.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_tiff.c
index ec6dd113074..ec6dd113074 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_tiff.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_tiff.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_topal.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_topal.c
index 28b6503d063..28b6503d063 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_topal.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_topal.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_transform.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_transform.c
index 68013ef9319..68013ef9319 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_transform.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_transform.c
diff --git a/Build/source/libs/gd/libgd-2.1.1/src/gd_version.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_version.c
new file mode 100644
index 00000000000..222d428ce7b
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_version.c
@@ -0,0 +1,33 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
+#include "gd.h"
+
+
+/* These functions return the version information. We use functions
+ * so that changes in the shared library will automatically be
+ * reflected in executables using it without recompiling them. */
+
+BGD_DECLARE(int) gdMajorVersion()
+{
+ return GD_MAJOR_VERSION;
+}
+
+BGD_DECLARE(int) gdMinorVersion()
+{
+ return GD_MINOR_VERSION;
+}
+
+BGD_DECLARE(int) gdReleaseVersion()
+{
+ return GD_RELEASE_VERSION;
+}
+
+BGD_DECLARE(const char *) gdExtraVersion() {
+ return GD_EXTRA_VERSION;
+}
+
+BGD_DECLARE(const char *) gdVersionString() {
+ return GD_VERSION_STRING;
+}
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_wbmp.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_wbmp.c
index ef1541863d7..53fbdc2d1a8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_wbmp.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_wbmp.c
@@ -32,7 +32,7 @@
*
*--------------------------------------------------------------------------
*
- * Parts od this code are inspired by 'pbmtowbmp.c' and 'wbmptopbm.c' by
+ * Parts of this code are inspired by 'pbmtowbmp.c' and 'wbmptopbm.c' by
* Terje Sannum <terje@looplab.com>.
*
** Permission to use, copy, modify, and distribute this software and its
@@ -122,10 +122,12 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
freewbmp(wbmp);
}
-/* gdImageCreateFromWBMPCtx
- * ------------------------
- * Create a gdImage from a WBMP file input from an gdIOCtx
- */
+/*
+ Function: gdImageCreateFromWBMPCtx
+
+ Reads in a WBMP image via a <gdIOCtx> struct. See
+ <gdImageCreateFromWBMP>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMPCtx(gdIOCtx *infile)
{
Wbmp *wbmp;
@@ -165,8 +167,48 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMPCtx(gdIOCtx *infile)
}
-/* gdImageCreateFromWBMP
- */
+/*
+ Function: gdImageCreateFromWBMP
+
+ <gdImageCreateFromWBMP> is called to load images from WBMP format
+ files. Invoke <gdImageCreateFromWBMP> with an already opened
+ pointer to a file containing the desired
+ image. <gdImageCreateFromWBMP> returns a gdImagePtr to the new
+ image, or NULL if unable to load the image (most often because the
+ file is corrupt or does not contain a WBMP
+ image). <gdImageCreateFromWBMP> does not close the file. You can
+ inspect the sx and sy members of the image to determine its
+ size. The image must eventually be destroyed using
+ <gdImageDestroy>.
+
+ Variants:
+
+ <gdImageCreateFromWBMPPtr> creates an image from WBMP data (i.e. the
+ contents of a WBMP file) already in memory.
+
+ <gdImageCreateFromWBMPCtx> reads in an image using the functions in
+ a <gdIOCtx> struct.
+
+ Parameters:
+
+ infile - The input FILE pointer
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+ Example:
+
+ > gdImagePtr im;
+ > FILE *in;
+ > in = fopen("mywbmp.wbmp", "rb");
+ > im = gdImageCreateFromWBMP(in);
+ > fclose(in);
+ > // ... Use the image ...
+ > gdImageDestroy(im);
+
+*/
+
BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMP(FILE *inFile)
{
gdImagePtr im;
@@ -177,6 +219,17 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMP(FILE *inFile)
return im;
}
+
+/*
+ Function: gdImageCreateFromWBMPPtr
+
+ Parameters:
+
+ size - size of WBMP data in bytes.
+ data - WBMP data (i.e. contents of a WBMP file).
+
+ See <gdImageCreateFromWBMP>.
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromWBMPPtr(int size, void *data)
{
gdImagePtr im;
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_webp.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_webp.c
index fae38610999..fae38610999 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_webp.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_webp.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gd_xbm.c b/Build/source/libs/gd/libgd-2.1.1/src/gd_xbm.c
index 612be47cc49..74d839b2667 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gd_xbm.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gd_xbm.c
@@ -18,7 +18,40 @@
#define MAX_XBM_LINE_SIZE 255
-/* {{{ gdImagePtr gdImageCreateFromXbm */
+
+/*
+ Function: gdImageCreateFromXbm
+
+ <gdImageCreateFromXbm> is called to load images from X bitmap
+ format files. Invoke <gdImageCreateFromXbm> with an already opened
+ pointer to a file containing the desired
+ image. <gdImageCreateFromXbm> returns a <gdImagePtr> to the new
+ image, or NULL if unable to load the image (most often because the
+ file is corrupt or does not contain an X bitmap format
+ image). <gdImageCreateFromXbm> does not close the file.
+
+ You can inspect the sx and sy members of the image to determine
+ its size. The image must eventually be destroyed using
+ <gdImageDestroy>.
+
+ Parameters:
+
+ fd - The input FILE pointer
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+ Example:
+
+ > gdImagePtr im;
+ > FILE *in;
+ > in = fopen("myxbm.xbm", "rb");
+ > im = gdImageCreateFromXbm(in);
+ > fclose(in);
+ > // ... Use the image ...
+ > gdImageDestroy(im);
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm(FILE * fd)
{
char fline[MAX_XBM_LINE_SIZE];
@@ -142,7 +175,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm(FILE * fd)
gdImageDestroy(im);
return 0;
}
-/* }}} */
+
/* {{{ gdCtxPrintf */
static void gdCtxPrintf(gdIOCtx * out, const char *format, ...)
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdcache.c b/Build/source/libs/gd/libgd-2.1.1/src/gdcache.c
index b264d6ef859..b264d6ef859 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdcache.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdcache.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdcache.h b/Build/source/libs/gd/libgd-2.1.1/src/gdcache.h
index bf451dc6cc3..bf451dc6cc3 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdcache.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdcache.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdcmpgif.c b/Build/source/libs/gd/libgd-2.1.1/src/gdcmpgif.c
index 737f7ba90b8..737f7ba90b8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdcmpgif.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdcmpgif.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gddemo.c b/Build/source/libs/gd/libgd-2.1.1/src/gddemo.c
index 28afd3c1d12..28afd3c1d12 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gddemo.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gddemo.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfontg.c b/Build/source/libs/gd/libgd-2.1.1/src/gdfontg.c
index 37178602695..37178602695 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfontg.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfontg.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfontg.h b/Build/source/libs/gd/libgd-2.1.1/src/gdfontg.h
index 5d85812cf42..5d85812cf42 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfontg.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfontg.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfontl.c b/Build/source/libs/gd/libgd-2.1.1/src/gdfontl.c
index a987407aeca..a987407aeca 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfontl.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfontl.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfontl.h b/Build/source/libs/gd/libgd-2.1.1/src/gdfontl.h
index 2fc91ca6bff..2fc91ca6bff 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfontl.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfontl.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfontmb.c b/Build/source/libs/gd/libgd-2.1.1/src/gdfontmb.c
index 349b2dbde28..349b2dbde28 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfontmb.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfontmb.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfontmb.h b/Build/source/libs/gd/libgd-2.1.1/src/gdfontmb.h
index e6807db4eb8..e6807db4eb8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfontmb.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfontmb.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfonts.c b/Build/source/libs/gd/libgd-2.1.1/src/gdfonts.c
index f7c27250362..f7c27250362 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfonts.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfonts.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfonts.h b/Build/source/libs/gd/libgd-2.1.1/src/gdfonts.h
index b5127e971a6..b5127e971a6 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfonts.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfonts.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfontt.c b/Build/source/libs/gd/libgd-2.1.1/src/gdfontt.c
index c9c6f4a31da..c9c6f4a31da 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfontt.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfontt.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfontt.h b/Build/source/libs/gd/libgd-2.1.1/src/gdfontt.h
index d61b01ff4a0..d61b01ff4a0 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfontt.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfontt.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdft.c b/Build/source/libs/gd/libgd-2.1.1/src/gdft.c
index cf3eafe0526..03a01593660 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdft.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdft.c
@@ -817,6 +817,130 @@ BGD_DECLARE(int) gdFontCacheSetup (void)
return 0;
}
+/*
+ Function: gdImageStringFTEx
+
+ gdImageStringFTEx extends the capabilities of gdImageStringFT by
+ providing a way to pass additional parameters.
+
+ If the strex parameter is not null, it must point to a
+ gdFTStringExtra structure. As of gd 2.0.5, this structure is defined
+ as follows:
+
+ > typedef struct {
+ > // logical OR of gdFTEX_ values
+ > int flags;
+ >
+ > // fine tune line spacing for '\n'
+ > double linespacing;
+ >
+ > // Preferred character mapping
+ > int charmap;
+ >
+ > // Rendering resolution
+ > int hdpi;
+ > int vdpi;
+ > char *xshow;
+ > char *fontpath;
+ > } gdFTStringExtra, *gdFTStringExtraPtr;
+
+ To output multiline text with a specific line spacing, include
+ gdFTEX_LINESPACE in the setting of flags:
+
+ > flags |= gdFTEX_LINESPACE;
+
+ And also set linespacing to the desired spacing, expressed as a
+ multiple of the font height. Thus a line spacing of 1.0 is the
+ minimum to guarantee that lines of text do not collide.
+
+ If gdFTEX_LINESPACE is not present, or strex is null, or
+ gdImageStringFT is called, linespacing defaults to 1.05.
+
+ To specify a preference for Unicode, Shift_JIS Big5 character
+ encoding, set or To output multiline text with a specific line
+ spacing, include gdFTEX_CHARMAP in the setting of flags:
+
+ > flags |= gdFTEX_CHARMAP;
+
+ And set charmap to the desired value, which can be any of
+ gdFTEX_Unicode, gdFTEX_Shift_JIS, gdFTEX_Big5, or
+ gdFTEX_Adobe_Custom. If you do not specify a preference, Unicode
+ will be tried first. If the preferred character mapping is not found
+ in the font, other character mappings are attempted.
+
+ GD operates on the assumption that the output image will be rendered
+ to a computer screen. By default, gd passes a resolution of 96 dpi
+ to the freetype text rendering engine. This influences the "hinting"
+ decisions made by the renderer. To specify a different resolution,
+ set hdpi and vdpi accordingly (in dots per inch) and add
+ gdFTEX_RESOLUTION to flags:
+
+ > flags | gdFTEX_RESOLUTION;
+
+ GD 2.0.29 and later will normally attempt to apply kerning tables,
+ if fontconfig is available, to adjust the relative positions of
+ consecutive characters more ideally for that pair of
+ characters. This can be turn off by specifying the
+ gdFTEX_DISABLE_KERNING flag:
+
+ > flags | gdFTEX_DISABLE_KERNING;
+
+ GD 2.0.29 and later can return a vector of individual character
+ position advances, occasionally useful in applications that must
+ know exactly where each character begins. This is returned in the
+ xshow element of the gdFTStringExtra structure if the gdFTEX_XSHOW
+ flag is set:
+
+ > flags | gdFTEX_XSHOW;
+
+ The caller is responsible for calling gdFree() on the xshow element
+ after the call if gdFTEX_XSHOW is set.
+
+ GD 2.0.29 and later can also return the path to the actual font file
+ used if the gdFTEX_RETURNFONTPATHNAME flag is set. This is useful
+ because GD 2.0.29 and above are capable of selecting a font
+ automatically based on a fontconfig font pattern when fontconfig is
+ available. This information is returned in the fontpath element of
+ the gdFTStringExtra structure.
+
+ > flags | gdFTEX_RETURNFONTPATHNAME;
+
+ The caller is responsible for calling gdFree() on the fontpath
+ element after the call if gdFTEX_RETURNFONTPATHNAME is set.
+
+ GD 2.0.29 and later can use fontconfig to resolve font names,
+ including fontconfig patterns, if the gdFTEX_FONTCONFIG flag is
+ set. As a convenience, this behavior can be made the default by
+ calling gdFTUseFontConfig with a nonzero value. In that situation it
+ is not necessary to set the gdFTEX_FONTCONFIG flag on every call;
+ however explicit font path names can still be used if the
+ gdFTEX_FONTPATHNAME flag is set:
+
+ > flags | gdFTEX_FONTPATHNAME;
+
+ Unless gdFTUseFontConfig has been called with a nonzero value, GD
+ 2.0.29 and later will still expect the fontlist argument to the
+ freetype text output functions to be a font file name or list
+ thereof as in previous versions. If you do not wish to make
+ fontconfig the default, it is still possible to force the use of
+ fontconfig for a single call to the freetype text output functions
+ by setting the gdFTEX_FONTCONFIG flag:
+
+ > flags | gdFTEX_FONTCONFIG;
+
+ GD 2.0.29 and above can use fontconfig to resolve font names,
+ including fontconfig patterns, if the gdFTEX_FONTCONFIG flag is
+ set. As a convenience, this behavior can be made the default by
+ calling gdFTUseFontConfig with a nonzero value. In that situation it
+ is not necessary to set the gdFTEX_FONTCONFIG flag on every call;
+ however explicit font path names can still be used if the
+ gdFTEX_FONTPATHNAME flag is set:
+
+ > flags | gdFTEX_FONTPATHNAME;
+
+ For more information, see <gdImageStringFT>.
+*/
+
/* the platform-independent resolution used for size and position calculations */
/* the size of the error introduced by rounding is affected by this number */
#define METRIC_RES 300
@@ -928,6 +1052,8 @@ BGD_DECLARE(char *) gdImageStringFTEx (gdImage * im, int *brect, int fg, char *f
strex->fontpath = (char *) gdMalloc(fontpath_len + 1);
if (strex->fontpath == NULL) {
+ gdCacheDelete(tc_cache);
+ gdMutexUnlock(gdFontCacheMutex);
return "could not alloc full list of fonts";
}
strncpy(strex->fontpath, font->fontpath, fontpath_len);
@@ -1503,7 +1629,7 @@ static char * font_path(char **fontpath, char *name_list)
char *fontsearchpath, *fontlist;
char *fullname = NULL;
char *name, *dir;
- char path[MAXPATHLEN];
+ char *path;
char *strtok_ptr = NULL;
const unsigned int name_list_len = strlen(name_list);
@@ -1524,9 +1650,15 @@ static char * font_path(char **fontpath, char *name_list)
#endif
if (!fontsearchpath)
fontsearchpath = DEFAULT_FONTPATH;
+ path = (char *) gdMalloc(sizeof(char) * strlen(fontsearchpath) + 1);
+ if( path == NULL ) {
+ return "could not alloc full list of fonts";
+ }
+ path[0] = 0;
fontlist = (char *) gdMalloc(name_list_len + 1);
if (fontlist == NULL) {
+ gdFree(path);
return "could not alloc full list of fonts";
}
strncpy(fontlist, name_list, name_list_len);
@@ -1550,6 +1682,7 @@ static char * font_path(char **fontpath, char *name_list)
strlen (fontsearchpath) + strlen (name) + 8);
if (!fullname) {
gdFree(fontlist);
+ gdFree(path);
return "could not alloc full path of font";
}
/* if name is an absolute or relative pathname then test directly */
@@ -1604,6 +1737,7 @@ static char * font_path(char **fontpath, char *name_list)
if (font_found)
break;
}
+ gdFree (path);
if (fontlist != NULL) {
gdFree (fontlist);
fontlist = NULL;
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfx.c b/Build/source/libs/gd/libgd-2.1.1/src/gdfx.c
index 13b32fe1c06..13b32fe1c06 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfx.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfx.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdfx.h b/Build/source/libs/gd/libgd-2.1.1/src/gdfx.h
index cf83d3eb46e..cf83d3eb46e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdfx.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdfx.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdhelpers.c b/Build/source/libs/gd/libgd-2.1.1/src/gdhelpers.c
index 33126cb77f9..3c063d95523 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdhelpers.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdhelpers.c
@@ -7,6 +7,9 @@
#include <stdlib.h>
#include <string.h>
+#include <sys/types.h>
+#include <ctype.h>
+
/* TBB: gd_strtok_r is not portable; provide an implementation */
#define SEP_TEST (separators[*((unsigned char *) s)])
@@ -91,3 +94,5 @@ BGD_DECLARE(void) gdFree (void *ptr)
{
free (ptr);
}
+
+
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdhelpers.h b/Build/source/libs/gd/libgd-2.1.1/src/gdhelpers.h
index 0a5df08dc9f..2a96b8b4e55 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdhelpers.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdhelpers.h
@@ -35,8 +35,13 @@ extern "C" {
int overflow2(int a, int b);
/* 2.0.16: portable mutex support for thread safety. */
-
-#if defined(_WIN32)
+#if defined(CPP_SHARP)
+# define gdMutexDeclare(x)
+# define gdMutexSetup(x)
+# define gdMutexShutdown(x)
+# define gdMutexLock(x)
+# define gdMutexUnlock(x)
+#elif defined(_WIN32)
/* 2.0.18: must include windows.h to get CRITICAL_SECTION. */
# include <windows.h>
# define gdMutexDeclare(x) CRITICAL_SECTION x
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdkanji.c b/Build/source/libs/gd/libgd-2.1.1/src/gdkanji.c
index ab8c0df82df..ab8c0df82df 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdkanji.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdkanji.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdparttopng.c b/Build/source/libs/gd/libgd-2.1.1/src/gdparttopng.c
index 42d6df20368..42d6df20368 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdparttopng.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdparttopng.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdpp.cxx b/Build/source/libs/gd/libgd-2.1.1/src/gdpp.cxx
index 83bd73f6353..a8101fca29f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdpp.cxx
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdpp.cxx
@@ -40,7 +40,7 @@ namespace GD
0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A
== .PNG\r\n.\n
*/
-#if HAVE_PNG
+#ifdef HAVE_LIBPNG
case 0x89: // PNG
rtn = CreateFromPng(in);
break;
@@ -51,7 +51,7 @@ namespace GD
case 0x47: // GIF
rtn = CreateFromGif(in);
break;
-#if HAVE_JPEG
+#ifdef HAVE_LIBJPEG
/* JPEG
A JFIF-standard file will start with the four bytes (hex) FF D8 FF E0,
followed by two variable bytes (often hex 00 10), followed by 'JFIF'.
@@ -122,7 +122,7 @@ namespace GD
bool rtn;
switch (in.peek())
{
-#if HAVE_PNG
+#ifdef HAVE_LIBPNG
/* PNG
The first eight bytes of a PNG file always contain the following (decimal) values:
0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A
@@ -140,7 +140,7 @@ namespace GD
rtn = CreateFromGif(in);
break;
-#if HAVE_JPEG
+#ifdef HAVE_LIBJPEG
/* JPEG
A JFIF-standard file will start with the four bytes (hex) FF D8 FF E0,
followed by two variable bytes (often hex 00 10), followed by 'JFIF'.
@@ -193,7 +193,7 @@ namespace GD
switch (((unsigned char * )data)[0])
{
-#if HAVE_PNG
+#ifdef HAVE_LIBPNG
/* PNG
The first eight bytes of a PNG file always contain the following (decimal) values:
0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A
@@ -210,7 +210,7 @@ namespace GD
rtn = CreateFromGif(size, data);
break;
-#if HAVE_JPEG
+#ifdef HAVE_LIBJPEG
/* JPEG
A JFIF-standard file will start with the four bytes (hex) FF D8 FF E0,
followed by two variable bytes (often hex 00 10), followed by 'JFIF'.
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdpp.h b/Build/source/libs/gd/libgd-2.1.1/src/gdpp.h
index 31e30468844..2ebda162e1c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdpp.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdpp.h
@@ -24,6 +24,10 @@
#ifndef _gdpp_h
#define _gdpp_h
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "gd_io_stream.h"
#include <string>
@@ -43,7 +47,7 @@ namespace GD
/** This class GD::Point stores a point in two dimensions, somewhere
on the plane of an image.
*/
-class Point
+class BGD_EXPORT_DATA_PROT Point
{
public:
// Constructors
@@ -93,7 +97,7 @@ typedef Point * PointPtr;
/** This class GD::Size stores length in two dimensions.
Giving the size of an area as width and height.
*/
-class Size
+class BGD_EXPORT_DATA_PROT Size
{
public:
// Constructors
@@ -140,7 +144,7 @@ typedef Size * SizePtr;
/** This class GD::TrueColor stores a colour as an RGBA quadruplet.
It can also be read as an integer, and in other colour formats.
*/
-class TrueColor
+class BGD_EXPORT_DATA_PROT TrueColor
{
public:
union as_types {
@@ -206,19 +210,19 @@ protected:
to tell the compiler which constructor we want when we know
the image file format.
*/
-struct Png_tag {};
-struct Gif_tag {};
-struct WBMP_tag {};
-struct Jpeg_tag {};
-struct Gd_tag {};
-struct Gd2_tag {};
-struct Xbm_tag {};
+struct BGD_EXPORT_DATA_PROT Png_tag {};
+struct BGD_EXPORT_DATA_PROT Gif_tag {};
+struct BGD_EXPORT_DATA_PROT WBMP_tag {};
+struct BGD_EXPORT_DATA_PROT Jpeg_tag {};
+struct BGD_EXPORT_DATA_PROT Gd_tag {};
+struct BGD_EXPORT_DATA_PROT Gd2_tag {};
+struct BGD_EXPORT_DATA_PROT Xbm_tag {};
/** This class GD::Image wraps all of the 'C' libgd functionality
for the convenience of C++ users. An instance of this class
corresponds to a single image.
*/
-class BGD_EXPORT_DATA_IMPL Image
+class BGD_EXPORT_DATA_PROT Image
{
public:
/** Construct a null image
@@ -288,7 +292,7 @@ public:
:im(0) {
CreateFrom(size, data);
}
-#if HAVE_PNG
+#ifdef HAVE_LIBPNG
/** Construct an image by reading from \p in.
The tag is an empty struct which simply tells the compiler which image read function to use.
e.g. GD::Image img(input, GD::Png_tag()); // read a png file from input
@@ -404,7 +408,7 @@ public:
CreateFromWBMP(size, data);
}
-#if HAVE_JPEG
+#ifdef HAVE_LIBJPEG
/** Construct an image by reading from \p in.
The tag is an empty struct which simply tells the compiler which image read function to use.
e.g. GD::Image img(input, GD::Jpeg_tag()); // read a jpeg file from input
@@ -604,7 +608,7 @@ public:
/// Read an image from a memory block, after determining the image format
bool CreateFrom(int size, void * data);
-#if HAVE_PNG
+#ifdef HAVE_LIBPNG
// Png
bool CreateFromPng(FILE * in) {
clear();
@@ -662,7 +666,7 @@ public:
return ((im = gdImageCreateFromWBMPCtx( & _in_ctx)) != 0);
}
-#if HAVE_JPEG
+#ifdef HAVE_LIBJPEG
// Jpeg
/**
Load a truecolor image from a JPEG format file.
@@ -1085,7 +1089,7 @@ public:
gdImageGifCtx(im, & _out_ctx);
}
-#if HAVE_PNG
+#ifdef HAVE_LIBPNG
/**
Write out this image in PNG file format to \p out.
\param out A FILE * handle
@@ -1187,7 +1191,7 @@ public:
gdImageWBMPCtx(im, fg, & _out_ctx);
}
-#if HAVE_JPEG
+#ifdef HAVE_LIBJPEG
/**
Write out this image in JPEG file format to \p out.
\param out A FILE * handle
@@ -1264,14 +1268,14 @@ public:
void Gd(FILE * out) const {
gdImageGd(im, out);
}
- void Gd(int * size) const {
- gdImageGdPtr(im, size);
+ void* Gd(int * size) const {
+ return gdImageGdPtr(im, size);
}
void Gd2(FILE * out, int cs, int fmt) const {
gdImageGd2(im, out, cs, fmt);
}
- void Gd2(int cs, int fmt, int * size) const {
- gdImageGd2Ptr(im, cs, fmt, size);
+ void* Gd2(int cs, int fmt, int * size) const {
+ return gdImageGd2Ptr(im, cs, fmt, size);
}
void Ellipse(int cx, int cy, int w, int h, int color) {
@@ -1335,6 +1339,10 @@ public:
gdImageCopyRotated(im, src, dstX, dstY, srcX, srcY, srcWidth, srcHeight, angle);
}
+ Image * CopyGaussianBlurred(int radius, double sigma) {
+ return new Image(gdImageCopyGaussianBlurred(im, radius, sigma));
+ }
+
void Copy(const gdImagePtr src, const Point & dstP, const Point & srcP, const Size & s) {
Copy(src, dstP.X(), dstP.Y(), srcP.X(), srcP.Y(), s.W(), s.H());
}
@@ -1395,6 +1403,10 @@ public:
CopyRotated(src.im, dstX, dstY, srcP.X(), srcP.Y(), srcS.W(), srcS.H(), angle);
}
+ Image * Clone() {
+ return new Image(gdImageClone(im));
+ }
+
void SetBrush(gdImagePtr brush) {
gdImageSetBrush(im, brush);
}
@@ -1419,6 +1431,16 @@ public:
void SetThickness(int thickness) {
gdImageSetThickness(im, thickness);
}
+ void SetResolution(int res_x, int res_y) {
+ gdImageSetResolution(im, res_x, res_y);
+ }
+ void SetInterpolationMethod(gdInterpolationMethod interpolation_method) {
+ gdImageSetInterpolationMethod(im, interpolation_method);
+ }
+
+ Image * RotateInterpolated(const float angle, int bgcolor) {
+ return new Image(gdImageRotateInterpolated(im, angle, bgcolor));
+ }
void Interlace(bool interlaceArg) {
gdImageInterlace(im, interlaceArg?1:0);
@@ -1430,6 +1452,27 @@ public:
gdImageSaveAlpha(im, saveAlphaArg?1:0);
}
+ int ColorReplace(int src, int dst) {
+ return gdImageColorReplace(im, src, dst);
+ }
+ int ColorReplaceArray(int len, int * src, int * dst) {
+ return gdImageColorReplaceArray(im, len, src, dst);
+ }
+ int ColorReplaceCallback(gdCallbackImageColor callback) {
+ return gdImageColorReplaceCallback(im, callback);
+ }
+ int ColorReplaceThreshold(int src, int dst, float threshold) {
+ return gdImageColorReplaceThreshold(im, src, dst, threshold);
+ }
+
+ bool Pixelate(int block_size, gdPixelateMode mode) {
+ return gdImagePixelate(im, block_size, mode) == 0 ? false : true;
+ }
+
+ Image * Scale(int new_width, int new_height) {
+ return new Image(gdImageScale(im, new_width, new_height));
+ }
+
bool IsTrueColor() const {
return (gdImageTrueColor(im)?true:false);
}
@@ -1445,6 +1488,12 @@ public:
int Height() const {
return SY();
}
+ int ResX() const {
+ return gdImageResolutionX(im);
+ }
+ int ResY() const {
+ return gdImageResolutionY(im);
+ }
void GetSize(Size & s) const {
s.set(SX(), SY());
}
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdtables.c b/Build/source/libs/gd/libgd-2.1.1/src/gdtables.c
index 7753b21a4b3..7753b21a4b3 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdtables.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdtables.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdtest.c b/Build/source/libs/gd/libgd-2.1.1/src/gdtest.c
index 17dfc1bc521..17dfc1bc521 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdtest.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdtest.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdtestft.c b/Build/source/libs/gd/libgd-2.1.1/src/gdtestft.c
index e72165bdb56..e72165bdb56 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdtestft.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdtestft.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdtopng.c b/Build/source/libs/gd/libgd-2.1.1/src/gdtopng.c
index d3341b43cad..d3341b43cad 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdtopng.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdtopng.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gdxpm.c b/Build/source/libs/gd/libgd-2.1.1/src/gdxpm.c
index bad4be345b2..15603a6bd84 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gdxpm.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gdxpm.c
@@ -28,6 +28,40 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXpm(char *filename)
#include <X11/xpm.h>
+/*
+ Function: gdImageCreateFromXpm
+
+ <gdImageCreateFromXbm> is called to load images from XPM X Window
+ System color bitmap format files. This function is available only
+ if HAVE_XPM is selected in the Makefile and the Xpm library is
+ linked with the application. Unlike most gd file functions, the
+ Xpm functions *require filenames*, not file
+ pointers. <gdImageCreateFromXpm> returns a <gdImagePtr> to the new
+ image, or NULL if unable to load the image (most often because the
+ file is corrupt or does not contain an XPM bitmap format
+ image). You can inspect the sx and sy members of the image to
+ determine its size. The image must eventually be destroyed using
+ <gdImageDestroy>.
+
+ Parameters:
+
+ filename - The input filename (*not* FILE pointer)
+
+ Returns:
+
+ A pointer to the new image or NULL if an error occurred.
+
+ Example:
+
+ > gdImagePtr im;
+ > FILE *in;
+ > in = fopen("myxpm.xpm", "rb");
+ > im = gdImageCreateFromXpm(in);
+ > fclose(in);
+ > // ... Use the image ...
+ > gdImageDestroy(im);
+
+*/
BGD_DECLARE(gdImagePtr) gdImageCreateFromXpm(char *filename)
{
XpmInfo info;
@@ -49,6 +83,16 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXpm(char *filename)
if(overflow2(sizeof(int), number)) {
goto done;
}
+ for(i = 0; i < number; i++) {
+ /*
+ avoid NULL pointer dereference
+ TODO better fix need to manage monochrome/monovisual
+ see m_color or g4_color or g_color
+ */
+ if (!image.colorTable[i].c_color) {
+ goto done;
+ }
+ }
colors = (int *)gdMalloc(sizeof(int) * number);
if(colors == NULL) {
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/gifanimtest.c b/Build/source/libs/gd/libgd-2.1.1/src/gifanimtest.c
index da17b9e24f5..da17b9e24f5 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/gifanimtest.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/gifanimtest.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/giftogd2.c b/Build/source/libs/gd/libgd-2.1.1/src/giftogd2.c
index e7d0c6b8250..e7d0c6b8250 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/giftogd2.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/giftogd2.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/jisx0208.h b/Build/source/libs/gd/libgd-2.1.1/src/jisx0208.h
index d49dddc010a..d49dddc010a 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/jisx0208.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/jisx0208.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/msinttypes/inttypes.h b/Build/source/libs/gd/libgd-2.1.1/src/msinttypes/inttypes.h
index 4b3828a2162..4b3828a2162 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/msinttypes/inttypes.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/msinttypes/inttypes.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/msinttypes/stdint.h b/Build/source/libs/gd/libgd-2.1.1/src/msinttypes/stdint.h
index d02608a5972..d02608a5972 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/msinttypes/stdint.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/msinttypes/stdint.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/pngtogd.c b/Build/source/libs/gd/libgd-2.1.1/src/pngtogd.c
index f00fe8f7ac9..f00fe8f7ac9 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/pngtogd.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/pngtogd.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/pngtogd2.c b/Build/source/libs/gd/libgd-2.1.1/src/pngtogd2.c
index e474afb6612..e474afb6612 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/pngtogd2.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/pngtogd2.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/testac.c b/Build/source/libs/gd/libgd-2.1.1/src/testac.c
index 0d200f0630c..0d200f0630c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/testac.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/testac.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/testtr.c b/Build/source/libs/gd/libgd-2.1.1/src/testtr.c
index b7b419f96c0..b7b419f96c0 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/testtr.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/testtr.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/wbmp.c b/Build/source/libs/gd/libgd-2.1.1/src/wbmp.c
index 6be39410c55..6be39410c55 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/wbmp.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/wbmp.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/wbmp.h b/Build/source/libs/gd/libgd-2.1.1/src/wbmp.h
index f163b4be410..f163b4be410 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/wbmp.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/wbmp.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/webpimg.c b/Build/source/libs/gd/libgd-2.1.1/src/webpimg.c
index cf73d642b65..cf73d642b65 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/webpimg.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/webpimg.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/webpimg.h b/Build/source/libs/gd/libgd-2.1.1/src/webpimg.h
index 8a05429a73c..8a05429a73c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/webpimg.h
+++ b/Build/source/libs/gd/libgd-2.1.1/src/webpimg.h
diff --git a/Build/source/libs/gd/libgd-2.1.0/src/webpng.c b/Build/source/libs/gd/libgd-2.1.1/src/webpng.c
index 74231795d10..74231795d10 100644
--- a/Build/source/libs/gd/libgd-2.1.0/src/webpng.c
+++ b/Build/source/libs/gd/libgd-2.1.1/src/webpng.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/test/gdtest.gd2 b/Build/source/libs/gd/libgd-2.1.1/test/gdtest.gd2
index aaa124f567c..aaa124f567c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/test/gdtest.gd2
+++ b/Build/source/libs/gd/libgd-2.1.1/test/gdtest.gd2
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/test/gdtest.png b/Build/source/libs/gd/libgd-2.1.1/test/gdtest.png
index 1d480c6a4f4..1d480c6a4f4 100644
--- a/Build/source/libs/gd/libgd-2.1.0/test/gdtest.png
+++ b/Build/source/libs/gd/libgd-2.1.1/test/gdtest.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/test/gdtest_200_300_150_100.png b/Build/source/libs/gd/libgd-2.1.1/test/gdtest_200_300_150_100.png
index 535474e474a..535474e474a 100644
--- a/Build/source/libs/gd/libgd-2.1.0/test/gdtest_200_300_150_100.png
+++ b/Build/source/libs/gd/libgd-2.1.1/test/gdtest_200_300_150_100.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/test/gdtest_merge.png b/Build/source/libs/gd/libgd-2.1.1/test/gdtest_merge.png
index 4381bbfe2fc..4381bbfe2fc 100644
--- a/Build/source/libs/gd/libgd-2.1.0/test/gdtest_merge.png
+++ b/Build/source/libs/gd/libgd-2.1.1/test/gdtest_merge.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/test/gdtest_wbmp_to_png.png b/Build/source/libs/gd/libgd-2.1.1/test/gdtest_wbmp_to_png.png
index d6baf5491fe..d6baf5491fe 100644
--- a/Build/source/libs/gd/libgd-2.1.0/test/gdtest_wbmp_to_png.png
+++ b/Build/source/libs/gd/libgd-2.1.1/test/gdtest_wbmp_to_png.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/CMakeLists.txt
index 5f8706fdb02..5f8706fdb02 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/Makefile.am b/Build/source/libs/gd/libgd-2.1.1/tests/Makefile.am
index de63743c850..d5ae473748c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/Makefile.am
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/Makefile.am
@@ -28,7 +28,12 @@ check_PROGRAMS = \
gif/gif_null \
gif/bug00181 \
gif/bug00227 \
- bmp/bmp_null
+ bmp/bmp_null \
+ gdinterpolatedscale/gdTrivialResize \
+ gdinterpolatedscale/gdModesAndPalettes \
+ gd/gd_versiontest \
+ gdimagefilter/gdCopyBlurred \
+ gdimagefile/gdnametest
EXTRA_PROGRAMS = \
gdimagestringft/gdimagestringft_bbox \
@@ -200,7 +205,7 @@ check_PROGRAMS +=
freetype/bug00132
endif
-LDADD = ../src/libgd.la libgdtest.a
+LDADD = libgdtest.a ../src/libgd.la
AM_CPPFLAGS = -I$(top_srcdir)/src -I $(top_srcdir)/tests/gdtest
TESTS = $(check_PROGRAMS)
@@ -326,6 +331,9 @@ EXTRA_DIST = \
gdimagerotate/bug00067_150_exp.png \
gdimagerotate/bug00067_165_exp.png \
gdimagerotate/bug00067_180_exp.png \
+ gdimagefile/img-ref.tga \
+ gdimagefile/img-ref.xbm \
+ gdimagefile/img-ref.xpm \
gdimageline/gdImageAALine_thickness_exp.png
CLEANFILES = \
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/bmp/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/bmp/CMakeLists.txt
index 3e456f7ea02..751c303a756 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/bmp/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/bmp/CMakeLists.txt
@@ -7,6 +7,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest ${GD_LIB})
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/bmp/bmp_im2im.c b/Build/source/libs/gd/libgd-2.1.1/tests/bmp/bmp_im2im.c
index 2beb2db4206..2beb2db4206 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/bmp/bmp_im2im.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/bmp/bmp_im2im.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/bmp/bmp_null.c b/Build/source/libs/gd/libgd-2.1.1/tests/bmp/bmp_null.c
index 08ed8377736..08ed8377736 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/bmp/bmp_null.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/bmp/bmp_null.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/freetype/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/freetype/CMakeLists.txt
index dbc580e140a..201d19a5575 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/freetype/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/freetype/CMakeLists.txt
@@ -1,10 +1,9 @@
SET(TESTS_FILES
- bug00132
+# bug00132
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/freetype/DejaVuSans.ttf b/Build/source/libs/gd/libgd-2.1.1/tests/freetype/DejaVuSans.ttf
index 3299ee5572f..3299ee5572f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/freetype/DejaVuSans.ttf
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/freetype/DejaVuSans.ttf
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/freetype/bug00132.c b/Build/source/libs/gd/libgd-2.1.1/tests/freetype/bug00132.c
index 88cdfc695a3..88cdfc695a3 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/freetype/bug00132.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/freetype/bug00132.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/freetype/bug00132_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/freetype/bug00132_exp.png
index c45495e618f..c45495e618f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/freetype/bug00132_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/freetype/bug00132_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gd/CMakeLists.txt
index a744f6619ac..c5327171ba0 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd/CMakeLists.txt
@@ -3,11 +3,11 @@ SET(TESTS_FILES
gd_im2im
gd_null
gd_num_colors
+ gd_versiontest
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd/crafted_num_colors.gd b/Build/source/libs/gd/libgd-2.1.1/tests/gd/crafted_num_colors.gd
index 45c944cc29f..45c944cc29f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd/crafted_num_colors.gd
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd/crafted_num_colors.gd
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd/gd_im2im.c b/Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_im2im.c
index a7a2226e719..a7a2226e719 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd/gd_im2im.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_im2im.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd/gd_null.c b/Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_null.c
index c0594662f1c..c0594662f1c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd/gd_null.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_null.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd/gd_num_colors.c b/Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_num_colors.c
index 7d919361925..7d919361925 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd/gd_num_colors.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_num_colors.c
diff --git a/Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_versiontest.c b/Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_versiontest.c
new file mode 100644
index 00000000000..1aa1a67b3d9
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd/gd_versiontest.c
@@ -0,0 +1,21 @@
+#include <string.h>
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+int main()
+{
+ char buffer[100];
+
+ gdTestAssert(GD_MAJOR_VERSION == gdMajorVersion());
+ gdTestAssert(GD_MINOR_VERSION == gdMinorVersion());
+ gdTestAssert(GD_RELEASE_VERSION == gdReleaseVersion());
+ gdTestAssert(strcmp(GD_EXTRA_VERSION, gdExtraVersion()) == 0);
+
+ sprintf(buffer, "%d.%d.%d%s", GD_MAJOR_VERSION, GD_MINOR_VERSION,
+ GD_RELEASE_VERSION, GD_EXTRA_VERSION);
+ gdTestAssert(strcmp(GD_VERSION_STRING, gdVersionString()) == 0);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/CMakeLists.txt
index c9bd5e5876e..68a064c0fbd 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/CMakeLists.txt
@@ -9,6 +9,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/conv_gd2_exp.gd2 b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/conv_gd2_exp.gd2
index e69de29bb2d..e69de29bb2d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/conv_gd2_exp.gd2
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/conv_gd2_exp.gd2
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/conv_test.gd2 b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/conv_test.gd2
index 1c64b46d9ae..1c64b46d9ae 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/conv_test.gd2
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/conv_test.gd2
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/conv_test_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/conv_test_exp.png
index b4bc3fad9f4..b4bc3fad9f4 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/conv_test_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/conv_test_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/empty.gd2 b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/empty.gd2
index e69de29bb2d..e69de29bb2d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/empty.gd2
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/empty.gd2
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_empty_file.c b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_empty_file.c
index 289debc541e..289debc541e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_empty_file.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_empty_file.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_im2im.c b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_im2im.c
index 7745fa5973e..7745fa5973e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_im2im.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_im2im.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_null.c b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_null.c
index 6c8fc96caae..6c8fc96caae 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_null.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_null.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_read.c b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_read.c
index 2e78e9a6d23..2e78e9a6d23 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gd2/gd2_read.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gd2/gd2_read.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagearc/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagearc/CMakeLists.txt
index 82cc9b8e1c1..4725daea2cc 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagearc/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagearc/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagearc/bug00079.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagearc/bug00079.c
index b2843a74873..b2843a74873 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagearc/bug00079.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagearc/bug00079.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagearc/bug00079_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagearc/bug00079_exp.png
index 1abfbbfbc51..1abfbbfbc51 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagearc/bug00079_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagearc/bug00079_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorclosest/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorclosest/CMakeLists.txt
index 1b2f83edc8c..30a47c0b800 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorclosest/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorclosest/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorclosest/gdimagecolorclosest.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorclosest/gdimagecolorclosest.c
index 4754a2c28be..4754a2c28be 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorclosest/gdimagecolorclosest.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorclosest/gdimagecolorclosest.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolordeallocate/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolordeallocate/CMakeLists.txt
index 996bd24ca9e..7958cd6cce4 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolordeallocate/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolordeallocate/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolordeallocate/gdimagecolordeallocate.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolordeallocate/gdimagecolordeallocate.c
index c671bd323de..c671bd323de 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolordeallocate/gdimagecolordeallocate.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolordeallocate/gdimagecolordeallocate.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorexact/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorexact/CMakeLists.txt
index a724d130891..f62bc26bbe3 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorexact/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorexact/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorexact/gdimagecolorexact.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorexact/gdimagecolorexact.c
index 9d754ca9614..9d754ca9614 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorexact/gdimagecolorexact.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorexact/gdimagecolorexact.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorreplace/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorreplace/CMakeLists.txt
index f88a8a07b37..915d9d49873 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorreplace/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorreplace/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorreplace/gdimagecolorreplace.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorreplace/gdimagecolorreplace.c
index 9694bd4ae5a..9694bd4ae5a 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorreplace/gdimagecolorreplace.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorreplace/gdimagecolorreplace.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorresolve/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorresolve/CMakeLists.txt
index 2ab9444a6ce..4b918251655 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorresolve/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorresolve/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorresolve/gdimagecolorresolve.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorresolve/gdimagecolorresolve.c
index 1a0d6884e7e..1a0d6884e7e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolorresolve/gdimagecolorresolve.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolorresolve/gdimagecolorresolve.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolortransparent/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolortransparent/CMakeLists.txt
index 9e6c82f0a09..5f580f7f174 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolortransparent/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolortransparent/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolortransparent/gdimagecolortransparent.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolortransparent/gdimagecolortransparent.c
index aca380b2c6f..aca380b2c6f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecolortransparent/gdimagecolortransparent.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecolortransparent/gdimagecolortransparent.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/CMakeLists.txt
index 209257aab63..0b0ccdd77b5 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/CMakeLists.txt
@@ -6,6 +6,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/bug00007.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/bug00007.c
index f3106f3a2f4..f3106f3a2f4 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/bug00007.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/bug00007.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/bug00081.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/bug00081.c
index 0e28f4ca409..0e28f4ca409 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/bug00081.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/bug00081.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/bug00081_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/bug00081_exp.png
index c5587f78a40..c5587f78a40 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopy/bug00081_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopy/bug00081_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopyrotated/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopyrotated/CMakeLists.txt
index 4a0e08346d9..7f75aa7c572 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopyrotated/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopyrotated/CMakeLists.txt
@@ -6,6 +6,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopyrotated/bug00020.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopyrotated/bug00020.c
index f1c2467fc47..f1c2467fc47 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopyrotated/bug00020.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopyrotated/bug00020.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopyrotated/bug00020_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopyrotated/bug00020_exp.png
index f0a9c161b14..f0a9c161b14 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagecopyrotated/bug00020_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagecopyrotated/bug00020_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/gdnametest.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/gdnametest.c
new file mode 100644
index 00000000000..dd8f0196a59
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/gdnametest.c
@@ -0,0 +1,169 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "gd.h"
+#include "gdtest.h"
+#include "../test_config.h"
+
+#define WIDTH 60
+#define HEIGHT 50
+#define LX (WIDTH/2) // Line X
+#define LY (HEIGHT/2) // Line Y
+#define HT 2 // Half of line-thickness
+
+
+gdImagePtr mkwhite(int x, int y)
+{
+ gdImagePtr im;
+
+ im = gdImageCreateTrueColor(x, y);
+ gdImageFilledRectangle(im, 0, 0, x-1, y-1,
+ gdImageColorExactAlpha(im, 255, 255, 255, 0));
+
+ gdTestAssert(im != NULL);
+
+ gdImageSetInterpolationMethod(im, GD_BICUBIC); // FP interp'n
+
+ return im;
+}/* mkwhite*/
+
+
+gdImagePtr mkcross() {
+ gdImagePtr im;
+ int fg, n;
+
+ im = mkwhite(WIDTH, HEIGHT);
+ fg = gdImageColorAllocate(im, 0, 0, 0);
+
+ for (n = -HT; n < HT; n++) {
+ gdImageLine(im, LX-n, 0, LX-n, HEIGHT-1, fg);
+ gdImageLine(im, 0, LY-n, WIDTH-1, LY-n, fg);
+ }/* for */
+
+ return im;
+}/* mkcross*/
+
+
+
+
+void
+do_test() {
+
+ gdTestAssertMsg(strchr("123",'2') != 0, "strchr() is not functional.\n",1);
+ gdTestAssertMsg(strcasecmp("123abC","123Abc") == 0, "strcasecmp() is not functional.\n",1);
+
+ int n;
+ struct {
+ const char *nm; // Filename
+ unsigned maxdiff; // Maximum total pixel diff
+ int required; // 1 -> image type always supported, -1 -> skip it
+ int readonly; // 1 -> gd can only read this type
+ } names[] = {
+ {"img.png", 0, 0, 0},
+ {"img.gif", 5, 1, 0}, // This seems to come from tc<->palette
+ {"img.GIF", 5, 1, 0}, // Test for case insensitivity
+ {"img.gd", 0, 1, 0},
+ {"img.gd2", 0, 0, 0},
+ {"img.jpg", 25, 0, 0},
+ {"img.jpeg", 25, 0, 0},
+ {"img.wbmp", 0, 1, 0},
+ {"img.bmp", 0, 1, 0},
+ {"img-ref.xpm", 0, 0, 1},
+
+ // These break the test so I'm skipping them since the point
+ // of this test is not those loaders.
+ {"img-ref.xbm", 0, -1, 1},
+ {"img-ref.tga", 0, -1, 1},
+ {"img.webp", 0, -1, 0},
+ {"img.tiff", 0, -1, 0},
+
+ {NULL, 0}
+ };
+
+ for (n = 0; names[n].nm; n++) {
+ gdImagePtr orig, copy;
+ int status;
+ char full_filename[255];
+
+ /* Some image readers are buggy and crash the program so we
+ * skip them. Bug fixers should remove these from the list of
+ * skipped items as bugs are fixed. */
+ if (names[n].required < 0) {
+ printf("Skipping test for '%s'. FIX THIS!\n", names[n].nm);
+ continue;
+ }/* if */
+
+ /* Skip this file if the current library build doesn't support
+ * it. (If it's one of the built-in types, *that* a different
+ * problem; we assert that here.) */
+ if (!gdSupportsFileType(names[n].nm, 0)) {
+ gdTestAssertMsg(!names[n].required, "GD doesn't support required file type: %s\n", full_filename);
+ continue;
+ }/* if */
+
+ orig = mkcross();
+
+
+ #ifdef GDTEST_TOP_DIR
+
+ snprintf(full_filename, sizeof(full_filename), GDTEST_TOP_DIR"/gdimagefile/%s",
+ names[n].nm);
+
+ #else
+ /* Prepend the test directory; this is expected to be run in
+ * the parent dir. */
+ snprintf(full_filename, sizeof(full_filename), "gdimagefile/%s",
+ names[n].nm);
+ #endif
+
+
+ /* Write the image unless writing is not supported. */
+ if (!names[n].readonly) {
+ status = gdImageFile(orig, full_filename);
+ gdTestAssertMsg(status == GD_TRUE, "Failed to create %s\n", full_filename);
+ }/* if */
+
+ copy = gdImageCreateFromFile(full_filename);
+ gdTestAssertMsg(!!copy, "Failed to load %s\n", full_filename);
+ if (!copy) continue;
+
+ /* Debug printf. */
+ //printf("%s -> %d\n", full_filename, gdMaxPixelDiff(orig, copy));
+
+ gdTestAssertMsg(gdMaxPixelDiff(orig, copy) <= names[n].maxdiff,"Pixels different on %s\n", full_filename, full_filename);
+
+ if (!names[n].readonly) {
+ status = remove(full_filename);
+ gdTestAssertMsg(status == 0, "Failed to delete %s\n", full_filename);
+ }/* if */
+
+ gdImageDestroy(orig);
+ gdImageDestroy(copy);
+ }/* for */
+
+}/* do_test*/
+
+
+void
+do_errortest() {
+ gdImagePtr im;
+
+ im = mkcross();
+
+ gdTestAssert(!gdImageFile(im, "img.xpng"));
+ gdTestAssert(!gdImageFile(im, "bobo"));
+ gdTestAssert(!gdImageFile(im, "png"));
+ gdTestAssert(!gdImageFile(im, ""));
+
+ gdImageDestroy(im);
+}/* do_errortest*/
+
+
+int main(int argc, char **argv)
+{
+
+ do_test();
+ do_errortest();
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.tga b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.tga
new file mode 100644
index 00000000000..201e1450760
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.tga
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.xbm b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.xbm
new file mode 100644
index 00000000000..bb7ebb72c40
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.xbm
@@ -0,0 +1,37 @@
+#define foo-ref_width 60
+#define foo-ref_height 50
+static char foo-ref_bits[] = {
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0x01, 0x00, 0x00, 0x00, };
diff --git a/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.xpm b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.xpm
new file mode 100644
index 00000000000..574d3d95d2d
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefile/img-ref.xpm
@@ -0,0 +1,58 @@
+/* XPM */
+static char *img_ref[] = {
+/* columns rows colors chars-per-pixel */
+"60 50 2 1 ",
+" c gray100",
+". c black",
+/* pixels */
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+"............................................................",
+"............................................................",
+"............................................................",
+"............................................................",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" .... "
+};
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/CMakeLists.txt
index c0fe79914b6..ef85f1cf7ef 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/CMakeLists.txt
@@ -8,6 +8,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_1.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_1.c
index 2a440f20ede..2a440f20ede 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_1.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_1.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_1_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_1_exp.png
index a5435f278bc..a5435f278bc 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_1_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_1_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_2.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_2.c
index 06cf8311195..06cf8311195 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_2.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_2.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_2_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_2_exp.png
index 2a3f0fb2c65..2a3f0fb2c65 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_2_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_2_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_3.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_3.c
index 454d5be3612..454d5be3612 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_3.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_3.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_3_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_3_exp.png
index b8b7a2b319d..b8b7a2b319d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_3_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_3_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_4.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_4.c
index 4b11d84bdc9..4b11d84bdc9 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_4.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_4.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_4_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_4_exp.png
index d751a74d7a0..d751a74d7a0 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefill/bug00002_4_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefill/bug00002_4_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/CMakeLists.txt
index 8d047e787d7..fb1ed6ca1ac 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/CMakeLists.txt
@@ -7,6 +7,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00010.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00010.c
index df0c66dbc64..df0c66dbc64 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00010.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00010.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00010_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00010_exp.png
index 871ca671987..871ca671987 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00010_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00010_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00191.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00191.c
index 7db64151726..7db64151726 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00191.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00191.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00191.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00191.png
index dbb7439e2b5..dbb7439e2b5 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledellipse/bug00191.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledellipse/bug00191.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/CMakeLists.txt
index be8ab7c4aa3..2ca4bf51f99 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/CMakeLists.txt
@@ -9,6 +9,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/bug00100.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/bug00100.c
index ae2e084fe41..ae2e084fe41 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/bug00100.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/bug00100.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/bug00100.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/bug00100.png
index 439224e2334..439224e2334 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/bug00100.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/bug00100.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c
index 5ca877c630c..5ca877c630c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon0.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon0.png
index 14c7090a415..14c7090a415 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon0.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon0.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c
index 950035e2b4b..950035e2b4b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon1.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon1.png
index 14c7090a415..14c7090a415 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon1.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon1.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c
index 628665a1919..628665a1919 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon2.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon2.png
index 80f91a2814b..80f91a2814b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon2.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon2.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c
index 0db5c8519e1..0db5c8519e1 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon3.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon3.png
index 72311d83a29..72311d83a29 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledpolygon/gdimagefilledpolygon3.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledpolygon/gdimagefilledpolygon3.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/CMakeLists.txt
index 9a82b99ea01..73920709bb5 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/CMakeLists.txt
@@ -7,6 +7,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/bug00004.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/bug00004.c
index 594e29637d7..594e29637d7 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/bug00004.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/bug00004.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/bug00078.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/bug00078.c
index adf244ebca2..adf244ebca2 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/bug00078.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/bug00078.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c
index 24f5ceb9327..24f5ceb9327 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilledrectangle/bug00106_gdimagefilledrectangle.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilltoborder/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilltoborder/CMakeLists.txt
index 966bff0657b..e24a69a1452 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilltoborder/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilltoborder/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilltoborder/bug00037.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilltoborder/bug00037.c
index 646adbd0f79..646adbd0f79 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagefilltoborder/bug00037.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilltoborder/bug00037.c
diff --git a/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilter/gdCopyBlurred.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilter/gdCopyBlurred.c
new file mode 100644
index 00000000000..69ca06133bc
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagefilter/gdCopyBlurred.c
@@ -0,0 +1,198 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "gd.h"
+#include "gdtest.h"
+
+#define WIDTH 300
+#define HEIGHT 200
+#define LX (WIDTH/2) // Line X
+#define LY (HEIGHT/2) // Line Y
+#define HT 3 // Half of line-thickness
+
+#define CLOSE_ENOUGH 0
+#define PIXEL_CLOSE_ENOUGH 0
+
+
+void
+save(gdImagePtr im, const char *filename) {
+#if 0 // set TRUE to write out some intermediate images
+ FILE *out;
+
+ out = fopen(filename, "wb");
+ gdImagePng(im, out);
+ fclose(out);
+#else
+ im, filename;
+#endif
+}/* save*/
+
+
+/* Test gdImageScale() with bicubic interpolation on a simple
+ * all-white image. */
+
+gdImagePtr mkwhite(int x, int y)
+{
+ gdImagePtr im;
+
+ im = gdImageCreateTrueColor(x, y);
+ gdImageFilledRectangle(im, 0, 0, x-1, y-1,
+ gdImageColorExactAlpha(im, 255, 255, 255, 0));
+
+ gdTestAssert(im != NULL);
+
+ gdImageSetInterpolationMethod(im, GD_BICUBIC); // FP interp'n
+
+ return im;
+}/* mkwhite*/
+
+
+/* Fill with almost-black. */
+void mkblack(gdImagePtr ptr)
+{
+ gdImageFilledRectangle(ptr, 0, 0, ptr->sx - 1, ptr->sy - 1,
+ gdImageColorExactAlpha(ptr, 2, 2, 2, 0));
+}/* mkblack*/
+
+
+gdImagePtr mkcross() {
+ gdImagePtr im;
+ int fg, n;
+
+ im = mkwhite(WIDTH, HEIGHT);
+ fg = gdImageColorAllocate(im, 0, 0, 0);
+
+ for (n = -HT; n < HT; n++) {
+ gdImageLine(im, LX-n, 0, LX-n, HEIGHT-1, fg);
+ gdImageLine(im, 0, LY-n, WIDTH-1, LY-n, fg);
+ }/* for */
+
+ return im;
+}/* mkcross*/
+
+
+
+void blurblank(gdImagePtr im, int radius, double sigma) {
+ gdImagePtr result;
+
+ result = gdImageCopyGaussianBlurred(im, radius, sigma);
+ gdTestAssert(!!result);
+ if (!result) return;
+
+ gdTestAssert(gdMaxPixelDiff(im, result) <= CLOSE_ENOUGH);
+
+ gdImageDestroy(result);
+}/* blurblank*/
+
+
+void do_test()
+{
+ gdImagePtr im, imref, tmp;
+ gdImagePtr same, same2;
+
+ im = mkwhite(WIDTH, HEIGHT);
+ imref = mkwhite(WIDTH, HEIGHT);
+
+ /* Blur a plain white image to various radii and ensure they're
+ * still similar enough. */
+ blurblank(im, 1, 0.0);
+ blurblank(im, 2, 0.0);
+ blurblank(im, 4, 0.0);
+ blurblank(im, 8, 0.0);
+ blurblank(im, 16, 0.0);
+
+ /* Ditto a black image. */
+ mkblack(im);
+ gdTestAssert(gdMaxPixelDiff(im, imref) >= 240); /* Leaves a little wiggle room */
+
+ blurblank(im, 1, 0.0);
+ blurblank(im, 2, 0.0);
+ blurblank(im, 4, 0.0);
+ blurblank(im, 8, 0.0);
+ blurblank(im, 16, 0.0);
+}/* do_test*/
+
+/* Ensure that RGB values are equal, then return r (which is therefore
+ * the whiteness.) */
+int getwhite(gdImagePtr im, int x, int y)
+{
+ int px, r, g, b;
+
+ px = gdImageGetPixel(im, x, y);
+ r = gdImageRed(im, px);
+ g = gdImageGreen(im, px);
+ b = gdImageBlue(im, px);
+
+ gdTestAssert(r == g && r == b);
+
+ return r;
+}/* getrgb*/
+
+int whitecmp(gdImagePtr im1, gdImagePtr im2, int x, int y) {
+ int w1, w2;
+
+ w1 = getwhite(im1, x, y);
+ w2 = getwhite(im2, x, y);
+
+ return abs(w1 - w2);
+}/* whitediff*/
+
+void do_crosstest()
+{
+ gdImagePtr im = mkcross();
+ gdImagePtr blurred;
+ const int RADIUS = 16;
+
+ gdTestAssert(!!im);
+
+ save(im, "cross.png");
+
+ blurred = gdImageCopyGaussianBlurred(im, RADIUS, 0.0);
+ gdTestAssert(blurred != NULL);
+ save(blurred, "blurredcross.png");
+
+ /* These spots shouldn't be affected. */
+ gdTestAssert(whitecmp(im, blurred, 5, 5) <= PIXEL_CLOSE_ENOUGH);
+ gdTestAssert(whitecmp(im, blurred, WIDTH-5, 5) <= PIXEL_CLOSE_ENOUGH);
+ gdTestAssert(whitecmp(im, blurred, 5, HEIGHT-5) <= PIXEL_CLOSE_ENOUGH);
+ gdTestAssert(whitecmp(im, blurred, WIDTH-5, HEIGHT-5) <= PIXEL_CLOSE_ENOUGH);
+
+// printf("%d %d %d %d\n", whitecmp(im, blurred, 0, 0), whitecmp(im, blurred, WIDTH-1, 0),
+// whitecmp(im, blurred, 0, HEIGHT-1), whitecmp(im, blurred, WIDTH-1, HEIGHT-1));
+
+ /* Ditto these, right in the corners */
+ gdTestAssert(whitecmp(im, blurred, 0, 0) <= PIXEL_CLOSE_ENOUGH);
+ gdTestAssert(whitecmp(im, blurred, WIDTH-1, 0) <= PIXEL_CLOSE_ENOUGH);
+ gdTestAssert(whitecmp(im, blurred, 0, HEIGHT-1) <= PIXEL_CLOSE_ENOUGH);
+ gdTestAssert(whitecmp(im, blurred, WIDTH-1, HEIGHT-1) <= PIXEL_CLOSE_ENOUGH);
+
+ /* Now, poking let's poke around the blurred lines. */
+
+ /* Vertical line gets darker when approached from the left. */
+ gdTestAssert(getwhite(blurred, 1, 1) > getwhite(blurred, LX - (HT - 1), 1));
+ gdTestAssert(getwhite(blurred, LX - 2, 1) > getwhite(blurred, LX - 1, 1));
+
+ /* ...and lighter when moving away to the right. */
+ gdTestAssert(getwhite(blurred, LX + 2, 1) >= getwhite(blurred, LX + 1, 1));
+ gdTestAssert(getwhite(blurred, LX + 3, 1) >= getwhite(blurred, LX + 2, 1));
+ gdTestAssert(getwhite(blurred, WIDTH - 1, 1) > getwhite(blurred, LX + 1, 1));
+
+ /* And the same way, vertically */
+ gdTestAssert(getwhite(blurred, 1, 1) > getwhite(blurred, 1, LY - (HT - 1)));
+ gdTestAssert(getwhite(blurred, 1, LY - (HT - 1)) > getwhite(blurred, 1, LY - (HT - 2)));
+
+ gdTestAssert(getwhite(blurred, 1, LY) <= getwhite(blurred, 1, LY + 1));
+ gdTestAssert(getwhite(blurred, 1, LY + 1) < getwhite(blurred, 1, LY + 3));
+ gdTestAssert(getwhite(blurred, 1, LY + 3) < getwhite(blurred, 1, HEIGHT-1));
+ gdImageDestroy(blurred);
+}/* do_crosstest*/
+
+
+int main(int argc, char **argv)
+{
+
+ do_test();
+ do_crosstest();
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/CMakeLists.txt
index fb3212eba71..78f11d424fb 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/CMakeLists.txt
@@ -9,6 +9,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00072.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00072.c
index c3a3137e539..c3a3137e539 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00072.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00072.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00072_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00072_exp.png
index 6439e061f1d..6439e061f1d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00072_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00072_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00077.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00077.c
index d69e88177f2..d69e88177f2 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00077.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00077.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00077_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00077_exp.png
index bfa097a5c56..bfa097a5c56 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00077_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00077_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00111.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00111.c
index 4277534874d..4277534874d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00111.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00111.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00111_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00111_exp.png
index ecd44b25d66..ecd44b25d66 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/bug00111_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/bug00111_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdImageAALine_thickness.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdImageAALine_thickness.c
index 6db2c72f57c..954e055b6fb 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdImageAALine_thickness.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdImageAALine_thickness.c
@@ -25,4 +25,6 @@ int main(int argc, char **argv)
}
gdImageDestroy(im);
+
+ return 0;
}
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdImageAALine_thickness_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdImageAALine_thickness_exp.png
index 26e02bc3661..26e02bc3661 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdImageAALine_thickness_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdImageAALine_thickness_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa.c
index b0bea3a4d5c..b0bea3a4d5c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_a_0_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_a_0_exp.png
index 83f893453ed..83f893453ed 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_a_0_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_a_0_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_a_1_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_a_1_exp.png
index c4edcfa36ec..c4edcfa36ec 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_a_1_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_a_1_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_b_0_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_b_0_exp.png
index 130d6c36cc7..130d6c36cc7 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_b_0_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_b_0_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_b_1_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_b_1_exp.png
index 678800658d3..678800658d3 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_b_1_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_b_1_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_c_0_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_c_0_exp.png
index 6d03ae6652e..6d03ae6652e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_c_0_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_c_0_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_c_1_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_c_1_exp.png
index 6e1a38aa7e1..6e1a38aa7e1 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_c_1_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_c_1_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_d_0_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_d_0_exp.png
index c6f9e27e4fc..c6f9e27e4fc 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_d_0_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_d_0_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_d_1_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_d_1_exp.png
index 709c186c26a..709c186c26a 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_d_1_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_d_1_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_outofrange.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_outofrange.c
index 5c1ed05ab03..5c1ed05ab03 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_aa_outofrange.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_aa_outofrange.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_bug5.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_bug5.c
index ef57f6c1cb2..44adc8eaf86 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageline/gdimageline_bug5.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageline/gdimageline_bug5.c
@@ -4,7 +4,7 @@
int main() {
/* Declare the image */
- gdImagePtr im;
+ gdImagePtr im, ref;
/* Declare output files */
/* FILE *pngout; */
@@ -20,20 +20,35 @@ int main() {
/* white background */
gdImageFill(im, 1, 1, white);
+ /* Make a reference copy. */
+ ref = gdImageClone(im);
+
gdImageSetAntiAliased(im, black);
- /* This line fails! */
+ /* This line used to fail. */
gdImageLine(im, 28562, 631, 34266, 750, gdAntiAliased);
- /* Open a file for writing. "wb" means "write binary", important under MSDOS, harmless under Unix. */
- /* pngout = fopen("test.png", "wb"); */
+ gdTestAssert(gdMaxPixelDiff(im, ref) > 0);
+
+#if 0
+ {
+ FILE *pngout;
- /* Output the image to the disk file in PNG format. */
- /* gdImagePng(im, pngout); */
+ /* Open a file for writing. "wb" means "write binary",
+ * important under MSDOS, harmless under Unix. */
+ pngout = fopen("test.png", "wb");
- /* Close the files. */
- /* fclose(pngout); */
+ /* Output the image to the disk file in PNG format. */
+ gdImagePng(im, pngout);
+
+ /* Close the files. */
+ fclose(pngout);
+ }
+#endif
/* Destroy the image in memory. */
gdImageDestroy(im);
+ gdImageDestroy(ref);
+
+ return gdNumFailures();
}
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/CMakeLists.txt
index 09a22678077..4e54fffb143 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/CMakeLists.txt
@@ -8,6 +8,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon0.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon0.c
index d9bf1bd962a..d9bf1bd962a 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon0.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon0.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon0.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon0.png
index 14c7090a415..14c7090a415 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon0.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon0.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon1.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon1.c
index 07ee29dff49..07ee29dff49 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon1.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon1.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon1.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon1.png
index 14c7090a415..14c7090a415 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon1.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon1.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon2.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon2.c
index ab097d83cad..ab097d83cad 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon2.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon2.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon2.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon2.png
index 80f91a2814b..80f91a2814b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon2.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon2.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon3.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon3.c
index 027bfacd20b..027bfacd20b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon3.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon3.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon3.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon3.png
index 9d63d6ac9ba..9d63d6ac9ba 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimageopenpolygon/gdimageopenpolygon3.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimageopenpolygon/gdimageopenpolygon3.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepixelate/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepixelate/CMakeLists.txt
index 1f1182581eb..2d10b21ed94 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepixelate/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepixelate/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepixelate/gdimagepixelate.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepixelate/gdimagepixelate.c
index 2a0a4692269..2a0a4692269 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepixelate/gdimagepixelate.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepixelate/gdimagepixelate.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/CMakeLists.txt
index 92802ec6253..679e93986be 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/CMakeLists.txt
@@ -8,6 +8,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon0.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon0.c
index 20fa423c056..20fa423c056 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon0.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon0.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon0.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon0.png
index 14c7090a415..14c7090a415 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon0.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon0.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon1.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon1.c
index 6f2ad57dfcc..6f2ad57dfcc 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon1.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon1.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon1.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon1.png
index 845c5f6930b..845c5f6930b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon1.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon1.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon2.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon2.c
index 8142c3ba873..8142c3ba873 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon2.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon2.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon2.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon2.png
index 80f91a2814b..80f91a2814b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon2.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon2.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon3.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon3.c
index 55d71f27a9c..55d71f27a9c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon3.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon3.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon3.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon3.png
index aaff882a8fb..aaff882a8fb 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagepolygon/gdimagepolygon3.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagepolygon/gdimagepolygon3.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerectangle/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerectangle/CMakeLists.txt
index 223b381128b..2c73ef9b77a 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerectangle/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerectangle/CMakeLists.txt
@@ -6,6 +6,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerectangle/bug00003.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerectangle/bug00003.c
index 4ee4ddbcb5d..4ee4ddbcb5d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerectangle/bug00003.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerectangle/bug00003.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerectangle/bug00106_gdimagerectangle.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerectangle/bug00106_gdimagerectangle.c
index 21bf88b7440..21bf88b7440 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerectangle/bug00106_gdimagerectangle.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerectangle/bug00106_gdimagerectangle.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067.c
index 4a6595988b9..4a6595988b9 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_000_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_000_exp.png
index d06b5fe58fb..d06b5fe58fb 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_000_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_000_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_015_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_015_exp.png
index a0f8ce2efae..a0f8ce2efae 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_015_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_015_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_030_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_030_exp.png
index aad7f4ccb67..aad7f4ccb67 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_030_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_030_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_045_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_045_exp.png
index 75916a51649..75916a51649 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_045_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_045_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_060_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_060_exp.png
index f24364a062f..f24364a062f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_060_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_060_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_075_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_075_exp.png
index f8dcf449086..f8dcf449086 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_075_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_075_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_090_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_090_exp.png
index a971447c7b2..a971447c7b2 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_090_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_090_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_105_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_105_exp.png
index 2cf641d85a8..2cf641d85a8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_105_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_105_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_120_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_120_exp.png
index 1890f92545c..1890f92545c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_120_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_120_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_135_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_135_exp.png
index 34ccb0aa054..34ccb0aa054 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_135_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_135_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_150_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_150_exp.png
index 330d030a7fa..330d030a7fa 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_150_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_150_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_165_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_165_exp.png
index df5b6400bc2..df5b6400bc2 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_165_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_165_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_180_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_180_exp.png
index d4f65983615..d4f65983615 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/bug00067_180_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/bug00067_180_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/php_bug_64898.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/php_bug_64898.c
index 9bbd98b5313..9bbd98b5313 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/php_bug_64898.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/php_bug_64898.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/php_bug_64898.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/php_bug_64898.png
index 089680a248c..089680a248c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/php_bug_64898.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/php_bug_64898.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/php_bug_64898_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/php_bug_64898_exp.png
index a03bdb8e9d6..a03bdb8e9d6 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/php_bug_64898_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/php_bug_64898_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/remirh128.jpg b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/remirh128.jpg
index bd5e3c77e3c..bd5e3c77e3c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagerotate/remirh128.jpg
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagerotate/remirh128.jpg
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/CMakeLists.txt
index 3e51d344065..13de90a4ff6 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/CMakeLists.txt
@@ -6,6 +6,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208.png
index eac854aeaeb..eac854aeaeb 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_1.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_1.c
index 4dc8b63e737..4dc8b63e737 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_1.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_1.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_1.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_1.png
index 21ef1240db4..21ef1240db4 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_1.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_1.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_2.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_2.c
index 90361569df2..90361569df2 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_2.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_2.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_2.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_2.png
index feb1ede3594..feb1ede3594 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagescatterex/bug00208_2.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagescatterex/bug00208_2.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagesetpixel/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagesetpixel/CMakeLists.txt
index e5b9b2a0dd3..1fb1f38bb36 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagesetpixel/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagesetpixel/CMakeLists.txt
@@ -1,10 +1,11 @@
SET(TESTS_FILES
bug00186
+ gdeffectoverlay
+ gdeffectmultiply
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagesetpixel/bug00186.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagesetpixel/bug00186.c
index efa07b27ec8..efa07b27ec8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagesetpixel/bug00186.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagesetpixel/bug00186.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringft/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringft/CMakeLists.txt
index 7ff29cb7662..c3338c0dc92 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringft/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringft/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringft/gdimagestringft_bbox.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringft/gdimagestringft_bbox.c
index 01fd73a33c1..01fd73a33c1 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringft/gdimagestringft_bbox.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringft/gdimagestringft_bbox.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringftex/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringftex/CMakeLists.txt
index 7252bd24c92..5d2666883d8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringftex/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringftex/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringftex/gdimagestringftex_returnfontpathname.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringftex/gdimagestringftex_returnfontpathname.c
index f91485b7717..f91485b7717 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdimagestringftex/gdimagestringftex_returnfontpathname.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdimagestringftex/gdimagestringftex_returnfontpathname.c
diff --git a/Build/source/libs/gd/libgd-2.1.1/tests/gdinterpolatedscale/gdModesAndPalettes.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdinterpolatedscale/gdModesAndPalettes.c
new file mode 100644
index 00000000000..a6ed14d92f3
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdinterpolatedscale/gdModesAndPalettes.c
@@ -0,0 +1,48 @@
+/* Exercise all scaling with all interpolation modes and ensure that
+ * at least, something comes back. */
+
+#include <stdio.h>
+
+#include "gd.h"
+#include "gdtest.h"
+
+#define X 100
+#define Y 100
+
+#define NX 20
+#define NY 20
+
+int main() {
+ int method, i;
+
+ for(method = GD_BELL; method <= GD_TRIANGLE; method++) { /* GD_WEIGHTED4 is unsupported. */
+ gdImagePtr im[2];
+
+ // printf("Method = %d\n", method);
+ im[0] = gdImageCreateTrueColor(X, Y);
+ im[1] = gdImageCreatePalette(X, Y);
+
+ for (i = 0; i < 2; i++) {
+ gdImagePtr result;
+
+ // printf(" %s\n", i == 0 ? "truecolor" : "palette");
+
+ gdImageFilledRectangle(im[i], 0, 0, X-1, Y-1,
+ gdImageColorExactAlpha(im[i], 255, 255, 255, 0));
+
+ gdImageSetInterpolationMethod(im[i], method);
+ gdTestAssert(im[i]->interpolation_id == method); /* No getter yet. */
+
+ result = gdImageScale(im[i], NX, NY);
+ gdTestAssert(result != NULL);
+ gdTestAssert(result != im[i]);
+ gdTestAssert(result->sx == NX && result->sy == NY);
+
+ gdImageDestroy(result);
+ gdImageDestroy(im[i]);
+ }/* for */
+ }/* for*/
+
+
+ return gdNumFailures();
+}/* main*/
diff --git a/Build/source/libs/gd/libgd-2.1.1/tests/gdinterpolatedscale/gdTrivialResize.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdinterpolatedscale/gdTrivialResize.c
new file mode 100644
index 00000000000..f11b5059fbf
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdinterpolatedscale/gdTrivialResize.c
@@ -0,0 +1,94 @@
+#include <stdio.h>
+
+#include "gd.h"
+#include "gdtest.h"
+
+/* Test gdImageScale() with bicubic interpolation on a simple
+ * all-white image. */
+
+gdImagePtr mkwhite(int x, int y)
+{
+ gdImagePtr im;
+
+ im = gdImageCreateTrueColor(x, y);
+ gdImageFilledRectangle(im, 0, 0, x-1, y-1,
+ gdImageColorExactAlpha(im, 255, 255, 255, 0));
+
+ gdTestAssert(im != NULL);
+
+ gdImageSetInterpolationMethod(im, GD_BICUBIC); // FP interp'n
+
+ return im;
+}/* mkwhite*/
+
+
+/* Fill with almost-black. */
+void mkblack(gdImagePtr ptr)
+{
+ gdImageFilledRectangle(ptr, 0, 0, ptr->sx - 1, ptr->sy - 1,
+ gdImageColorExactAlpha(ptr, 2, 2, 2, 0));
+}/* mkblack*/
+
+
+#define CLOSE_ENOUGH 15
+
+void scaletest(int x, int y, int nx, int ny)
+{
+ gdImagePtr im, imref, tmp, same;
+
+ imref = mkwhite(x, y);
+ im = mkwhite(x, y);
+ tmp = gdImageScale(im, nx, ny);
+ same = gdImageScale(tmp, x, y);
+
+ /* Test the result to insure that it's close enough to the
+ * original. */
+ gdTestAssert(gdMaxPixelDiff(im, same) < CLOSE_ENOUGH);
+
+ /* Modify the original and test for a change again. (I.e. test
+ * for accidentally shared memory.) */
+ mkblack(tmp);
+ gdTestAssert(gdMaxPixelDiff(imref, same) < CLOSE_ENOUGH);
+
+ gdImageDestroy(im);
+ gdImageDestroy(tmp);
+ gdImageDestroy(same);
+}/* scaletest*/
+
+void do_test(int x, int y, int nx, int ny)
+{
+ gdImagePtr im, imref, tmp;
+ gdImagePtr same, same2;
+
+ im = mkwhite(x, y);
+ imref = mkwhite(x, y);
+
+ same = gdImageScale(im, x, y);
+
+ /* Trivial resize should be a straight copy. */
+ gdTestAssert(im != same);
+ gdTestAssert(gdMaxPixelDiff(im, same) == 0);
+ gdTestAssert(gdMaxPixelDiff(imref, same) == 0);
+
+ /* Ensure that modifying im doesn't modify same (i.e. see if we
+ * can catch them accidentally sharing the same pixel buffer.) */
+ mkblack(im);
+ gdTestAssert(gdMaxPixelDiff(imref, same) == 0);
+
+ gdImageDestroy(same);
+ gdImageDestroy(im);
+
+ /* Scale horizontally, vertically and both. */
+ scaletest(x, y, nx, y);
+ scaletest(x, y, x, ny);
+ scaletest(x, y, nx, ny);
+}
+
+int main(int argc, char **argv)
+{
+
+ do_test(300, 300, 600, 600);
+ do_test(3200, 2133, 640, 427);
+
+ return gdNumFailures();
+}
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdnewfilectx/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdnewfilectx/CMakeLists.txt
index 75de828d94a..9fd4caf3797 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdnewfilectx/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdnewfilectx/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdnewfilectx/gdnewfilectx_null.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdnewfilectx/gdnewfilectx_null.c
index 0da8295ab5c..0da8295ab5c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdnewfilectx/gdnewfilectx_null.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdnewfilectx/gdnewfilectx_null.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdtest/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdtest/CMakeLists.txt
index 5f89bc91b75..5f89bc91b75 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdtest/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdtest/CMakeLists.txt
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdtest/gdtest.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdtest/gdtest.c
index d84b7896d7a..83aba01d77f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdtest/gdtest.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdtest/gdtest.c
@@ -4,11 +4,17 @@
#include <stdio.h>
#include <string.h>
#include <math.h>
+#include <limits.h>
#include "gd.h"
#include "gdtest.h"
#include "test_config.h"
+/* max is already defined in windows/msvc */
+#ifndef max
+ static inline int max(int a, int b) {return a > b ? a : b;}
+#endif
+
void gdSilence(int priority, const char *format, va_list args)
{
(void)priority;
@@ -44,6 +50,7 @@ void gdTestImageDiff(gdImagePtr buf_a, gdImagePtr buf_b,
{
int x, y;
int c1, c2;
+# define UP_DIFF(var) result_ret->max_diff = max((var), result_ret->max_diff)
for (y = 0; y < gdImageSY(buf_a); y++) {
for (x = 0; x < gdImageSX(buf_a); x++) {
@@ -81,6 +88,7 @@ void gdTestImageDiff(gdImagePtr buf_a, gdImagePtr buf_b,
g1 = gdTrueColorGetGreen(c1);
g2 = gdTrueColorGetGreen(c2);
diff_g = abs (g1 - g2);
+
diff_g *= 4; /* emphasize */
if (diff_g) {
diff_g += gdGreenMax/2; /* make sure it's visible */
@@ -107,8 +115,39 @@ void gdTestImageDiff(gdImagePtr buf_a, gdImagePtr buf_b,
}
}
}
+# undef UP_DIFF
+}
+
+
+/* Return the largest difference between two corresponding pixels and
+ * channels. */
+unsigned int gdMaxPixelDiff(gdImagePtr a, gdImagePtr b)
+{
+ int diff = 0;
+ int x, y;
+
+ if (a == NULL || b == NULL || a->sx != b->sx || a->sy != b->sy)
+ return UINT_MAX;
+
+ for (x = 0; x < a->sx; x++) {
+ for (y = 0; y < a->sy; y++) {
+ int c1, c2;
+
+ c1 = gdImageGetTrueColorPixel(a, x, y);
+ c2 = gdImageGetTrueColorPixel(b, x, y);
+ if (c1 == c2) continue;
+
+ diff = max(diff, abs(gdTrueColorGetAlpha(c1) - gdTrueColorGetAlpha(c2)));
+ diff = max(diff, abs(gdTrueColorGetRed(c1) - gdTrueColorGetRed(c2)));
+ diff = max(diff, abs(gdTrueColorGetGreen(c1) - gdTrueColorGetGreen(c2)));
+ diff = max(diff, abs(gdTrueColorGetBlue(c1) - gdTrueColorGetBlue(c2)));
+ }/* for */
+ }/* for */
+
+ return diff;
}
+
int gdTestImageCompareToImage(const char* file, unsigned int line, const char* message,
gdImagePtr expected, gdImagePtr actual)
{
@@ -205,10 +244,38 @@ int gdTestImageCompareToFile(const char* file, unsigned int line, const char* me
return res;
}
+
+static int failureCount = 0;
+
+int gdNumFailures() {
+ return failureCount;
+}
+
int _gdTestAssert(const char* file, unsigned int line, const char* message, int condition)
{
if (condition) return 1;
_gdTestErrorMsg(file, line, "%s", message);
+
+ ++failureCount;
+
+ return 0;
+}
+
+int _gdTestAssertMsg(const char* file, unsigned int line, int condition, const char* message, ...)
+{
+ va_list args;
+ char output_buf[GDTEST_STRING_MAX];
+
+ if (condition) return 1;
+
+ va_start(args, message);
+ vsnprintf(output_buf, sizeof(output_buf), message, args);
+ va_end(args);
+ fprintf(stderr, "%s:%u: %s", file, line, output_buf);
+ fflush(stderr);
+
+ ++failureCount;
+
return 0;
}
@@ -222,6 +289,9 @@ int _gdTestErrorMsg(const char* file, unsigned int line, const char* format, ...
va_end(args);
fprintf(stderr, "%s:%u: %s", file, line, output_buf);
fflush(stderr);
+
+ ++failureCount;
+
return 0;
}
/* }}} */
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdtest/gdtest.h b/Build/source/libs/gd/libgd-2.1.1/tests/gdtest/gdtest.h
index 81bded5a0f6..8f332b39bbb 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdtest/gdtest.h
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdtest/gdtest.h
@@ -24,8 +24,13 @@ int gdTestImageCompareToImage(const char* file, unsigned int line, const char* m
int gdTestImageCompareToFile(const char* file, unsigned int line, const char* message,
const char *expected_file, gdImagePtr actual);
+unsigned int gdMaxPixelDiff(gdImagePtr a, gdImagePtr b);
+
int _gdTestAssert(const char* file, unsigned int line, const char* message, int condition);
+int _gdTestAssertMsg(const char* file, unsigned int line, int condition, const char* message, ...);
+
+
int _gdTestErrorMsg(const char* file, unsigned int line, const char* string, ...);
/* public assert functions */
@@ -37,8 +42,13 @@ int _gdTestErrorMsg(const char* file, unsigned int line, const char* string, ...
#define gdTestAssert(cond) _gdTestAssert(__FILE__, __LINE__, "assert failed in <%s:%i>\n", (cond))
+#define gdTestAssertMsg(cond, message, ...) _gdTestAssertMsg(__FILE__, __LINE__, (cond),(message),__VA_ARGS__)
+
+
#define gdTestErrorMsg(...) _gdTestErrorMsg(__FILE__, __LINE__, __VA_ARGS__)
void gdSilence(int priority, const char *format, va_list args);
+int gdNumFailures(void);
+
#endif /* GD_TEST_H */
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdtest/test_config.h.cmake b/Build/source/libs/gd/libgd-2.1.1/tests/gdtest/test_config.h.cmake
index 59d2f0cf7ed..59d2f0cf7ed 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdtest/test_config.h.cmake
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdtest/test_config.h.cmake
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdtiled/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gdtiled/CMakeLists.txt
index 90e15da34ea..cc47150c832 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdtiled/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdtiled/CMakeLists.txt
@@ -5,6 +5,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdtiled/bug00032.c b/Build/source/libs/gd/libgd-2.1.1/tests/gdtiled/bug00032.c
index 0e711533f10..0e711533f10 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdtiled/bug00032.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdtiled/bug00032.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gdtiled/bug00032_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gdtiled/bug00032_exp.png
index 2bee38eebad..2bee38eebad 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gdtiled/bug00032_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gdtiled/bug00032_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/gif/CMakeLists.txt
index a155559cc12..a64f785d8e8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/CMakeLists.txt
@@ -14,6 +14,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005.c b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005.c
index 1911e6a17a9..1911e6a17a9 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_0.gif b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_0.gif
index 753156014d4..753156014d4 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_0.gif
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_0.gif
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_1.gif b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_1.gif
index 76ce1e398ec..76ce1e398ec 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_1.gif
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_1.gif
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_2.c b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_2.c
index de7d3d17f97..de7d3d17f97 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_2.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_2.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_2.gif b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_2.gif
index 3f9e6c5e400..3f9e6c5e400 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_2.gif
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_2.gif
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_2_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_2_exp.png
index 708b8adf00d..708b8adf00d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_2_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_2_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_3.gif b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_3.gif
index 178d27e3574..178d27e3574 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00005_3.gif
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00005_3.gif
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00006.c b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00006.c
index 57d7ad01611..57d7ad01611 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00006.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00006.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00060.c b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00060.c
index 721d3bc401d..721d3bc401d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00060.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00060.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00060.gif b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00060.gif
index c8821748057..c8821748057 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00060.gif
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00060.gif
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00066.c b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00066.c
index be24066ca2e..be24066ca2e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00066.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00066.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00066.gif b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00066.gif
index cdf5f29a82e..cdf5f29a82e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00066.gif
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00066.gif
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00066_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00066_exp.png
index 9f535adc168..9f535adc168 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00066_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00066_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00181.c b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00181.c
index 27d6481175e..27d6481175e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00181.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00181.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00227.c b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00227.c
index 861006e7447..861006e7447 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/bug00227.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/bug00227.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/gif_im2im.c b/Build/source/libs/gd/libgd-2.1.1/tests/gif/gif_im2im.c
index a5b0adbdb85..a5b0adbdb85 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/gif_im2im.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/gif_im2im.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/gif/gif_null.c b/Build/source/libs/gd/libgd-2.1.1/tests/gif/gif_null.c
index 463d31ebaf6..463d31ebaf6 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/gif/gif_null.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/gif/gif_null.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/CMakeLists.txt
index d68028b2d94..9151f609173 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/CMakeLists.txt
@@ -10,6 +10,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/conv_test.jpeg b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/conv_test.jpeg
index 7283d1a4754..7283d1a4754 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/conv_test.jpeg
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/conv_test.jpeg
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/conv_test_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/conv_test_exp.png
index 1210f479aa6..1210f479aa6 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/conv_test_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/conv_test_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/empty.jpeg b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/empty.jpeg
index e69de29bb2d..e69de29bb2d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/empty.jpeg
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/empty.jpeg
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_empty_file.c b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_empty_file.c
index 844dbf43d3e..844dbf43d3e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_empty_file.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_empty_file.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_im2im.c b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_im2im.c
index 89a72be7ffd..89a72be7ffd 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_im2im.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_im2im.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_null.c b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_null.c
index 3b2caa68744..3b2caa68744 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_null.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_null.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_read.c b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_read.c
index 64130ce125a..64130ce125a 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_read.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_read.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_resolution.c b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_resolution.c
index 386f5f3fee4..386f5f3fee4 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/jpeg/jpeg_resolution.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/jpeg/jpeg_resolution.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/png/CMakeLists.txt
index dd0b4c4145e..128b51df0ce 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/CMakeLists.txt
@@ -13,6 +13,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00011.c b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00011.c
index 865c87ea5cd..865c87ea5cd 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00011.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00011.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00033.c b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00033.c
index f7e90f0824c..f7e90f0824c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00033.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00033.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00033.png b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00033.png
index 73a7d6a3e77..73a7d6a3e77 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00033.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00033.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00086.c b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00086.c
index ef9d43b2b56..ef9d43b2b56 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00086.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00086.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088.c b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088.c
index 78495aa4410..78495aa4410 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_1.png b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_1.png
index 3f9a5c7d408..3f9a5c7d408 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_1.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_1.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_1_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_1_exp.png
index 25ee05a93c9..25ee05a93c9 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_1_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_1_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_2.png b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_2.png
index fa58ffe61c9..fa58ffe61c9 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_2.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_2.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_2_exp.png b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_2_exp.png
index a21c8408679..a21c8408679 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00088_2_exp.png
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00088_2_exp.png
Binary files differ
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00193.c b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00193.c
index 67acf545f67..67acf545f67 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/bug00193.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/bug00193.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/emptyfile b/Build/source/libs/gd/libgd-2.1.1/tests/png/emptyfile
index e69de29bb2d..e69de29bb2d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/emptyfile
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/emptyfile
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/png_im2im.c b/Build/source/libs/gd/libgd-2.1.1/tests/png/png_im2im.c
index bac5e13aeb7..bac5e13aeb7 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/png_im2im.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/png_im2im.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/png_null.c b/Build/source/libs/gd/libgd-2.1.1/tests/png/png_null.c
index d3b5e6a963b..d3b5e6a963b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/png_null.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/png_null.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/png/png_resolution.c b/Build/source/libs/gd/libgd-2.1.1/tests/png/png_resolution.c
index aed7545ba51..aed7545ba51 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/png/png_resolution.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/png/png_resolution.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/test_config.h.in b/Build/source/libs/gd/libgd-2.1.1/tests/test_config.h.in
index bfa8127889f..bfa8127889f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/test_config.h.in
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/test_config.h.in
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/tga/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/tga/CMakeLists.txt
index a88872a2c6d..48f9412fb09 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/tga/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/tga/CMakeLists.txt
@@ -6,6 +6,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/tga/tga_null.c b/Build/source/libs/gd/libgd-2.1.1/tests/tga/tga_null.c
index f61078c32f5..f61078c32f5 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/tga/tga_null.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/tga/tga_null.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/tiff/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/tiff/CMakeLists.txt
index aefdaf7e032..da49800542e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/tiff/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/tiff/CMakeLists.txt
@@ -7,6 +7,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/tiff/tiff_im2im.c b/Build/source/libs/gd/libgd-2.1.1/tests/tiff/tiff_im2im.c
index 4b6136d4b92..4b6136d4b92 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/tiff/tiff_im2im.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/tiff/tiff_im2im.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/tiff/tiff_null.c b/Build/source/libs/gd/libgd-2.1.1/tests/tiff/tiff_null.c
index ccaade7498f..ccaade7498f 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/tiff/tiff_null.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/tiff/tiff_null.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/wbmp/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/wbmp/CMakeLists.txt
index aac4f69ad44..531933a8558 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/wbmp/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/wbmp/CMakeLists.txt
@@ -7,6 +7,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/wbmp/wbmp_im2im.c b/Build/source/libs/gd/libgd-2.1.1/tests/wbmp/wbmp_im2im.c
index 826c7fa953c..826c7fa953c 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/wbmp/wbmp_im2im.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/wbmp/wbmp_im2im.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/wbmp/wbmp_null.c b/Build/source/libs/gd/libgd-2.1.1/tests/wbmp/wbmp_null.c
index d70f38d01bf..d70f38d01bf 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/wbmp/wbmp_null.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/wbmp/wbmp_null.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/CMakeLists.txt b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/CMakeLists.txt
index f90d3c6caec..e0a789c807b 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/CMakeLists.txt
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/CMakeLists.txt
@@ -8,6 +8,5 @@ SET(TESTS_FILES
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
- get_target_property(test_path ${test_name} LOCATION)
- ADD_TEST(${test_name} ${test_path})
+ add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00166.c b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00166.c
index 2ffd6af25a2..2ffd6af25a2 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00166.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00166.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00166.xpm b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00166.xpm
index 90c6cd387e7..90c6cd387e7 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00166.xpm
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00166.xpm
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00185.c b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00185.c
index 2dda809cc96..2dda809cc96 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00185.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00185.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00185.xpm b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00185.xpm
index bb7cd7975a8..bb7cd7975a8 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00185.xpm
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00185.xpm
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00185_damaged.xpm b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00185_damaged.xpm
index b0c7d61be5e..b0c7d61be5e 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/bug00185_damaged.xpm
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/bug00185_damaged.xpm
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/color_name.c b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/color_name.c
index 22481785a83..22481785a83 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/color_name.c
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/color_name.c
diff --git a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/color_name.xpm b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/color_name.xpm
index 4733789245d..4733789245d 100644
--- a/Build/source/libs/gd/libgd-2.1.0/tests/xpm/color_name.xpm
+++ b/Build/source/libs/gd/libgd-2.1.1/tests/xpm/color_name.xpm
diff --git a/Build/source/libs/gd/libgd-2.1.1/thumbs.bat b/Build/source/libs/gd/libgd-2.1.1/thumbs.bat
new file mode 100755
index 00000000000..6e94aa42a50
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/thumbs.bat
@@ -0,0 +1,37 @@
+@echo off
+rem thumbs wrapper for windows; see main file for details
+
+
+rem find bash from git
+rem assumes git is in [gitdir]\cmd
+rem and msys in [gitdir]\bin
+
+for %%i in (git.exe) do set gitexe=%%~$PATH:i
+pushd "%gitexe%\..\..\bin"
+set bashdir=%cd%
+popd
+set path=%bashdir%;%path%
+
+
+rem copy all known env vars to bash
+
+setlocal enableDelayedExpansion
+set exports=
+
+for %%i in (tbs_conf tbs_arch tbs_tools tbs_static_runtime) do (
+ if not [!%%i!]==[] (
+ set exports=!exports!export %%i=!%%i!;
+ )
+)
+
+rem copy dep settings
+
+for %%i in (zlib libjpeg_turbo libpng libtiff freetype libiconv) do (
+ for %%j in (repo incdir libdir built) do (
+ if not [!tbsd_%%i_%%j!]==[] (
+ set exports=!exports!export tbsd_%%i_%%j=!tbsd_%%i_%%j!;
+ )
+ )
+)
+
+bash -c "%exports%./thumbs.sh %*"
diff --git a/Build/source/libs/gd/libgd-2.1.1/thumbs.sh b/Build/source/libs/gd/libgd-2.1.1/thumbs.sh
new file mode 100755
index 00000000000..f898ef50f74
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/thumbs.sh
@@ -0,0 +1,320 @@
+#!/bin/bash
+
+# THe Ultimate Make Bash Script
+# Used to wrap build scripts for easy dep
+# handling and multiplatform support
+
+
+# Basic usage on *nix:
+# export tbs_arch=x86
+# ./thumbs.sh make
+
+
+# On Win (msvc 2013):
+# C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall x86_amd64
+# SET tbs_tools=msvc12
+# thumbs make
+
+# On Win (mingw32):
+# SET path=C:\mingw32\bin;%path%
+# SET tbs_tools=mingw
+# SET tbs_arch=x86
+# thumbs make
+
+
+# Global settings are stored in env vars
+# Should be inherited
+
+[ $tbs_conf ] || export tbs_conf=Release
+[ $tbs_arch ] || export tbs_arch=x64
+[ $tbs_tools ] || export tbs_tools=gnu
+[ $tbs_static_runtime ] || export tbs_static_runtime=0
+
+[ $tbs_gd_png ] || export tbs_gd_png=1
+[ $tbs_gd_jpeg ] || export tbs_gd_jpeg=1
+[ $tbs_gd_freetype ] || export tbs_gd_freetype=1
+[ $tbs_gd_tiff ] || export tbs_gd_tiff=1
+
+
+# tbsd_* contains dep related settings
+# tbsd_[name]_* contains settings specific to the dep
+# name should match the repo name
+
+# deps contains a map of what should be built/used
+# keep the keys in sync ... no assoc arrays on msys :/
+# targ contains a target for each dep (default=empty str)
+# post is executed after each thumbs dep build
+# ^ used for copying/renaming any libs you need - uses eval
+
+zname=zlib.lib
+jname=jpeg.lib
+pname=png.lib
+tname=tiff.lib
+fname=freetype.lib
+
+if [ $tbs_tools = gnu -o $tbs_tools = mingw ]
+then
+ zname=libz.a
+ jname=libjpeg.a
+ pname=libpng.a
+ tname=libtiff.a
+ fname=libfreetype.a
+fi
+
+deps=()
+targ=()
+post=()
+
+[ $tbsd_zlib_repo ] || export tbsd_zlib_repo="https://github.com/imazen/zlib"
+[ $tbsd_libpng_repo ] || export tbsd_libpng_repo="https://github.com/imazen/libpng"
+[ $tbsd_libjpeg_turbo_repo ] || export tbsd_libjpeg_turbo_repo="https://github.com/imazen/libjpeg-turbo libjpeg_turbo"
+[ $tbsd_libtiff_repo ] || export tbsd_libtiff_repo="https://github.com/imazen/libtiff"
+[ $tbsd_freetype_repo ] || export tbsd_freetype_repo="https://github.com/imazen/freetype"
+
+if [[ "$OSTYPE" == "darwin"* ]]; then cp="rsync"
+else cp="cp"
+fi
+
+deps+=(zlib); targ+=(zlibstatic)
+post+=("$cp -u \$(./thumbs.sh list_slib) ../../deps/$zname")
+
+if [ $tbs_gd_png -gt 0 ]; then
+ deps+=(libpng); targ+=(png16_static)
+ post+=("$cp -u \$(./scripts/thumbs.sh list_slib) ../../deps/$pname")
+fi
+
+if [ $tbs_gd_jpeg -gt 0 ]; then
+ deps+=(libjpeg_turbo); targ+=(jpeg_static)
+ post+=("for lib in \$(./thumbs.sh list_slib); do [ -f \$lib ] && $cp -u \$lib ../../deps/$jname; done")
+fi
+
+if [ $tbs_gd_tiff -gt 0 ]; then
+ ttarg="libtiff/tiff_static"
+ [ $tbs_tools = gnu -o $tbs_tools = mingw ] && ttarg=tiff_static
+ deps+=(libtiff); targ+=($ttarg)
+ post+=("$cp -u \$(./thumbs.sh list_slib) ../../deps/$tname")
+fi
+
+if [ $tbs_gd_freetype -gt 0 ]; then
+ deps+=(freetype); targ+=("freetype_static")
+ post+=("$cp -u \$(./thumbs.sh list_slib) ../../deps/$fname")
+fi
+
+
+
+# -----------
+# dep processor
+
+process_deps()
+{
+ mkdir build_deps
+ mkdir deps
+ cd build_deps
+
+ for key in "${!deps[@]}"
+ do
+ dep=${deps[$key]}
+ i_dep_repo="tbsd_${dep}_repo"
+ i_dep_incdir="tbsd_${dep}_incdir"
+ i_dep_libdir="tbsd_${dep}_libdir"
+ i_dep_built="tbsd_${dep}_built"
+
+ [ ${!i_dep_built} ] || export "${i_dep_built}=0"
+
+ if [ ${!i_dep_built} -eq 0 ]
+ then
+ git clone ${!i_dep_repo} --depth 1
+ cd $dep || exit 1
+
+ thumbs="./thumbs.sh"
+ [ ! -f $thumbs ] && thumbs=$(find . -name thumbs.sh -maxdepth 2)
+
+ $thumbs make ${targ[$key]} || exit 1
+
+ # copy any includes and do poststep
+ $cp -u -r $($thumbs list_inc) ../../deps
+ eval ${post[$key]}
+
+ # look in both local and parent dep dirs
+ export "${i_dep_incdir}=../../deps;deps"
+ export "${i_dep_libdir}=../../deps;deps"
+ export "${i_dep_built}=1"
+
+ cd ..
+ fi
+ done
+
+ export "${i_dep_incdir}=../../deps/freetype;deps/freetype"
+
+ cd ..
+}
+
+# -----------
+# constructs dep dirs for cmake
+
+postproc_deps()
+{
+ cm_inc=
+ cm_lib=
+
+ for dep in "${deps[@]}"
+ do
+ i_dep_incdir="tbsd_${dep}_incdir"
+ i_dep_libdir="tbsd_${dep}_libdir"
+
+ cm_inc="${!i_dep_incdir};$cm_inc"
+ cm_lib="${!i_dep_libdir};$cm_lib"
+ done
+
+ cm_args+=(-DCMAKE_LIBRARY_PATH=$cm_lib)
+ cm_args+=(-DCMAKE_INCLUDE_PATH=$cm_inc)
+}
+
+# -----------
+
+if [ $# -lt 1 ]
+then
+ echo ""
+ echo " Usage : ./thumbs [command]"
+ echo ""
+ echo " Commands:"
+ echo " make - builds everything"
+ echo " check - runs tests"
+ echo " clean - removes build files"
+ echo " list - echo paths to any interesting files"
+ echo " space separated; relative"
+ echo " list_bin - echo binary paths"
+ echo " list_inc - echo lib include files"
+ echo " list_slib - echo static lib path"
+ echo " list_dlib - echo dynamic lib path"
+ echo ""
+ exit
+fi
+
+# -----------
+
+upper()
+{
+ echo $1 | tr [:lower:] [:upper:]
+}
+
+# Local settings
+
+l_inc="./src/gd.h ./src/gd_io.h ./src/gdfx.h"
+l_slib=
+l_dlib=
+l_bin=
+list=
+
+make=
+c_flags=
+cm_tools=
+cm_args=(-DCMAKE_BUILD_TYPE=$tbs_conf)
+cm_args+=(-DBUILD_TEST=1)
+cm_args+=(-DENABLE_PNG=$tbs_gd_png)
+cm_args+=(-DENABLE_JPEG=$tbs_gd_jpeg)
+cm_args+=(-DENABLE_FREETYPE=$tbs_gd_freetype)
+cm_args+=(-DENABLE_TIFF=$tbs_gd_tiff)
+
+target=
+[ $2 ] && target=$2
+
+# -----------
+
+case "$tbs_tools" in
+msvc12)
+ cm_tools="Visual Studio 12"
+ [ "$target" = "" ] && mstrg="GD.sln" || mstrg="$target.vcxproj"
+ make="msbuild.exe $mstrg //p:Configuration=$tbs_conf //v:m"
+
+ l_slib="./build/Bin/$tbs_conf/libgd_static.lib"
+ l_dlib="./build/Bin/$tbs_conf/libgd.lib"
+ l_bin="./build/Bin/$tbs_conf/libgd.dll"
+ list="$l_bin $l_slib $l_dlib $l_inc" ;;
+gnu)
+ cm_tools="Unix Makefiles"
+ c_flags+=" -fPIC"
+ make="make $target"
+ l_slib="./build/Bin/libgd.a"
+ l_dlib="./build/Bin/libgd.so"
+ l_bin="$l_dlib"
+ list="$l_slib $l_dlib $l_inc" ;;
+mingw)
+ cm_tools="MinGW Makefiles"
+ make="mingw32-make $target"
+ c_flags+=" -fkeep-inline-functions"
+
+ # allow sh in path; some old cmake/mingw bug?
+ cm_args+=(-DCMAKE_SH=)
+
+ l_slib="./build/Bin/liblibgd.a"
+ l_dlib="./build/Bin/liblibgd.dll.a"
+ l_bin="./build/Bin/liblibgd.dll"
+ list="$l_bin $l_slib $l_dlib $l_inc" ;;
+
+*) echo "Tool config not found for $tbs_tools"
+ exit 1 ;;
+esac
+
+# -----------
+
+case "$tbs_arch" in
+x64)
+ [ $tbs_tools = msvc12 ] && cm_tools="$cm_tools Win64"
+ [ $tbs_tools = gnu -o $tbs_tools = mingw ] && c_flags+=" -m64" ;;
+x86)
+ [ $tbs_tools = gnu -o $tbs_tools = mingw ] && c_flags+=" -m32" ;;
+
+*) echo "Arch config not found for $tbs_arch"
+ exit 1 ;;
+esac
+
+# -----------
+
+if [ $tbs_static_runtime -gt 0 ]
+then
+ [ $tbs_tools = msvc12 ] && c_flags+=" /MT"
+ [ $tbs_tools = gnu ] && cm_args+=(-DCMAKE_SHARED_LINKER_FLAGS="-static-libgcc -static-libstdc++")
+ [ $tbs_tools = mingw ] && cm_args+=(-DCMAKE_SHARED_LINKER_FLAGS="-static")
+fi
+
+# -----------
+
+case "$1" in
+make)
+ process_deps
+ postproc_deps
+
+ mkdir build
+ cd build
+
+ cm_args+=(-DCMAKE_C_FLAGS_$(upper $tbs_conf)="$c_flags")
+ cm_args+=(-DCMAKE_CXX_FLAGS_$(upper $tbs_conf)="$c_flags")
+
+ cmake -G "$cm_tools" "${cm_args[@]}" .. || exit 1
+ $make || exit 1
+
+ cd ..
+ ;;
+
+check)
+ cd build
+ ctest -C $tbs_conf . || exit 1
+ cd ..
+ ;;
+
+clean)
+ rm -rf deps
+ rm -rf build_deps
+ rm -rf build
+ ;;
+
+list) echo $list;;
+list_bin) echo $l_bin;;
+list_inc) echo $l_inc;;
+list_slib) echo $l_slib;;
+list_dlib) echo $l_dlib;;
+
+*) echo "Unknown command $1"
+ exit 1;;
+esac
diff --git a/Build/source/libs/gd/libgd-2.1.1/windows/Makefile.vc b/Build/source/libs/gd/libgd-2.1.1/windows/Makefile.vc
new file mode 100644
index 00000000000..f17c50d1bd1
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/windows/Makefile.vc
@@ -0,0 +1,183 @@
+# To build locally get a copy of the dependancies (https://github.com/imazen/gd-win-dependencies)
+# Then run 'nmake /f windows\Makefile.vc' in MS dev console
+# To build tests as well 'nmake /f windows\Makefile.vc all'
+# To build tests and execute them 'nmake /f windows\Makefile.vc check'
+
+CC=cl
+LD=link
+LB=lib
+
+
+!IFNDEF PLATFORM
+PLATFORM=x86
+!ENDIF
+# detect x64 cross-compiler env
+!IF "$(PREFERREDTOOLARCHITECTURE)" == "x64"
+PLATFORM=x64
+!ENDIF
+PLATFORM=$(PLATFORM:X=x)
+
+
+BUILD_DIR=build_msvc12_$(PLATFORM)
+GD_DLL=libgd.dll
+GD_LIB=libgd_a.lib
+
+SDR=$(BUILD_DIR)\obj^\
+TDR=$(BUILD_DIR)\tests^\
+TARGETDLL=$(BUILD_DIR)\$(GD_DLL)
+TARGETLIB=$(BUILD_DIR)\$(GD_LIB)
+
+OBJECTS=$(SDR)gd.obj $(SDR)gd_color.obj $(SDR)gd_color_map.obj $(SDR)gd_transform.obj $(SDR)gdfx.obj $(SDR)gd_security.obj $(SDR)gd_gd.obj $(SDR)gd_gd2.obj $(SDR)gd_io.obj $(SDR)gd_io_dp.obj $(SDR)gd_gif_in.obj $(SDR)gd_gif_out.obj $(SDR)gd_io_file.obj $(SDR)gd_io_ss.obj $(SDR)gd_jpeg.obj $(SDR)gd_png.obj $(SDR)gd_ss.obj $(SDR)gd_topal.obj $(SDR)gd_wbmp.obj $(SDR)gdcache.obj $(SDR)gdfontg.obj $(SDR)gdfontl.obj $(SDR)gdfontmb.obj $(SDR)gdfonts.obj $(SDR)gdfontt.obj $(SDR)gdft.obj $(SDR)gdhelpers.obj $(SDR)gdkanji.obj $(SDR)gdtables.obj $(SDR)gdxpm.obj $(SDR)wbmp.obj $(SDR)gd_filter.obj $(SDR)gd_nnquant.obj $(SDR)gd_rotate.obj $(SDR)gd_matrix.obj $(SDR)gd_interpolation.obj $(SDR)gd_crop.obj $(SDR)webpimg.obj $(SDR)gd_webp.obj $(SDR)gd_tiff.obj $(SDR)gd_tga.obj $(SDR)gd_bmp.obj $(SDR)gd_xbm.obj $(SDR)gd_color_match.obj $(SDR)gd_version.obj $(SDR)gd_filename.obj
+TESTS=bmp\bmp_im2im bmp\bmp_null freetype\bug00132 gd\gd_im2im gd\gd_null gd\gd_num_colors gd\gd_versiontest gd2\gd2_empty_file gd2\gd2_im2im gd2\gd2_null gd2\gd2_read gdimagearc\bug00079 gdimagecolorclosest\gdimagecolorclosest gdimagecolordeallocate\gdimagecolordeallocate gdimagecolorexact\gdimagecolorexact gdimagecolorreplace\gdimagecolorreplace gdimagecolorresolve\gdimagecolorresolve gdimagecolortransparent\gdimagecolortransparent gdimagecopy\bug00007 gdimagecopy\bug00081 gdimagecopyrotated\bug00020 gdimagefile\gdnametest gdimagefill\bug00002_1 gdimagefill\bug00002_2 gdimagefill\bug00002_3 gdimagefill\bug00002_4 gdimagefilledellipse\bug00010 gdimagefilledellipse\bug00191 gdimagefilledpolygon\bug00100 gdimagefilledpolygon\gdimagefilledpolygon0 gdimagefilledpolygon\gdimagefilledpolygon1 gdimagefilledpolygon\gdimagefilledpolygon2 gdimagefilledpolygon\gdimagefilledpolygon3 gdimagefilledrectangle\bug00004 gdimagefilledrectangle\bug00078 gdimagefilledrectangle\bug00106_gdimagefilledrectangle gdimagefilltoborder\bug00037 gdimagefilter\gdCopyBlurred gdimageline\bug00072 gdimageline\bug00077 gdimageline\bug00111 gdimageline\gdImageAALine_thickness gdimageline\gdimageline_aa gdimageline\gdimageline_aa_outofrange gdimageline\gdimageline_bug5 gdimageopenpolygon\gdimageopenpolygon0 gdimageopenpolygon\gdimageopenpolygon1 gdimageopenpolygon\gdimageopenpolygon2 gdimageopenpolygon\gdimageopenpolygon3 gdimagepixelate\gdimagepixelate gdimagepolygon\gdimagepolygon0 gdimagepolygon\gdimagepolygon1 gdimagepolygon\gdimagepolygon2 gdimagepolygon\gdimagepolygon3 gdimagerectangle\bug00003 gdimagerectangle\bug00106_gdimagerectangle gdimagerotate\bug00067 gdimagerotate\php_bug_64898 gdimagescatterex\bug00208_1 gdimagescatterex\bug00208_2 gdimagesetpixel\bug00186 gdimagesetpixel\gdeffectmultiply gdimagesetpixel\gdeffectoverlay gdimagestringft\gdimagestringft_bbox gdimagestringftex\gdimagestringftex_returnfontpathname gdinterpolatedscale\gdModesAndPalettes gdinterpolatedscale\gdTrivialResize gdnewfilectx\gdnewfilectx_null gdtiled\bug00032 gif\bug00005 gif\bug00005_2 gif\bug00006 gif\bug00060 gif\bug00066 gif\bug00181 gif\bug00227 gif\gif_im2im gif\gif_null jpeg\jpeg_empty_file jpeg\jpeg_im2im jpeg\jpeg_null jpeg\jpeg_read jpeg\jpeg_resolution png\bug00011 png\bug00033 png\bug00086 png\bug00088 png\bug00193 png\png_im2im png\png_null png\png_resolution tga\tga_null
+#tiff\tiff_im2im tiff\tiff_null wbmp\wbmp_im2im wbmp\wbmp_null xpm\bug00166 xpm\bug00185 xpm\color_name
+
+LIBS=kernel32.lib ole32.lib user32.lib advapi32.lib shell32.lib ws2_32.lib Dnsapi.lib Gdi32.Lib
+LIBS_GD=turbojpeg-static.lib freetype_a.lib libpng_a.lib libiconv_a.lib zlib_a.lib
+
+INCLUDES=/Isrc /Igd-win-dependencies\$(PLATFORM)\include -Igd-win-dependencies\$(PLATFORM)\include\libjpeg-turbo -Igd-win-dependencies\$(PLATFORM)\include\libpng15 -Igd-win-dependencies\$(PLATFORM)\include\freetype /Itests /Itests\gdtest
+
+LDFLAGS=/nologo /nodefaultlib:libcmt /libpath:gd-win-dependencies\$(PLATFORM)\lib /MACHINE:$(PLATFORM)
+
+CFLAGS=/nologo /O2 /Qvec-report:1 /MD /TC\
+ /DWIN32=1\
+ /D_WIN32=1\
+ /DMSWIN32=1\
+ /DBGDWIN32=1\
+ /DHAVE_FT2BUILD_H=1\
+ /DHAVE_GD_H=1\
+ /DHAVE_PNG_H=1\
+ /DHAVE_ICONV_H=1\
+ /DHAVE_GD_BUNDLED=1\
+ /DHAVE_LIBFREETYPE=1\
+ /DHAVE_LIBJPEG=1\
+ /DHAVE_LIBPNG=1\
+ /DHAVE_LIBZ=1\
+ $(INCLUDES)
+
+# /DHAVE_LIBXPM
+
+# These flags are not present in this fork of libgd (they may be used in php's):
+# /DHAVE_GD_WBMP
+# /DHAVE_GD_GIF_READ=1\
+# /DHAVE_GD_GIF_CREATE=1\
+# /DHAVE_GD_GD2=1\
+# /DHAVE_GDIMAGECOLORRESOLVE=1\
+# /DHAVE_GD_IMAGESETBRUSH=1\
+# /DHAVE_GD_IMAGESETTILE=1\
+# /DHAVE_GD_FONTCACHESHUTDOWN=1\
+# /DHAVE_GD_FONTMUTEX=1\
+# /DHAVE_GD_STRINGFTEX=1\
+# /DHAVE_GD_STRINGTTF=1\
+# /DHAVE_GD_FREETYPE=1\
+# /DHAVE_LIBGD13=1\
+# /DHAVE_LIBGD15=1\
+# /DHAVE_LIBGD20=1\
+# /DHAVE_LIBGD204=1\
+# /DHAVE_COLORCLOSESTHWB\
+# /DUSE_GD_IMGSTRTTF\
+# /DUSE_GD_IOCTX\
+# /DHAVE_GD_JPG\
+# /DHAVE_GD_PNG\
+# /DHAVE_GD_DYNAMIC_CTX_EX=1\
+# /DHAVE_XPM\
+# /DHAVE_GD_XBM\
+# /DHAVE_GD_XPM\
+# /DHAVE_XPM_H=1\
+
+# These flags may be set wrong; not sure of precise purpose
+# HAVE_GD_BUNDLED
+# NDEBUG
+
+
+
+
+
+TEST_CFLAGS=$(CFLAGS) /FItest_config.h
+TEST_LDFLAGS=$(LDFLAGS) $(SDR)gdtest.obj $(BUILD_DIR)\libgd.lib
+TEST_CONFIG=tests\test_config.h
+TEST_LIST=$(TDR)testlist.txt
+TEST_MK=$(TDR)Maketests.vc
+
+
+
+# generate test makefile from TESTS macro
+
+!IF [if not exist $(BUILD_DIR) mkdir $(BUILD_DIR)]
+!ENDIF
+!IF [if not exist $(TDR) mkdir $(TDR)]
+!ENDIF
+!IF [@copy NUL $(TEST_MK) > nul]
+!ENDIF
+!IF [@for %F in ($(TESTS)) do @echo TEST_EXES=$(TDR)%~nF.exe ^$(TEST_EXES) >> $(TEST_MK)]
+!ENDIF
+!IF [@for %F in ($(TESTS)) do @echo $(SDR)%~nF.obj: tests\%F.c; @^$(CC) ^$(TEST_CFLAGS) /c ^$** /Fo:^$@ >> $(TEST_MK)]
+!ENDIF
+!IF [@for %F in ($(TESTS)) do @echo $(TDR)%~nF.exe: $(SDR)%~nF.obj; @$(LD) $(TEST_LDFLAGS) ^$** /out:^$@ >> $(TEST_MK)]
+!ENDIF
+TEST_OBJS=$(TEST_EXES:tests=obj)
+TEST_OBJS=$(TEST_OBJS:exe=obj)
+
+
+
+
+
+
+# pseudotargets
+
+build_libs: make_dirs $(TARGETDLL) $(TARGETLIB)
+all: build_libs build_tests
+check: all run_tests
+
+clean:
+ @if exist $(SDR) rd $(SDR) /s /q
+ @if exist $(TDR) rd $(TDR) /s /q
+ @if exist $(BUILD_DIR)\*.exe del $(BUILD_DIR)\*.exe /q
+ @if exist tests\test_config.h del tests\test_config.h /q
+
+
+
+
+# helpers
+
+make_dirs:
+ @if not exist $(BUILD_DIR) mkdir $(BUILD_DIR)
+ @if not exist $(SDR) mkdir $(SDR)
+
+run_tests:
+ @windows\run_tests
+
+
+
+
+# libgd
+
+$(TARGETDLL): $(OBJECTS)
+ @$(LD) /DLL /OUT:$@ $(OBJECTS) $(LIBS_GD) $(LIBS) $(LDFLAGS)
+
+$(TARGETLIB): $(OBJECTS)
+ @$(LB) /OUT:$@ $(OBJECTS) $(LDFLAGS)
+
+{src\}.c{$(SDR)}.obj::
+ @$(CC) $(CFLAGS) /c $< /Fo$(SDR)
+
+
+
+
+# tests
+
+!INCLUDE $(TEST_MK)
+
+build_tests: $(TEST_LIST) $(SDR)gdtest.obj $(TEST_EXES)
+
+$(SDR)gdtest.obj: $(TARGETDLL) $(TEST_CONFIG) tests\gdtest\gdtest.c
+ @$(CC) $(CFLAGS) /c tests\gdtest\gdtest.c /Fo$(SDR)gdtest.obj
+
+$(TEST_CONFIG):
+ @echo #define GDTEST_TOP_DIR "$(MAKEDIR:\=\\)\\tests" > tests\test_config.h
+ @echo #define snprintf _snprintf >> tests\test_config.h
+
+$(TEST_LIST): $(TARGETDLL)
+ @if not exist $(TDR) mkdir $(TDR)
+ @copy $(TARGETDLL) $(TDR)$(GD_DLL)
+ @copy NUL $(TDR)testlist.txt
+ @for %%F in ($(TESTS)) do @echo %%F >> $(TDR)testlist.txt \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-2.1.0/windows/libgd.rc b/Build/source/libs/gd/libgd-2.1.1/windows/libgd.rc
index dfe6ff0aa78..dfe6ff0aa78 100644
--- a/Build/source/libs/gd/libgd-2.1.0/windows/libgd.rc
+++ b/Build/source/libs/gd/libgd-2.1.1/windows/libgd.rc
diff --git a/Build/source/libs/gd/libgd-2.1.1/windows/msys/Makefile b/Build/source/libs/gd/libgd-2.1.1/windows/msys/Makefile
new file mode 100644
index 00000000000..7e7f155885e
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/windows/msys/Makefile
@@ -0,0 +1,143 @@
+
+# Simple makefile for building and testing libgd under MSYS/MinGW on
+# Windows
+
+
+# The version
+LIBVER=3.0.1
+
+# Misc. config flags.
+CDEFS=-DHAVE_ERRNO_H -DHAVE_ICONV -DHAVE_ICONV_H \
+-DHAVE_ICONV_T_DEF -DHAVE_INTTYPES_H -DHAVE_LIMITS_H -DHAVE_STDDEF_H \
+-DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_VISIBILITY -DICONV_CONST
+
+# GnuWin32 libs should all be installed in one place.
+GNUDIR=/c/tools/GnuWin32
+GNUINC=-I$(GNUDIR)/include
+GNULIB=-L$(GNUDIR)/lib
+GNUDLL=$(GNUDIR)/bin/
+
+# Various optional components. Comment-out the ones you don't have
+# and edit the paths and options as needed if you do. The default
+# assumes GnuWin32 packages installed in /c/Program Files/GnuWin32.
+JPEG_D=-DHAVE_LIBJPEG
+JPEG_L=-ljpeg
+JPEG_I=$(GNUINC)
+JPEG_LIBDIR=$(GNULIB)
+JPEG_DLLDIR=$(GNUDLL)
+
+PNG_D=-DHAVE_LIBPNG
+PNG_L=-lpng
+PNG_I= #$(GNUINC)
+PNG_LIBDIR= #$(GNULIB)
+PNG_DLLDIR= #$(GNUDLL)
+
+TIFF_D=-DHAVE_LIBTIFF
+TIFF_L=-ltiff
+TIFF_I= #$(GNUINC)
+TIFF_LIBDIR= #$(GNULIB)
+TIFF_DLLDIR= #$(GNUDLL)
+
+LIBZ_D=-DHAVE_LIBZ
+LIBZ_L=-lz
+LIBZ_I= #$(GNUINC)
+LIBZ_LIBDIR= #$(GNULIB)
+LIBZ_DLLDIR= #$(GNUDLL)
+
+# LIBXPM_D=-DHAVE_LIBXPM
+# LIBXPM_L=-lxpm
+# LIBXPM_I= #$(GNUINC)
+# LIBXPM_LIBDIR= #$(GNULIB)
+
+FREETYPE_D=-DHAVE_LIBFREETYPE -DHAVE_FT2BUILD_H
+FREETYPE_L=-lfreetype
+FREETYPE_I=$(GNUINC)/freetype2/
+FREETYPE_LIBDIR= #$(GNULIB)
+FREETYPE_DLLDIR= #$(GNUDLL)
+
+# FONTCONFIG_D=-DHAVE_LIBFONTCONFIG
+# FONTCONFIG_L=
+# FONTCONFIG_I=
+# FONTCONFIG_LIBDIR=
+
+ALL_D=$(FREETYPE_D) $(JPEG_D) $(PNG_D) $(TIFF_D) $(LIBZ_D) $(LIBXPM_D)
+ALL_L=$(FREETYPE_L) $(JPEG_L) $(PNG_L) $(TIFF_L) $(LIBZ_L) $(LIBXPM_L)
+ALL_I=$(FREETYPE_I) $(JPEG_I) $(PNG_I) $(TIFF_I) $(LIBZ_I) $(LIBXPM_I)
+ALL_LIBDIR=$(FREETYPE_LIBDIR) $(JPEG_LIBDIR) $(PNG_LIBDIR) $(TIFF_LIBDIR) \
+ $(LIBZ_LIBDIR) $(LIBXPM_LIBDIR)
+ALL_DLLDIR=$(FREETYPE_DLLDIR) $(JPEG_DLLDIR) $(PNG_DLLDIR) $(TIFF_DLLDIR) \
+ $(LIBZ_DLLDIR) $(LIBXPM_DLLDIR)
+
+# We need libiconv for internationalization. We default to static
+# linking because that reduces the number of dependencies. However,
+# libiconv is released under the GNU GPL which may impose extra
+# restrictions on redistribution.
+LIBICONV=/c/MinGW/lib/libiconv.a
+#LIBICONV=-liconv
+
+
+DEFS=$(CDEFS) $(ALL_D)
+INCLUDES=$(ALL_I)
+
+CC=gcc
+CFLAGS=-g -O2 -I. -std=gnu99 -fvisibility=hidden -static-libgcc \
+ -D_WIN32 -DBGDWIN32 $(DEFS) $(INCLUDES)
+
+LD=gcc
+LDFLAGS=-g -O2 -fvisibility=hidden -static-libgcc $(ALL_LIBDIR)
+LIBS=$(ALL_L) $(LIBICONV)
+
+ZIP=zip -j9
+DIST=libgd-win.zip
+
+# Get this list from c files in libgd_la_SOURCES in Makefile.mk
+SRC=gd.c gd_color.c gd_color_map.c gd_transform.c gdfx.c \
+gd_security.c gd_gd.c gd_gd2.c gd_io.c gd_io_dp.c gd_gif_in.c \
+gd_gif_out.c gd_io_file.c gd_io_ss.c gd_jpeg.c gd_png.c gd_ss.c \
+gd_topal.c gd_wbmp.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c \
+gdfonts.c gdfontt.c gdft.c gdhelpers.c gdkanji.c gdtables.c gdxpm.c \
+wbmp.c gd_filter.c gd_nnquant.c gd_rotate.c gd_matrix.c \
+gd_interpolation.c gd_crop.c webpimg.c gd_webp.c gd_tiff.c gd_tga.c \
+gd_bmp.c gd_xbm.c gd_color_match.c gd_version.c gd_filename.c
+
+OBJ=$(SRC:.c=.o)
+
+TARGETBASE=libgd
+TARGET=$(TARGETBASE).dll
+TARGET_A=$(TARGETBASE).a
+
+all:
+ (cd ../../src; make -f ../windows/msys/Makefile $(TARGET))
+
+# BUG: this sucks in all the DLLs in the lib installation directory,
+# including those you may not need.
+dist: all
+ (cd ../..; $(ZIP) $(DIST) src/*.dll src/*.a $$(for d in $(ALL_DLLDIR); do echo $$d/*.dll; done | sort -u) )
+
+
+clean:
+ -rm ../../$(DIST)
+ (cd ../../src; rm -f *.dll *.a $(OBJ) deps.mk; true)
+
+check: all
+ bash run_tests.sh "$(GNUDIR)/bin" "$(INCLUDES)"
+
+deps.mk:
+ [ -f gd.h ] # Sanity check: we're in src/, right?
+ gcc -MM $(DEFS) $(INCLUDES) $(SRC) > deps.mk
+
+$(TARGET): $(OBJ)
+ gcc -shared -o $(TARGET) $(LDFLAGS) -Wl,--out-implib,$(TARGET_A) \
+ $(OBJ) $(LIBS)
+
+include deps.mk
+
+
+
+
+
+
+
+
+
+
diff --git a/Build/source/libs/gd/libgd-2.1.1/windows/msys/README.MSYS.md b/Build/source/libs/gd/libgd-2.1.1/windows/msys/README.MSYS.md
new file mode 100644
index 00000000000..601802dd8e0
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/windows/msys/README.MSYS.md
@@ -0,0 +1,65 @@
+
+# MSYS Fallback Makefile
+
+This is a simple, straightforward Makefile for building LibGD with
+MinGW on MSYS (or possibly Cygwin). It is here for anyone who doesn't
+want to deal with autotools or CMake on Windows or who can't get
+either of them working on their particular setup.
+
+Note that this Makefile only builds the library and test cases; the
+standalone utilities are ignored. If you need those, you'll need to
+use one of the other build systems (or add them yourself.)
+
+## To build LibGD:
+
+1. Install MinGW and MSYS (see <http://www.mingw.org/wiki/Getting_Started>).
+ You will need to install zip and unzip as well as the 32-bit C compiler
+ and related tools.
+
+2. Install LibJpeg, LibPng, LibTiff, Zlib and FreeType from
+ <http://gnuwin32.sourceforge.net> and install them all in
+ `c:/tools/GnuWin32/`. (You can get these libraries from other
+ places and/or install them in different locations, but you'll need to
+ edit the Makefile accordingly if you do.)
+
+3. Skip ahead to the next step. If that doesn't work, edit the
+ Makefile to fix what went wrong. Things to try include:
+ * Ensure SRC contains an up-to-date list of source files. (Take a
+ look at libgd_la_SOURCES src/Makefile.am for a reference.)
+ * Ensure that the paths and #defines for unsupported libraries
+ are commented out. They're nicely grouped into clusters to
+ simplify that.
+
+4. `cd` to this directory and type:
+
+ make
+ make check
+
+ If both commands succeed, you're done. (Note that some of the
+ testcases will fail, just because they test features not enabled
+ here. This is fine. As long as most tests pass, you're probably
+ okay.)
+
+5. Type
+
+ make dist
+
+ This will create libgd-win.zip, a zip file containing the new
+ library and its dependants. Note that this step may pick up extra
+ DLLs; it sweeps up all of the DLLs in the directories pointed to
+ by *_DLLDIR Makefile variables.
+
+ Alternately, you can copy the lib (in src/) to wherever it needs
+ to go.
+
+
+## Stuff that Doesn't Work
+
+* LibXpm: It's probably nothing serious, just more trouble than it's
+ worth.
+* LibFontconfig: I couldn't find Windows binaries for it anywhere
+ reputable.
+
+
+
+
diff --git a/Build/source/libs/gd/libgd-2.1.1/windows/msys/deps.mk b/Build/source/libs/gd/libgd-2.1.1/windows/msys/deps.mk
new file mode 100644
index 00000000000..9b531b3103d
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/windows/msys/deps.mk
@@ -0,0 +1 @@
+# Nothing to see here. (But it shuts up make.)
diff --git a/Build/source/libs/gd/libgd-2.1.1/windows/msys/run_tests.sh b/Build/source/libs/gd/libgd-2.1.1/windows/msys/run_tests.sh
new file mode 100755
index 00000000000..22de13c4036
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/windows/msys/run_tests.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+set -e
+
+# Parameters
+DLLPATH_EXTRA=$1 # Path to supporting DLLs
+CFLAGS_EXTRA=$2 # Extra C flags
+
+
+LOG=run_tests.log
+
+CFLAGS="-g -Igdtest/ -I. -I../src/ -D_WIN32 $CFLAGS_EXTRA"
+LDFLAGS='-L../src -llibgd'
+DLLPATH=../src:$DLLPATH_EXTRA
+
+function run_gcc {
+ if msg=`gcc $* 2>&1`; then
+ true
+ else
+ echo "COMMAND: gcc $*" >> $LOG
+ echo $msg >> $LOG
+ false
+ fi
+}
+
+# Switch to the working directory
+export PATH=$PATH:$DLLPATH
+cd ../../tests
+
+# Initial setup
+echo "Setting up..."
+[ -f $LOG ] && rm -f $LOG
+[ -f test_config.h ] || echo '#define GDTEST_TOP_DIR "."' > test_config.h
+run_gcc -c $CFLAGS gdtest/gdtest.c
+
+
+echo "Running tests:"
+count=0
+failures=0
+compile_failures=0
+for test in `find . -name \*.c | grep -v '^./gdtest'`; do
+ count=`expr $count + 1`
+
+ exe=${test%.c}.exe
+ if run_gcc -o $exe $CFLAGS $LDFLAGS $test gdtest.o; then
+ true;
+ else
+ echo "COMPILE_FAIL: $test"
+ compile_failures=`expr $compile_failures + 1`
+ continue
+ fi
+
+ echo "Running $exe:" >> $LOG
+ if $exe 2>&1 >> $LOG; then
+ echo "PASS: $test"
+ else
+ failures=`expr $failures + 1`
+ echo "FAIL: $test"
+ fi
+ echo >> $LOG
+done
+
+echo "$failures failures and $compile_failures compile failures out of $count tests."
+echo "Error messages in $LOG"
+
+
+
diff --git a/Build/source/libs/gd/libgd-2.1.1/windows/readme.md b/Build/source/libs/gd/libgd-2.1.1/windows/readme.md
new file mode 100644
index 00000000000..8753b704723
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/windows/readme.md
@@ -0,0 +1,11 @@
+# Building on Windows with Visual Studio 2013
+
+Open the VS2013 x64 Native Tools Command Prompt. 2012 will *not* work.
+Change to the gd-libgd folder.
+git clone https://github.com/imazen/gd-win-dependencies into the folder.
+Run
+nmake /f windows/Makefile.vc all
+nmake /f windows/Makefile.vc check
+
+Before rebuilding, run:
+nmake /f windows/Makefile.vc clean \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd-2.1.1/windows/run_tests.bat b/Build/source/libs/gd/libgd-2.1.1/windows/run_tests.bat
new file mode 100755
index 00000000000..5dadb059407
--- /dev/null
+++ b/Build/source/libs/gd/libgd-2.1.1/windows/run_tests.bat
@@ -0,0 +1,38 @@
+@echo off
+setlocal EnableDelayedExpansion
+if [%PLATFORM%]==[] set PLATFORM=x86
+if [%PREFERREDTOOLARCHITECTURE%]==[x64] set PLATFORM=x64
+set PLATFORM=%PLATFORM:X=x%
+
+if exist build_msvc12_%PLATFORM%\tests (cd build_msvc12_%PLATFORM%\tests) else (
+ if exist ..\build_%PLATFORM%\tests (cd ..\build_msvc12_%PLATFORM%\tests) else (
+ echo unable to find test dir
+ exit /b 1
+ )
+)
+
+
+
+for /f %%T in (testlist.txt) do (
+ set test=%%T
+ set output=test: !test!....................................................................
+
+ set target=%%~nT.exe
+ if not exist !target! SET result=NotFound
+ call !target! && (SET result=Passed) || (SET result=Failed)
+
+ rem > last_test.out 2> last_test.err
+ rem set /p testerr=<last_test.err
+ rem set /p testout=<last_test.out
+
+ echo !output:~0,70!!result!
+
+ rem if defined testerr echo error: !testerr!
+ rem if defined testout echo msg: !testout!
+
+ if defined APPVEYOR (
+ appveyor AddTest "!test! %PLATFORM%" -Outcome !result! -Framework Custom -Filename %%~nT.exe -Duration 0
+ )
+)
+
+exit /b 0 \ No newline at end of file
diff --git a/Build/source/libs/gd/libgd.test b/Build/source/libs/gd/libgd.test
new file mode 100755
index 00000000000..fa6023398bc
--- /dev/null
+++ b/Build/source/libs/gd/libgd.test
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+# Copyright (C) 2015 Peter Breitenlohner <tex-live@tug.org>
+# You may freely use, modify and/or distribute this file.
+
+./gdtest || exit 1
+
diff --git a/Build/source/libs/gd/version.ac b/Build/source/libs/gd/version.ac
index 6319c59b114..fedc5f08096 100644
--- a/Build/source/libs/gd/version.ac
+++ b/Build/source/libs/gd/version.ac
@@ -1,5 +1,5 @@
dnl
-dnl Copyright (C) 2013 Peter Breitenlohner <tex-live@tug.org>
+dnl Copyright (C) 2013-2015 Peter Breitenlohner <tex-live@tug.org>
dnl
dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current gd version
-m4_define([gd_version], [2.1.0])
+m4_define([gd_version], [2.1.1])