Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add graphviz 2.28.

  • Loading branch information...
commit a01564019bf4104c48b36ea7098e26e1712e4bf6 0 parents
@tomgr authored
Showing with 28,222 additions and 0 deletions.
  1. +25 −0 AUTHORS
  2. +227 −0 COPYING
  3. +1,019 −0 ChangeLog
  4. +57 −0 Config.mk.old
  5. +1,537 −0 Doxyfile
  6. +1,537 −0 Doxyfile.in
  7. +365 −0 INSTALL
  8. +70 −0 INSTALL.old
  9. +11 −0 Makeargs
  10. +63 −0 Makefile.am
  11. +1,201 −0 Makefile.in
  12. +4 −0 Makefile.old
  13. +3 −0  NEWS
  14. +3 −0  README
  15. +1,201 −0 aclocal.m4
  16. +214 −0 ast_common.h
  17. +214 −0 ast_common.h.in
  18. +28 −0 autogen.sh
  19. +25 −0 awk/brewer.awk
  20. +45 −0 awk/colortbl.awk
  21. +15 −0 awk/stringize.awk
  22. +23 −0 awk/svgcolor.awk
  23. +58 −0 awk/typegraph.awk
  24. +1 −0  builddate.h
  25. +6 −0 cmd/Makefile.am
  26. +800 −0 cmd/Makefile.in
  27. +8 −0 cmd/Makefile.old
  28. +125 −0 cmd/dot/Makefile.am
  29. +1,138 −0 cmd/dot/Makefile.in
  30. +96 −0 cmd/dot/Makefile.old
  31. +725 −0 cmd/dot/dot.1
  32. BIN  cmd/dot/dot.1.pdf
  33. +231 −0 cmd/dot/dot.c
  34. +203 −0 cmd/dot/dot.vcproj
  35. +46 −0 cmd/dot/dot_builtins.c
  36. +17 −0 cmd/dot/no_builtins.c
  37. +443 −0 cmd/dot/osage.1
  38. BIN  cmd/dot/osage.1.pdf
  39. +449 −0 cmd/dot/patchwork.1
  40. BIN  cmd/dot/patchwork.1.pdf
  41. +36 −0 cmd/dotty/Makefile.am
  42. +964 −0 cmd/dotty/Makefile.in
  43. +28 −0 cmd/dotty/Makefile.old
  44. +57 −0 cmd/dotty/dotty.1
  45. BIN  cmd/dotty/dotty.1.pdf
  46. +104 −0 cmd/dotty/dotty.bsh
  47. +119 −0 cmd/dotty/dotty.ksh
  48. +748 −0 cmd/dotty/dotty.lefty
  49. +106 −0 cmd/dotty/dotty.sh
  50. +198 −0 cmd/dotty/dotty.vcproj
  51. +596 −0 cmd/dotty/dotty_draw.lefty
  52. +593 −0 cmd/dotty/dotty_edit.lefty
  53. +449 −0 cmd/dotty/dotty_layout.lefty
  54. +468 −0 cmd/dotty/dotty_ui.lefty
  55. +8 −0 cmd/dotty/mswin32/doinst
  56. +130 −0 cmd/dotty/mswin32/dotty.c
  57. +201 −0 cmd/dotty/mswin32/dotty.mak
  58. +3 −0  cmd/dotty/notes
  59. +77 −0 cmd/gvedit/Makefile.am
  60. +1,281 −0 cmd/gvedit/Makefile.in
  61. +490 −0 cmd/gvedit/csettings.cpp
  62. +74 −0 cmd/gvedit/csettings.h
  63. +22 −0 cmd/gvedit/gvedit.1
  64. BIN  cmd/gvedit/gvedit.1.pdf
  65. +21 −0 cmd/gvedit/gvedit.pro.in
  66. +7 −0 cmd/gvedit/images/Makefile.am
  67. +601 −0 cmd/gvedit/images/Makefile.in
  68. BIN  cmd/gvedit/images/copy.png
  69. BIN  cmd/gvedit/images/cut.png
  70. BIN  cmd/gvedit/images/export.png
  71. BIN  cmd/gvedit/images/icon.png
  72. BIN  cmd/gvedit/images/new.png
  73. BIN  cmd/gvedit/images/open.png
  74. BIN  cmd/gvedit/images/paste.png
  75. BIN  cmd/gvedit/images/run.png
  76. BIN  cmd/gvedit/images/save.png
  77. BIN  cmd/gvedit/images/save_as.png
  78. BIN  cmd/gvedit/images/settings.png
  79. +227 −0 cmd/gvedit/imageviewer.cpp
  80. +86 −0 cmd/gvedit/imageviewer.h
  81. +112 −0 cmd/gvedit/main.cpp
  82. +697 −0 cmd/gvedit/mainwindow.cpp
  83. +121 −0 cmd/gvedit/mainwindow.h
  84. +13 −0 cmd/gvedit/mdi.qrc
  85. +182 −0 cmd/gvedit/mdichild.cpp
  86. +62 −0 cmd/gvedit/mdichild.h
  87. +98 −0 cmd/gvedit/moc_csettings.cpp
  88. +94 −0 cmd/gvedit/moc_imageviewer.cpp
  89. +116 −0 cmd/gvedit/moc_mainwindow.cpp
  90. +79 −0 cmd/gvedit/moc_mdichild.cpp
  91. +1,783 −0 cmd/gvedit/qrc_mdi.cpp
  92. +6 −0 cmd/gvedit/ui/Makefile.am
  93. +599 −0 cmd/gvedit/ui/Makefile.in
  94. +388 −0 cmd/gvedit/ui/main.ui
  95. +552 −0 cmd/gvedit/ui/settings.ui
  96. +399 −0 cmd/gvedit/ui_settings.h
  97. +907 −0 cmd/gvmap/DotIO.c
  98. +37 −0 cmd/gvmap/DotIO.h
  99. +69 −0 cmd/gvmap/Makefile.am
  100. +1,261 −0 cmd/gvmap/Makefile.in
  101. +93 −0 cmd/gvmap/cluster.1
  102. BIN  cmd/gvmap/cluster.1.pdf
  103. +185 −0 cmd/gvmap/cluster.c
  104. +385 −0 cmd/gvmap/clustering.c
  105. +57 −0 cmd/gvmap/clustering.h
