mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 14:04:32 +00:00 
			
		
		
		
	Adding support for doxygen generation
This commit is contained in:
		@@ -1,4 +1,11 @@
 | 
			
		||||
# additional include paths necessary to compile the C++ library
 | 
			
		||||
AM_CXXFLAGS = -I$(top_srcdir)/
 | 
			
		||||
SUBDIRS = lib tests benchmarks
 | 
			
		||||
SUBDIRS = lib tests benchmarks docs
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if DOXYGEN_DOC
 | 
			
		||||
directory = $(top_srcdir)/docs/
 | 
			
		||||
 | 
			
		||||
doxyfile:
 | 
			
		||||
        (cd $(directory) && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; 
 | 
			
		||||
endif 
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										23
									
								
								Makefile.in
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								Makefile.in
									
									
									
									
									
								
							@@ -81,10 +81,12 @@ target_triplet = @target@
 | 
			
		||||
subdir = .
 | 
			
		||||
DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
 | 
			
		||||
	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 | 
			
		||||
	$(top_srcdir)/configure $(am__configure_deps) COPYING TODO \
 | 
			
		||||
	compile config.guess config.sub depcomp install-sh missing
 | 
			
		||||
	$(top_srcdir)/configure $(am__configure_deps) \
 | 
			
		||||
	$(top_srcdir)/docs/doxy.cfg.in COPYING TODO compile \
 | 
			
		||||
	config.guess config.sub depcomp install-sh missing
 | 
			
		||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 | 
			
		||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \
 | 
			
		||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_prog_doxygen.m4 \
 | 
			
		||||
	$(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \
 | 
			
		||||
	$(top_srcdir)/configure.ac
 | 
			
		||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 | 
			
		||||
	$(ACLOCAL_M4)
 | 
			
		||||
@@ -92,7 +94,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 | 
			
		||||
 configure.lineno config.status.lineno
 | 
			
		||||
mkinstalldirs = $(install_sh) -d
 | 
			
		||||
CONFIG_HEADER = $(top_builddir)/lib/Grid_config.h
 | 
			
		||||
CONFIG_CLEAN_FILES =
 | 
			
		||||
CONFIG_CLEAN_FILES = docs/doxy.cfg
 | 
			
		||||
CONFIG_CLEAN_VPATH_FILES =
 | 
			
		||||
AM_V_P = $(am__v_P_@AM_V@)
 | 
			
		||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 | 
			
		||||
@@ -207,6 +209,8 @@ CXXFLAGS = @CXXFLAGS@
 | 
			
		||||
CYGPATH_W = @CYGPATH_W@
 | 
			
		||||
DEFS = @DEFS@
 | 
			
		||||
DEPDIR = @DEPDIR@
 | 
			
		||||
DOT = @DOT@
 | 
			
		||||
DOXYGEN = @DOXYGEN@
 | 
			
		||||
ECHO_C = @ECHO_C@
 | 
			
		||||
ECHO_N = @ECHO_N@
 | 
			
		||||
ECHO_T = @ECHO_T@
 | 
			
		||||
@@ -261,6 +265,9 @@ datadir = @datadir@
 | 
			
		||||
datarootdir = @datarootdir@
 | 
			
		||||
docdir = @docdir@
 | 
			
		||||
dvidir = @dvidir@
 | 
			
		||||
enable_dot = @enable_dot@
 | 
			
		||||
enable_html_docs = @enable_html_docs@
 | 
			
		||||
enable_latex_docs = @enable_latex_docs@
 | 
			
		||||
exec_prefix = @exec_prefix@
 | 
			
		||||
host = @host@
 | 
			
		||||
host_alias = @host_alias@
 | 
			
		||||
@@ -297,7 +304,8 @@ top_srcdir = @top_srcdir@
 | 
			
		||||
 | 
			
		||||
# additional include paths necessary to compile the C++ library
 | 
			
		||||
AM_CXXFLAGS = -I$(top_srcdir)/
 | 
			
		||||
SUBDIRS = lib tests benchmarks
 | 
			
		||||
SUBDIRS = lib tests benchmarks docs
 | 
			
		||||
@DOXYGEN_DOC_TRUE@directory = $(top_srcdir)/docs/
 | 
			
		||||
all: all-recursive
 | 
			
		||||
 | 
			
		||||
.SUFFIXES:
 | 
			
		||||
@@ -335,6 +343,8 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 | 
			
		||||
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 | 
			
		||||
	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
 | 
			
		||||
$(am__aclocal_m4_deps):
 | 
			
		||||
docs/doxy.cfg: $(top_builddir)/config.status $(top_srcdir)/docs/doxy.cfg.in
 | 
			
		||||
	cd $(top_builddir) && $(SHELL) ./config.status $@
 | 
			
		||||
 | 
			
		||||
# This directory's subdirectories are mostly independent; you can cd
 | 
			
		||||
# into them and run 'make' without going through this Makefile.
 | 
			
		||||
@@ -752,6 +762,9 @@ uninstall-am:
 | 
			
		||||
	pdf-am ps ps-am tags tags-am uninstall uninstall-am
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@DOXYGEN_DOC_TRUE@doxyfile:
 | 
			
		||||
@DOXYGEN_DOC_TRUE@        (cd $(directory) && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; 
 | 
			
		||||
 | 
			
		||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
 | 
			
		||||
# Otherwise a system limit (for SysV at least) may be exceeded.
 | 
			
		||||
.NOEXPORT:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								TODO
									
									
									
									
									
								
							@@ -64,6 +64,9 @@ Insert/Extract
 | 
			
		||||
  - optional parallel MPI2 IO
 | 
			
		||||
  - move Plaquette and link trace checks into nersc reader from the Grid_nersc_io.cc test.
 | 
			
		||||
 | 
			
		||||
* Support for ILDG
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Actions -- coherent framework for implementing actions and their forces.
 | 
			
		||||
 | 
			
		||||
* Fermion
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								aclocal.m4
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								aclocal.m4
									
									
									
									
										vendored
									
									
								
							@@ -1083,4 +1083,5 @@ AC_SUBST([am__tar])
 | 
			
		||||
AC_SUBST([am__untar])
 | 
			
		||||
]) # _AM_PROG_TAR
 | 
			
		||||
 | 
			
		||||
m4_include([m4/ac_prog_doxygen.m4])
 | 
			
		||||
m4_include([m4/ax_cxx_compile_stdcxx_11.m4])
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										183
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										183
									
								
								configure
									
									
									
									
										vendored
									
									
								
							@@ -626,6 +626,13 @@ ac_subst_vars='am__EXEEXT_FALSE
 | 
			
		||||
am__EXEEXT_TRUE
 | 
			
		||||
LTLIBOBJS
 | 
			
		||||
LIBOBJS
 | 
			
		||||
enable_latex_docs
 | 
			
		||||
enable_html_docs
 | 
			
		||||
enable_dot
 | 
			
		||||
DOXYGEN_DOC_FALSE
 | 
			
		||||
DOXYGEN_DOC_TRUE
 | 
			
		||||
DOT
 | 
			
		||||
DOXYGEN
 | 
			
		||||
BUILD_COMMS_NONE_FALSE
 | 
			
		||||
BUILD_COMMS_NONE_TRUE
 | 
			
		||||
BUILD_COMMS_MPI_FALSE
 | 
			
		||||
@@ -738,6 +745,10 @@ enable_dependency_tracking
 | 
			
		||||
enable_openmp
 | 
			
		||||
enable_simd
 | 
			
		||||
enable_comms
 | 
			
		||||
enable_doxygen
 | 
			
		||||
enable_dot
 | 
			
		||||
enable_html_docs
 | 
			
		||||
enable_latex_docs
 | 
			
		||||
'
 | 
			
		||||
      ac_precious_vars='build_alias
 | 
			
		||||
host_alias
 | 
			
		||||
@@ -1379,6 +1390,11 @@ Optional Features:
 | 
			
		||||
                          Select instructions to be SSE4.0, AVX 1.0, AVX
 | 
			
		||||
                          2.0+FMA, AVX 512, MIC
 | 
			
		||||
  --enable-comms=none|mpi Select communications
 | 
			
		||||
  --enable-doxygen        enable documentation generation with doxygen (auto)
 | 
			
		||||
  --enable-dot            use 'dot' to generate graphs in doxygen (auto)
 | 
			
		||||
  --enable-html-docs      enable HTML generation with doxygen (yes)
 | 
			
		||||
  --enable-latex-docs     enable LaTeX documentation generation with doxygen
 | 
			
		||||
                          (no)
 | 
			
		||||
 | 
			
		||||
Some influential environment variables:
 | 
			
		||||
  CXX         C++ compiler command
 | 
			
		||||
@@ -4893,6 +4909,165 @@ fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
###################################################################
 | 
			
		||||
# Checks for doxygen support
 | 
			
		||||
# if present enables the "make doxyfile" command
 | 
			
		||||
echo
 | 
			
		||||
echo Checking doxygen support
 | 
			
		||||
echo :::::::::::::::::::::::::::::::::::::::::::
 | 
			
		||||
 | 
			
		||||
# Check whether --enable-doxygen was given.
 | 
			
		||||
if test "${enable_doxygen+set}" = set; then :
 | 
			
		||||
  enableval=$enable_doxygen;
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Check whether --enable-dot was given.
 | 
			
		||||
if test "${enable_dot+set}" = set; then :
 | 
			
		||||
  enableval=$enable_dot;
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Check whether --enable-html-docs was given.
 | 
			
		||||
if test "${enable_html_docs+set}" = set; then :
 | 
			
		||||
  enableval=$enable_html_docs;
 | 
			
		||||
else
 | 
			
		||||
   enable_html_docs=yes
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Check whether --enable-latex-docs was given.
 | 
			
		||||
if test "${enable_latex_docs+set}" = set; then :
 | 
			
		||||
  enableval=$enable_latex_docs;
 | 
			
		||||
else
 | 
			
		||||
  enable_latex_docs=no
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if test "x$enable_doxygen" = xno; then
 | 
			
		||||
 enable_doc=no
 | 
			
		||||
else
 | 
			
		||||
 # Extract the first word of "doxygen", so it can be a program name with args.
 | 
			
		||||
set dummy doxygen; ac_word=$2
 | 
			
		||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 | 
			
		||||
$as_echo_n "checking for $ac_word... " >&6; }
 | 
			
		||||
