File: C:/strawberry/licenses/libgd/libgd-2.2.5.diff
diff -r -u --strip-trailing-cr libgd-2.2.5.original/CMakeLists.txt libgd-2.2.5/CMakeLists.txt
--- libgd-2.2.5.original/CMakeLists.txt	2019-05-22 02:15:31.327764000 +0200
+++ libgd-2.2.5/CMakeLists.txt	2019-05-22 02:15:27.467677000 +0200
@@ -31,6 +31,10 @@
 IF(CMAKE_COMPILER_IS_GNUCC)
   SET(CMAKE_C_FLAGS_DEBUG "-g -Wall -Wextra -O0") # will be added to CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
 ENDIF(CMAKE_COMPILER_IS_GNUCC)
+
+# Pre-defines standard install locations on *nix systems.
+include(GNUInstallDirs)
+
 SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY 
   ${PROJECT_BINARY_DIR}/Bin 
   CACHE PATH 
@@ -74,7 +78,7 @@
 	SET(GD_VERSION_PATCH "5")
 	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_STRING "${GD_VERSION_MAJOR}.${GD_VERSION_MINOR}")
 
 	SET(GD_VERSION_INT "2020555")
 
@@ -204,6 +208,7 @@
 			ADD_DEFINITIONS("/D_CRT_SECURE_NO_DEPRECATE")
 		endif(NOT MINGW AND MSVC_VERSION GREATER 1399)
 		if (MINGW OR MSYS)
+			SET(GD_LIB gd)
 			ADD_DEFINITIONS("-mms-bitfields") # -m32
 		endif (MINGW OR MSYS)
 	else (WIN32)
@@ -246,28 +251,27 @@
     ADD_DEPENDENCIES(${GD_LIB_STATIC} libimagequant)
 ENDIF(ENABLE_LIQ AND LIQ_BUILD)
 
-
-INSTALL(FILES docs/INSTALL DESTINATION share/docs)
-INSTALL(FILES docs/README.JPN DESTINATION share/docs)
-INSTALL(FILES docs/README.CMAKE DESTINATION share/docs)
-INSTALL(FILES docs/README.TESTING DESTINATION share/docs)
-INSTALL(FILES docs/README.TXT DESTINATION share/docs)
-
-
-INSTALL(FILES examples/arc.c DESTINATION share/docs)
-INSTALL(FILES examples/copyrotated.c DESTINATION share/docs)
-INSTALL(FILES examples/crop.c DESTINATION share/docs)
-INSTALL(FILES examples/flip.c DESTINATION share/docs)
-INSTALL(FILES examples/gif.c DESTINATION share/docs)
-INSTALL(FILES examples/nnquant.c DESTINATION share/docs)
-INSTALL(FILES examples/noIcon.pic DESTINATION share/docs)
-INSTALL(FILES examples/noIcon.sgi DESTINATION share/docs)
-INSTALL(FILES examples/noIcon.tga DESTINATION share/docs)
-INSTALL(FILES examples/noIconAlpha.tga DESTINATION share/docs)
-INSTALL(FILES examples/test_crop_threshold.png DESTINATION share/docs)
-INSTALL(FILES examples/tgaread.c DESTINATION share/docs)
-INSTALL(FILES examples/tiffread.c DESTINATION share/docs)
-INSTALL(FILES examples/windows.c DESTINATION share/docs)
+INSTALL(FILES docs/INSTALL DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES docs/README.JPN DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES docs/README.CMAKE DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES docs/README.TESTING DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES docs/README.TXT DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+
+
+INSTALL(FILES examples/arc.c DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/copyrotated.c DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/crop.c DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/flip.c DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/gif.c DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/nnquant.c DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/noIcon.pic DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/noIcon.sgi DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/noIcon.tga DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/noIconAlpha.tga DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/test_crop_threshold.png DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/tgaread.c DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/tiffread.c DESTINATION share/doc/libgd-${GD_VERSION_STRING})
+INSTALL(FILES examples/windows.c DESTINATION share/doc/libgd-${GD_VERSION_STRING})
 
 
 set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
@@ -281,6 +285,6 @@
 "^${PROJECT_SOURCE_DIR}/old/"
 "^${PROJECT_SOURCE_DIR}/bld/"
 )