Sorry, we could not display the entire diff because too many files (2,715) changed.
25 AUTHORS
@@ -0,0 +1,25 @@
+Primary contact. Please send patches or enhancements to:
+ Graphviz project <gviz-bugs@research.att.com>
+
+---------------
+Authors: (In alphabetical order.)
+
+ David Dobkin <dpd@cs.princeton.edu>
+ John Ellson <ellson@graphviz.org>
+ Emden Gansner <erg@research.att.com>
+ Eleftherios Koutsofios <ek@research.att.com>
+ Stephen North <north@research.att.com>
+ Kiem-Phong Vo <kpv@research.att.com>
+ Gordon Woodhull <gmcw@worldnet.att.net>
+
+---------------
+
+Recommended packages:
+
+FreeType: <http://www.freetype.org/>
+ David TURNER (david.turner@freetype.org)
+ Robert WILHELM (robert.wilhelm@freetype.org)
+ and others.
+
+GD: <http://www.boutell.com/gd/>
+ Tom Boutell
227 COPYING
@@ -0,0 +1,227 @@
+Eclipse Public License - v 1.0
+
+ THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+ PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
+ THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+ 1. DEFINITIONS
+
+ "Contribution" means:
+
+ a) in the case of the initial Contributor, the initial code and
+ documentation distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+
+ i) changes to the Program, and
+
+ ii) additions to the Program;
+
+ where such changes and/or additions to the Program originate from and
+ are distributed by that particular Contributor. A Contribution
+ 'originates' from a Contributor if it was added to the Program by such
+ Contributor itself or anyone acting on such Contributor's behalf.
+ Contributions do not include additions to the Program which: (i) are
+ separate modules of software distributed in conjunction with the
+ Program under their own license agreement, and (ii) are not derivative
+ works of the Program.
+
+ "Contributor" means any person or entity that distributes the Program.
+
+ "Licensed Patents" mean patent claims licensable by a Contributor which
+ are necessarily infringed by the use or sale of its Contribution alone
+ or when combined with the Program.
+
+ "Program" means the Contributions distributed in accordance with this
+ Agreement.
+
+ "Recipient" means anyone who receives the Program under this Agreement,
+ including all Contributors.
+
+ 2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
+ license to reproduce, prepare derivative works of, publicly display,
+ publicly perform, distribute and sublicense the Contribution of such
+ Contributor, if any, and such derivative works, in source code and
+ object code form.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free patent
+ license under Licensed Patents to make, use, sell, offer to sell,
+ import and otherwise transfer the Contribution of such Contributor, if
+ any, in source code and object code form. This patent license shall
+ apply to the combination of the Contribution and the Program if, at the
+ time the Contribution is added by the Contributor, such addition of the
+ Contribution causes such combination to be covered by the Licensed
+ Patents. The patent license shall not apply to any other combinations
+ which include the Contribution. No hardware per se is licensed
+ hereunder.
+
+ c) Recipient understands that although each Contributor grants the
+ licenses to its Contributions set forth herein, no assurances are
+ provided by any Contributor that the Program does not infringe the
+ patent or other intellectual property rights of any other entity. Each
+ Contributor disclaims any liability to Recipient for claims brought by
+ any other entity based on infringement of intellectual property rights
+ or otherwise. As a condition to exercising the rights and licenses
+ granted hereunder, each Recipient hereby assumes sole responsibility to
+ secure any other intellectual property rights needed, if any. For
+ example, if a third party patent license is required to allow Recipient
+ to distribute the Program, it is Recipient's responsibility to acquire
+ that license before distributing the Program.
+
+ d) Each Contributor represents that to its knowledge it has sufficient
+ copyright rights in its Contribution, if any, to grant the copyright
+ license set forth in this Agreement.
+
+ 3. REQUIREMENTS
+
+ A Contributor may choose to distribute the Program in object code form
+ under its own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+ i) effectively disclaims on behalf of all Contributors all warranties
+ and conditions, express and implied, including warranties or conditions
+ of title and non-infringement, and implied warranties or conditions of
+ merchantability and fitness for a particular purpose;
+
+ ii) effectively excludes on behalf of all Contributors all liability
+ for damages, including direct, indirect, special, incidental and
+ consequential damages, such as lost profits;
+
+ iii) states that any provisions which differ from this Agreement are
+ offered by that Contributor alone and not by any other party; and
+
+ iv) states that source code for the Program is available from such
+ Contributor, and informs licensees how to obtain it in a reasonable
+ manner on or through a medium customarily used for software exchange.
+
+ When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+
+ b) a copy of this Agreement must be included with each copy of the
+ Program.
+
+ Contributors may not remove or alter any copyright notices contained
+ within the Program.
+
+ Each Contributor must identify itself as the originator of its
+ Contribution, if any, in a manner that reasonably allows subsequent
+ Recipients to identify the originator of the Contribution.
+
+ 4. COMMERCIAL DISTRIBUTION
+
+ Commercial distributors of software may accept certain responsibilities
+ with respect to end users, business partners and the like. While this
+ license is intended to facilitate the commercial use of the Program,
+ the Contributor who includes the Program in a commercial product
+ offering should do so in a manner which does not create potential
+ liability for other Contributors. Therefore, if a Contributor includes
+ the Program in a commercial product offering, such Contributor
+ ("Commercial Contributor") hereby agrees to defend and indemnify every
+ other Contributor ("Indemnified Contributor") against any losses,
+ damages and costs (collectively "Losses") arising from claims, lawsuits
+ and other legal actions brought by a third party against the
+ Indemnified Contributor to the extent caused by the acts or omissions
+ of such Commercial Contributor in connection with its distribution of
+ the Program in a commercial product offering. The obligations in this
+ section do not apply to any claims or Losses relating to any actual or
+ alleged intellectual property infringement. In order to qualify, an
+ Indemnified Contributor must: a) promptly notify the Commercial
+ Contributor in writing of such claim, and b) allow the Commercial
+ Contributor to control, and cooperate with the Commercial Contributor
+ in, the defense and any related settlement negotiations. The
+ Indemnified Contributor may participate in any such claim at its own
+ expense.
+
+ For example, a Contributor might include the Program in a commercial
+ product offering, Product X. That Contributor is then a Commercial
+ Contributor. If that Commercial Contributor then makes performance
+ claims, or offers warranties related to Product X, those performance
+ claims and warranties are such Commercial Contributor's responsibility
+ alone. Under this section, the Commercial Contributor would have to
+ defend claims against the other Contributors related to those
+ performance claims and warranties, and if a court requires any other
+ Contributor to pay any damages as a result, the Commercial Contributor
+ must pay those damages.
+
+ 5. NO WARRANTY
+
+ EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+ PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
+ WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
+ FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible
+ for determining the appropriateness of using and distributing the
+ Program and assumes all risks associated with its exercise of rights
+ under this Agreement , including but not limited to the risks and costs
+ of program errors, compliance with applicable laws, damage to or loss
+ of data, programs or equipment, and unavailability or interruption of
+ operations.
+
+ 6. DISCLAIMER OF LIABILITY
+
+ EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
+ ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+ WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+ DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+ HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+ 7. GENERAL
+
+ If any provision of this Agreement is invalid or unenforceable under
+ applicable law, it shall not affect the validity or enforceability of
+ the remainder of the terms of this Agreement, and without further
+ action by the parties hereto, such provision shall be reformed to the
+ minimum extent necessary to make such provision valid and enforceable.
+
+ If Recipient institutes patent litigation against any entity (including
+ a cross-claim or counterclaim in a lawsuit) alleging that the Program
+ itself (excluding combinations of the Program with other software or
+ hardware) infringes such Recipient's patent(s), then such Recipient's
+ rights granted under Section 2(b) shall terminate as of the date such
+ litigation is filed.
+
+ All Recipient's rights under this Agreement shall terminate if it fails
+ to comply with any of the material terms or conditions of this
+ Agreement and does not cure such failure in a reasonable period of time
+ after becoming aware of such noncompliance. If all Recipient's rights
+ under this Agreement terminate, Recipient agrees to cease use and
+ distribution of the Program as soon as reasonably practicable. However,
+ Recipient's obligations under this Agreement and any licenses granted
+ by Recipient relating to the Program shall continue and survive.
+
+ Everyone is permitted to copy and distribute copies of this Agreement,
+ but in order to avoid inconsistency the Agreement is copyrighted and
+ may only be modified in the following manner. The Agreement Steward
+ reserves the right to publish new versions (including revisions) of
+ this Agreement from time to time. No one other than the Agreement
+ Steward has the right to modify this Agreement. The Eclipse Foundation
+ is the initial Agreement Steward. The Eclipse Foundation may assign the
+ responsibility to serve as the Agreement Steward to a suitable separate
+ entity. Each new version of the Agreement will be given a
+ distinguishing version number. The Program (including Contributions)
+ may always be distributed subject to the version of the Agreement under
+ which it was received. In addition, after a new version of the
+ Agreement is published, Contributor may elect to distribute the Program
+ (including its Contributions) under the new version. Except as
+ expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+ rights or licenses to the intellectual property of any Contributor
+ under this Agreement, whether expressly, by implication, estoppel or
+ otherwise. All rights in the Program not expressly granted under this
+ Agreement are reserved.
+
+ This Agreement is governed by the laws of the State of New York and the
+ intellectual property laws of the United States of America. No party to
+ this Agreement will bring a legal action under this Agreement more than
+ one year after the cause of action arose. Each party waives its rights
+ to a jury trial in any resulting litigation.
1,019 ChangeLog
@@ -0,0 +1,1019 @@
+May 6, 2011
+ - Release 2.28.0
+ - incremented library api version:
+ libcdt, libgraph, libcgraph, libgvpr, libgvc
+ - Add gvmap, cluster and gvmap.sh
+ - Deprecate dotty; prefer gvedit
+ - Add patchwork supporting squarified tree maps
+ - Add ordering as a node attribute
+ - Fix problems with font resolution
+ - Fix problems with text placement
+ - Fix twopi to set root attribute
+ - Make available layouts and formats available via the API
+ - Fix error message system so that an application can capture the messages
+ - New Qt-based version of gvedit
+ - New attributes and features for sfdp
+ - gvgen now allows the user to specify graph name and node name template
+ - Make overlap=false denote overlap=prism
+ - More efficient xdot library
+ - HTML-like labels provide ID
+ - Fixed bugs: 1480 1980 2044 2087 2088 2089 2091 2093 2094
+ 2095 2101 2102 2103 2104 2112 2113 2118 2128 2129 2139 2149
+ 2157 2113 2159 2160 2161 2163
+March 31, 2011
+ - Add many new gvpr scripts to release package
+ - Add scale attribute to twopi
+October 14, 2010
+ - Add <B>,<I>,<U> to html strings
+February 15, 2010
+ - migrated to 2005 version of cdt
+January 26, 2010
+ - Release 2.26.3
+ - libcgraph.so version bumped from 4 to 5 due to API changes
+ - Allow ranksep to specify multiple radial differences in twopi
+ - Allow the user to specify all pairwise distances in neato with
+ - Fixed bugs: 1280 1409 1567 1583 1624 1631 1655 1708 1709
+ 1727 1784 1792 1798 1800 1813 1814 1830 1831 1833 1836 1839
+model=mds
+December 10, 2009
+ - Release 2.26.0
+ - Core features:
+ - added: "smyrna" - a new opengl-based viewer for large graphs
+ - added: rudimentary "gml2gv", "gv2gml" converters
+ - extended support for various image formats in node images
+ - removed vestiges of codegens, now all putput formats supported
+ through plugins. Dropped some output formats for which
+ plugins have not been developed: -Tdia, -Tmif
+ - gvpr converted to a library; additional array handling and
+ text processing functions added; language extended to allow
+ multiple BEG_G/N/E blocks.
+ - allow background images specified via xdot
+ - Ports added/dropped from nightly builds:
+ (The dropped ports could probably be re-added if there was demand.)
+ - added MacOSX SnowLeopard (multiarch: i386/x86_64/ppc)
+ - added Fedora 12 (i386, x86_64)
+ - added Fedora 13 (Rawhide) (i386, x86_64)
+ - dropped Fedora 7 (i386, x86_64)
+ - dropped Fedora 8 (i386, x86_64)
+ - dropped RHEL 3 (i386, x86_64, ia64)
+ - dropped Ubuntu 8 (i386)
+ - Fixed bugs: 1683 1713 1718 1720 1738 1747 1759 1770 1776 1786
+ 1799 1816 1827
+
+June 16, 2009
+ - Release 2.24.0
+ - Core:
+ - add new layout engine for large graphs: sfdp
+ - add new layout engine for nested graphs: osage
+ - pack library extended to handle array-based packing modes
+ using array bounds, aspect ratio, user-controlled sorting, etc.
+ - Fixed bugs: 1515 1590 1598 1601 1605 1607 1609 1610 1611 1614
+ 1615 1617 1625 1628 1634 1635 1640 1641 1642 1646 1649 1651 1652
+
+March 13, 2009
+ - Release 2.22.2
+ - fix for buffer overflow (present in 2.22.0 and 2.22.1)
+ - Fixed bugs:
+ 1602
+
+March 9, 2009
+ - Release 2.22.1
+ - build fixes for Visual Studio and for FreeBSD
+March 3, 2009
+ - Release 2.22.0
+ - Core:
+ - libgvc api changed, version bumped. Affects third party
+ applications using libgvc.
+ - plugin api changed, version bumped. Affects third party
+ plugins for graphviz.
+ - 90% conversion to cgraph has been done, but not enabled yet,
+ (and yes, its true what they say about the last 10% )
+ - drop libagraph from distribution (use libcgraph)
+ - layout code completely converted to floating point.
+ - new "dot -P" option for generating a graph of available
+ plugins.
+ - registered MIME type: text/vnd.graphviz for .gv files
+ - rename files from .dot to .gv to avoid conflict with
+ Word templates. .dot still supported, but deprecated.
+ - new command: mm2gv (matrix-market graph file conversion)
+ - rename commands: dot2gxl -> gv2gxl
+ gxl2dot -> gxl2gv
+ - Plugins:
+ - new rsvg plugin for support of node shapes in SVG format
+ - new gs plugin for support of node shapes in PS format
+ - new lasi plugin for support of UTF-8 characters in PS output
+ (the above thee plugins are Linux only, at the moment)
+ - new quartz plugin (MacOSx only)
+ - new gdiplus plugin (Windows only)
+ - new -Tvml support in core plugin (thanks Steve Roush)
+ - new -Ttk support in core plugin (also used by Tcldot and
+ gv_tcl language bindings.)
+ - disabled old style codegens completely
+ - Linux:
+ - new Ubuntu8 builds
+ - new Fedora 10 and 11 builds
+ - MacOSx:
+ - Universal binary for Leopard: i386, x86_64, ppc, ppc64
+ - Should not conflict with parallel install of MacPorts
+ version of graphviz
+ - Improved GUI
+ - Windows:
+ - VisualC project files now available, in addition to the GNU
+ Makefiles that are used the mingw builds.
+ - Language Bindings:
+ - fixed problem with writing dot, xdot, plain, canon to
+ memory or to Tcl_Channels
+ - renamed man pages to Debian style: gv.3tcl, gv.3perl, etc
+ - Fixed bugs: 827 1365 1366 1367 1368 1374 1375 1376 1378 1380 1382
+ 1383 1385 1386 1388 1390 1391 1392 1394 1395 1397 1398 1399 1405
+ 1407 1410 1412 1414 1415 1416 1421 1424 1425 1427 1429 1431 1433
+ 1435 1436 1437 1438 1440 1441 1444 1446 1451 1452 1453 1456 1457
+ 1459 1460 1461 1462 1463 1464 1465 1466 1470 1474 1475 1476 1477
+ 1478 1484 1485 1489 1490 1492 1493 1495 1496 1499 1500 1501 1502
+ 1503 1505 1509 1513 1521 1523 1525 1530 1531 1532 1533 1535 1536
+ 1539 1540 1542 1543 1546 1547 1551 1553 1554 1561 1565 1566 1568
+ 1569 1570 1571 1573 1577 1578 1579 1580 1581 1582 1584 1586
+
+June 25, 2008
+ - Release 2.20.2
+ - Fix bug in HTML-like labels
+June 23, 2008
+ - Release 2.20.1
+ - Fix bug in ccomps related to conversion to cgraph
+June 20, 2008
+ - Release 2.20.0
+ - Preparing for Release 2.20
+ - Fixed bugs: 1315, 1317, 1324, 1336, 1343, 1364
+ - Add new "folder" shape for nodes.
+ - Migration of gvpr tools to libcgraph.
+ - New output format -Teps (encapsulated postscript)
+ - Various NetBSD and SuSE fixes incorporated
+ - ./configure now provides a summary
+ - RPM specfile updates for fedora-10 (no more string comparisons)
+ - Add MacOS support (Glen Low)
+March 10, 2008
+ - Release 2.18
+ - Fixed bugs: 1249 1255 1256 1268 1276 1289 1295 1300
+ Fedora BZ#247376,
+ - in -Tps use a new number formatter that suppresses trailing 0.
+ - support tcl/tk-8.5
+ - support gcc-4.3
+ - support for node usershapes/images in svg format (thanks Alex Poylisher)
+ - install: perl, php, python, ruby, tcl, bindings in language-specified directories
+ - add arrowhead scaling with edge penwidth
+ - add "folder" node shape (thanks Pander)
+ - many windows and mac fixes (thanks Glen)
+ - add "smyna" large graph view (thanks Arif) (not yet included in binary distros)
+December 12, 2007
+ - Release 2.16.1
+ - Fixed bugs: 1228 1234 1238 1239 1245
+ - Improvements to PHP binding
+ - Improvements to OCAML binding
+ - Make regression tests run from the build tree, rather than require installation
+ - Repair freetype detection on RedHat-7 (Yes, people still use it!!)
+ - Fix zoom-at-mouse-location in -Txlib and -Tgtk
+ - Fix some dotty regressions
+November 9, 2007
+ - Release 2.16
+ - Fixed bugs: 456 473 1021 1153 1154 1155 1159 1160 1162 1165 1166
+ 1168 1169 1170 1172 1173 1174 1175 1177 1178 1179 1181 1182 1183
+ 1185 1187 1189 1192 1193 1195 1196 1199 1204 1207 1210 1215 1216
+ 1217 1218 1219 1220 1223
+ - new regression test suite
+ - new cgraph library (will eventually replace graph and agraph)
+ - add "image" and "imagescale" for simpler support for images in nodes
+ - add "tab" "box3d" and "component" shapes. - Diomidis Spinellis
+ - replace arith.h in distro
+ - add functions to access version info to avoid need for gvcint.h
+ - Fix problem with irregular character spacing at 96dpi in pango/cairo output formats.
+ - Add gdk_pixbuf plugin providing: .bmp .ico .jpg .png .tif
+ - Add DevIL plugin providing: .bmp .jpg .png .tif .tga
+ - Extend GD plugin to provide a backend to cairo for: .gif .jpg .png .gd .gd2 .wbmp <- gifs are now antialiased
+ - Rework plugin framework to separate device from renderer, and to autoload load dependendent plugins
+ - show defaults in output from: ./configure --help
+ - add more info to dot -v and dot -v2 debug outputs
+ - various issues with CR/LF in windows, but not in binary outputs.
+August 15, 2007
+ - release 2.14.1
+ - Fixed bugs: 1163, 1167
+ - Windows build fixes
+ - Add xdot parsing library to source distros
+ - graphviz.spec fixes for rpm distros from Gareth Armstrong
+ - moved language binding man pages to mann (gv_php.n, gv_ocaml.n, etc.)
+ - New access functions for version info in GVC_t - permits gvcint.h to
+ be private.
+August 2, 2007
+ - release 2.14
+ - Fixed (or otherwise closed) bugs:
+ 74 130 162 184 190 197 219 223 281 295 311 316
+ 324 352 364 385 393 404 420 447 455 474 489 507
+ 530 532 537 543 551 564 571 574 577 583 587 588
+ 590 592 595 599 638 647 650 660 675 667 668 669
+ 676 684 685 686 721 725 734 740 746 747 748 749
+ 752 755 756 765 778 780 781 782 785 794 803 814
+ 822 828 836 840 847 852 862 866 868 893 928 944
+ 948 950 955 961 976 985 992 1024 1057 1064 1065
+ 1066 1069 1072 1074 1079 1085 1086 1089 1091 1092
+ 1093 1094 1096 1107 1111 1123 1124 1130 1138 1145
+ 1151 1152 1156
+ - Fixed Redhat bugs: 218191 237497
+ - Fixed Debian bugs: 321128 422862 422873
+ - Fixed Gentoo bugs: 173676
+ - Using system version of libgd if gd-2.0.34 or later. (Fedora 7 and 8 distros)
+ internal copy of gd updated to gd-2.0.35.
+ - Updated GVGUI viewer for Windows
+ - Windows build process now uses GNU autoconf and UWIN
+ - Added support for selection of edge routing types:
+ line, polyline, orthogonal, spline
+ - Added -Tvml support
+December 5, 2006
+ - release 2.12
+ - Bug fix release for 2.10
+ - The gd plugin for font handlers was not being used at all if the build
+ did not use fontconfig, e.g., on Windows. In addition, the code had
+ dropped the name mapping to Windows font names.
+ - PostScript output had an extraneous '%' character on the first line,
+ which would cause printing to fail.
+ - Text handling, during both sizing and layout, incorrectly handled
+ empty lines such as label="\nabc".
+ - HTML-like tables had been changed to use too much vertical space,
+ to possibly use the wrong font in calculating the height of a line,
+ and to use the wrong offset when moving the baseline from one line to
+ the next.
+November 27, 2006
+ - release 2.10
+ - dot - New pango+cairo renderer plugin (was in separate graphviz-cairo tree).
+ -- -Tpng now uses cairo (-Tpng:gd for old gd based renderer)
+ -- -Tpdf now available
+ -- -Tps:cairo now available (-Tps is a direct ps renderer not based on cairo)
+ -- -Tsvg:cairo now available (-Tsvg is a direct svg renderer not based on cairo)
+ -- -Txlib now available -- "dot -Tx11 foo.dot" watches foo.dot with inotify and updates
+ -- -Tgtk now available -- eventually to provide a graph editing capability - not fully working
+ -- -Tswf "Flash" now available using the ming library. Currently has incomplete font support and not yet in Fedora rpms because ming not yet available as rpm.
+ - remove hard gd dependencies from dot. gd renderers now provided
+ as optional plugin. Deprecated, but required for -Tjpg, -Tgif and -Tvrml.
+ - gvpr - Add kindOf function, plus functions to set and get default values
+ - dot - Implement esep attribute to allow graph to specify room
+ around nodes for spline routing.
+ - neato - add vpsc library and DIGCOLA
+ - neato - add IPSEPCOLA additions from Tim Dwyer
+ - move: -Tps, -Tfig, -Tsvg, -Timap/ismap/cmap/cmapx, -Tdot/xdot,
+ from codegens to a "core" plugin.
+ - dot - new usershape plugin mechanism potentially supporting
+ a wider range of input shape format -> output format combinations.
+ display on changes
+ - Fixes for builds on Mac OS/X
+ - dot - new -O switch to automatically generate output file
+ names based on the input filename and the -T value.
+ e.g. "dot -Tpng -O *.dot"
+ Also works for case of multiple graphs in a single input file.
+ - add support for "Brewer" color nameset
+ - move reusable .so libraries to $PREFIX/lib per frequent request
+ from Debian community. Plugin .so's remain in $PREFIX/lib/graphviz.
+ - Fix bugs 882 884 886 896 902 905 906 911 918 919 933 936 938 940
+ 948 955 958 967 979 987 993 1005 1006 1011 1012 1013 1014 1016
+ 1018 1025 1030 1034 1035 1039 1040 debian#37300
+
+February 3, 2006
+ - release 2.8
+ - (POTENTIAL INCOMPATIBILITY) The default input scaling, in the
+ absence of a "-s" switch, has been changed from inches to points.
+ The new behavior of "neato" is equivalent to "neato -s72".
+ The old behavior can be restored with "neato -s1".
+ The purpose of this change is to avoid a Frequently-Made-Mistake
+ when using "neato -n" to process a previously generated layout.
+ Previously it was necessary to use "neato -n -s72", but with this
+ change the default matches dot's output and the "-s72" is not required.
+ - Added pseudo layout engines: "dot -Knop" and dot -Knop1" equivalent
+ to "neato -n"
+ - Added pseodo layout engine: "dot -Knop2" equivalent to "neato -n2"
+ - Add support for color namespaces; add Brewer color data
+ - Add support for simulated duplex edges using parallel edges:
+ head arrow takes first color, tail arrow takes second color.
+ - source code management moved back to CVS until GIT matures a bit more
+ - distribute separe rpms for binares of language bindings :
+ - Add a small pad region around graph renderings to allow for finite
+ penwidths at the drawing edges
+ - Add protonode(g) and E=protoedge(g) functions to simplify
+ language bindings.
+ - Add special purpose code to deal with html labels from language
+ bindings.
+ - Various portability fixes for: HPUX, Mac OS/X, Cygwin, Windows.
+ - Fix bugs 784 786 787 788 789 790 791 793 795 796 798 799
+ 800 801 804 806 811 812 817 820 821 823 824 825 830
+ 837 839 841 842 843 848 850 851 854 855 856 857 858
+ 859 861 863 866 867 869 872 874 876 877
+
+August 28, 2005
+ - release 2.6
+ - experimentally moved source code management from CVS to GIT
+ - added iterator functions to script bindings
+ - more C-API tuning
+ - add "-c" switch to dot to explicitly generate plugin "config" file
+ instead of generating it as a side-effect of "dot -V"
+ - better support for binary relocation.
+ - plugin versioning and version checking
+ - clean up of header files
+ - provide statically linked "dot_static" (not incl. in rpms)
+ - additional "event" support for GUIs (e.g. "DotEdit" graphviz-cairo)
+ - add some information about plugins to "dot -v" output.
+ - lefty/dotty fixes
+ - fix bugs 746 750 752 753 754 756 761 763 764 765 768
+ 771 772 773 774 775 776 777 778
+ - not a bug 757 760 770
+July 20, 2005
+ - release 2.4
+ - major code restructuring
+ - new plugin architecture (e.g. see separate package: graphviz-cairo )
+ - new script-language bindings using swig (perl, ruby, python, tcl, java ... )
+ - C-API now in libgvc (no more dotneato.[ch] or dotneato-config.sh]
+ - pkgconfig now used for reusable libraries
+ - lefty upgrade
+ - fix bugs 156 255 492 631 641 647 659 662 665 670 690 691
+ 701 702 703 705 730 731 732 741 743
+April 7, 2005
+ - release 2.2.1
+ - correct license headers to CPL in .cpp files
+ - undo indentation cleanup to dynagraph .h files
+ - fix bugs: 183 247 419 615 616 625 626 627 643
+ 646 651 658 661 664 674
+ - fix buffer overrun in Gvfilepath construction
+January 19, 2005
+ - release 2.2
+ - fix bugs: 86 345 517 579 580 597 600 601 604
+ - use the original cpl1.0.txt as the license master, instead of CPL.html - fix for bug generating in memory bitmaps that was affecting webdot
+ - fixes for windows builds
+ - documentation updates
+December 11, 2004
+ - release 2.0
+ - new CPL license
+ - re indent all sources
+December 11, 2004
+ - release 1.18
+ dotneato
+ - fix bugs: 451 536 545 547 548 559 561 565 572
+ - increase max size of HTML tables.
+ - spline cluster edges in fdp
+ - center userimages in nodes
+ - support user images in HTML table cells
+ - syntax extension for node:port:compass as well as node:compass
+ - FreeBSD fixes
+ - sync with gd-2.0.32
+ - attempt to catch some out-of-memory conditions with very large graphs
+ - support background and node-fill partial transparency when truecolor=true
+
+September 14, 2004
+ - release 1.16
+ dotneato
+ - fix bugs: 275 523 526 527 529 534
+August 30, 2004
+ - release 1.14
+ dotneato
+ - the official gd now has support support for GIFs again - the
+ internal gd is now closely sync'ed with the official version
+ and will eventually be removed in favor of using a
+ separate installation of the official version.
+ - gd has new support for FontConfig (thanks to Dag Lem)
+ NB. the fontname attribute in graphs is now a font pattern
+ as understood by fontconfig (e.g. fontname="Times-Italic"),
+ unless it contains a '/' in which case it is interpreted as
+ a font path as before.
+ - gd provides support for html4 entities in decimal, hex or named, e.g "&lt;"
+ - "dot -v" debugging output now reports fontname -> fontpath resolutions
+
+ - PostScript generated by -Tps now uses "xshow" operator for strings
+ for better matching of bitmap and PostScript outputs.
+
+ - ability to use an external gd-2.0.29 version of libgd (EXPERIMENTAL)
+
+ - new feature: parallel edges by using a ":" separated list of edge colors
+ - new feature: rankdir=BT and rankdir=RL (thanks to Dag Lem)
+
+ - new layout engine: fdp - force directed placement (EXPERIMENTAL)
+ a neato-like undirected layout engine that produces
+ clustered symmetric layouts.
+ Supports edges between clusters and nodes.
+
+ - updated neato engine: now using stress majorization as the default,
+ which avoids the potential for cycling
+ - model=subset in neato provides a third distance function, where
+ two nodes sharing many nodes will be place farther apart
+ - shape=none now equivalent to shape=plaintext
+ - fix label justification with \l and \r
+ - first cut at <FONT> support added to html labels
+ - various color transparency fixes
+ - various fixes for UTF8 and Latin[12] character encodings.
+ - various cluster fixes.
+ - improved hyperlink support in -Tsvg
+ - support tooltips on clusters in client-side imagemaps
+
+ gvpr
+ - add support for scanf and friends
+
+ general
+ - greater use of shared libraries.
+ - pkg-config files provided for shared libraries (EXPERIMENTAL)
+ - "./configure --disable-shared --enable-static" works if needed
+ - C++ wrappers on all header files (thanks to Victor Wodecki)
+ - various configuration and portablity fixes
+ - provide pdf version of man pages
+ - Windows package provides graphviz libraries and header files
+ - Closed bugs: 195 198 234 321 330 399 401 406 410 411
+ 412 413 415 416 417 423 424 427 430 431 433 434 435
+ 438 441 442 444 445 449 450 452 454 457 458 462 463
+ 464 467 468 469 471 475 480 482 485 495 496 498 499
+ 500 501 504 508 511 512 514
+
+March 5, 2004
+ - added glyphwidths.ps support utility
+
+March 1, 2004
+ - release 1.12
+ - general
+ - rename bcc -> bcomps to avoid name conflict with "Bruce's C Compiler"
+ on Redhat distributions.
+ - all build without X11 (fix problem in lefty tree)
+ - remove from distribution:
+ dag, fdp, geo, grid, incr, shape, tcldgr, tcldgl
+ - dotneato
+ - fix "brown-bag" problem resulting in PNG and JPEG errors on RH8 and RH9.
+February 23, 2004
+ - release 1.11
+ - general
+ - fix windows builds
+ - add tool "bcc" to distribution
+ - dotneato
+ - add -Gviewport="X,Y,Z,x,y" where XY are the dimensions of a viewport
+ in device coordinates (pixels), Z is a zooming factor, x,y is the
+ location of the center of the viewport in graph coordinates.
+ Supported in bitmap and imagemap outputs only.
+ - fix memory leak in gd/gdft.c
+ - clean up calculation of whitespace around labels
+ - dotty, lefty
+ - fix for bug #400
+December 23, 2003
+ - added dijkstra (single source distance) filter
+September 10, 2003
+ - general
+ - removed CVS directories from .tar.gz distributions
+ - add "config" directory to contain some of the autoconf clutter
+ - only remove flex products with "make maintainer-clean" to
+ avoid trying to regenerate them after "make distclean"
+ basically this is to avoid the broken flex on Debian.
+ - suppress complaints from ./configure about config.rpath
+ - doc/build.html updated with notes about Windows builds
+ - build fixes for Forte 6sp2 compiler on Sun -xarch=v9a (64bit)
+ - build fixes for OpenBSD
+ - improved configure testing for Tcl/Tk
+ - various bug fixes, internal restructuring, etc
+ - dotneato
+ - fix problem with extra escape chars in .fig output
+ - support for "setlinewidth" in -Tfig
+ - improved splines in -Tfig
+ - add manpage for dotneato-config
+ - neato: add defaultdist graph attribute to set distance
+ between components
+ - first cut at html table formatter add. not ready for use yet
+ as the syntax is going to change some more.
+ - tools
+ - renamed "colorize" to "gvcolor" to avoid conflict on Debian
+ - renamed "gpr" to "gvpr" to avoid conflict on Debian
+ - add fflush() to acyclic, ccomps, gvcolor, tred, dot2gxl
+ to try to fix truncated output when used in php or perl cgi scripts
+July 9, 2003
+ - rerelease 1.10 with ast_common.h fix in -devel rpms
+July 3, 2003
+ - declare this version 1.10
+ - general
+ - "mkdir obj;cd obj;../configure;make" now works (bug #293)
+ - "make prefix=xxx" now works (bug #274)
+ - "--with-wish=xxx" now works (bug #270)
+ - remove generated file: ast_common.h from source distributions
+ - make GIF support configurable
+ - added .cvsignore thoughout source tree to reduce CVS noise
+ - FAQ updates
+ - documentation updates for gpr
+ - improve portability of dotneato-config, but requires libtool now
+ - improvements to error processing for library users
+ -gd
+ - sync with gd-2.0.15
+ - optimize line drawing code
+ - dot, neato, twopi
+ - fix bugs 240 270 274 293 298 303
+ - support "peripheries=0" without crashing
+ - add support for "dia" output format (-Tdia)
+ - espf fixes (use of showpage)
+ - svg fixes (coordinates and viewBox)
+ - ismap/imap, fixes (quoting of label strings)
+ - fix to "point" shape
+ - improve (m|c|re)alloc usage
+ - improve handling of very-small fonts in bitmap outputs.
+ - various fixes for multiple -T -o feature
+ - add support for splines to records and ports (neato)
+ - various improvements to libpack
+ - dot_init_graph and neato_init_graph external for library users
+ - cluster improvements (neato)
+ - fix support for truecolor
+ - normalize splines so that they now always go from tail to head
+ - add some simple help text for any unrecognized option
+ (e.g. -? -h --help)
+ - tools
+ - extend gpr language to allow access to command-line arguments
+ - add sqrt() function to gpr
+ - add new tool - gvpack
+ - tcldot
+ - use .dll extension if on windows
+ - doted demo
+ - use tcl's file requestor instead of homebrew
+ - add zooming controlled by mousewheel
+ - support additonal export formats
+
+January 31, 2003
+ - declare this version 1.9
+ (3-level version numbering has been dropped now
+ that we have nightly snapshot builds with their
+ own extended numbering.)
+ - general
+ - config.h is no longer installed. config.h is generated by
+ ./configure for the current build only. It may not be
+ applicable for derivative builds.
+ - improve ICONV configure tests
+ - lots of janitor-work to clean up warning messages from -Wall
+ - use @OBJEXT@ in Makefile.am so that .obj is used under cygwin
+ - fixes for Solaris builds
+ - use libpng-config if available
+ - reduce long build times due to touching ast_common.h too often
+ - improve dependency tracking. "make -j8" now works with distcc
+ - autogen.sh fixes to work on RH7.3, RH8.0, and Solaris.
+ - eliminate use of suffix rules which confused some makes.
+ - DOT language allows '+' for concatenation of quoted strings
+ - dot, neato, twopi
+ - fix bugs 209 210 214 216 217 222 224 225 229
+ 230 233 236 237
+ - update gd into alignment with gd-2.0.9
+ - change to make libagraph output compatible with libgraph input
+ - add shapes: septagon, pentagon, a_ediamond, rect, rectangle
+ - introduce "ND_...", "ED_...", "GD_...", node/edge/graph-data
+ accessor macros in partial preparation for use of
+ libagraph in dot.
+ - add libdotneato.so, dotneato.h, dotneato-config
+ to aid use of dot libraries by user apps based
+ on installed graphviz-devel rpm and without access
+ to graphviz sources.
+ - new xdot output format providing detailed drawing instructions
+ - new -y command line flag, inverts y coordinates
+ - support multple -T when -o given, as in:
+ cat xxx.dot | dot -Tpng -Tcmap -o xxx
+ which produces xxx.png and xxx.cmap from a single
+ layout computation. Intended for use in CGI programs.
+ - agraph
+ - correct callback ordering for deletions
+ - tools
+ - add gxl2dot and dot2gxl for GXL language conversions
+ - gvui now provides *map output
+ - tcldot, tcldgr, tcldgl
+ - improve tcl8.4 support
+ - extend search path for tcl.h to include /usr/local/include/tcl8.4/
+ in support of BSD install conventions.
+ - dynagraph
+ - many fixes
+ - change to not build dynagraph by default (use --with-dynagraph)
+ - docs
+ - dotguide updates
+September 27, 2002
+ - declare this version 1.8.10
+ - general
+ - various configure.in fixes and simplifications
+ - change configure to now build dynagraph by default
+ "--without-dynagraph" is supported
+ - fix graphviz.spec.in to partition packages properly
+ graphviz no longer depends on graphviz-tcl.
+ - Makefile.old cleanups
+ - configure.old now set version number automatically from
+ configure.in
+ - dot, neato, twopi
+ - Initial support for image node shapes + URL fetch.
+ - Made number of dimensions a runtime variable in neato.
+ - Bug fix in vrmlgen for degenerate splines.
+ - Bug fix - ordering=in should now work
+ - Bug fix - layers no numbered from 0 to match PS requirements
+ - Bug fix - don't draw arrows on invisible edges
+ - Bug fix - when pack=true and ratio is set
+ - Bug fix - agraph/scan.l to work with latest flex beta
+
+August 2, 2002
+ - declare this version 1.8.9
+ - general
+ - split rpm into:
+ graphviz, graphviz-tcl, graphviz-graphs, graphviz-devel
+ - gcc3 warning cleanup
+ - Install lincdt, libgraph, libagraph, libgd, libpathplan, libexp,
+ and libpack so that they can be used by other programs.
+ Headers and man3 in graphviz-devel
+ - dynagraph, graphsearch
+ - New tools based on libagraph and written in C++
+ - dot, neato, twopi
+ - Add node and edge tooltips for use with -Tcmap
+ \N,\E,\H,\T substitutions also work in tooltips.
+ - Add alt="label_string" to -Tcmap
+ - Add edge-label and port mappings to -Tps and -Tps2 so
+ that edges can be hyperlinked in PDF documents.
+ - Add support for \E (edge name), \H (head-node name),
+ \T (tail-node name) substitutions in edge labels and edge URLs
+ - Add support for stylesheet="file.css" for use in -Tsvg
+ - Fix -Tpic to work with recent gpic (Bruce Lilly)
+ - Fix alignment of imagemaps to images.
+ - Fix "transparent" color support in -Tsvg
+ - Fix support for graph [URL="default.html"] in -Tsvg and -Tcmap.
+ - Fix '&' escaping in URLs in -Tsvg
+ - Fix infinite loop in dot layout algorithm
+ - Fix text rotations again (hopefully freetype is stable now.)
+ - Cluster layout improvements
+ - Clean up warning messages from pathplan
+ - Consolidation of mapping code from imapgen.c and ismapgen.c into mapgen.c
+ - gpr
+ - Added additional mode to extract components based sharing an
+ edge or a cluster
+ - Fix test for getopt
+ - tcl-based tools
+ - Disable tcl-based tool building if tcl/tk not available
+ with stubs support.
+ - documentation updates: FAQ, dotguide, dot.1
+July 5, 2002
+ - declare 1.8.7 a "brown bag" release
+ and declare this version 1.8.8
+ - remove wrong assert in gdgen.c
+ - fix graph centering in bitmap outputs
+ - provide enough margins
+ - fix line widths after scaling
+ (test with directed/proc3d.dot)
+ - fix text rotations (requires libfreetype.so.6.3.1)
+ (test with directed/NaN.dot)
+July 5, 2002
+ - declare this version 1.8.7
+ - Fix missing "]" in ihi demo.
+July 2, 2002
+ - Add URL mappings for clusters: svg,svgz,ps,ismap,imap,cmap.
+ - Fix to avoid white edges in bitmap outputs when bgcolor is set.
+ - Improve sizing and position of strings in bitmap outputs
+ when using builtin fonts (when font file not found).
+ - Fix \N substitution in edge URLs in imap and cmap outputs.
+ - Add -Tcmap for client-side imagemaps.
+ - Generate warnings instead of access violation for EPSF file problems.
+ - Various spline fixes in neato.
+ - Fixes to pack.c
+ - Add feature to ccomps to allow extraction of individual component
+ by number or node.
+ - Cdt make to use iffe provided in the tools directory.
+ - Various Makefile.old fixes.
+ - Use HAVE_LIBZ to remove GD2 format if libz not available.
+ Now bare-bones programs can be built without any add-on libraries.
+ - Modified dot grammar to allow simple name attributes in attribute
+ lists. Thus, [splines] is equivalent to [splines=true]. Adopted
+ the same convention for command line attributes -G, -E and -N.
+ In addition, such command line attributes now override any
+ competing initial attribute statements.
+ - HP-UX 11.11 build fixes for struct dioattr.
+ - Fix for bug #158 "Nodes disappear with ports"
+ - Various Windows-specific #ifdefs
+ - Fix edge coordinates in -Tplain.
+
+May 24, 2002
+ - declare this version 1.8.6
+May 19, 2002
+ - Fixed segfault from use of bgcolor in clusters.
+May 15, 2002
+ - Changed install location of architecture-independent demo
+ scripts and graphs to <prefix>/share/graphviz/ to conform to FHS.
+ - Avoid multiple linking of libfreetype (and others) which caused
+ problems on SunOS-2.8.
+May 6, 2002
+ - Factored out some duplicated arrow code from dotgen/splines.c
+ and neatorgen/splines.c into common/arrows.c.
+ - Added new arrow types: halfopen, box, obox, crow.
+ - Touched up the arrow designs so that they look better at default size.
+ - Modified/extended graphs/directed/newarrows.dot to show new arrows.
+May 3, 2002
+ - Added some UML arrow types from Diomidis Spinellis <dds@aueb.gr>
+ empty, invempty, open, diamond, odiamond.
+May 2, 2002
+ - Added new pack option to neato. This causes each connected component
+ to be laid out separately, and then the resulting graphs are packed
+ together in a single layout.
+ - Amended neato to accept new tee arrowhead.
+April 19, 2002
+ - Coords of rectangles changed to left/top right/bottom in -Timap.
+ - Generate COPYING from LICENSE.html during ./authogen.sh,
+ remove COPYING from CVS.
+April 16, 2002
+ - Minor license file patches.
+ - Corrected one of those reversed flat edge bugs again.
+
+April 11, 2002
+ - declared this version 1.8.5
+ - various portability fixes
+ - various SVG fixes and optimizations
+April 5, 2002:
+ - declared this version 1.8.4
+ - SVG renderer:
+ - make graph|node|edge ids unique, particularly for multiedges
+ - put graph|node|edge names in <title>...</title>
+ - use some property inheritance to reduce size of output
+ - fix compile errors when no zlib
+ - updated DTD reference
+ - GD renderer:
+ - Minimal Type1 font support:
+ - look in /usr/lib/X11/fonts/Type1/
+ - look for .pfa or .pfb font files based on fontname
+ - run gdgen.c through dos2unix - problems with gcc on SuSE
+ - fix Mac-OSX build problems:
+ - improve strto[u]ll configure tests
+ - add -fno-common for extern problem
+ - function renamed to avoid conflicts (vis -> visibility)
+ - add configure tests for search.h, malloc.h, getopt.h, errno.h
+ - improve configure tests for FILE struct features
+ - add configure tests for lrand48
+ - add new demo graphs:
+ - graphs/undirected/Heawood.dot
+ - graphs/undirected/Petersen.dot
+ - neato:
+ - fix for -x implementation in neato (Bug 77)
+ - fix spline problem (Bug 87)
+ - fix some divide-by-zero problems
+ - twopi:
+ - fix Bug 117
+ - update man pages for unconnected graphs capability
+ - added arrowhead or arrowtail = tee
+March 22, 2002:
+ - add dotneato/pack code to twopi
+ - add contrib/prune to gnu build and install
+March 20, 2002:
+ - declared this version 1.8.3
+ - fixed parse error for lines starting with '#' in .dot files
+ - fixed a recently introduced bug that caused failure of:
+ digraph G { {rank = same; A -> B; B -> A } }
+ - updated DOCTYPE header in SVG outputs
+ - added dotneato/common/xbuf.[ch] for dynamic string handling
+ to avoid sprintf buffer overruns.
+ - twopigen - handle special case of graphs with < 3 nodes.
+ - neato - handle point shapes
+ - added fontcolor support to svg
+March 14, 2002:
+ - Fixed bug 109
+ - Removed duplicate definitions for str[n]casecmp
+ - Added missing declarations needed for Windows
+ - Cleaned up warning messages from set but unused variables
+ - Removed use of DOS preprocessor variable; uniformly replaced by MSWIN32
+March 8, 2002:
+ - declared this version 1.8.2
+ - Mainly to fix a missed static buffer problem which trips up the
+ Windows community
+March 1, 2002:
+ - declared this version 1.8.1
+ - Bug fixes reported from user testing of 1.8.0, especially problem
+ with SVG output
+February 25, 2002:
+ - updated dotguide.tex and moved to LaTeX article format
+ - added webdot.cgi perl script, enhanced to accept the same
+ argument format as John's tcl version (so it can also
+ serve neato and twopi graph layouts).
+
+February 7, 2002: graphviz-1.8.0 pre
+ - declared this version 1.8.0
+
+February 5, 2002: graphviz-1.7.17-0
+ - various 64bit portability fixes
+ - various bug fixes
+January 2, 2002: graphviz-1.7.16-0
+ - dotneato
+ - fix bugs in -Tps output due to pen/fill color changes
+ - various -Tfig.c fixes
+ - various portability fixes
+December 28, 2001: graphviz-1.7.15-0
+ -dotneato
+ - introduce damping factor into neato's solver
+ - clean up pencolor v fillcolor code so that filled polygons are drawn
+ just once if the renderer is capable (e.g. svg, fig)
+ - complete -Tfig support (xfig format)
+December 11, 2001: graphviz-1.7.14-0
+ -dotneato
+ - add -Tsvgz (compressed SVG) support
+December 11, 2001: graphviz-1.7.13-0
+ - dotneato
+ - fontwidth fixes
+ - remove some potential buffer overruns
+ - escape '&' in SVG, unless it is already part of a UTF entity sequence
+ - recognize Times_New_Roman and Courier_New as default font names.
+ - improve -liconv support in configure
+ - clean up some compiler warnings
+ - dynagraph
+ - change "round" to "ROUND" to avoid conflict with system headers on linux
+December 03, 2001: graphviz-1.7.12-0
+ - dotneato
+ - add -Tplain-ext which includes port identifiers edge records
+ - escape '>' with '&gt;' in edge ids and edge URLs in -Tsvg.
+ - spline fixes
+ - mincross fixes
+ - improved text alignment in nodes - particularly in bitmap outputs.
+ - fixed text scaling problems for 8-bit characters (e.g. umlauts)
+ - add graph lexer and postscript support for extended characters
+ - lefty
+ - fix for X11 displays
+ - pathplan
+ - added workaround for gcc-0.96 bug when "-O2 -mcpu=686 -ffast-math"
+October 22, 2001: graphviz-1.7.11-0
+ - dotneato
+ - svg - fix landscape "y" direction
+ - fix text rotation (works in batik, not yet in sodipodi or amaya)
+ - fix linewidth
+ - fix xmnls:xlink reference
+ - doc
+ - Dot.ref - updated
+ - graphs/directed
+ - newarrows.dot expanded
+ - honda-tokoro.dot added
+October 21, 2001: graphviz-1.7.10-0
+ - lefty & dotty
+ - realign code with EK's master tree.
+ includes fix for dirty trails when dragging nodes in dotty.
+ - dotneato
+ - svg - kludge escape of "<" & ">" characters in labels.
+ - general
+ - generate doxygen documentation on http://www.graphviz.org/
+August 20, 2001: graphviz-1.7.9-0
+ - general
+ - first release from relocated cvs server
+ - dotneato
+ - fix for abort from spline code
+ - fix for crash from gd tiling code
+August 15, 2001: graphviz-1.7.8-0
+ - general
+ - Update gd to gd-2.0.1 with extensions
+ - dotneato
+ - more spline fixes
+ - add suport for "#rgb" color specification
+ - add twopi layout engine (circular layouts)
+July 13, 2001: graphviz-1.7.7-0
+ - Synchronization release prior to relocating CVS server.
+ - general
+ - some Makefile fixes for OpenBSD
+ - some FAQ updates
+ - dotneato
+ - self-edge fixes
+ - spline fixes
+ - libgraph
+ - parser fixes
+July 1, 2001: graphviz-1.7.6-3
+ - general
+ - portability fixes (including 14 charater file names !)
+ - memory leak fixes
+ - "make test" targets in graphs/directed, graphs/undirected
+ - configure
+ - add support for building without X11, Tk, Tcl
+ - add hooks for dmalloc and ElectricFence debugging
+ - dotneato
+ - spline fixes
+ - cluster fixes
+ - fix label centering
+ - fix support for graph margins in bitmapped outputs
+ - correction to PostScript preamble
+ - SVG generator improvement - now works with Amaya and SodiPodi
+ - tcldot
+ - now uses Tcl Channels properly for input
+ - fixes for linewidth support
+ - command extensions
+ - listattributes now accepts list
+ - queryattributes now accepts list
+ - setattributes now accepts list
+ - queryattributevalues - new command
+ - generates list of pairs compatible with setattributes
+ - dotty
+ - passthrough keyboard events
+ - doted
+ - fix resizing problems
+ - add PNG and SVG output formats
+
+April 27, 2001: graphviz-1.7.6
+
+ NEW FEATURES
+
+ Added a collection of graph processing tools:
+
+ acyclic : a filter that takes a directed graph as input
+ and outputs a copy of the graph with sufficient edges
+ reversed to make the graph acyclic.
+
+ ccomps : decomposes graphs into their connected components,
+ printing the components to standard output.
+
+ colorize : is a filter that sets node colors from initial
+ seed values. Colors flow along edges from tail to head.
+
+ gc : a graph analogue to wc in that it prints to standard
+ output the number of nodes, edges, connected components or
+ clusters contained in the input files.
+
+ gpr : a graph stream editor inspired by awk. It copies
+ input graphs to its output, possibly transforming their
+ structure and attributes, creating new graphs, or
+ printing arbitrary information.
+
+ nop : reads a stream of graphs and prints each in
+ pretty-printed (canonical) format on stdout.
+
+ sccmap : decomposes digraphs into strongly connected components
+ and an auxiliary map of the relationship between components.
+
+ tred : computes the transitive reduction of directed graphs,
+ and prints the resulting graphs to standard output. This
+ removes edges implied by transitivity.
+
+ unflatten : is a preprocessor to dot that is used to improve
+ the aspect ratio of graphs having many leaves or disconnected
+ nodes. The usual layout for such a graph is generally very
+ wide or tall. unflatten inserts invisible edges or adjusts
+ the minlen on edges to improve layout compaction.
+
+
+ FIXES
+
+ Add FAQ
+
+ Change PNG default background color from transparent to white
+ because of the difficulty some viewers have with transparency.
+
+ Add support for [color=transparent]
+
+ Fix broken support for specific capitalized fontnames
+ (Times Helvetica Arial Courier)
+
+ Fix broken support for DOTFONTPATH
+
+ Some bitmap font scaling fixes - we're still not happy with
+ bitmap font scaling as some labels still exceed the area
+ allocated by the layout engines.
+
+ Some -Timap fixes for mouse sensitive graphs on web pages
+
+ Some cluster layout fixes
+
+ Fix for [rankdir=LR] problems when using neato layout engine
+
+ Some neato layout fixes
+
+ Updates to unix.dot
+
+ Various OS and distro fixes
+
+
+December 23, 2000: graphviz-1.7.5
+
+ - update to gd-1.8.4 and freetype2
+ - add support for font paths
+
+
+December 15, 2000: graphviz-1.7.4
+ -various cluster fixes
+ -separate support for node fillcolor from pencolor (see dot.1)
+ -add support for dotted and dashed lines to bitmap renderers (PNG, GIF etc)
+ -add support for varying linewidth to bitmap renderers
+ -remove libtcldot dependence on lingdtclft (already statically included)
+ -various fixes to build processes, GNU and non-GNU
+
+
+graphviz-1.7.3 .....
+
+May 3, 2000: removed webdot into its own CVS module and rpm package
+
+April 16, 2000: Use check for "gdImagePng" to make sure that we have
+ recent version of libgd. <ellson@graphviz.org>
+
+April 14, 2000: Add Tcldgl and dge demo <ellson@graphviz.org>
+
+April 14, 2000: Add dynagraph libraries <north@research.att.com>
+
+April 14, 2000: Flatten directory hierachy of sources <ellson@graphviz.org>
+
+April 14, 2000: Fix X11 library detection for lefty:
+ src/configure.in, src/lefty/Makefile.in
+ <ellson@graphviz.org>
+
+April 14, 2000: Fix pic support:
+ src/dotneato/picgen.c,
+ src/dotneato/emit.c,
+ webdot/tcl/webdot.tcl
+ <Bruce Lilly>
+
+April 7, 2000: Upgrade webdot installation process:
+ webdot/Makefile, webdot/README
+ <ellson@graphviz.org>
+
+March 13, 2000: Support for virtual hosts in webdot/webdot.tcl, add
+ "puts $skt "Host: $server" Michael Tillberg <mt@proteome.com>
+
+March 13, 2000: Fix to src/graph/parser.y line 149
+ "if ((e->head == t->node) && !(Agraph_type & AGDIGRAPH)) {"
+ Stephen North <north@research.att.com>
+
+March 13, 2000: Use AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL
+ in configure.in. John Ellson <ellson@graphviz.org>
57 Config.mk.old
@@ -0,0 +1,57 @@
+# configuration for good old make.
+# select an architecture from makearch/*
+# ...one of: sgi.mips3 sgi.mips2 sol.sun4 sol6.sun4 sun4 linux.i386
+ARCH=linux.x86_64
+
+# specify root directory for installation
+INSTALLROOT=/usr/local/graphviz
+
+# specify where to find tcl >= 8.0
+TCLDIR=/usr/common/tcl8.3.3
+
+# specify where to find tk >= 8.0
+TKDIR=/usr/common/tcl8.3.3
+
+# specify where to find expat.h
+EXPAT_INC =
+
+# specify how to load expat library
+EXPAT_LIB = -lexpat
+
+# specify where to find bitmap packages (See INSTALL file.)
+EXTLIB_INC=-I/usr/include/freetype2
+EXTLIB_LIB=-ljpeg -lpng -lfontconfig -lfreetype -lz
+
+# library for libtool dynamic loading
+# to enable, uncomment this, and comment out "DISABLE_LTDL" in config.h.old
+#LTDL_LIB=-lltdl
+
+###################################################
+# Typically, nothing below should be changed. #
+###################################################
+
+BINDIR=$(INSTALLROOT)/bin
+LIBDIR=$(INSTALLROOT)/lib
+INCDIR=$(INSTALLROOT)/include
+XPLDIR=$(INSTALLROOT)/examples
+DOCDIR=$(INSTALLROOT)/doc
+
+MANDIR=$(INSTALLROOT)/man/man1
+LIBMANDIR=$(INSTALLROOT)/man/man3
+PKGMANDIR=$(INSTALLROOT)/man/mann
+
+# postscipt and html docs
+DOCDIR=$(INSTALLROOT)/doc
+
+# location of libtcl.a
+TCL_LIBDIR=$(TCLDIR)/lib
+# location of tcl.h
+TCL_INCDIR=$(TCLDIR)/include
+# location to install tcl packages
+TCL_PKGDIR=$(LIBDIR)
+
+# location of libtk.a
+TK_LIBDIR=$(TKDIR)/lib
+# location of tk.h
+TK_INCDIR=$(TKDIR)/include
+
1,537 Doxyfile
@@ -0,0 +1,1537 @@
+# Doxyfile 1.6.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = Graphviz
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = 2.28.0
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# 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 = doxygen
+
+# 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
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# 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 = 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
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH = .
+
+# 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
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# 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 members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = YES
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses.
+# With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this tag.
+# The format is ext=language, where ext is a file extension, and language is one of
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
+# doxygen. The layout file controls the global structure of the generated output files
+# in an output format independent way. The create the layout file that represents
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
+# of the layout file.
+
+LAYOUT_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT =
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = cmd/dot \
+ lib/cdt \
+ lib/circogen \
+ lib/common \
+ lib/dotgen \
+ lib/fdpgen \
+ lib/graph \
+ lib/gvc \
+ lib/neatogen \
+ lib/pack \
+ lib/pathplan \
+ lib/twopigen \
+ plugin/core \
+ plugin/pango \
+ plugin/dot_layout \
+ plugin/neato_layout \
+ tclpkg/gv
+
+# 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
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS = *.c \
+ *.cpp \
+ *.h
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# 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 =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# 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
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT =
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# If the HTML_TIMESTAMP tag is set to YES then the generated HTML
+# documentation will contain the timesstamp.
+
+HTML_TIMESTAMP = NO
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
+# are set, an additional index file will be generated that can be used as input for
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
+# HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE =
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
+# For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP)
+# there is already a search function so this one should typically
+# be disabled.
+
+SEARCHENGINE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT =
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT =
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = YES
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT =
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION =
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX