[Swfdec] 2 commits - configure.ac libswfdec/Makefile.am libswfdec/swfdec_as_strings.c
Benjamin Otte
company at kemper.freedesktop.org
Sun Oct 14 11:06:50 PDT 2007
configure.ac | 1
libswfdec/Makefile.am | 20 ++++++++++---------
libswfdec/swfdec_as_strings.c | 44 ------------------------------------------
3 files changed, 12 insertions(+), 53 deletions(-)
New commits:
commit 997aca7ef578ec31baf1bae06daf015a04b42e84
Merge: d893510... 1d5c170...
Author: Benjamin Otte <otte at gnome.org>
Date: Sun Oct 14 20:05:45 2007 +0200
Merge branch 'master' of ssh://company@git.freedesktop.org/git/swfdec/swfdec
commit d8935101077b7a291cf50aa63714ef0a00224a43
Author: Benjamin Otte <otte at gnome.org>
Date: Sun Oct 14 20:05:21 2007 +0200
don't generate swfdec_as_strings.h with a self-compiled program, use awk instead
This is a cross-compile fix, so we don't need to fiddle with HOSTCC vs TARGETCC.
It's probably awesome code, but I'm neither a master of shell nor awk.
Patches welcome.
diff --git a/configure.ac b/configure.ac
index 449c9c9..75e5a0a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -53,6 +53,7 @@ AC_PROG_CC
AM_PROG_CC_STDC
AM_PROG_CC_C_O
AM_PROG_AS
+AC_PROG_AWK
AC_HEADER_STDC([])
diff --git a/libswfdec/Makefile.am b/libswfdec/Makefile.am
index 07ca529..0c2e2a6 100644
--- a/libswfdec/Makefile.am
+++ b/libswfdec/Makefile.am
@@ -1,10 +1,5 @@
SUBDIRS = jpeg
-noinst_PROGRAMS = compute-strings
-
-compute_strings_SOURCES = swfdec_as_strings.c
-compute_strings_CFLAGS = -DCOMPUTE_SWFDEC_AS_STRINGS_H
-
CODECS =
if HAVE_FFMPEG
@@ -310,10 +305,17 @@ swfdec_enums.c: $(public_headers) Makefile
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
--vtail " { 0, NULL, NULL }\n };\n etype = g_ at type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n }\n return etype;\n}\n" \
$(public_headers) ) > xgen-sec \
- && cp xgen-sec swfdec_enums.c \
+ && (cmp -s xgen-sec swfdec_enums.c || cp xgen-sec swfdec_enums.c ) \
&& rm -f xgen-sec
-swfdec_as_strings.h: swfdec_as_strings.c compute-strings
- ./compute-strings >> xgen-sas \
- && cp xgen-sas swfdec_as_strings.h \
+swfdec_as_strings.h: swfdec_as_strings.c
+ ( cd $(srcdir) && echo "/* This is a generated file. See swfdec_as_strings.c for details. */" \
+ && echo "#ifndef _SWFDEC_AS_STRINGS_H_" \
+ && echo "#define _SWFDEC_AS_STRINGS_H_" \
+ && echo -e "\nextern const char swfdec_as_strings[];\n" \
+ && grep " SWFDEC_AS_CONSTANT_STRING" swfdec_as_strings.c \
+ | sed "s/.*(\"\(.*\)\").*/\1/" \
+ | $(AWK) '{ if ($$0 == "") name = "EMPTY"; else if ($$0 == ",") name = "COMMA"; else if ($$0 == "/") name = "SLASH"; else name = $$0; gsub("[^a-zA-Z0-9]","_",name); print "#define SWFDEC_AS_STR_" name " &swfdec_as_strings[" x + 1 "]"; x = x + length ($$0) + 2 }' \
+ && echo -e "\n#endif" ) > xgen-sas \
+ && (cmp -s xgen-sas swfdec_as_strings.h || cp xgen-sas swfdec_as_strings.h ) \
&& rm -f xgen-sas
diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 89431a3..1477395 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -399,47 +399,3 @@ const char swfdec_as_strings[] =
SWFDEC_AS_CONSTANT_STRING ("Key")
/* add more here */
;
-
-#ifdef COMPUTE_SWFDEC_AS_STRINGS_H
-/* This code creates the offset */
-#include <stdio.h>
-#include <string.h>
-
-int
-main (int argc, char **argv)
-{
- const char *cur = swfdec_as_strings;
- char *name, *s;
-
- printf ("/* This is a generated file. See swfdec_as_strings.c for details. */\n");
- printf ("#ifndef _SWFDEC_AS_STRINGS_H_\n");
- printf ("#define _SWFDEC_AS_STRINGS_H_\n");
- printf ("\n");
- printf ("extern const char swfdec_as_strings[];\n");
- printf ("\n");
- while (*cur != 0) {
- cur++;
- if (!strcmp (cur, "")) {
- name = strdup ("EMPTY");
- } else if (!strcmp (cur, ",")) {
- name = strdup ("COMMA");
- } else if (!strcmp (cur, "/")) {
- name = strdup ("SLASH");
- } else {
- s = name = strdup (cur);
- while (*s) {
- if (!isalnum (*s))
- *s = '_';
- s++;
- }
- }
- printf ("#define SWFDEC_AS_STR_%s &swfdec_as_strings[%u]\n", name,
- (unsigned int) (cur - swfdec_as_strings));
- free (name);
- cur += strlen (cur) + 1;
- }
- printf ("\n");
- printf ("#endif /* _SWFDEC_AS_STRINGS_H_ */\n");
- return 0;
-}
-#endif
More information about the Swfdec
mailing list