diff options
-rw-r--r-- | src/Makefile | 13 | ||||
-rw-r--r-- | src/colors.gperf | 8 | ||||
-rw-r--r-- | src/svgtiny.c | 3 | ||||
-rw-r--r-- | src/svgtiny_internal.h | 5 |
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 |