if ${ac_cv_prog_DOXYGEN+:} false; then :
 | 
			
		||||
  $as_echo_n "(cached) " >&6
 | 
			
		||||
else
 | 
			
		||||
  if test -n "$DOXYGEN"; then
 | 
			
		||||
  ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test.
 | 
			
		||||
else
 | 
			
		||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 | 
			
		||||
for as_dir in $PATH
 | 
			
		||||
do
 | 
			
		||||
  IFS=$as_save_IFS
 | 
			
		||||
  test -z "$as_dir" && as_dir=.
 | 
			
		||||
    for ac_exec_ext in '' $ac_executable_extensions; do
 | 
			
		||||
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
 | 
			
		||||
    ac_cv_prog_DOXYGEN="doxygen"
 | 
			
		||||
    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 | 
			
		||||
    break 2
 | 
			
		||||
  fi
 | 
			
		||||
done
 | 
			
		||||
  done
 | 
			
		||||
IFS=$as_save_IFS
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
DOXYGEN=$ac_cv_prog_DOXYGEN
 | 
			
		||||
if test -n "$DOXYGEN"; then
 | 
			
		||||
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
 | 
			
		||||
$as_echo "$DOXYGEN" >&6; }
 | 
			
		||||
else
 | 
			
		||||
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 | 
			
		||||
$as_echo "no" >&6; }
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 if test x$DOXYGEN = x; then
 | 
			
		||||
  if test "x$enable_doxygen" = xyes; then
 | 
			
		||||
   as_fn_error $? "could not find doxygen" "$LINENO" 5
 | 
			
		||||
  fi
 | 
			
		||||
  enable_doc=no
 | 
			
		||||
 else
 | 
			
		||||
  doxy_ver=`doxygen --version`
 | 
			
		||||
  doxy_major=`expr "$doxy_ver" : '\([0-9]\)\..*'`
 | 
			
		||||
  doxy_minor=`expr "$doxy_ver" : '[0-9]\.\([0-9]\).*'`
 | 
			
		||||
  if test $doxy_major -eq "1" -a $doxy_minor -ge "3" ; then
 | 
			
		||||
   enable_doc=yes
 | 
			
		||||
   # Extract the first word of "dot", so it can be a program name with args.
 | 
			
		||||
set dummy dot; ac_word=$2
 | 
			
		||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 | 
			
		||||
$as_echo_n "checking for $ac_word... " >&6; }
 | 
			
		||||
if ${ac_cv_prog_DOT+:} false; then :
 | 
			
		||||
  $as_echo_n "(cached) " >&6
 | 
			
		||||
else
 | 
			
		||||
  if test -n "$DOT"; then
 | 
			
		||||
  ac_cv_prog_DOT="$DOT" # Let the user override the test.
 | 
			
		||||
else
 | 
			
		||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 | 
			
		||||
for as_dir in $PATH
 | 
			
		||||
do
 | 
			
		||||
  IFS=$as_save_IFS
 | 
			
		||||
  test -z "$as_dir" && as_dir=.
 | 
			
		||||
    for ac_exec_ext in '' $ac_executable_extensions; do
 | 
			
		||||
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
 | 
			
		||||
    ac_cv_prog_DOT="dot"
 | 
			
		||||
    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 | 
			
		||||
    break 2
 | 
			
		||||
  fi
 | 
			
		||||
done
 | 
			
		||||
  done
 | 
			
		||||
IFS=$as_save_IFS
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
DOT=$ac_cv_prog_DOT
 | 
			
		||||
if test -n "$DOT"; then
 | 
			
		||||
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5
 | 
			
		||||
$as_echo "$DOT" >&6; }
 | 
			
		||||
else
 | 
			
		||||
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 | 
			
		||||
$as_echo "no" >&6; }
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  else
 | 
			
		||||
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: doxygen version $doxy_ver too old, doxygen will not be used." >&5
 | 
			
		||||
$as_echo "$as_me: WARNING: doxygen version $doxy_ver too old, doxygen will not be used." >&2;}
 | 
			
		||||
   enable_doc=no
 | 
			
		||||
  fi
 | 
			
		||||
 fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 if test x$enable_doc = xyes; then
 | 
			
		||||
  DOXYGEN_DOC_TRUE=
 | 
			
		||||
  DOXYGEN_DOC_FALSE='#'
 | 
			
		||||