-install(FILES ${top_level_DOCFILES} DESTINATION ${DOC_DIR})
+# install(FILES ${top_level_DOCFILES} DESTINATION ${DOC_DIR})
 INCLUDE(CPack)
 
diff -r -u --strip-trailing-cr libgd-2.2.5.original/config/gdlib.pc.in libgd-2.2.5/config/gdlib.pc.in
--- libgd-2.2.5.original/config/gdlib.pc.in	2019-05-22 02:15:32.319712200 +0200
+++ libgd-2.2.5/config/gdlib.pc.in	2019-05-22 02:15:27.498939500 +0200
@@ -1,11 +1,11 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include/
 
 Name: gd
 Description: GD graphics library
-Version: @VERSION@
+Version: @GD_VERSION_STRING@
 Cflags: -I${includedir}
-Libs.private: @LIBS@ @LIBICONV@
+Libs.private: @PRIVLIBLIST@
 Libs: -L${libdir} -lgd
diff -r -u --strip-trailing-cr libgd-2.2.5.original/config/gdlib-config.in libgd-2.2.5/config/gdlib-config.in
--- libgd-2.2.5.original/config/gdlib-config.in	2019-05-22 02:15:32.210840300 +0200
+++ libgd-2.2.5/config/gdlib-config.in	2019-05-22 02:15:27.561416300 +0200
@@ -8,11 +8,11 @@
      "please use the pkg-config file instead." >&2
 
 # installation directories
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-bindir=@bindir@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+bindir=${prefix}/bin
 
 usage()
 {
@@ -31,7 +31,7 @@
 	--cflags          # options required for compiling GD library apps
 	--includes        # same as --cflags
 	--features        # lists features compiled into gd, separated by spaces.
-                          # Currently (as of @VERSION@) the optional features
+                          # Currently (as of @GD_VERSION_STRING@) the optional features
                           # are GD_PNG, GD_JPEG, GD_XPM, GD_FREETYPE, and 
                           # GD_FONTCONFIG. When these features are reported by
                           # --features, it is safe to include calls to the
@@ -59,35 +59,35 @@
 	echo $includedir
 	;;
     --version)
-	echo @VERSION@
+	echo @GD_VERSION_STRING@
 	;;
     --majorversion)
-	echo @GDLIB_MAJOR@
+	echo @GD_VERSION_MAJOR@
 	;;
     --minorversion)
-	echo @GDLIB_MINOR@
+	echo @GD_VERSION_MINOR@
 	;;
     --revision)
-	echo @GDLIB_REVISION@
+	echo @GD_VERSION_PATCH@
 	;;
     --ldflags)
-	echo @LDFLAGS@
+	echo @CMAKE_MODULE_LINKER_FLAGS@
 	;;
     --libs)
-	echo -lgd @LIBS@ @LIBICONV@
+	echo -lgd @PRIVLIBLIST@
 	;;
     --cflags|--includes)
-	echo -I@includedir@
+	echo -I${prefix}/include
 	;;
     --features)
 	echo @FEATURES@
 	;;
     --all)
-	echo "GD library  @VERSION@"
+	echo "GD library  @GD_VERSION_STRING@"
 	echo "includedir: $includedir"
-	echo "cflags:     -I@includedir@"
-	echo "ldflags:    @LDFLAGS@"
-	echo "libs:       @LIBS@ @LIBICONV@"
+	echo "cflags:     -I${prefix}/include"
+	echo "ldflags:    @CMAKE_MODULE_LINKER_FLAGS@"
+	echo "libs:       @PRIVLIBLIST@"
 	echo "libdir:     $libdir"
 	echo "features:   @FEATURES@"
 	;;
