summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile13
-rw-r--r--src/colors.gperf8
-rw-r--r--src/svgtiny.c3
-rw-r--r--src/svgtiny_internal.h5
4 files changed, 10 insertions, 19 deletions
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