else
 | 
			
		||||
  DOXYGEN_DOC_TRUE='#'
 | 
			
		||||
  DOXYGEN_DOC_FALSE=
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if test x$DOT = x; then
 | 
			
		||||
 if test "x$enable_dot" = xyes; then
 | 
			
		||||
  as_fn_error $? "could not find dot" "$LINENO" 5
 | 
			
		||||
 fi
 | 
			
		||||
 enable_dot=no
 | 
			
		||||
else
 | 
			
		||||
 enable_dot=yes
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if test -n "$DOXYGEN"
 | 
			
		||||
then
 | 
			
		||||
ac_config_files="$ac_config_files docs/doxy.cfg"
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ac_config_files="$ac_config_files Makefile"
 | 
			
		||||
 | 
			
		||||
ac_config_files="$ac_config_files lib/Makefile"
 | 
			
		||||
@@ -5042,6 +5217,10 @@ if test -z "${BUILD_COMMS_NONE_TRUE}" && test -z "${BUILD_COMMS_NONE_FALSE}"; th
 | 
			
		||||
  as_fn_error $? "conditional \"BUILD_COMMS_NONE\" was never defined.
 | 
			
		||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
 | 
			
		||||
fi
 | 
			
		||||
if test -z "${DOXYGEN_DOC_TRUE}" && test -z "${DOXYGEN_DOC_FALSE}"; then
 | 
			
		||||
  as_fn_error $? "conditional \"DOXYGEN_DOC\" was never defined.
 | 
			
		||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
: "${CONFIG_STATUS=./config.status}"
 | 
			
		||||
ac_write_fail=0
 | 
			
		||||
@@ -5636,6 +5815,7 @@ do
 | 
			
		||||
  case $ac_config_target in
 | 
			
		||||
    "lib/Grid_config.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/Grid_config.h" ;;
 | 
			
		||||
    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
 | 
			
		||||
    "docs/doxy.cfg") CONFIG_FILES="$CONFIG_FILES docs/doxy.cfg" ;;
 | 
			
		||||
    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
 | 
			
		||||
    "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
 | 
			
		||||
    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
 | 
			
		||||
@@ -6379,6 +6559,9 @@ The following features are enabled:
 | 
			
		||||
- os (build)                    : $build_os
 | 
			
		||||
- architecture (target)         : $target_cpu
 | 
			
		||||
- os (target)                   : $target_os
 | 
			
		||||
- build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
 | 
			
		||||
- graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------
 | 
			
		||||
- enabled simd support          : ${ac_SIMD}
 | 
			
		||||
- communications type           : ${ac_COMMS}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								configure.ac
									
									
									
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
#
 | 
			
		||||
# Project Grid package  
 | 
			
		||||
# 
 | 
			
		||||
# Time-stamp: <2015-05-25 14:54:34 neo>
 | 
			
		||||
# Time-stamp: <2015-05-26 17:18:54 neo>
 | 
			
		||||
 | 
			
		||||
AC_PREREQ([2.63])
 | 
			
		||||
AC_INIT([Grid], [1.0], [paboyle@ph.ed.ac.uk])
 | 
			
		||||
@@ -116,6 +116,20 @@ AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" ])
 | 
			
		||||
AM_CONDITIONAL(BUILD_COMMS_NONE,[ test "X${ac_COMMS}X" == "XnoneX" ])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
###################################################################
 | 
			
		||||
# Checks for doxygen support
 | 
			
		||||
# if present enables the "make doxyfile" command
 | 
			
		||||
echo
 | 
			
		||||
echo Checking doxygen support 
 | 
			
		||||
echo :::::::::::::::::::::::::::::::::::::::::::
 | 
			
		||||
AC_PROG_DOXYGEN
 | 
			
		||||
 | 
			
		||||
if test -n "$DOXYGEN"
 | 
			
		||||
then
 | 
			
		||||
AC_CONFIG_FILES([docs/doxy.cfg])
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
AC_CONFIG_FILES(Makefile)
 | 
			
		||||
AC_CONFIG_FILES(lib/Makefile)
 | 
			
		||||
AC_CONFIG_FILES(tests/Makefile)
 | 
			
		||||
@@ -134,6 +148,9 @@ The following features are enabled:
 | 
			
		||||
- os (build)                    : $build_os
 | 
			
		||||
- architecture (target)         : $target_cpu
 | 
			
		||||
- os (target)                   : $target_os
 | 
			
		||||
- build DOXYGEN documentation   : `if test "x$enable_doc" = xyes; then echo yes; else echo no; fi`
 | 
			
		||||
- graphs and diagrams           : `if test "x$enable_dot" = xyes; then echo yes; else echo no; fi`
 | 
			
		||||
 | 
			
		||||
----------------------------------------------------------
 | 
			
		||||
- enabled simd support          : ${ac_SIMD}
 | 
			
		||||