diff -r -u --strip-trailing-cr libgd-2.2.5.original/gdlib-config.bat.win-gcc libgd-2.2.5/gdlib-config.bat.win-gcc
--- libgd-2.2.5.original/gdlib-config.bat.win-gcc	2019-05-22 02:15:50.315016500 +0200
+++ libgd-2.2.5/gdlib-config.bat.win-gcc	2019-05-22 02:15:27.217692200 +0200
@@ -0,0 +1,31 @@
+@echo off
+rem simplified replacement for the original shell script
+set ROOT=%~dp0
+
+set XLIBDIR=%ROOT%..\lib
+set XINCLUDEDIR=%ROOT%..\include
+set XVERSION=2.2.5
+set XCFLAGS=-I"%XINCLUDEDIR%"
+set XLIBS=-ljpeg -lpng -lfreetype -lXpm -ltiff -lz -liconv
+set XLDFLAGS=-L"%XLIBDIR%"
+
+for %%p in (%*) do (
+  if x%%p == x--libdir     echo %XLIBDIR%
+  if x%%p == x--includedir echo %XINCLUDEDIR%
+  if x%%p == x--version    echo %XVERSION%
+  if x%%p == x--cflags     echo %XCFLAGS%
+  if x%%p == x--libs       echo %XLIBS%
+  if x%%p == x--all        goto ALL
+) 
+goto END
+
+:ALL
+echo GD library  %XVERSION%
+echo includedir: %XINCLUDEDIR%
+echo cflags:     %XCFLAGS%
+echo ldflags:    %XLDFLAGS%
+echo libs:       %XLIBS%
+echo libdir:     %XLIBDIR%
+echo features:   GD_TIFF GD_XPM GD_JPEG GD_FREETYPE GD_PNG GD_GIF GD_GIFANIM GD_OPENPOLYGON
+
+:END
diff -r -u --strip-trailing-cr libgd-2.2.5.original/src/CMakeLists.txt libgd-2.2.5/src/CMakeLists.txt
--- libgd-2.2.5.original/src/CMakeLists.txt	2019-05-22 02:15:53.197775300 +0200
+++ libgd-2.2.5/src/CMakeLists.txt	2019-05-22 02:15:27.498939500 +0200
@@ -92,10 +92,10 @@
 	endif()
 endif()
 
-if (WIN32 AND NOT MINGW AND NOT MSYS)
+if (WIN32)
   #	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)
+ENDIF(WIN32)
 
 if (MINGW OR MSYS)
 	ADD_DEFINITIONS("-mms-bitfields")
