--- /dev/null
+Remove -Werror from Makefile
+
+glibc-2.20 includes some changes to the include/features.h file
+introduced by this commit:
+
+ https://sourceware.org/git/?p=glibc.git;a=commit;h=ade40b10ff5fa59a318cf55b9d8414b758e8df78
+
+Those changes make libsvgtiny fail because some warnings are thrown and
+the build system is using the -Werror option. We disable this to be able
+to build it, or otherwise we will see errors like this one:
+
+GPERF: src/colors.gperf
+COMPILE: build-Linux-Linux-release-lib-static/src_colors.c
+In file included from
+/br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/string.h:25:0,
+ from src/colors.gperf:16:
+/br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/features.h:148:3:
+error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use
+_DEFAULT_SOURCE" [-Werror=cpp]
+
+and this one:
+
+In file included from src/colors.gperf:18:0:
+/home/ldap/vriera/work/mips-buildroots/mips32/output/build/libsvgtiny-12121/src/svgtiny_internal.h:71:0:
+error: "strndup" redefined [-Werror]
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+diff -rup a/Makefile b/Makefile
+--- a/Makefile 2010-01-03 23:37:39.000000000 +0000
++++ b/Makefile 2014-12-11 11:35:37.241903884 +0000
+@@ -13,12 +13,6 @@ TESTRUNNER := $(ECHO)
+ WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
+ -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+ -Wmissing-declarations -Wnested-externs -pedantic
+-# BeOS/Haiku/AmigaOS4 standard library headers create warnings
+-ifneq ($(TARGET),beos)
+- ifneq ($(TARGET),AmigaOS)
+- WARNFLAGS := $(WARNFLAGS) -Werror
+- endif
+-endif
+ CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
+ -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
+ ifneq ($(GCCVER),2)
+++ /dev/null
-svgtiny: create BUILDDIR before $(BUILDDIR)/src_colors.c
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
---- libsvgtiny-12121/src/Makefile.orig 2014-06-17 15:30:21.765311434 +0400
-+++ libsvgtiny-12121/src/Makefile 2014-06-17 15:29:56.569909931 +0400
-@@ -3,7 +3,7 @@
-
- SOURCES := $(SOURCES) $(BUILDDIR)/src_colors.c
-
--$(BUILDDIR)/src_colors.c: src/colors.gperf
-+$(BUILDDIR)/src_colors.c: src/colors.gperf $(BUILDDIR)/stamp
- $(VQ)$(ECHO) " GPERF: $<"
- $(Q)gperf --output-file=$@.tmp $<
- # Hack for GCC 4.2 compatibility (gperf 3.0.4 solves this properly)
--- /dev/null
+From 21b4836ac9d6c6725590a925daa5d17eda9843e9 Mon Sep 17 00:00:00 2001
+From: Daniel Silverstone <dsilvers@digital-scurf.org>
+Date: Sat, 26 Apr 2014 16:24:54 +0100
+Subject: Hopefully silence warnings about inlines and non inlines calling one
+ another.
+
+[Retrieved from:
+https://source.netsurf-browser.org/libsvgtiny.git/commit/src?id=21b4836ac9d6c6725590a925daa5d17eda9843e9]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ src/colors.gperf | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/colors.gperf b/src/colors.gperf
+index 89152d2..96d5b9e 100644
+--- a/src/colors.gperf
++++ b/src/colors.gperf
+@@ -16,6 +16,15 @@
+ #include <string.h>
+ #include "svgtiny.h"
+ #include "svgtiny_internal.h"
++
++/* This unusual define shennanigan is to try and prevent the gperf
++ * generated function from being inlined. This is pointless given
++ * it (a) is in a separate .c file and (b) has external linkage.
++ */
++#ifdef __inline
++#undef __inline
++#define __inline
++#endif
+ %}
+
+ struct svgtiny_named_color;
+--
+cgit v1.2.1
+
+++ /dev/null
-Remove -Werror from Makefile
-
-glibc-2.20 includes some changes to the include/features.h file
-introduced by this commit:
-
- https://sourceware.org/git/?p=glibc.git;a=commit;h=ade40b10ff5fa59a318cf55b9d8414b758e8df78
-
-Those changes make libsvgtiny fail because some warnings are thrown and
-the build system is using the -Werror option. We disable this to be able
-to build it, or otherwise we will see errors like this one:
-
-GPERF: src/colors.gperf
-COMPILE: build-Linux-Linux-release-lib-static/src_colors.c
-In file included from
-/br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/string.h:25:0,
- from src/colors.gperf:16:
-/br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/features.h:148:3:
-error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use
-_DEFAULT_SOURCE" [-Werror=cpp]
-
-and this one:
-
-In file included from src/colors.gperf:18:0:
-/home/ldap/vriera/work/mips-buildroots/mips32/output/build/libsvgtiny-12121/src/svgtiny_internal.h:71:0:
-error: "strndup" redefined [-Werror]
-
-Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
-
-diff -rup a/Makefile b/Makefile
---- a/Makefile 2010-01-03 23:37:39.000000000 +0000
-+++ b/Makefile 2014-12-11 11:35:37.241903884 +0000
-@@ -13,12 +13,6 @@ TESTRUNNER := $(ECHO)
- WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
- -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
- -Wmissing-declarations -Wnested-externs -pedantic
--# BeOS/Haiku/AmigaOS4 standard library headers create warnings
--ifneq ($(TARGET),beos)
-- ifneq ($(TARGET),AmigaOS)
-- WARNFLAGS := $(WARNFLAGS) -Werror
-- endif
--endif
- CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
- -I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
- ifneq ($(GCCVER),2)
--- /dev/null
+From 4390f1c84e8fee51fc22468821e6fc158e783053 Mon Sep 17 00:00:00 2001
+From: Michael Drake <michael.drake@codethink.co.uk>
+Date: Thu, 20 Apr 2017 10:51:07 +0100
+Subject: Build: Include gperf-generated code directly.
+
+Previously we built the generated code separatly and then linked to
+it. However, this caused problems with certain compilers and gperf
+versions. This change includes the generated code directly in
+svgtiny.c instead, which is the only place its used.
+
+[Retrieved from:
+https://source.netsurf-browser.org/libsvgtiny.git/commit/src?id=4390f1c84e8fee51fc22468821e6fc158e783053]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ src/Makefile | 13 +++++++------
+ src/colors.gperf | 8 --------
+ src/svgtiny.c | 3 +++
+ src/svgtiny_internal.h | 5 -----
+ 4 files changed, 10 insertions(+), 19 deletions(-)
+
+(limited to 'src')
+
+diff --git a/src/Makefile b/src/Makefile
+index a979720..fb8a72f 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1,13 +1,14 @@
+ # Sources
+ DIR_SOURCES := svgtiny.c svgtiny_gradient.c svgtiny_list.c
+
+-SOURCES := $(SOURCES) $(BUILDDIR)/src_colors.c
++SOURCES := $(SOURCES)
+
+-$(BUILDDIR)/src_colors.c: src/colors.gperf
++$(DIR)autogenerated_colors.c: src/colors.gperf
+ $(VQ)$(ECHO) " GPERF: $<"
+- $(Q)gperf --output-file=$@.tmp $<
+-# Hack for GCC 4.2 compatibility (gperf 3.0.4 solves this properly)
+- $(Q)$(SED) -e 's/#ifdef __GNUC_STDC_INLINE__/#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__/' $@.tmp >$@
+- $(Q)$(RM) $@.tmp
++ $(Q)gperf --output-file=$@ $<
++
++PRE_TARGETS := $(DIR)autogenerated_colors.c
++
++CLEAN_ITEMS := $(DIR)autogenerated_colors.c
+
+ include $(NSBUILD)/Makefile.subdir
+diff --git a/src/colors.gperf b/src/colors.gperf
+index 96d5b9e..a836787 100644
+--- a/src/colors.gperf
++++ b/src/colors.gperf
+@@ -17,14 +17,6 @@
+ #include "svgtiny.h"
+ #include "svgtiny_internal.h"
+
+-/* This unusual define shennanigan is to try and prevent the gperf
+- * generated function from being inlined. This is pointless given
+- * it (a) is in a separate .c file and (b) has external linkage.
+- */
+-#ifdef __inline
+-#undef __inline
+-#define __inline
+-#endif
+ %}
+
+ struct svgtiny_named_color;
+diff --git a/src/svgtiny.c b/src/svgtiny.c
+index 4661a58..bbefb88 100644
+--- a/src/svgtiny.c
++++ b/src/svgtiny.c
+@@ -20,6 +20,9 @@
+ #include "svgtiny.h"
+ #include "svgtiny_internal.h"
+
++/* Source file generated by `gperf`. */
++#include "autogenerated_colors.c"
++
+ #ifndef M_PI
+ #define M_PI 3.14159265358979323846
+ #endif
+diff --git a/src/svgtiny_internal.h b/src/svgtiny_internal.h
+index 158d230..6bf5d64 100644
+--- a/src/svgtiny_internal.h
++++ b/src/svgtiny_internal.h
+@@ -102,9 +102,4 @@ void *svgtiny_list_get(struct svgtiny_list *list,
+ void *svgtiny_list_push(struct svgtiny_list *list);
+ void svgtiny_list_free(struct svgtiny_list *list);
+
+-/* colors.gperf */
+-const struct svgtiny_named_color *
+- svgtiny_color_lookup(register const char *str,
+- register unsigned int len);
+-
+ #endif
+--
+cgit v1.2.1
+