- communications type           : ${ac_COMMS}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2305
									
								
								docs/doxy.cfg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2305
									
								
								docs/doxy.cfg
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2305
									
								
								docs/doxy.cfg.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2305
									
								
								docs/doxy.cfg.in
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2305
									
								
								docs/doxy.cfg.test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2305
									
								
								docs/doxy.cfg.test
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -160,19 +160,13 @@ template<class vobj> void Copy_plane(Lattice<vobj>& lhs,Lattice<vobj> &rhs, int
 | 
			
		||||
PARALLEL_NESTED_LOOP2
 | 
			
		||||
  for(int n=0;n<rhs._grid->_slice_nblock[dimension];n++){
 | 
			
		||||
    for(int b=0;b<rhs._grid->_slice_block[dimension];b++){
 | 
			
		||||
      /*
 | 
			
		||||
      int o =n*rhs._grid->_slice_stride[dimension];
 | 
			
		||||
      int ocb=1<<lhs._grid->CheckerBoardFromOindex(o+b);
 | 
			
		||||
      if ( ocb&cbmask ) {
 | 
			
		||||
	lhs._odata[lo+o+b]=rhs._odata[ro+o+b];
 | 
			
		||||
      }
 | 
			
		||||
      */
 | 
			
		||||
 
 | 
			
		||||
      int o =n*rhs._grid->_slice_stride[dimension]+b;
 | 
			
		||||
      int ocb=1<<lhs._grid->CheckerBoardFromOindex(o);
 | 
			
		||||
      if ( ocb&cbmask ) {
 | 
			
		||||
	//lhs._odata[lo+o]=rhs._odata[ro+o];
 | 
			
		||||
	vstream(lhs._odata[lo+o],rhs._odata[ro+o]);
 | 
			
		||||
	
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
/*! @file Grid_vector_types.h
 | 
			
		||||
  @brief Defines templated class Grid_simd to deal with inner vector types
 | 
			
		||||
*/
 | 
			
		||||
// Time-stamp: <2015-05-26 13:44:54 neo>
 | 
			
		||||
// Time-stamp: <2015-05-26 14:08:13 neo>
 | 
			
		||||
//---------------------------------------------------------------------------
 | 
			
		||||
#ifndef GRID_VECTOR_TYPES
 | 
			
		||||
#define GRID_VECTOR_TYPES
 | 
			
		||||
@@ -57,6 +57,8 @@ namespace Grid {
 | 
			
		||||
 | 
			
		||||
  ///////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // Move to the simd files
 | 
			
		||||
//////////////////////////////////////////////////////////
 | 
			
		||||
// Permute
 | 
			
		||||
// Permute 0 every ABCDEFGH -> BA DC FE HG
 | 
			
		||||
@@ -436,7 +438,7 @@ inline void Gpermute(vsimd &y,const vsimd &b,int perm){
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // Define available types (now change names to avoid clashing with the rest of the code)
 | 
			
		||||
  // Define available types
 | 
			
		||||
 | 
			
		||||
  typedef Grid_simd< float                 , SIMD_Ftype > vRealF;
 | 
			
		||||
  typedef Grid_simd< double                , SIMD_Dtype > vRealD;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										54
									
								
								m4/ac_prog_doxygen.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								m4/ac_prog_doxygen.m4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
dnl Check for doxygen to create API docs
 | 
			
		||||
dnl
 | 
			
		||||
AC_DEFUN([AC_PROG_DOXYGEN],
 | 
			
		||||
[
 | 
			
		||||
AC_ARG_ENABLE(doxygen,
 | 
			
		||||
AS_HELP_STRING([--enable-doxygen],[enable documentation generation with doxygen (auto)]))
 | 
			
		||||
 | 
			
		||||
AC_ARG_ENABLE(dot,
 | 
			
		||||
AS_HELP_STRING([--enable-dot],[use 'dot' to generate graphs in doxygen (auto)]))              
 | 
			
		||||
AC_ARG_ENABLE(html-docs,
 | 
			
		||||
AS_HELP_STRING([--enable-html-docs],[enable HTML generation with doxygen (yes)]),
 | 
			
		||||
[],[ enable_html_docs=yes])              
 | 
			
		||||
AC_ARG_ENABLE(latex-docs,
 | 
			
		||||
AS_HELP_STRING([--enable-latex-docs],
 | 
			
		||||
[enable LaTeX documentation generation with doxygen (no)]),[],[enable_latex_docs=no])              
 | 
			
		||||
 | 
			
		||||
if test "x$enable_doxygen" = xno; then
 | 
			
		||||
 enable_doc=no	
 | 
			
		||||
else 
 | 
			
		||||
 AC_CHECK_PROG(DOXYGEN, doxygen, doxygen)
 | 
			
		||||
 if test x$DOXYGEN = x; then
 | 
			
		||||
  if test "x$enable_doxygen" = xyes; then
 | 
			
		||||
   AC_MSG_ERROR([could not find doxygen])
 | 
			
		||||
  fi
 | 
			
		||||
  enable_doc=no
 | 
			
		||||
 else
 | 
			
		||||
  doxy_ver=`doxygen --version`
 | 
			
		||||
  doxy_major=`expr "$doxy_ver" : '\(@<:@0-9@:>@\)\..*'`
 | 
			
		||||
  doxy_minor=`expr "$doxy_ver" : '@<:@0-9@:>@\.\(@<:@0-9@:>@\).*'`
 | 
			
		||||
  if test $doxy_major -eq "1" -a $doxy_minor -ge "3" ; then
 | 
			
		||||
   enable_doc=yes
 | 
			
		||||
   AC_CHECK_PROG(DOT, dot, dot)
 | 
			
		||||
  else
 | 
			
		||||
   AC_MSG_WARN([doxygen version $doxy_ver too old, doxygen will not be used.])
 | 
			
		||||
   enable_doc=no
 | 
			
		||||
  fi
 | 
			
		||||
 fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AM_CONDITIONAL(DOXYGEN_DOC, test x$enable_doc = xyes)
 | 
			
		||||
 | 
			
		||||
if test x$DOT = x; then
 | 
			
		||||
 if test "x$enable_dot" = xyes; then
 | 
			
		||||
  AC_MSG_ERROR([could not find dot])
 | 
			
		||||
 fi
 | 
			
		||||
 enable_dot=no
 | 
			
		||||
else
 | 
			
		||||
 enable_dot=yes
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AC_SUBST(enable_dot)
 | 
			
		||||
AC_SUBST(enable_html_docs)
 | 
			
		||||
AC_SUBST(enable_latex_docs)
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										533
									
								
								m4/m4-ax_prog_doxygen.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										533
									
								
								m4/m4-ax_prog_doxygen.m4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,533 @@
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#      http://www.gnu.org/software/autoconf-archive/ax_prog_doxygen.html
 | 
			
		||||
# ===========================================================================
 | 
			
		||||
#
 | 
			
		||||
# SYNOPSIS
 | 
			
		||||
#
 | 
			
		||||
#   DX_INIT_DOXYGEN(PROJECT-NAME, DOXYFILE-PATH, [OUTPUT-DIR])
 | 
			
		||||
#   DX_DOXYGEN_FEATURE(ON|OFF)
 | 
			
		||||
#   DX_DOT_FEATURE(ON|OFF)
 | 
			
		||||
#   DX_HTML_FEATURE(ON|OFF)
 | 
			
		||||
#   DX_CHM_FEATURE(ON|OFF)
 | 
			
		||||
#   DX_CHI_FEATURE(ON|OFF)
 | 
			
		||||
#   DX_MAN_FEATURE(ON|OFF)
 | 
			
		||||
#   DX_RTF_FEATURE(ON|OFF)
 | 
			
		||||
#   DX_XML_FEATURE(ON|OFF)
 | 
			
		||||
#   DX_PDF_FEATURE(ON|OFF)
 | 
			
		||||
#   DX_PS_FEATURE(ON|OFF)
 | 
			
		||||
#
 | 
			
		||||
# DESCRIPTION
 | 
			
		||||
#
 | 
			
		||||
#   The DX_*_FEATURE macros control the default setting for the given
 | 
			
		||||
#   Doxygen feature. Supported features are 'DOXYGEN' itself, 'DOT' for
 | 
			
		||||
#   generating graphics, 'HTML' for plain HTML, 'CHM' for compressed HTML
 | 
			
		||||
#   help (for MS users), 'CHI' for generating a seperate .chi file by the
 | 
			
		||||
#   .chm file, and 'MAN', 'RTF', 'XML', 'PDF' and 'PS' for the appropriate
 | 
			
		||||
#   output formats. The environment variable DOXYGEN_PAPER_SIZE may be
 | 
			
		||||
#   specified to override the default 'a4wide' paper size.
 | 
			
		||||
#
 | 
			
		||||
#   By default, HTML, PDF and PS documentation is generated as this seems to
 | 
			
		||||
#   be the most popular and portable combination. MAN pages created by
 | 
			
		||||
#   Doxygen are usually problematic, though by picking an appropriate subset
 | 
			
		||||
#   and doing some massaging they might be better than nothing. CHM and RTF
 | 
			
		||||
#   are specific for MS (note that you can't generate both HTML and CHM at
 | 
			
		||||
#   the same time). The XML is rather useless unless you apply specialized
 | 
			
		||||
#   post-processing to it.
 | 
			
		||||
#
 | 
			
		||||
#   The macros mainly control the default state of the feature. The use can
 | 
			
		||||
#   override the default by specifying --enable or --disable. The macros
 | 
			
		||||
#   ensure that contradictory flags are not given (e.g.,
 | 
			
		||||
#   --enable-doxygen-html and --enable-doxygen-chm,
 | 
			
		||||
#   --enable-doxygen-anything with --disable-doxygen, etc.) Finally, each
 | 
			
		||||
#   feature will be automatically disabled (with a warning) if the required
 | 
			
		||||
#   programs are missing.
 | 
			
		||||
#
 | 
			
		||||
#   Once all the feature defaults have been specified, call DX_INIT_DOXYGEN
 | 
			
		||||
#   with the following parameters: a one-word name for the project for use
 | 
			
		||||
#   as a filename base etc., an optional configuration file name (the
 | 
			
		||||
#   default is 'Doxyfile', the same as Doxygen's default), and an optional
 | 
			
		||||
#   output directory name (the default is 'doxygen-doc').
 | 
			
		||||
#
 | 
			
		||||
#   Automake Support
 | 
			
		||||
#
 | 
			
		||||
#   The following is a template aminclude.am file for use with Automake.
 | 
			
		||||
#   Make targets and variables values are controlled by the various
 | 
			
		||||
#   DX_COND_* conditionals set by autoconf.
 | 
			
		||||
#
 | 
			
		||||
#   The provided targets are:
 | 
			
		||||
#
 | 
			
		||||
#     doxygen-doc: Generate all doxygen documentation.
 | 
			
		||||
#
 | 
			
		||||
#     doxygen-run: Run doxygen, which will generate some of the
 | 
			
		||||
#                  documentation (HTML, CHM, CHI, MAN, RTF, XML)
 | 
			
		||||
#                  but will not do the post processing required
 | 
			
		||||
#                  for the rest of it (PS, PDF, and some MAN).
 | 
			
		||||
#
 | 
			
		||||
#     doxygen-man: Rename some doxygen generated man pages.
 | 
			
		||||
#
 | 
			
		||||
#     doxygen-ps:  Generate doxygen PostScript documentation.
 | 
			
		||||
#
 | 
			
		||||
#     doxygen-pdf: Generate doxygen PDF documentation.
 | 
			
		||||
#
 | 
			
		||||
#   Note that by default these are not integrated into the automake targets.
 | 
			
		||||
#   If doxygen is used to generate man pages, you can achieve this
 | 
			
		||||
#   integration by setting man3_MANS to the list of man pages generated and
 | 
			
		||||
#   then adding the dependency:
 | 
			
		||||
#
 | 
			
		||||
#     $(man3_MANS): doxygen-doc
 | 
			
		||||
#
 | 
			
		||||
#   This will cause make to run doxygen and generate all the documentation.
 | 
			
		||||
#
 | 
			
		||||
#   The following variable is intended for use in Makefile.am:
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEANFILES = everything to clean.
 | 
			
		||||
#
 | 
			
		||||
#   Then add this variable to MOSTLYCLEANFILES.
 | 
			
		||||
#
 | 
			
		||||
#     ----- begin aminclude.am -------------------------------------
 | 
			
		||||
#
 | 
			
		||||
#     ## --------------------------------- ##
 | 
			
		||||
#     ## Format-independent Doxygen rules. ##
 | 
			
		||||
#     ## --------------------------------- ##
 | 
			
		||||
#
 | 
			
		||||
#     if DX_COND_doc
 | 
			
		||||
#
 | 
			
		||||
#     ## ------------------------------- ##
 | 
			
		||||
#     ## Rules specific for HTML output. ##
 | 
			
		||||
#     ## ------------------------------- ##
 | 
			
		||||
#
 | 
			
		||||
#     if DX_COND_html
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEAN_HTML = @DX_DOCDIR@/html
 | 
			
		||||
#
 | 
			
		||||
#     endif DX_COND_html
 | 
			
		||||
#
 | 
			
		||||
#     ## ------------------------------ ##
 | 
			
		||||
#     ## Rules specific for CHM output. ##
 | 
			
		||||
#     ## ------------------------------ ##
 | 
			
		||||
#
 | 
			
		||||
#     if DX_COND_chm
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEAN_CHM = @DX_DOCDIR@/chm
 | 
			
		||||
#
 | 
			
		||||
#     if DX_COND_chi
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
 | 
			
		||||
#
 | 
			
		||||
#     endif DX_COND_chi
 | 
			
		||||
#
 | 
			
		||||
#     endif DX_COND_chm
 | 
			
		||||
#
 | 
			
		||||
#     ## ------------------------------ ##
 | 
			
		||||
#     ## Rules specific for MAN output. ##
 | 
			
		||||
#     ## ------------------------------ ##
 | 
			
		||||
#
 | 
			
		||||
#     if DX_COND_man
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEAN_MAN = @DX_DOCDIR@/man
 | 
			
		||||
#
 | 
			
		||||
#     endif DX_COND_man
 | 
			
		||||
#
 | 
			
		||||
#     ## ------------------------------ ##
 | 
			
		||||
#     ## Rules specific for RTF output. ##
 | 
			
		||||
#     ## ------------------------------ ##
 | 
			
		||||
#
 | 
			
		||||
#     if DX_COND_rtf
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEAN_RTF = @DX_DOCDIR@/rtf
 | 
			
		||||
#
 | 
			
		||||
#     endif DX_COND_rtf
 | 
			
		||||
#
 | 
			
		||||
#     ## ------------------------------ ##
 | 
			
		||||
#     ## Rules specific for XML output. ##
 | 
			
		||||
#     ## ------------------------------ ##
 | 
			
		||||
#
 | 
			
		||||
#     if DX_COND_xml
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEAN_XML = @DX_DOCDIR@/xml
 | 
			
		||||
#
 | 
			
		||||
#     endif DX_COND_xml
 | 
			
		||||
#
 | 
			
		||||
#     ## ----------------------------- ##
 | 
			
		||||
#     ## Rules specific for PS output. ##
 | 
			
		||||
#     ## ----------------------------- ##
 | 
			
		||||
#
 | 
			
		||||
#     if DX_COND_ps
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
 | 
			
		||||
#
 | 
			
		||||
#     DX_PS_GOAL = doxygen-ps
 | 
			
		||||
#
 | 
			
		||||
#     doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
 | 
			
		||||
#
 | 
			
		||||
#     @DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
 | 
			
		||||
#         cd @DX_DOCDIR@/latex; \
 | 
			
		||||
#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
 | 
			
		||||
#         $(DX_LATEX) refman.tex; \
 | 
			
		||||
#         $(MAKEINDEX_PATH) refman.idx; \
 | 
			
		||||
#         $(DX_LATEX) refman.tex; \
 | 
			
		||||
#         countdown=5; \
 | 
			
		||||
#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
 | 
			
		||||
#                           refman.log > /dev/null 2>&1 \
 | 
			
		||||
#            && test $$countdown -gt 0; do \
 | 
			
		||||
#             $(DX_LATEX) refman.tex; \
 | 
			
		||||
#             countdown=`expr $$countdown - 1`; \
 | 
			
		||||
#         done; \
 | 
			
		||||
#         $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
 | 
			
		||||
#
 | 
			
		||||
#     endif DX_COND_ps
 | 
			
		||||
#
 | 
			
		||||
#     ## ------------------------------ ##
 | 
			
		||||
#     ## Rules specific for PDF output. ##
 | 
			
		||||
#     ## ------------------------------ ##
 | 
			
		||||
#
 | 
			
		||||
#     if DX_COND_pdf
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
 | 
			
		||||
#
 | 
			
		||||
#     DX_PDF_GOAL = doxygen-pdf
 | 
			
		||||
#
 | 
			
		||||
#     doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
 | 
			
		||||
#
 | 
			
		||||
#     @DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
 | 
			
		||||
#         cd @DX_DOCDIR@/latex; \
 | 
			
		||||
#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
 | 
			
		||||
#         $(DX_PDFLATEX) refman.tex; \
 | 
			
		||||
#         $(DX_MAKEINDEX) refman.idx; \
 | 
			
		||||
#         $(DX_PDFLATEX) refman.tex; \
 | 
			
		||||
#         countdown=5; \
 | 
			
		||||
#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
 | 
			
		||||
#                           refman.log > /dev/null 2>&1 \
 | 
			
		||||
#            && test $$countdown -gt 0; do \
 | 
			
		||||
#             $(DX_PDFLATEX) refman.tex; \
 | 
			
		||||
#             countdown=`expr $$countdown - 1`; \
 | 
			
		||||
#         done; \
 | 
			
		||||
#         mv refman.pdf ../@PACKAGE@.pdf
 | 
			
		||||
#
 | 
			
		||||
#     endif DX_COND_pdf
 | 
			
		||||
#
 | 
			
		||||
#     ## ------------------------------------------------- ##
 | 
			
		||||
#     ## Rules specific for LaTeX (shared for PS and PDF). ##
 | 
			
		||||
#     ## ------------------------------------------------- ##
 | 
			
		||||
#
 | 
			
		||||
#     if DX_COND_latex
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEAN_LATEX = @DX_DOCDIR@/latex
 | 
			
		||||
#
 | 
			
		||||
#     endif DX_COND_latex
 | 
			
		||||
#
 | 
			
		||||
#     .PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
 | 
			
		||||
#
 | 
			
		||||
#     .INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
 | 
			
		||||
#
 | 
			
		||||
#     doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag
 | 
			
		||||
#
 | 
			
		||||
#     doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
 | 
			
		||||
#
 | 
			
		||||
#     @DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
 | 
			
		||||
#         rm -rf @DX_DOCDIR@
 | 
			
		||||
#         $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
 | 
			
		||||
#         echo Timestamp >$@
 | 
			
		||||
#
 | 
			
		||||
#     DX_CLEANFILES = \
 | 
			
		||||
#         @DX_DOCDIR@/@PACKAGE@.tag \
 | 
			
		||||
#         -r \
 | 
			
		||||
#         $(DX_CLEAN_HTML) \
 | 
			
		||||
#         $(DX_CLEAN_CHM) \
 | 
			
		||||
#         $(DX_CLEAN_CHI) \
 | 
			
		||||
#         $(DX_CLEAN_MAN) \
 | 
			
		||||
#         $(DX_CLEAN_RTF) \
 | 
			
		||||
#         $(DX_CLEAN_XML) \
 | 
			
		||||
#         $(DX_CLEAN_PS) \
 | 
			
		||||
#         $(DX_CLEAN_PDF) \
 | 
			
		||||
#         $(DX_CLEAN_LATEX)
 | 
			
		||||
#
 | 
			
		||||
#     endif DX_COND_doc
 | 
			
		||||
#
 | 
			
		||||
#     ----- end aminclude.am ---------------------------------------
 | 
			
		||||
#
 | 
			
		||||
# LICENSE
 | 
			
		||||
#
 | 
			
		||||
#   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>
 | 
			
		||||
#
 | 
			
		||||
#   Copying and distribution of this file, with or without modification, are
 | 
			
		||||
#   permitted in any medium without royalty provided the copyright notice
 | 
			
		||||
#   and this notice are preserved. This file is offered as-is, without any
 | 
			
		||||
#   warranty.
 | 
			
		||||
 | 
			
		||||
#serial 13
 | 
			
		||||
 | 
			
		||||
## ----------##
 | 
			
		||||
## Defaults. ##
 | 
			
		||||
## ----------##
 | 
			
		||||
 | 
			
		||||
DX_ENV=""
 | 
			
		||||
AC_DEFUN([DX_FEATURE_doc],  ON)
 | 
			
		||||
AC_DEFUN([DX_FEATURE_dot],  OFF)
 | 
			
		||||
AC_DEFUN([DX_FEATURE_man],  OFF)
 | 
			
		||||
AC_DEFUN([DX_FEATURE_html], ON)
 | 
			
		||||
AC_DEFUN([DX_FEATURE_chm],  OFF)
 | 
			
		||||
AC_DEFUN([DX_FEATURE_chi],  OFF)
 | 
			
		||||
AC_DEFUN([DX_FEATURE_rtf],  OFF)
 | 
			
		||||
AC_DEFUN([DX_FEATURE_xml],  OFF)
 | 
			
		||||
AC_DEFUN([DX_FEATURE_pdf],  ON)
 | 
			
		||||
AC_DEFUN([DX_FEATURE_ps],   ON)
 | 
			
		||||
 | 
			
		||||
## --------------- ##
 | 
			
		||||
## Private macros. ##
 | 
			
		||||
## --------------- ##
 | 
			
		||||
 | 
			
		||||
# DX_ENV_APPEND(VARIABLE, VALUE)
 | 
			
		||||
# ------------------------------
 | 
			
		||||
# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.
 | 
			
		||||
AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])
 | 
			
		||||
 | 
			
		||||
# DX_DIRNAME_EXPR
 | 
			
		||||
# ---------------
 | 
			
		||||
# Expand into a shell expression prints the directory part of a path.
 | 
			
		||||
AC_DEFUN([DX_DIRNAME_EXPR],
 | 
			
		||||
         [[expr ".$1" : '\(\.\)[^/]*$' \| "x$1" : 'x\(.*\)/[^/]*$']])
 | 
			
		||||
 | 
			
		||||
# DX_IF_FEATURE(FEATURE, IF-ON, IF-OFF)
 | 
			
		||||
# -------------------------------------
 | 
			
		||||
# Expands according to the M4 (static) status of the feature.
 | 
			
		||||
AC_DEFUN([DX_IF_FEATURE], [ifelse(DX_FEATURE_$1, ON, [$2], [$3])])
 | 
			
		||||
 | 
			
		||||
# DX_REQUIRE_PROG(VARIABLE, PROGRAM)
 | 
			
		||||
# ----------------------------------
 | 
			
		||||
# Require the specified program to be found for the DX_CURRENT_FEATURE to work.
 | 
			
		||||
AC_DEFUN([DX_REQUIRE_PROG], [
 | 
			
		||||
AC_PATH_TOOL([$1], [$2])
 | 
			
		||||
if test "$DX_FLAG_[]DX_CURRENT_FEATURE$$1" = 1; then
 | 
			
		||||
    AC_MSG_WARN([$2 not found - will not DX_CURRENT_DESCRIPTION])
 | 
			
		||||
    AC_SUBST(DX_FLAG_[]DX_CURRENT_FEATURE, 0)
 | 
			
		||||
fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# DX_TEST_FEATURE(FEATURE)
 | 
			
		||||
# ------------------------
 | 
			
		||||
# Expand to a shell expression testing whether the feature is active.
 | 
			
		||||
AC_DEFUN([DX_TEST_FEATURE], [test "$DX_FLAG_$1" = 1])
 | 
			
		||||
 | 
			
		||||
# DX_CHECK_DEPEND(REQUIRED_FEATURE, REQUIRED_STATE)
 | 
			
		||||
# -------------------------------------------------
 | 
			
		||||
# Verify that a required features has the right state before trying to turn on
 | 
			
		||||
# the DX_CURRENT_FEATURE.
 | 
			
		||||
AC_DEFUN([DX_CHECK_DEPEND], [
 | 
			
		||||
test "$DX_FLAG_$1" = "$2" \
 | 
			
		||||
|| AC_MSG_ERROR([doxygen-DX_CURRENT_FEATURE ifelse([$2], 1,
 | 
			
		||||
                            requires, contradicts) doxygen-DX_CURRENT_FEATURE])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# DX_CLEAR_DEPEND(FEATURE, REQUIRED_FEATURE, REQUIRED_STATE)
 | 
			
		||||
# ----------------------------------------------------------
 | 
			
		||||
# Turn off the DX_CURRENT_FEATURE if the required feature is off.
 | 
			
		||||
AC_DEFUN([DX_CLEAR_DEPEND], [
 | 
			
		||||
test "$DX_FLAG_$1" = "$2" || AC_SUBST(DX_FLAG_[]DX_CURRENT_FEATURE, 0)
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# DX_FEATURE_ARG(FEATURE, DESCRIPTION,
 | 
			
		||||
#                CHECK_DEPEND, CLEAR_DEPEND,
 | 
			
		||||
#                REQUIRE, DO-IF-ON, DO-IF-OFF)
 | 
			
		||||
# --------------------------------------------
 | 
			
		||||
# Parse the command-line option controlling a feature. CHECK_DEPEND is called
 | 
			
		||||
# if the user explicitly turns the feature on (and invokes DX_CHECK_DEPEND),
 | 
			
		||||
# otherwise CLEAR_DEPEND is called to turn off the default state if a required
 | 
			
		||||
# feature is disabled (using DX_CLEAR_DEPEND). REQUIRE performs additional
 | 
			
		||||
# requirement tests (DX_REQUIRE_PROG). Finally, an automake flag is set and
 | 
			
		||||
# DO-IF-ON or DO-IF-OFF are called according to the final state of the feature.
 | 
			
		||||
AC_DEFUN([DX_ARG_ABLE], [
 | 
			
		||||
    AC_DEFUN([DX_CURRENT_FEATURE], [$1])
 | 
			
		||||
    AC_DEFUN([DX_CURRENT_DESCRIPTION], [$2])
 | 
			
		||||
    AC_ARG_ENABLE(doxygen-$1,
 | 
			
		||||
                  [AS_HELP_STRING(DX_IF_FEATURE([$1], [--disable-doxygen-$1],
 | 
			
		||||
                                                      [--enable-doxygen-$1]),
 | 
			
		||||
                                  DX_IF_FEATURE([$1], [don't $2], [$2]))],
 | 
			
		||||
                  [
 | 
			
		||||
case "$enableval" in
 | 
			
		||||
#(
 | 
			
		||||
y|Y|yes|Yes|YES)
 | 
			
		||||
    AC_SUBST([DX_FLAG_$1], 1)
 | 
			
		||||
    $3
 | 
			
		||||
;; #(
 | 
			
		||||
n|N|no|No|NO)
 | 
			
		||||
    AC_SUBST([DX_FLAG_$1], 0)
 | 
			
		||||
;; #(
 | 
			
		||||
*)
 | 
			
		||||
    AC_MSG_ERROR([invalid value '$enableval' given to doxygen-$1])
 | 
			
		||||
;;
 | 
			
		||||
esac
 | 
			
		||||
], [
 | 
			
		||||
AC_SUBST([DX_FLAG_$1], [DX_IF_FEATURE([$1], 1, 0)])
 | 
			
		||||
$4
 | 
			
		||||
])
 | 
			
		||||
if DX_TEST_FEATURE([$1]); then
 | 
			
		||||
    $5
 | 
			
		||||
    :
 | 
			
		||||
fi
 | 
			
		||||
AM_CONDITIONAL(DX_COND_$1, DX_TEST_FEATURE([$1]))
 | 
			
		||||
if DX_TEST_FEATURE([$1]); then
 | 
			
		||||
    $6
 | 
			
		||||
    :
 | 
			
		||||
else
 | 
			
		||||
    $7
 | 
			
		||||
    :
 | 
			
		||||
fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
## -------------- ##
 | 
			
		||||
## Public macros. ##
 | 
			
		||||
## -------------- ##
 | 
			
		||||
 | 
			
		||||
# DX_XXX_FEATURE(DEFAULT_STATE)
 | 
			
		||||
# -----------------------------
 | 
			
		||||
AC_DEFUN([DX_DOXYGEN_FEATURE], [AC_DEFUN([DX_FEATURE_doc],  [$1])])
 | 
			
		||||
AC_DEFUN([DX_DOT_FEATURE],     [AC_DEFUN([DX_FEATURE_dot], [$1])])
 | 
			
		||||
AC_DEFUN([DX_MAN_FEATURE],     [AC_DEFUN([DX_FEATURE_man],  [$1])])
 | 
			
		||||
AC_DEFUN([DX_HTML_FEATURE],    [AC_DEFUN([DX_FEATURE_html], [$1])])
 | 
			
		||||
AC_DEFUN([DX_CHM_FEATURE],     [AC_DEFUN([DX_FEATURE_chm],  [$1])])
 | 
			
		||||
AC_DEFUN([DX_CHI_FEATURE],     [AC_DEFUN([DX_FEATURE_chi],  [$1])])
 | 
			
		||||
AC_DEFUN([DX_RTF_FEATURE],     [AC_DEFUN([DX_FEATURE_rtf],  [$1])])
 | 
			
		||||
AC_DEFUN([DX_XML_FEATURE],     [AC_DEFUN([DX_FEATURE_xml],  [$1])])
 | 
			
		||||
AC_DEFUN([DX_XML_FEATURE],     [AC_DEFUN([DX_FEATURE_xml],  [$1])])
 | 
			
		||||
AC_DEFUN([DX_PDF_FEATURE],     [AC_DEFUN([DX_FEATURE_pdf],  [$1])])
 | 
			
		||||
AC_DEFUN([DX_PS_FEATURE],      [AC_DEFUN([DX_FEATURE_ps],   [$1])])
 | 
			
		||||
 | 
			
		||||
# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])
 | 
			
		||||
# ---------------------------------------------------------
 | 
			
		||||
# PROJECT also serves as the base name for the documentation files.
 | 
			
		||||
# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is "doxygen-doc".
 | 
			
		||||
AC_DEFUN([DX_INIT_DOXYGEN], [
 | 
			
		||||
 | 
			
		||||
# Files:
 | 
			
		||||
AC_SUBST([DX_PROJECT], [$1])
 | 
			
		||||
AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])
 | 
			
		||||
AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])
 | 
			
		||||
 | 
			
		||||
# Environment variables used inside doxygen.cfg:
 | 
			
		||||
DX_ENV_APPEND(SRCDIR, $srcdir)
 | 
			
		||||
DX_ENV_APPEND(PROJECT, $DX_PROJECT)
 | 
			
		||||
DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)
 | 
			
		||||
DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)
 | 
			
		||||
 | 
			
		||||
# Doxygen itself:
 | 
			
		||||
DX_ARG_ABLE(doc, [generate any doxygen documentation],
 | 
			
		||||
            [],
 | 
			
		||||
            [],
 | 
			
		||||
            [DX_REQUIRE_PROG([DX_DOXYGEN], doxygen)
 | 
			
		||||
             DX_REQUIRE_PROG([DX_PERL], perl)],
 | 
			
		||||
            [DX_ENV_APPEND(PERL_PATH, $DX_PERL)])
 | 
			
		||||
 | 
			
		||||
# Dot for graphics:
 | 
			
		||||
DX_ARG_ABLE(dot, [generate graphics for doxygen documentation],
 | 
			
		||||
            [DX_CHECK_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_CLEAR_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_REQUIRE_PROG([DX_DOT], dot)],
 | 
			
		||||
            [DX_ENV_APPEND(HAVE_DOT, YES)
 | 
			
		||||
             DX_ENV_APPEND(DOT_PATH, [`DX_DIRNAME_EXPR($DX_DOT)`])],
 | 
			
		||||
            [DX_ENV_APPEND(HAVE_DOT, NO)])
 | 
			
		||||
 | 
			
		||||
# Man pages generation:
 | 
			
		||||
DX_ARG_ABLE(man, [generate doxygen manual pages],
 | 
			
		||||
            [DX_CHECK_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_CLEAR_DEPEND(doc, 1)],
 | 
			
		||||
            [],
 | 
			
		||||
            [DX_ENV_APPEND(GENERATE_MAN, YES)],
 | 
			
		||||
            [DX_ENV_APPEND(GENERATE_MAN, NO)])
 | 
			
		||||
 | 
			
		||||
# RTF file generation:
 | 
			
		||||
DX_ARG_ABLE(rtf, [generate doxygen RTF documentation],
 | 
			
		||||
            [DX_CHECK_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_CLEAR_DEPEND(doc, 1)],
 | 
			
		||||
            [],
 | 
			
		||||
            [DX_ENV_APPEND(GENERATE_RTF, YES)],
 | 
			
		||||
            [DX_ENV_APPEND(GENERATE_RTF, NO)])
 | 
			
		||||
 | 
			
		||||
# XML file generation:
 | 
			
		||||
DX_ARG_ABLE(xml, [generate doxygen XML documentation],
 | 
			
		||||
            [DX_CHECK_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_CLEAR_DEPEND(doc, 1)],
 | 
			
		||||
            [],
 | 
			
		||||
            [DX_ENV_APPEND(GENERATE_XML, YES)],
 | 
			
		||||
            [DX_ENV_APPEND(GENERATE_XML, NO)])
 | 
			
		||||
 | 
			
		||||
# (Compressed) HTML help generation:
 | 
			
		||||
DX_ARG_ABLE(chm, [generate doxygen compressed HTML help documentation],
 | 
			
		||||
            [DX_CHECK_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_CLEAR_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_REQUIRE_PROG([DX_HHC], hhc)],
 | 
			
		||||
            [DX_ENV_APPEND(HHC_PATH, $DX_HHC)
 | 
			
		||||
             DX_ENV_APPEND(GENERATE_HTML, YES)
 | 
			
		||||
             DX_ENV_APPEND(GENERATE_HTMLHELP, YES)],
 | 
			
		||||
            [DX_ENV_APPEND(GENERATE_HTMLHELP, NO)])
 | 
			
		||||
 | 
			
		||||
# Seperate CHI file generation.
 | 
			
		||||
DX_ARG_ABLE(chi, [generate doxygen seperate compressed HTML help index file],
 | 
			
		||||
            [DX_CHECK_DEPEND(chm, 1)],
 | 
			
		||||
            [DX_CLEAR_DEPEND(chm, 1)],
 | 
			
		||||
            [],
 | 
			
		||||
            [DX_ENV_APPEND(GENERATE_CHI, YES)],
 | 
			
		||||
            [DX_ENV_APPEND(GENERATE_CHI, NO)])
 | 
			
		||||
 | 
			
		||||
# Plain HTML pages generation:
 | 
			
		||||
DX_ARG_ABLE(html, [generate doxygen plain HTML documentation],
 | 
			
		||||
            [DX_CHECK_DEPEND(doc, 1) DX_CHECK_DEPEND(chm, 0)],
 | 
			
		||||
            [DX_CLEAR_DEPEND(doc, 1) DX_CLEAR_DEPEND(chm, 0)],
 | 
			
		||||
            [],
 | 
			
		||||
            [DX_ENV_APPEND(GENERATE_HTML, YES)],
 | 
			
		||||
            [DX_TEST_FEATURE(chm) || DX_ENV_APPEND(GENERATE_HTML, NO)])
 | 
			
		||||
 | 
			
		||||
# PostScript file generation:
 | 
			
		||||
DX_ARG_ABLE(ps, [generate doxygen PostScript documentation],
 | 
			
		||||
            [DX_CHECK_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_CLEAR_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_REQUIRE_PROG([DX_LATEX], latex)
 | 
			
		||||
             DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
 | 
			
		||||
             DX_REQUIRE_PROG([DX_DVIPS], dvips)
 | 
			
		||||
             DX_REQUIRE_PROG([DX_EGREP], egrep)])
 | 
			
		||||
 | 
			
		||||
# PDF file generation:
 | 
			
		||||
DX_ARG_ABLE(pdf, [generate doxygen PDF documentation],
 | 
			
		||||
            [DX_CHECK_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_CLEAR_DEPEND(doc, 1)],
 | 
			
		||||
            [DX_REQUIRE_PROG([DX_PDFLATEX], pdflatex)
 | 
			
		||||
             DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
 | 
			
		||||
             DX_REQUIRE_PROG([DX_EGREP], egrep)])
 | 
			
		||||
 | 
			
		||||
# LaTeX generation for PS and/or PDF:
 | 
			
		||||
AM_CONDITIONAL(DX_COND_latex, DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf))
 | 
			
		||||
if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then
 | 
			
		||||
    DX_ENV_APPEND(GENERATE_LATEX, YES)
 | 
			
		||||
else
 | 
			
		||||
    DX_ENV_APPEND(GENERATE_LATEX, NO)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Paper size for PS and/or PDF:
 | 
			
		||||
AC_ARG_VAR(DOXYGEN_PAPER_SIZE,
 | 
			
		||||
           [a4wide (default), a4, letter, legal or executive])
 | 
			
		||||
case "$DOXYGEN_PAPER_SIZE" in
 | 
			
		||||
#(
 | 
			
		||||
"")
 | 
			
		||||
    AC_SUBST(DOXYGEN_PAPER_SIZE, "")
 | 
			
		||||
;; #(
 | 
			
		||||
a4wide|a4|letter|legal|executive)
 | 
			
		||||
    DX_ENV_APPEND(PAPER_SIZE, $DOXYGEN_PAPER_SIZE)
 | 
			
		||||
;; #(
 | 
			
		||||
*)
 | 
			
		||||
    AC_MSG_ERROR([unknown DOXYGEN_PAPER_SIZE='$DOXYGEN_PAPER_SIZE'])
 | 
			
		||||
;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
#For debugging:
 | 
			
		||||
#echo DX_FLAG_doc=$DX_FLAG_doc
 | 
			
		||||
#echo DX_FLAG_dot=$DX_FLAG_dot
 | 
			
		||||
#echo DX_FLAG_man=$DX_FLAG_man
 | 
			
		||||
#echo DX_FLAG_html=$DX_FLAG_html
 | 
			
		||||
#echo DX_FLAG_chm=$DX_FLAG_chm
 | 
			
		||||
#echo DX_FLAG_chi=$DX_FLAG_chi
 | 
			
		||||
#echo DX_FLAG_rtf=$DX_FLAG_rtf
 | 
			
		||||
#echo DX_FLAG_xml=$DX_FLAG_xml
 | 
			
		||||
#echo DX_FLAG_pdf=$DX_FLAG_pdf
 | 
			
		||||
#echo DX_FLAG_ps=$DX_FLAG_ps
 | 
			
		||||
#echo DX_ENV=$DX_ENV
 | 
			
		||||
])
 | 
			
		||||
		Reference in New Issue
	
	Block a user