@@ -158,7 +158,7 @@
 endif()
 
 install(TARGETS ${GD_INSTALL_TARGETS}
-        RUNTIME DESTINATION bin
+        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
         ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
 install(PROGRAMS bdftogd DESTINATION bin)
@@ -176,4 +176,56 @@
 	gdfontt.h
 	gdfx.h
 	gdpp.h
-	DESTINATION include)
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+#get a list of features and libraries that have been linked in for pkg_config
+set(FEATURES "GD_GIF GD_GIFANIM GD_OPENPOLYGON")
+set(PRIVLIBLIST "-L${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} ")
+IF(ZLIB_FOUND)
+set(FEATURES "${FEATURES} GD_ZLIB") 
+set(PRIVLIBLIST "${PRIVLIBLIST} -lz")
+ENDIF(ZLIB_FOUND)
+IF(PNG_FOUND)
+set(FEATURES "${FEATURES} GD_PNG")
+set(PRIVLIBLIST "${PRIVLIBLIST} -lpng")
+ENDIF(PNG_FOUND)
+if (FREETYPE_FOUND)
+set(FEATURES "${FEATURES} GD_FREETYPE") 
+set(PRIVLIBLIST "${PRIVLIBLIST} -lfreetype")
+ENDIF(FREETYPE_FOUND)
+IF(FONTCONFIG_FOUND)
+set(FEATURES "${FEATURES} GD_FONTCONFIG")
+set(PRIVLIBLIST "${PRIVLIBLIST} -lfontconfig")
+ENDIF(FONTCONFIG_FOUND)
+IF(ICONV_FOUND)
+set(PRIVLIBLIST "${PRIVLIBLIST} -liconv")
+ENDIF(ICONV_FOUND)
+IF(JPEG_FOUND)
+set(FEATURES "${FEATURES} GD_JPEG")
+set(PRIVLIBLIST "${PRIVLIBLIST} -ljpeg")
+ENDIF(JPEG_FOUND)
+IF(LIQ_FOUND)
+set(FEATURES "${FEATURES} GD_LIQ")
+set(PRIVLIBLIST "${PRIVLIBLIST} ${LIQ_LIBRARIES}")
+ENDIF(LIQ_FOUND)
+IF(XPM_FOUND)
+set(FEATURES "${FEATURES} GD_XPM")
+set(PRIVLIBLIST "${PRIVLIBLIST} -lXpm")
+ENDIF(XPM_FOUND)
+IF(TIFF_FOUND)
+set(FEATURES "${FEATURES} GD_TIFF")
+set(PRIVLIBLIST "${PRIVLIBLIST} -ltiff")
+ENDIF(TIFF_FOUND)
+IF(WEBP_FOUND)
+set(FEATURES "${FEATURES} GD_WEBP")
+set(PRIVLIBLIST "${PRIVLIBLIST} -lwebp")
+ENDIF(WEBP_FOUND)
+
+configure_file(../config/gdlib.pc.in ${PROJECT_BINARY_DIR}/gdlib.pc @ONLY)
+install(FILES ${PROJECT_BINARY_DIR}/gdlib.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+#configure gdlib-config for any build/config scripts that need it
+
+configure_file(../config/gdlib-config.in ${PROJECT_BINARY_DIR}/gdlib-config @ONLY)
+install(FILES ${PROJECT_BINARY_DIR}/gdlib-config DESTINATION bin)
+
diff -r -u --strip-trailing-cr libgd-2.2.5.original/src/gd.h libgd-2.2.5/src/gd.h
--- libgd-2.2.5.original/src/gd.h	2019-05-22 02:15:54.680535700 +0200
+++ libgd-2.2.5/src/gd.h	2019-05-22 02:15:27.608306900 +0200
@@ -46,34 +46,31 @@
 
 /* http://gcc.gnu.org/wiki/Visibility */
 #if defined(_WIN32) || defined(CYGWIN) || defined(_WIN32_WCE)
-# ifdef BGDWIN32
-#  ifdef NONDLL
-#   define BGD_EXPORT_DATA_PROT
-#  else
-#   ifdef __GNUC__
-#    define BGD_EXPORT_DATA_PROT __attribute__ ((dllexport))
-#   else
-#    define BGD_EXPORT_DATA_PROT __declspec(dllexport)
-#   endif
-#  endif
-# else
-#  ifdef __GNUC__
-#   define BGD_EXPORT_DATA_PROT __attribute__ ((dllimport))
-#  else
-#   define BGD_EXPORT_DATA_PROT __declspec(dllimport)
-#  endif
-# endif
-# define BGD_STDCALL __stdcall
-# define BGD_EXPORT_DATA_IMPL
+  #ifdef NONDLL // static build
+    #define BGD_EXPORT_DATA_PROT
+    #define BGD_STDCALL
+  #else
+    #ifdef BGDWIN32 // defined if we are building the GD DLL (instead of using it)
+      #define BGD_EXPORT_DATA_PROT __attribute__ ((dllexport))
+    #else
+      #define BGD_EXPORT_DATA_PROT __attribute__ ((dllimport))
+    #endif
+    #ifdef __MINGW32__
+      #define BGD_STDCALL
+    #else
+      #define BGD_STDCALL __stdcall
+    #endif
+  #endif
+  #define BGD_EXPORT_DATA_IMPL
 #else
-# if defined(__GNUC__) || defined(__clang__)
-#  define BGD_EXPORT_DATA_PROT __attribute__ ((visibility ("default")))
-#  define BGD_EXPORT_DATA_IMPL __attribute__ ((visibility ("hidden")))
-# else
-#  define BGD_EXPORT_DATA_PROT
-#  define BGD_EXPORT_DATA_IMPL
-# endif
-# define BGD_STDCALL
+  #if defined(__GNUC__) || defined(__clang__)
+    #define BGD_EXPORT_DATA_PROT __attribute__ ((visibility ("default")))
+    #define BGD_EXPORT_DATA_IMPL __attribute__ ((visibility ("hidden")))
+  #else
+    #define BGD_EXPORT_DATA_PROT
+    #define BGD_EXPORT_DATA_IMPL
+  #endif
+  #define BGD_STDCALL
 #endif
 
 #define BGD_DECLARE(rt) BGD_EXPORT_DATA_PROT rt BGD_STDCALL
diff -r -u --strip-trailing-cr libgd-2.2.5.original/src/webpng.c libgd-2.2.5/src/webpng.c
--- libgd-2.2.5.original/src/webpng.c	2019-05-22 02:16:05.095329200 +0200
+++ libgd-2.2.5/src/webpng.c	2019-05-22 02:15:27.530187000 +0200
@@ -18,6 +18,25 @@
 #include <unistd.h>
 #endif
 
+#if defined (_WIN32)
+int     opterr = 1,             /* if error message should be printed */
+  optind = 1,             /* index into parent argv vector */
+  optopt,                 /* character checked for validity */
+  optreset;               /* reset getopt */
+char    *optarg;                /* argument associated with option */
+
+#define BADCH   (int)'?'
+#define BADARG  (int)':'
+#define EMSG    ""
+
+/*
+* getopt --
+*      Parse argc/argv argument vector.
+*/
+int getopt(int nargc, char * const nargv[], const char *ostr);
+
+#endif // defined (_WIN32)
+
 #ifdef __clang__
 /* Workaround broken clang behavior: https://llvm.org/bugs/show_bug.cgi?id=20144 */
 #undef strcmp
@@ -297,3 +316,66 @@
 	/* All's well that ends well. */
 	return 0;
 }
