<p dir="ltr"><br>
On Mar 29, 2016 13:36, "Sean McGovern" <<a href="mailto:gseanmcg@gmail.com">gseanmcg@gmail.com</a>> wrote:<br>
><br>
> ---<br>
> Apparently this library lives 20+ years in the past...<br>
> ---<br>
>  contrib/src/png/force-c89.patch |   34 ++++++++++++++++++++++++++++++++++<br>
>  contrib/src/png/rules.mak       |    3 ++-<br>
>  2 files changed, 36 insertions(+), 1 deletion(-)<br>
>  create mode 100644 contrib/src/png/force-c89.patch<br>
><br>
> diff --git a/contrib/src/png/force-c89.patch b/contrib/src/png/force-c89.patch<br>
> new file mode 100644<br>
> index 0000000..1877df4<br>
> --- /dev/null<br>
> +++ b/contrib/src/png/force-c89.patch<br>
> @@ -0,0 +1,34 @@<br>
> +From 12e63e91af1378225993b36e25ce3252b54e751a Mon Sep 17 00:00:00 2001<br>
> +From: Dagobert Michelsen <<a href="mailto:dam@opencsw.org">dam@opencsw.org</a>><br>
> +Date: Mon, 14 Mar 2016 16:21:06 +0100<br>
> +Subject: [PATCH] Force back to C89 if needed. This fixes #245<br>
> +<br>
> +---<br>
> + <a href="http://configure.ac">configure.ac</a> | 14 ++++++++++++++<br>
> + 1 file changed, 14 insertions(+)<br>
> +<br>
> +diff --git a/<a href="http://configure.ac">configure.ac</a> b/<a href="http://configure.ac">configure.ac</a><br>
> +index 3b8746a..ee3ea05 100644<br>
> +--- a/<a href="http://configure.ac">configure.ac</a><br>
> ++++ b/<a href="http://configure.ac">configure.ac</a><br>
> +@@ -114,6 +114,20 @@ AC_ARG_ENABLE(werror,<br>
> +       CFLAGS="$sav_CFLAGS"<br>
> +     fi],)<br>
> +<br>
> ++# For GCC 5 the default mode for C is -std=gnu11 instead of -std=gnu89<br>
> ++# In pngpriv.h we request just the POSIX 1003.1 and C89 APIs by defining _POSIX_SOURCE to 1<br>
> ++# This is incompatible with the new default mode, so we test for that and force the<br>
> ++AC_MSG_CHECKING([if we need to force back C standard to C89])<br>
> ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#define _POSIX_SOURCE 1<br>
> ++#include <stdio.h><br>
> ++])],AC_MSG_RESULT(no),[<br>
> ++if test "x$GCC" != "xyes"; then<br>
> ++  AC_MSG_ERROR([Forcing back to C89 is required but the flags are unknown for other compilers than GCC])<br>
> ++fi<br>
> ++AC_MSG_RESULT(yes)<br>
> ++CFLAGS="$CFLAGS -std=c89"<br>
> ++])<br>
> ++<br>
> + # Checks for header files.<br>
> + AC_HEADER_STDC<br>
> +<br>
> diff --git a/contrib/src/png/rules.mak b/contrib/src/png/rules.mak<br>
> index 61f835e..0cde547 100644<br>
> --- a/contrib/src/png/rules.mak<br>
> +++ b/contrib/src/png/rules.mak<br>
> @@ -17,12 +17,13 @@ png: libpng-$(PNG_VERSION).tar.xz .sum-png<br>
>         $(APPLY) $(SRC)/png/winrt.patch<br>
>         $(APPLY) $(SRC)/png/bins.patch<br>
>         $(APPLY) $(SRC)/png/automake.patch<br>
> +       $(APPLY) $(SRC)/png/force-c89.patch<br>
>         $(MOVE)<br>
><br>
>  DEPS_png = zlib $(DEPS_zlib)<br>
><br>
>  .png: png<br>
>         $(RECONF)<br>
> -       cd $< && $(HOSTVARS) ./configure $(HOSTCONF)<br>
> +       cd $< && $(HOSTVARS) CC="`echo ${CC} | ${SED-sed} 's: -std=[a-z0-9]*::'`" ./configure $(HOSTCONF)<br>
>         cd $< && $(MAKE) install<br>
>         touch $@</p>
<p dir="ltr">Ping!</p>
<p dir="ltr">-- Sean McG.<br>
</p>