summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxi <xi@18f92427-320e-0410-9341-c67f048884a3>2006-05-21 14:58:32 +0000
committerxi <xi@18f92427-320e-0410-9341-c67f048884a3>2006-05-21 14:58:32 +0000
commit9dacdb3dceebc1f1d11a9f2445b73745d7ea58b5 (patch)
tree6cb0f90ea5b674ef298fe24559856d575d55adb8
parent22b7d273c0cc7fff3e6149677a5a099c8ad97748 (diff)
downloadlibyaml-9dacdb3dceebc1f1d11a9f2445b73745d7ea58b5.tar.gz
Add doxygen support.
git-svn-id: http://svn.pyyaml.org/libyaml/trunk@172 18f92427-320e-0410-9341-c67f048884a3
-rw-r--r--Makefile.am11
-rw-r--r--configure.ac3
-rw-r--r--doc/doxygen.cfg222
-rw-r--r--include/Makefile.am18
-rw-r--r--include/yaml/yaml.h9
-rw-r--r--include/yaml/yaml_version.h18
-rw-r--r--src/version.c8
-rw-r--r--tests/Makefile.am2
-rw-r--r--tests/test-version.c9
9 files changed, 281 insertions, 19 deletions
diff --git a/Makefile.am b/Makefile.am
index d25f6d2..d1c309f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,3 +2,14 @@
## the "$SUBDIR" subdirectories.
SUBDIRS = include src . tests
+
+EXTRA_DIST = doc/doxygen.cfg
+
+maintainer-clean-local:
+ -rm -f aclocal.m4 config.h.in configure config/*
+ -find ${builddir} -name Makefile.in -exec rm -f '{}' ';'
+
+.PHONY: bootstrap
+bootstrap: maintainer-clean
+ ./bootstrap
+
diff --git a/configure.ac b/configure.ac
index 34d7f70..95ec383 100644
--- a/configure.ac
+++ b/configure.ac
@@ -55,6 +55,9 @@ AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL
+AC_CHECK_PROG(DOXYGEN, [doxygen], [true], [false])
+AM_CONDITIONAL(DOXYGEN, [test "$DOXYGEN" = true])
+
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([stdlib.h])
diff --git a/doc/doxygen.cfg b/doc/doxygen.cfg
new file mode 100644
index 0000000..c3f6d85
--- /dev/null
+++ b/doc/doxygen.cfg
@@ -0,0 +1,222 @@
+# Doxyfile 1.4.4
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME = $(PACKAGE)
+PROJECT_NUMBER = $(VERSION)
+OUTPUT_DIRECTORY = $(top_builddir)/doc/
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+USE_WINDOWS_ENCODING = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = NO
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = YES
+STRIP_FROM_PATH =
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP = NO
+INHERIT_DOCS = YES
+DISTRIBUTE_GROUP_DOC = NO
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = YES
+OPTIMIZE_OUTPUT_JAVA = NO
+SUBGROUPING = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = NO
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = NO
+EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_LOCAL_METHODS = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = YES
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = $(top_srcdir)/include/
+FILE_PATTERNS = *.h
+RECURSIVE = YES
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION = NO
+USE_HTAGS = NO
+VERBATIM_HEADERS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = NO
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+BINARY_TOC = NO
+TOC_EXPAND = NO
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = NO
+TREEVIEW_WIDTH = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+USE_PDFLATEX = NO
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED =
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = NO
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = NO
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
diff --git a/include/Makefile.am b/include/Makefile.am
index 29b04f3..5db6705 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -1 +1,17 @@
-nobase_include_HEADERS = yaml/yaml.h yaml/yaml_version.h yaml/yaml_error.h
+INCLUDES = yaml/yaml.h yaml/yaml_version.h yaml/yaml_error.h
+DOXYGEN_CFG = $(top_srcdir)/doc/doxygen.cfg
+
+nobase_include_HEADERS = $(INCLUDES)
+
+if DOXYGEN
+
+html: $(INCLUDES) $(DOXYGEN_CFG)
+ PACKAGE=$(PACKAGE) VERSION=$(VERSION) top_srcdir=$(top_srcdir) top_builddir=$(top_builddir) doxygen $(DOXYGEN_CFG)
+
+endif
+
+distclean-local:
+ -rm -rf $(top_builddir)/doc/html
+
+dist-hook: html
+ cp -a $(top_builddir)/doc/html $(top_distdir)/doc
diff --git a/include/yaml/yaml.h b/include/yaml/yaml.h
index eecfe10..64412c7 100644
--- a/include/yaml/yaml.h
+++ b/include/yaml/yaml.h
@@ -1,3 +1,12 @@
+/**
+ * @file yaml.h
+ * @brief Public interface for libyaml.
+ *
+ * Include the header file with
+ * @code
+ * #include <yaml/yaml.h>
+ * @endcode
+ */
#ifndef YAML_H
#define YAML_H
diff --git a/include/yaml/yaml_version.h b/include/yaml/yaml_version.h
index bcea9b8..2ff74a5 100644
--- a/include/yaml/yaml_version.h
+++ b/include/yaml/yaml_version.h
@@ -1,3 +1,10 @@
+/**
+ * @file yaml_version.h
+ * @brief Version information.
+ *
+ * Do not include yaml_version.h directly.
+ */
+
#ifndef YAML_VERSION_H
#define YAML_VERSION_H
@@ -5,15 +12,20 @@
extern "C" {
#endif
+/**
+ * @brief Get the library version.
+ */
+
const char *
yaml_get_version_string(void);
+/**
+ * @brief Get the library version numbers.
+ */
+
void
yaml_get_version(int *major, int *minor, int *patch);
-int
-yaml_check_version(int major, int minor, int patch);
-
#ifdef __cplusplus
}
#endif
diff --git a/src/version.c b/src/version.c
index 3f8938d..b7f5904 100644
--- a/src/version.c
+++ b/src/version.c
@@ -19,11 +19,3 @@ yaml_get_version(int *major, int *minor, int *patch)
*patch = YAML_VERSION_PATCH;
}
-int
-yaml_check_version(int major, int minor, int patch)
-{
- return (major == YAML_VERSION_MAJOR
- && minor == YAML_VERSION_MINOR
- && patch >= YAML_VERSION_PATCH);
-}
-
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 75e52f9..ea70ba5 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,4 +1,4 @@
AM_CPPFLAGS = -I$(top_srcdir)/include
-LDADD = $(top_srcdir)/src/libyaml.la
+LDADD = $(top_builddir)/src/libyaml.la
TESTS = test-version
check_PROGRAMS = test-version
diff --git a/tests/test-version.c b/tests/test-version.c
index 51b75f4..578d678 100644
--- a/tests/test-version.c
+++ b/tests/test-version.c
@@ -7,17 +7,14 @@
int
main(void)
{
- int major, minor, patch;
+ int major = -1;
+ int minor = -1;
+ int patch = -1;
char buf[64];
yaml_get_version(&major, &minor, &patch);
sprintf(buf, "%d.%d.%d", major, minor, patch);
assert(strcmp(buf, yaml_get_version_string()) == 0);
- assert(yaml_check_version(major+1, minor, patch) == 0);
- assert(yaml_check_version(major, minor+1, patch) == 0);
- assert(yaml_check_version(major, minor, patch+1) == 1);
- assert(yaml_check_version(major, minor, patch) == 1);
- assert(yaml_check_version(major, minor, patch-1) == 0);
return 0;
}