diff options
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | manuals_and_examples/Makefile.am | 64 | ||||
-rw-r--r-- | manuals_and_examples/doxygen-all.cfg.in (renamed from manuals_and_examples/doxygen-all.cfg) | 15 | ||||
-rw-r--r-- | manuals_and_examples/doxygen-api.cfg.in (renamed from manuals_and_examples/doxygen-api.cfg) | 25 | ||||
-rw-r--r-- | manuals_and_examples/doxygen-basedbms.cfg.in (renamed from manuals_and_examples/doxygen-basedbms.cfg) | 22 | ||||
-rw-r--r-- | manuals_and_examples/doxygen-server.cfg.in (renamed from manuals_and_examples/doxygen-server.cfg) | 0 |
6 files changed, 104 insertions, 31 deletions
diff --git a/configure.ac b/configure.ac index 66ffbcc..c859491 100644 --- a/configure.ac +++ b/configure.ac @@ -40,6 +40,7 @@ AC_PROG_CC AC_PROG_CPP AC_PROG_LEX AC_PROG_INSTALL +AC_PROG_MKDIR_P AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_RANLIB @@ -52,6 +53,14 @@ AC_CHECK_PROGS([JAR_TOOL], [jar], [${am_missing_run} jar]) dnl we need bison not yacc AC_CHECK_PROGS(YACC, bison, [${am_missing_run} bison]) +# Find/use given doxygen executable +AC_ARG_VAR([DOXYGEN], [doxygen executable to build docs with]) +AS_IF([test "x$DOXYGEN" = "x"], + [AC_PATH_PROG([DOXYGEN], [doxygen], [no])], + [AC_MSG_CHECKING([DOXYGEN from env variable]) + AC_MSG_RESULT([${DOXYGEN}])]) +AM_CONDITIONAL([HAVE_DOXYGEN], [test "x$DOXYGEN" != "xno"]) + # Checks for libraries. # FIXME: Replace `main' with a function in `-lcrypt': AC_CHECK_LIB([crypt], [main], , [AC_MSG_FAILURE([libcrypt.a not found! Please install.])]) diff --git a/manuals_and_examples/Makefile.am b/manuals_and_examples/Makefile.am index ca924d3..cdf536d 100644 --- a/manuals_and_examples/Makefile.am +++ b/manuals_and_examples/Makefile.am @@ -42,16 +42,66 @@ EXTRA_DIST = manuals dest_Makefile=$(DESTDIR)$(pkgdatadir)/examples/c++/Makefile +# Set the rasdaman installation root to allow Make finding +# include/ and lib/ for the C++ examples. install-data-hook: - -# Set the rasdaman installation root to allow Make finding - -# include/ and lib/ for the C++ examples. $(SED) \ -e 's|[@]pkgincludedir@|$(pkgincludedir)|g' \ -e 's|[@]pkglibdir@|$(pkglibdir)|g' \ < $(dest_Makefile) > $(dest_Makefile).new mv -f $(dest_Makefile).new $(dest_Makefile) - -# install documentation - (cd ..; doxygen manuals_and_examples/doxygen-all.cfg) - (cd ..; doxygen manuals_and_examples/doxygen-api.cfg) - (cd ..; doxygen manuals_and_examples/doxygen-basedbms.cfg) - cp -r $(srcdir)/manuals/ $(DESTDIR)$(pkgdatadir)/doc + +CLEANFILES = +DOXYGEN_CONFIGS = + +DOXYGEN_CONFIGS += doxygen-all.cfg +DOXYGEN_CONFIGS += doxygen-api.cfg +DOXYGEN_CONFIGS += doxygen-basedbms.cfg +# DOXYGEN_CONFIGS += doxygen-server.cfg + +EXTRA_DIST += doxygen-all.cfg.in +EXTRA_DIST += doxygen-api.cfg.in +EXTRA_DIST += doxygen-basedbms.cfg.in +# EXTRA_DIST += doxygen-server.cfg.in + +CLEANFILES += $(DOXYGEN_CONFIGS) + +SUFFIXES = .cfg.in .cfg +.cfg.in.cfg: + $(SED) \ + -e "s,[@]top_srcdir@,$$(cd "$(top_srcdir)" && pwd),g" \ + -e "s,[@]top_builddir@,$$(cd "$(top_builddir)" && pwd),g" \ + -e "s,[@]PACKAGE@,$(PACKAGE),g" \ + -e "s,[@]VERSION@,$(VERSION),g" \ + $< > $@ + +# Build documentation +if HAVE_DOXYGEN +CFG_TO_DIR = $(SED) -n 's,^doxygen-\([[:alpha:]]*\)\.cfg,dox-manuals/doc-\1,p' + +all-local: $(DOXYGEN_CONFIGS) + @set -ex; for cfg in $(DOXYGEN_CONFIGS); do \ + $(MKDIR_P) "$$(echo "$$cfg" | $(CFG_TO_DIR))"; \ + $(DOXYGEN) "$$cfg"; \ + done + +clean-local: + rm -rf dox-manuals +endif + +# Install the documentation, in two parts: The stuff from $(srcdir) +# and the doxygen built docs from the builddir "." +install-data-local: + $(INSTALL) -m 0755 -d $(DESTDIR)$(pkgdatadir)/doc + cp -R $(srcdir)/manuals/ $(DESTDIR)$(pkgdatadir)/doc +if HAVE_DOXYGEN + if test -d dox-manuals; then \ + cp -R dox-manuals/* $(DESTDIR)$(pkgdatadir)/doc; \ + fi +endif + find $(DESTDIR)$(pkgdatadir)/doc \ + \( -type d -exec chmod 0755 {} \; \) -or \ + \( -type f -exec chmod 0644 {} \; \) + +uninstall-local: + rm -rf $(DESTDIR)$(pkgdatadir)/doc diff --git a/manuals_and_examples/doxygen-all.cfg b/manuals_and_examples/doxygen-all.cfg.in index 7c4d433..9873938 100644 --- a/manuals_and_examples/doxygen-all.cfg +++ b/manuals_and_examples/doxygen-all.cfg.in @@ -62,7 +62,7 @@ PROJECT_NUMBER = # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = manuals_and_examples/manuals/doc-all +OUTPUT_DIRECTORY = @top_builddir@/manuals_and_examples/dox-manuals/doc-all # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -129,7 +129,7 @@ INLINE_INHERITED_MEMB = NO # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. -FULL_PATH_NAMES = NO +FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is @@ -138,7 +138,7 @@ FULL_PATH_NAMES = NO # If left blank the directory from which doxygen is run is used as the # path to strip. -STRIP_FROM_PATH = +STRIP_FROM_PATH = @top_srcdir@ @top_builddir@ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells @@ -598,7 +598,7 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = . +INPUT = @top_srcdir@ @top_builddir@ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -644,7 +644,10 @@ EXCLUDE_SYMLINKS = NO # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* -EXCLUDE_PATTERNS = */test* +EXCLUDE_PATTERNS = */test* */.git* \ + */_b/* */_build/* \ + */_i/* */_inst/* \ + */@PACKAGE@-@VERSION@/* # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the @@ -658,7 +661,7 @@ EXCLUDE_SYMBOLS = # directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = manuals_and_examples/examples +EXAMPLE_PATH = @top_srcdir@/manuals_and_examples/examples # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp diff --git a/manuals_and_examples/doxygen-api.cfg b/manuals_and_examples/doxygen-api.cfg.in index 60a1012..bfed432 100644 --- a/manuals_and_examples/doxygen-api.cfg +++ b/manuals_and_examples/doxygen-api.cfg.in @@ -38,7 +38,7 @@ PROJECT_NUMBER = # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = manuals_and_examples/manuals/doc-api +OUTPUT_DIRECTORY = @top_builddir@/manuals_and_examples/dox-manuals/doc-api # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -105,7 +105,7 @@ INLINE_INHERITED_MEMB = NO # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. -FULL_PATH_NAMES = NO +FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is @@ -114,7 +114,7 @@ FULL_PATH_NAMES = NO # If left blank the directory from which doxygen is run is used as the # path to strip. -STRIP_FROM_PATH = +STRIP_FROM_PATH = @top_srcdir@ @top_builddir@ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells @@ -574,12 +574,12 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = raslib \ - rasodmg \ - compression \ - conversion \ - include \ - java/rasj +INPUT = @top_srcdir@/raslib \ + @top_srcdir@/rasodmg \ + @top_srcdir@/compression \ + @top_srcdir@/conversion \ + @top_srcdir@/include \ + @top_srcdir@/java/rasj # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -622,7 +622,10 @@ EXCLUDE_SYMLINKS = NO # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* -EXCLUDE_PATTERNS = */test* +EXCLUDE_PATTERNS = */test* */.git* \ + */_b/* */_build/* \ + */_i/* */_inst/* \ + */@PACKAGE@-@VERSION@/* # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the @@ -636,7 +639,7 @@ EXCLUDE_SYMBOLS = # directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = manuals_and_examples/examples +EXAMPLE_PATH = @top_srcdir@/manuals_and_examples/examples # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp diff --git a/manuals_and_examples/doxygen-basedbms.cfg b/manuals_and_examples/doxygen-basedbms.cfg.in index 55ad551..9f1bdc8 100644 --- a/manuals_and_examples/doxygen-basedbms.cfg +++ b/manuals_and_examples/doxygen-basedbms.cfg.in @@ -38,7 +38,7 @@ PROJECT_NUMBER = # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = manuals_and_examples/manuals/doc-basedbms +OUTPUT_DIRECTORY = @top_builddir@/manuals_and_examples/dox-manuals/doc-basedbms # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -105,7 +105,7 @@ INLINE_INHERITED_MEMB = NO # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. -FULL_PATH_NAMES = NO +FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is @@ -114,7 +114,7 @@ FULL_PATH_NAMES = NO # If left blank the directory from which doxygen is run is used as the # path to strip. -STRIP_FROM_PATH = +STRIP_FROM_PATH = @top_srcdir@ @top_builddir@ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells @@ -574,7 +574,12 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = reladminif relblobif relcatalogif relindexif relmddif relstorageif +INPUT = @top_srcdir@/reladminif @top_builddir@/reladminif \ + @top_srcdir@/relblobif @top_builddir@/relblobif \ + @top_srcdir@/relcatalogif @top_builddir@/relcatalogif \ + @top_srcdir@/relindexif @top_builddir@/relindexif \ + @top_srcdir@/relmddif @top_builddir@/relmddif \ + @top_srcdir@/relstorageif @top_builddir@/relstorageif # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -603,7 +608,7 @@ RECURSIVE = YES # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = test +EXCLUDE = test # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded @@ -617,7 +622,10 @@ EXCLUDE_SYMLINKS = NO # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* -EXCLUDE_PATTERNS = */test* +EXCLUDE_PATTERNS = */test* */.git* \ + */_b/* */_build/* \ + */_i/* */_inst/* \ + */@PACKAGE@-@VERSION@/* # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the @@ -631,7 +639,7 @@ EXCLUDE_SYMBOLS = # directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = manuals_and_examples/examples +EXAMPLE_PATH = @top_srcdir@/manuals_and_examples/examples # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp diff --git a/manuals_and_examples/doxygen-server.cfg b/manuals_and_examples/doxygen-server.cfg.in index 400bf57..400bf57 100644 --- a/manuals_and_examples/doxygen-server.cfg +++ b/manuals_and_examples/doxygen-server.cfg.in |