#include <ccan/autodata/autodata.h>
#include <stdbool.h>
#include "../doc_extract.h"
+#include "../manifest.h"
#include "licenses.h"
AUTODATA_TYPE(ccanlint_tests, struct ccanlint);
4 == Describe every action. */
extern int verbose;
-enum compile_type {
- COMPILE_NORMAL,
- COMPILE_NOFEAT,
- COMPILE_COVERAGE,
- COMPILE_TYPES
-};
-
-struct manifest {
- char *dir;
- /* The module name, ie. final element of dir name */
- char *basename;
- struct ccan_file *info_file;
-
- /* Linked off deps. */
- struct list_node list;
- /* Where our final compiled output is */
- char *compiled[COMPILE_TYPES];
-
- struct list_head c_files;
- struct list_head h_files;
-
- struct list_head run_tests;
- struct list_head api_tests;
- struct list_head compile_ok_tests;
- struct list_head compile_fail_tests;
- struct list_head other_test_c_files;
- struct list_head other_test_files;
-
- struct list_head other_files;
- struct list_head examples;
- struct list_head mangled_examples;
-
- /* From tests/check_depends_exist.c */
- struct list_head deps;
-
- /* From tests/license_exists.c */
- enum license license;
-};
-
-/* Get the manifest for a given directory. */
-struct manifest *get_manifest(const void *ctx, const char *dir);
-
/* Error in a particular file: stored off score->per_file_errors. */
struct file_error {
struct list_node list;
struct pp_conditions *cond;
};
-struct ccan_file {
- struct list_node list;
-
- /* Name (usually, within m->dir). */
- char *name;
-
- /* Full path name. */
- char *fullname;
-
- /* Pristine version of the original file.
- * Use get_ccan_file_contents to fill this. */
- const char *contents;
- size_t contents_size;
-
- /* Use get_ccan_file_lines / get_ccan_line_info to fill these. */
- unsigned int num_lines;
- char **lines;
- struct line_info *line_info;
-
- struct list_head *doc_sections;
-
- /* If this file gets compiled (eg. .C file to .o file), result here. */
- char *compiled[COMPILE_TYPES];
-
- /* Filename containing output from valgrind. */
- char *valgrind_log;
-
- /* Leak output from valgrind. */
- char *leak_info;
-
- /* Simplified stream (lowercase letters and single spaces) */
- char *simplified;
-};
-
-/* A new ccan_file, with the given name (talloc_steal onto returned value). */
-struct ccan_file *new_ccan_file(const void *ctx, const char *dir, char *name);
-
-/* Use this rather than accessing f->contents directly: loads on demand. */
-const char *get_ccan_file_contents(struct ccan_file *f);
-
-/* Use this rather than accessing f->lines directly: loads on demand. */
-char **get_ccan_file_lines(struct ccan_file *f);
-
/* Use this rather than accessing f->lines directly: loads on demand. */
struct line_info *get_ccan_line_info(struct ccan_file *f);
/* Did the user want to keep all the results? */
extern bool keep_results;
-/* Where is the ccan dir? Available after first manifest. */
-extern const char *ccan_dir;
-
/* Compiler and CFLAGS, from config.h if available. */
extern const char *compiler, *cflags;
/* Contents of config.h (or NULL if not found) */
extern const char *config_header;
+/* Where is the ccan dir? */
+extern const char *ccan_dir;
+
#endif /* CCAN_LINT_H */