|
@@ -0,0 +1,97 @@
|
|
|
|
+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
|
|
|
|
+
|