From c0db4fcd6e4eb0199b38b93ab13cbcd00acbfb61 Mon Sep 17 00:00:00 2001 From: Krystian Kisielak Date: Thu, 25 Aug 2016 17:38:21 +0200 Subject: [PATCH] Adds creation of doxygen documentation package. Change-Id: Ie115904d41dea90d5c26844c483ebc0c87fbaa7e Signed-off-by: Krystian Kisielak --- Makefile.am | 15 +++++++++++++++ configure.ac | 14 ++++++++++++++ doxygen.cfg | 17 +++++++++++++++++ packaging/libdbuspolicy.spec | 22 ++++++++++++++++++++-- src/dbuspolicy1/libdbuspolicy1.h | 3 +++ 5 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 doxygen.cfg diff --git a/Makefile.am b/Makefile.am index 12f16c5..a46bb38 100644 --- a/Makefile.am +++ b/Makefile.am @@ -101,3 +101,18 @@ src_test_libdbuspolicy1_signal_LDADD = $(CYNARA_LIBS) \ src_test_libdbuspolicy1_method_LDADD = $(CYNARA_LIBS) \ src/libinternal.a + +if ENABLE_DOXYGEN + +CLEANFILES += documentation + +all-local:: doxygen.stamp + +doxygen.stamp:: doxygen.cfg + doxygen $< + echo Timestamp > $@ + +install-data-local:: + $(MKDIR_P) $(DESTDIR)/${docdir} + cp -r documentation/* $(DESTDIR)/${docdir} +endif diff --git a/configure.ac b/configure.ac index 8e9a190..3a0e44f 100644 --- a/configure.ac +++ b/configure.ac @@ -54,6 +54,19 @@ if test "x$with_tests" = "xyes"; then AC_DEFINE(LIBDBUSPOLICY_TESTS_API, 1, [Define if tests are enabled]) fi + +AC_ARG_ENABLE([doxygen], + AS_HELP_STRING([--enable-doxygen], [enable doxygen documentation @<:@default=disabled@:>@]), + [], [enable_doxygen=no]) +AM_CONDITIONAL([ENABLE_DOXYGEN], [test x$enable_doxygen = xyes]) +AS_IF([test "x$enable_doxygen" = "xyes"], [ + AC_CHECK_PROGS([DOXYGEN], [doxygen]) + if test -z "$DOXYGEN" + then AC_MSG_ERROR([Doxygen not found!]) + enable_doxygen=no + fi +]) + AC_CHECK_FUNCS([ \ __secure_getenv \ secure_getenv\ @@ -108,4 +121,5 @@ AC_MSG_RESULT([ logging: ${enable_logging} debug: ${enable_debug} + doxygen: ${enable_doxygen} ]) diff --git a/doxygen.cfg b/doxygen.cfg new file mode 100644 index 0000000..ff1c452 --- /dev/null +++ b/doxygen.cfg @@ -0,0 +1,17 @@ +PROJECT_NAME = "libdbuspolicy" +OUTPUT_DIRECTORY = documentation +GENERATE_LATEX = NO +GENERATE_MAN = NO +GENERATE_RTF = NO +CASE_SENSE_NAMES = NO +INPUT = src/dbuspolicy1/libdbuspolicy1.h +JAVADOC_AUTOBRIEF = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +TYPEDEF_HIDES_STRUCT = YES +INLINE_SOURCES = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +SEARCHENGINE = NO +COMPACT_LATEX = YES +LATEX_HIDE_INDICES = YES diff --git a/packaging/libdbuspolicy.spec b/packaging/libdbuspolicy.spec index 9713e86..590dd18 100644 --- a/packaging/libdbuspolicy.spec +++ b/packaging/libdbuspolicy.spec @@ -9,7 +9,6 @@ Source1001: %{name}.manifest BuildRequires: boost-devel BuildRequires: pkgconfig(cynara-client) - %package devel Summary: Helper library for fine-grained userspace policy handling-development package Requires: %{name} = %{version} @@ -23,6 +22,16 @@ libdbuspolicy is a helper library for fine-grained userspace policy handling (with SMACK support). This package contains development files. + +%if 0%{?enable_doxygen:1} +%package doc +Summary: Documentation for libdbuspolicy +BuildRequires: doxygen + +%description doc +Doxygen documentation for libdbuspolicy. +%endif + %prep %setup -q cp %{SOURCE1001} . @@ -30,8 +39,12 @@ cp %{SOURCE1001} . %build %reconfigure --libdir=%{_libdir} --prefix=/usr \ %if 0%{?test_version} ---enable-tests +--enable-tests \ %endif +%if 0%{?enable_doxygen:1} +--enable-doxygen +%endif + make make check @@ -55,4 +68,9 @@ rm %{buildroot}%{_libdir}/libdbuspolicy1.la %{_libdir}/libdbuspolicy1.so %manifest %{name}.manifest +%if 0%{?enable_doxygen:1} +%files doc +%defattr(-,root,root) +%{_datadir}/doc/dbuspolicy/* +%endif %changelog diff --git a/src/dbuspolicy1/libdbuspolicy1.h b/src/dbuspolicy1/libdbuspolicy1.h index 35da6fe..b6ffdae 100644 --- a/src/dbuspolicy1/libdbuspolicy1.h +++ b/src/dbuspolicy1/libdbuspolicy1.h @@ -14,6 +14,9 @@ * limitations under the License. */ +/** + * \file libdbuspolicy1.h + */ #ifndef _LIBDBUSPOLICY1_H_ #define _LIBDBUSPOLICY1_H_ -- 2.7.4