+
+#if defined (_WIN32)
+/*
+* getopt --
+*      Parse argc/argv argument vector.
+*/
+int
+  getopt(int nargc, char * const nargv[], const char *ostr)
+{
+  static char *place = EMSG;              /* option letter processing */
+  const char *oli;                        /* option letter list index */
+
+  if (optreset || !*place) {              /* update scanning pointer */
+    optreset = 0;
+    if (optind >= nargc || *(place = nargv[optind]) != '-') {
+      place = EMSG;
+      return (-1);
+    }
+    if (place[1] && *++place == '-') {      /* found "--" */
+      ++optind;
+      place = EMSG;
+      return (-1);
+    }
+  }                                       /* option letter okay? */
+  if ((optopt = (int)*place++) == (int)':' ||
+    !(oli = strchr(ostr, optopt))) {
+      /*
+      * if the user didn't specify '-' as an option,
+      * assume it means -1.
+      */
+      if (optopt == (int)'-')
+        return (-1);
+      if (!*place)
+        ++optind;
+      if (opterr && *ostr != ':')
+        (void)printf("illegal option -- %c\n", optopt);
+      return (BADCH);
+  }
+  if (*++oli != ':') {                    /* don't need argument */
+    optarg = NULL;
+    if (!*place)
+      ++optind;
+  }
+  else {                                  /* need an argument */
+    if (*place)                     /* no white space */
+      optarg = place;
+    else if (nargc <= ++optind) {   /* no arg */
+      place = EMSG;
+      if (*ostr == ':')
+        return (BADARG);
+      if (opterr)
+        (void)printf("option requires an argument -- %c\n", optopt);
+      return (BADCH);
+    }
+    else                            /* white space */
+      optarg = nargv[optind];
+    place = EMSG;
+    ++optind;
+  }
+  return (optopt);                        /* dump back option letter */
+}
+#endif //defined (_WIN32)
+