build: make graphviz optional for building documentation

Change-Id: Icff993cccc675c95cd6f671cd217c74d7768fac9
diff --git a/docs/doxygen.conf.in b/docs/doxygen.conf.in
index 8e31136..d70ac1c 100644
--- a/docs/doxygen.conf.in
+++ b/docs/doxygen.conf.in
@@ -230,12 +230,6 @@
 
 ALIASES                =
 
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding "class=itcl::class"
-# will allow you to use the command class in the itcl::class meaning.
-
-TCL_SUBST              =
-
 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
 # only. Doxygen will then generate output that is more tailored for C. For
 # instance, some of the names that are used will be different. The list of all
@@ -2161,7 +2155,7 @@
 # set to NO
 # The default value is: YES.
 
-HAVE_DOT               = YES
+HAVE_DOT               = @HAVE_DOT@
 
 # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
 # to run in parallel. When set to 0 doxygen will base this on the number of
diff --git a/wscript b/wscript
index cad98bc..cd86ca8 100644
--- a/wscript
+++ b/wscript
@@ -81,6 +81,7 @@
     conf.env.WITH_EXAMPLES = conf.options.with_examples
 
     conf.find_program('sh', var='SH')
+    conf.find_program('dot', var='DOT', mandatory=False)
 
     conf.check_cxx(lib='atomic', uselib_store='ATOMIC', define_name='HAVE_ATOMIC', mandatory=False)
     conf.check_cxx(lib='pthread', uselib_store='PTHREAD', define_name='HAVE_PTHREAD', mandatory=False)
@@ -333,6 +334,7 @@
         target=['docs/doxygen.conf',
                 'docs/named_data_theme/named_data_footer-with-analytics.html'],
         VERSION=VERSION,
+        HAVE_DOT='YES' if bld.env.DOT else 'NO',
         HTML_FOOTER='../build/docs/named_data_theme/named_data_footer-with-analytics.html' \
                         if os.getenv('GOOGLE_ANALYTICS', None) \
                         else '../docs/named_data_theme/named_data_footer.html',