libtest_o_SOURCES = utils.c parser-test.h handler.c main.c $(parser_test_objs)
+$(check_PROGRAMS): %: %.embedded-config.o
+$(check_PROGRAMS): LDADD += $@.embedded-config.o
-EXTRA_DIST = $(check_DATA)
+extract_config = $(srcdir)/extract-config.awk
+
+%.embedded-config.c: %.c $(extract_config)
+ gawk --file=$(extract_config) $^ > $@
+
+EXTRA_DIST = $(check_DATA) $(extract_config)
+
+CLEANFILES = $(foreach f, $(check_PROGRAMS), \
+ $(f).embedded-config.c $(f).embedded-config.o)
--- /dev/null
+BEGIN {
+ config=0
+}
+
+/^#if\s*0\s*\/\*\s*PARSER_EMBEDDED_CONFIG/ {
+ config=1
+ print "#include <stdlib.h>"
+ print "const char __embedded_config[] = "
+ next
+}
+!config {
+ next
+}
+/^#endif/ {
+ print ";"
+ print "const size_t __embedded_config_size = sizeof(__embedded_config);"
+ exit
+}
+{
+ print "\t\"" $0 "\\n\""
+}
int test_run_parser(struct parser_test *test, const char *parser_name);
+/* embedded config */
+extern const char __embedded_config[];
+extern const size_t __embedded_config_size;
+#define test_read_conf_embedded(t) \
+ __test_read_conf_data(t, __embedded_config, __embedded_config_size)
+
#endif /* PARSER_TEST_H */