Skip to content
This repository
Browse code

Initial import of Komrade v0.9.

--HG--
extra : convert_revision : svn%3A83215879-3e5a-4751-8c9d-778f44bb06a5/trunk%4025
  • Loading branch information...
commit 25342f74416e89d181aea151f5c29cd9b7417699 1 parent 145c2bc
Jared Hoberock jaredhoberock authored

Showing 694 changed files with 15,155 additions and 0 deletions. Show diff stats Hide diff stats

  1. +178 0 LICENSE
  2. +38 0 NOTICE
  3. +32 0 benchmarks/SConstruct
  4. +128 0 build/build-env.py
  5. +1,078 0 build/komrade.dox
  6. +96 0 build/nvcc.py
  7. +18 0 build/print_sm_version.cpp
  8. +61 0 doc/html/adjacent__difference_8h-source.html
  9. +48 0 doc/html/adjacent__difference_8h.html
  10. +70 0 doc/html/annotated.html
  11. +76 0 doc/html/arch_8h-source.html
  12. +56 0 doc/html/arch_8h.html
  13. +54 0 doc/html/arch_8inl.html
  14. +105 0 doc/html/bug.html
  15. +55 0 doc/html/classkomrade_1_1device__allocator-members.html
  16. +75 0 doc/html/classkomrade_1_1device__allocator.html
  17. BIN  doc/html/classkomrade_1_1device__allocator.png
  18. +39 0 doc/html/classkomrade_1_1device__allocator_3_01void_01_4-members.html
  19. +73 0 doc/html/classkomrade_1_1device__allocator_3_01void_01_4.html
  20. +52 0 doc/html/classkomrade_1_1device__new__allocator-members.html
  21. +118 0 doc/html/classkomrade_1_1device__new__allocator.html
  22. BIN  doc/html/classkomrade_1_1device__new__allocator.png
  23. +45 0 doc/html/classkomrade_1_1device__vector-members.html
  24. +360 0 doc/html/classkomrade_1_1device__vector.html
  25. +46 0 doc/html/classkomrade_1_1host__vector-members.html
  26. +389 0 doc/html/classkomrade_1_1host__vector.html
  27. +159 0 doc/html/constant__iterator_8h-source.html
  28. +58 0 doc/html/constant__iterator_8h.html
  29. +75 0 doc/html/copy_8h-source.html
  30. +51 0 doc/html/copy_8h.html
  31. +61 0 doc/html/count_8h-source.html
  32. +53 0 doc/html/count_8h.html
  33. +137 0 doc/html/counting__iterator_8h-source.html
  34. +57 0 doc/html/counting__iterator_8h.html
  35. +96 0 doc/html/device__allocator_8h-source.html
  36. +52 0 doc/html/device__allocator_8h.html
  37. +56 0 doc/html/device__delete_8h-source.html
  38. +46 0 doc/html/device__delete_8h.html
  39. +55 0 doc/html/device__free_8h-source.html
  40. +45 0 doc/html/device__free_8h.html
  41. +59 0 doc/html/device__malloc_8h-source.html
  42. +46 0 doc/html/device__malloc_8h.html
  43. +68 0 doc/html/device__new_8h-source.html
  44. +53 0 doc/html/device__new_8h.html
  45. +129 0 doc/html/device__new__allocator_8h-source.html
  46. +51 0 doc/html/device__new__allocator_8h.html
  47. +188 0 doc/html/device__ptr_8h-source.html
  48. +82 0 doc/html/device__ptr_8h.html
  49. +102 0 doc/html/device__reference_8h-source.html
  50. +45 0 doc/html/device__reference_8h.html
  51. +138 0 doc/html/device__vector_8h-source.html
  52. +63 0 doc/html/device__vector_8h.html
  53. +61 0 doc/html/distance_8h-source.html
  54. +48 0 doc/html/distance_8h.html
  55. +473 0 doc/html/doxygen.css
  56. BIN  doc/html/doxygen.png
  57. +61 0 doc/html/equal_8h-source.html
  58. +48 0 doc/html/equal_8h.html
  59. +82 0 doc/html/extrema_8h-source.html
  60. +67 0 doc/html/extrema_8h.html
  61. +78 0 doc/html/files.html
  62. +57 0 doc/html/fill_8h-source.html
  63. +45 0 doc/html/fill_8h.html
  64. +58 0 doc/html/for__each_8h-source.html
  65. +45 0 doc/html/for__each_8h.html
  66. +223 0 doc/html/functional_8h-source.html
  67. +98 0 doc/html/functional_8h.html
  68. +138 0 doc/html/functions.html
  69. +138 0 doc/html/functions_func.html
  70. +82 0 doc/html/gather_8h-source.html
  71. +51 0 doc/html/gather_8h.html
  72. +58 0 doc/html/generate_8h-source.html
  73. +45 0 doc/html/generate_8h.html
  74. +42 0 doc/html/group__algorithms.html
  75. +242 0 doc/html/group__allocation__functions.html
  76. +47 0 doc/html/group__arithmetic__operations.html
  77. +45 0 doc/html/group__comparison__operations.html
  78. +166 0 doc/html/group__comparisons.html
  79. +34 0 doc/html/group__container__classes.html
  80. +37 0 doc/html/group__copying.html
  81. +237 0 doc/html/group__counting.html
  82. +112 0 doc/html/group__deallocation__functions.html
  83. +242 0 doc/html/group__device__containers.html
  84. +260 0 doc/html/group__extrema.html
  85. +178 0 doc/html/group__filling.html
  86. +123 0 doc/html/group__function__object__adaptors.html
  87. +34 0 doc/html/group__function__objects.html
  88. +39 0 doc/html/group__generalized__identity__operations.html
  89. +160 0 doc/html/group__host__containers.html
  90. +491 0 doc/html/group__irregular__copying.html
  91. +142 0 doc/html/group__iterator__tag__classes.html
  92. +35 0 doc/html/group__iterator__tags.html
  93. +32 0 doc/html/group__iterators.html
  94. +273 0 doc/html/group__key__sorting.html
  95. +312 0 doc/html/group__key__value__sorting.html
  96. +39 0 doc/html/group__logical__operations.html
  97. +34 0 doc/html/group__memory__management.html
  98. +339 0 doc/html/group__memory__management__classes.html
  99. +167 0 doc/html/group__memory__management__functions.html
  100. +540 0 doc/html/group__merge__sorting.html
  101. +89 0 doc/html/group__parallelization.html
  102. +41 0 doc/html/group__predefined__function__objects.html
  103. +198 0 doc/html/group__predicates.html
  104. +394 0 doc/html/group__prefixsums.html
  105. +285 0 doc/html/group__radix__sorting.html
  106. +240 0 doc/html/group__reductions.html
  107. +432 0 doc/html/group__regular__copying.html
  108. +37 0 doc/html/group__reordering.html
  109. +356 0 doc/html/group__replacing.html
  110. +37 0 doc/html/group__sorting.html
  111. +788 0 doc/html/group__stream__compaction.html
  112. +585 0 doc/html/group__transformations.html
Sorry, we could not display the entire diff because too many files (694) changed.
178 LICENSE
... ... @@ -0,0 +1,178 @@
  1 +
  2 + Apache License
  3 + Version 2.0, January 2004
  4 + http://www.apache.org/licenses/
  5 +
  6 + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  7 +
  8 + 1. Definitions.
  9 +
  10 + "License" shall mean the terms and conditions for use, reproduction,
  11 + and distribution as defined by Sections 1 through 9 of this document.
  12 +
  13 + "Licensor" shall mean the copyright owner or entity authorized by
  14 + the copyright owner that is granting the License.
  15 +
  16 + "Legal Entity" shall mean the union of the acting entity and all
  17 + other entities that control, are controlled by, or are under common
  18 + control with that entity. For the purposes of this definition,
  19 + "control" means (i) the power, direct or indirect, to cause the
  20 + direction or management of such entity, whether by contract or
  21 + otherwise, or (ii) ownership of fifty percent (50%) or more of the
  22 + outstanding shares, or (iii) beneficial ownership of such entity.
  23 +
  24 + "You" (or "Your") shall mean an individual or Legal Entity
  25 + exercising permissions granted by this License.
  26 +
  27 + "Source" form shall mean the preferred form for making modifications,
  28 + including but not limited to software source code, documentation
  29 + source, and configuration files.
  30 +
  31 + "Object" form shall mean any form resulting from mechanical
  32 + transformation or translation of a Source form, including but
  33 + not limited to compiled object code, generated documentation,
  34 + and conversions to other media types.
  35 +
  36 + "Work" shall mean the work of authorship, whether in Source or
  37 + Object form, made available under the License, as indicated by a
  38 + copyright notice that is included in or attached to the work
  39 + (an example is provided in the Appendix below).
  40 +
  41 + "Derivative Works" shall mean any work, whether in Source or Object
  42 + form, that is based on (or derived from) the Work and for which the
  43 + editorial revisions, annotations, elaborations, or other modifications
  44 + represent, as a whole, an original work of authorship. For the purposes
  45 + of this License, Derivative Works shall not include works that remain
  46 + separable from, or merely link (or bind by name) to the interfaces of,
  47 + the Work and Derivative Works thereof.
  48 +
  49 + "Contribution" shall mean any work of authorship, including
  50 + the original version of the Work and any modifications or additions
  51 + to that Work or Derivative Works thereof, that is intentionally
  52 + submitted to Licensor for inclusion in the Work by the copyright owner
  53 + or by an individual or Legal Entity authorized to submit on behalf of
  54 + the copyright owner. For the purposes of this definition, "submitted"
  55 + means any form of electronic, verbal, or written communication sent
  56 + to the Licensor or its representatives, including but not limited to
  57 + communication on electronic mailing lists, source code control systems,
  58 + and issue tracking systems that are managed by, or on behalf of, the
  59 + Licensor for the purpose of discussing and improving the Work, but
  60 + excluding communication that is conspicuously marked or otherwise
  61 + designated in writing by the copyright owner as "Not a Contribution."
  62 +
  63 + "Contributor" shall mean Licensor and any individual or Legal Entity
  64 + on behalf of whom a Contribution has been received by Licensor and
  65 + subsequently incorporated within the Work.
  66 +
  67 + 2. Grant of Copyright License. Subject to the terms and conditions of
  68 + this License, each Contributor hereby grants to You a perpetual,
  69 + worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  70 + copyright license to reproduce, prepare Derivative Works of,
  71 + publicly display, publicly perform, sublicense, and distribute the
  72 + Work and such Derivative Works in Source or Object form.
  73 +
  74 + 3. Grant of Patent License. Subject to the terms and conditions of
  75 + this License, each Contributor hereby grants to You a perpetual,
  76 + worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  77 + (except as stated in this section) patent license to make, have made,
  78 + use, offer to sell, sell, import, and otherwise transfer the Work,
  79 + where such license applies only to those patent claims licensable
  80 + by such Contributor that are necessarily infringed by their
  81 + Contribution(s) alone or by combination of their Contribution(s)
  82 + with the Work to which such Contribution(s) was submitted. If You
  83 + institute patent litigation against any entity (including a
  84 + cross-claim or counterclaim in a lawsuit) alleging that the Work
  85 + or a Contribution incorporated within the Work constitutes direct
  86 + or contributory patent infringement, then any patent licenses
  87 + granted to You under this License for that Work shall terminate
  88 + as of the date such litigation is filed.
  89 +
  90 + 4. Redistribution. You may reproduce and distribute copies of the
  91 + Work or Derivative Works thereof in any medium, with or without
  92 + modifications, and in Source or Object form, provided that You
  93 + meet the following conditions:
  94 +
  95 + (a) You must give any other recipients of the Work or
  96 + Derivative Works a copy of this License; and
  97 +
  98 + (b) You must cause any modified files to carry prominent notices
  99 + stating that You changed the files; and
  100 +
  101 + (c) You must retain, in the Source form of any Derivative Works
  102 + that You distribute, all copyright, patent, trademark, and
  103 + attribution notices from the Source form of the Work,
  104 + excluding those notices that do not pertain to any part of
  105 + the Derivative Works; and
  106 +
  107 + (d) If the Work includes a "NOTICE" text file as part of its
  108 + distribution, then any Derivative Works that You distribute must
  109 + include a readable copy of the attribution notices contained
  110 + within such NOTICE file, excluding those notices that do not
  111 + pertain to any part of the Derivative Works, in at least one
  112 + of the following places: within a NOTICE text file distributed
  113 + as part of the Derivative Works; within the Source form or
  114 + documentation, if provided along with the Derivative Works; or,
  115 + within a display generated by the Derivative Works, if and
  116 + wherever such third-party notices normally appear. The contents
  117 + of the NOTICE file are for informational purposes only and
  118 + do not modify the License. You may add Your own attribution
  119 + notices within Derivative Works that You distribute, alongside
  120 + or as an addendum to the NOTICE text from the Work, provided
  121 + that such additional attribution notices cannot be construed
  122 + as modifying the License.
  123 +
  124 + You may add Your own copyright statement to Your modifications and
  125 + may provide additional or different license terms and conditions
  126 + for use, reproduction, or distribution of Your modifications, or
  127 + for any such Derivative Works as a whole, provided Your use,
  128 + reproduction, and distribution of the Work otherwise complies with
  129 + the conditions stated in this License.
  130 +
  131 + 5. Submission of Contributions. Unless You explicitly state otherwise,
  132 + any Contribution intentionally submitted for inclusion in the Work
  133 + by You to the Licensor shall be under the terms and conditions of
  134 + this License, without any additional terms or conditions.
  135 + Notwithstanding the above, nothing herein shall supersede or modify
  136 + the terms of any separate license agreement you may have executed
  137 + with Licensor regarding such Contributions.
  138 +
  139 + 6. Trademarks. This License does not grant permission to use the trade
  140 + names, trademarks, service marks, or product names of the Licensor,
  141 + except as required for reasonable and customary use in describing the
  142 + origin of the Work and reproducing the content of the NOTICE file.
  143 +
  144 + 7. Disclaimer of Warranty. Unless required by applicable law or
  145 + agreed to in writing, Licensor provides the Work (and each
  146 + Contributor provides its Contributions) on an "AS IS" BASIS,
  147 + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  148 + implied, including, without limitation, any warranties or conditions
  149 + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  150 + PARTICULAR PURPOSE. You are solely responsible for determining the
  151 + appropriateness of using or redistributing the Work and assume any
  152 + risks associated with Your exercise of permissions under this License.
  153 +
  154 + 8. Limitation of Liability. In no event and under no legal theory,
  155 + whether in tort (including negligence), contract, or otherwise,
  156 + unless required by applicable law (such as deliberate and grossly
  157 + negligent acts) or agreed to in writing, shall any Contributor be
  158 + liable to You for damages, including any direct, indirect, special,
  159 + incidental, or consequential damages of any character arising as a
  160 + result of this License or out of the use or inability to use the
  161 + Work (including but not limited to damages for loss of goodwill,
  162 + work stoppage, computer failure or malfunction, or any and all
  163 + other commercial damages or losses), even if such Contributor
  164 + has been advised of the possibility of such damages.
  165 +
  166 + 9. Accepting Warranty or Additional Liability. While redistributing
  167 + the Work or Derivative Works thereof, You may choose to offer,
  168 + and charge a fee for, acceptance of support, warranty, indemnity,
  169 + or other liability obligations and/or rights consistent with this
  170 + License. However, in accepting such obligations, You may act only
  171 + on Your own behalf and on Your sole responsibility, not on behalf
  172 + of any other Contributor, and only if You agree to indemnify,
  173 + defend, and hold each Contributor harmless for any liability
  174 + incurred by, or claims asserted against, such Contributor by reason
  175 + of your accepting any such warranty or additional liability.
  176 +
  177 + END OF TERMS AND CONDITIONS
  178 +
38 NOTICE
... ... @@ -0,0 +1,38 @@
  1 +Permission to use, copy, modify, distribute and sell this software and its
  2 +documentation for any purpose is hereby granted without fee, provided that
  3 +the below copyright notice appears in all copies and that both the copyright
  4 +notice and this permission notice appear in supporting documentation.
  5 +Silicon Graphics makes no representations about the suitability of this
  6 +software for any purpose. It is provided "as is" without express or implied
  7 +warranty.
  8 +
  9 +Copyright © 1994
  10 +Hewlett-Packard Company
  11 +
  12 +
  13 +
  14 +Boost Software License - Version 1.0 - August 17th, 2003
  15 +
  16 +Permission is hereby granted, free of charge, to any person or organization
  17 +obtaining a copy of the software and accompanying documentation covered by
  18 +this license (the "Software") to use, reproduce, display, distribute,
  19 +execute, and transmit the Software, and to prepare derivative works of the
  20 +Software, and to permit third-parties to whom the Software is furnished to
  21 +do so, all subject to the following:
  22 +
  23 +The copyright notices in the Software and this entire statement, including
  24 +the above license grant, this restriction and the following disclaimer,
  25 +must be included in all copies of the Software, in whole or in part, and
  26 +all derivative works of the Software, unless such copies or derivative
  27 +works are solely in the form of machine-executable object code generated by
  28 +a source language processor.
  29 +
  30 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  31 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  32 +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
  33 +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
  34 +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
  35 +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  36 +DEALINGS IN THE SOFTWARE.
  37 +
  38 +
32 benchmarks/SConstruct
... ... @@ -0,0 +1,32 @@
  1 +import os
  2 +import glob
  3 +
  4 +# try to import an environment first
  5 +try:
  6 + Import('env')
  7 +except:
  8 + exec open("../build/build-env.py")
  9 + env = Environment()
  10 +
  11 +# build and run the program that divines the version of the SM on gpu 0 of the build/test machine
  12 +nvcc_options_file = env.Command('../build/nvcc_options_file.txt',
  13 + env.Program('../build/print_sm_version.cpp'),
  14 + os.path.join('"' + env.GetLaunchDir(), '../build/print_sm_version" > nvcc_options_file.txt'))
  15 +
  16 +env.Append(NVCCFLAGS = ['-optf=nvcc_options_file.txt'])
  17 +
  18 +# find all .cus in the current directory
  19 +sources = []
  20 +extensions = ['.cu']
  21 +for ext in extensions:
  22 + pattern = os.path.join(os.getcwd(), "*" + ext)
  23 + for fullpath in glob.glob(pattern):
  24 + basename = os.path.basename(fullpath)
  25 + sources.append(basename)
  26 +
  27 +env.Depends(sources, nvcc_options_file)
  28 +
  29 +# compile examples
  30 +for src in sources:
  31 + env.Program(src)
  32 +
128 build/build-env.py
... ... @@ -0,0 +1,128 @@
  1 +import os
  2 +import inspect
  3 +
  4 +def getTools():
  5 + result = []
  6 + if os.name == 'nt':
  7 + result = ['default', 'msvc']
  8 + elif os.name == 'posix':
  9 + result = ['default', 'gcc']
  10 + else:
  11 + result = ['default']
  12 + return result;
  13 +
  14 +OldEnvironment = Environment;
  15 +
  16 +# this dictionary maps the name of a compiler program to a dictionary mapping the name of
  17 +# a compiler switch of interest to the specific switch implementing the feature
  18 +gCompilerOptions = {
  19 + 'gcc' : {'optimization' : '-O3', 'debug' : '-g', 'exception_handling' : ''},
  20 + 'g++' : {'optimization' : '-O3', 'debug' : '-g', 'exception_handling' : ''},
  21 + 'cl' : {'optimization' : '/Ox', 'debug' : '/Zi', 'exception_handling' : '/EHsc'}
  22 + }
  23 +
  24 +# this dictionary maps the name of a linker program to a dictionary mapping the name of
  25 +# a linker switch of interest to the specific switch implementing the feature
  26 +gLinkerOptions = {
  27 + 'gcc' : {'debug' : ''},
  28 + 'g++' : {'debug' : ''},
  29 + 'link' : {'debug' : '/debug'}
  30 + }
  31 +
  32 +def getCFLAGS(mode, CC):
  33 + result = []
  34 + if mode == 'release' or mode == 'emurelease':
  35 + # turn on optimization
  36 + result.append(gCompilerOptions[CC]['optimization'])
  37 + elif mode == 'debug' or mode == 'emudebug':
  38 + # turn on debug mode
  39 + result.append(gCompilerOptions[CC]['debug'])
  40 + return result
  41 +
  42 +def getCXXFLAGS(mode, CXX):
  43 + result = []
  44 + if mode == 'release' or mode == 'emurelease':
  45 + # turn on optimization
  46 + result.append(gCompilerOptions[CXX]['optimization'])
  47 + elif mode == 'debug' or mode == 'emudebug':
  48 + # turn on debug mode
  49 + result.append(gCompilerOptions[CXX]['debug'])
  50 + # enable exception handling
  51 + result.append(gCompilerOptions[CXX]['exception_handling'])
  52 + return result
  53 +
  54 +def getNVCCFLAGS(mode):
  55 + result = []
  56 + if mode == 'emurelease' or mode == 'emudebug':
  57 + # turn on emulation
  58 + result.append('-deviceemu')
  59 + return result
  60 +
  61 +# XXX this should actually be based on LINK,
  62 +# but that's apparently a dynamic variable which
  63 +# is harder to figure out
  64 +def getLINKFLAGS(mode, CXX):
  65 + result = []
  66 + if mode == 'debug':
  67 + # turn on debug mode
  68 + result = gLinkerOptions[CXX]['debug']
  69 + return result
  70 +
  71 +def Environment():
  72 + env = OldEnvironment(tools = getTools())
  73 +
  74 + # scons has problems with finding the proper LIBPATH with Visual Studio Express 2008
  75 + # help it out
  76 + if os.name == 'nt':
  77 + env.Append(LIBPATH = ['C:/Program Files/Microsoft SDKs/Windows/v6.0A/Lib'])
  78 + env.Append(LIBPATH = ['C:/Program Files/Microsoft Visual Studio 9.0/VC/lib'])
  79 +
  80 + # get the absolute path to the directory containing
  81 + # this source file
  82 + thisFile = inspect.getabsfile(Environment)
  83 + thisDir = os.path.dirname(thisFile)
  84 +
  85 + # enable nvcc
  86 + env.Tool('nvcc', toolpath = [os.path.join(thisDir)])
  87 +
  88 + mode = 'release'
  89 + if ARGUMENTS.get('mode'):
  90 + mode = ARGUMENTS['mode']
  91 +
  92 + # get C compiler switches
  93 + env.Append(CFLAGS = getCFLAGS(mode, env.subst('$CC')))
  94 +
  95 + # get CXX compiler switches
  96 + env.Append(CXXFLAGS = getCXXFLAGS(mode, env.subst('$CXX')))
  97 +
  98 + # get NVCC compiler switches
  99 + env.Append(NVCCFLAGS = getNVCCFLAGS(mode))
  100 +
  101 + # get linker switches
  102 + env.Append(LINKFLAGS = getLINKFLAGS(mode, env.subst('$LINK')))
  103 +
  104 + # set CUDA lib & include path
  105 + if os.name == 'posix':
  106 + env.Append(LIBPATH = ['/usr/local/cuda/lib'])
  107 + env.Append(CPPPATH = ['/usr/local/cuda/include'])
  108 + elif os.name == 'nt':
  109 + env.Append(LIBPATH = ['C:/CUDA/lib'])
  110 + env.Append(CPPPATH = ['C:/CUDA/include'])
  111 + else:
  112 + raise ValueError, "Unknown OS. What are the CUDA include & library paths?"
  113 +
  114 + # add CUDA runtime library
  115 + # XXX ideally this gets handled in nvcc.py if possible
  116 + env.Append(LIBS = 'cudart')
  117 +
  118 + # set komrade include path
  119 + env.Append(CPPPATH = os.path.dirname(thisDir))
  120 +
  121 + # import the LD_LIBRARY_PATH so we can run commands which depend
  122 + # on shared libraries
  123 + # XXX we should probably just copy the entire environment
  124 + if os.name == 'posix':
  125 + env['ENV']['LD_LIBRARY_PATH'] = os.environ['LD_LIBRARY_PATH']
  126 +
  127 + return env
  128 +
1,078 build/komrade.dox
... ... @@ -0,0 +1,1078 @@
  1 +# Doxyfile 1.3.4
  2 +
  3 +# This file describes the settings to be used by the documentation system
  4 +# doxygen (www.doxygen.org) for a project
  5 +#
  6 +# All text after a hash (#) is considered a comment and will be ignored
  7 +# The format is:
  8 +# TAG = value [value, ...]
  9 +# For lists items can also be appended using:
  10 +# TAG += value [value, ...]
  11 +# Values that contain spaces should be placed between quotes (" ")
  12 +
  13 +#---------------------------------------------------------------------------
  14 +# Project related configuration options
  15 +#---------------------------------------------------------------------------
  16 +
  17 +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
  18 +# by quotes) that should identify the project.
  19 +
  20 +PROJECT_NAME = komrade
  21 +
  22 +# The PROJECT_NUMBER tag can be used to enter a project or revision number.
  23 +# This could be handy for archiving the generated documentation or
  24 +# if some version control system is used.
  25 +
  26 +PROJECT_NUMBER =
  27 +
  28 +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
  29 +# base path where the generated documentation will be put.
  30 +# If a relative path is entered, it will be relative to the location
  31 +# where doxygen was started. If left blank the current directory will be used.
  32 +
  33 +OUTPUT_DIRECTORY = doc
  34 +
  35 +# The OUTPUT_LANGUAGE tag is used to specify the language in which all
  36 +# documentation generated by doxygen is written. Doxygen will use this
  37 +# information to generate all constant output in the proper language.
  38 +# The default language is English, other supported languages are:
  39 +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
  40 +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
  41 +# (Japanese with English messages), Korean, Norwegian, Polish, Portuguese,
  42 +# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
  43 +
  44 +OUTPUT_LANGUAGE = English
  45 +
  46 +# This tag can be used to specify the encoding used in the generated output.
  47 +# The encoding is not always determined by the language that is chosen,
  48 +# but also whether or not the output is meant for Windows or non-Windows users.
  49 +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
  50 +# forces the Windows encoding (this is the default for the Windows binary),
  51 +# whereas setting the tag to NO uses a Unix-style encoding (the default for
  52 +# all platforms other than Windows).
  53 +
  54 +USE_WINDOWS_ENCODING = NO
  55 +
  56 +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
  57 +# include brief member descriptions after the members that are listed in
  58 +# the file and class documentation (similar to JavaDoc).
  59 +# Set to NO to disable this.
  60 +
  61 +BRIEF_MEMBER_DESC = YES
  62 +
  63 +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
  64 +# the brief description of a member or function before the detailed description.
  65 +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
  66 +# brief descriptions will be completely suppressed.
  67 +
  68 +REPEAT_BRIEF = YES
  69 +
  70 +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
  71 +# Doxygen will generate a detailed section even if there is only a brief
  72 +# description.
  73 +
  74 +ALWAYS_DETAILED_SEC = NO
  75 +
  76 +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
  77 +# members of a class in the documentation of that class as if those members were
  78 +# ordinary class members. Constructors, destructors and assignment operators of
  79 +# the base classes will not be shown.
  80 +
  81 +INLINE_INHERITED_MEMB = NO
  82 +
  83 +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
  84 +# path before files name in the file list and in the header files. If set
  85 +# to NO the shortest path that makes the file name unique will be used.
  86 +
  87 +FULL_PATH_NAMES = NO
  88 +
  89 +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
  90 +# can be used to strip a user-defined part of the path. Stripping is
  91 +# only done if one of the specified strings matches the left-hand part of
  92 +# the path. It is allowed to use relative paths in the argument list.
  93 +
  94 +STRIP_FROM_PATH =
  95 +
  96 +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
  97 +# (but less readable) file names. This can be useful is your file systems
  98 +# doesn't support long names like on DOS, Mac, or CD-ROM.
  99 +
  100 +SHORT_NAMES = NO
  101 +
  102 +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
  103 +# will interpret the first line (until the first dot) of a JavaDoc-style
  104 +# comment as the brief description. If set to NO, the JavaDoc
  105 +# comments will behave just like the Qt-style comments (thus requiring an
  106 +# explict @brief command for a brief description.
  107 +
  108 +JAVADOC_AUTOBRIEF = NO
  109 +
  110 +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
  111 +# treat a multi-line C++ special comment block (i.e. a block of //! or ///
  112 +# comments) as a brief description. This used to be the default behaviour.
  113 +# The new default is to treat a multi-line C++ comment block as a detailed
  114 +# description. Set this tag to YES if you prefer the old behaviour instead.
  115 +
  116 +MULTILINE_CPP_IS_BRIEF = NO
  117 +
  118 +# If the DETAILS_AT_TOP tag is set to YES then Doxygen
  119 +# will output the detailed description near the top, like JavaDoc.
  120 +# If set to NO, the detailed description appears after the member
  121 +# documentation.
  122 +
  123 +DETAILS_AT_TOP = NO
  124 +
  125 +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
  126 +# member inherits the documentation from any documented member that it
  127 +# reimplements.
  128 +
  129 +INHERIT_DOCS = YES
  130 +
  131 +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
  132 +# tag is set to YES, then doxygen will reuse the documentation of the first
  133 +# member in the group (if any) for the other members of the group. By default
  134 +# all members of a group must be documented explicitly.
  135 +
  136 +DISTRIBUTE_GROUP_DOC = NO
  137 +
  138 +# The TAB_SIZE tag can be used to set the number of spaces in a tab.
  139 +# Doxygen uses this value to replace tabs by spaces in code fragments.
  140 +
  141 +TAB_SIZE = 8
  142 +
  143 +# This tag can be used to specify a number of aliases that acts
  144 +# as commands in the documentation. An alias has the form "name=value".
  145 +# For example adding "sideeffect=\par Side Effects:\n" will allow you to
  146 +# put the command \sideeffect (or @sideeffect) in the documentation, which
  147 +# will result in a user-defined paragraph with heading "Side Effects:".
  148 +# You can put \n's in the value part of an alias to insert newlines.
  149 +
  150 +ALIASES =
  151 +
  152 +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
  153 +# only. Doxygen will then generate output that is more tailored for C.
  154 +# For instance, some of the names that are used will be different. The list
  155 +# of all members will be omitted, etc.
  156 +
  157 +OPTIMIZE_OUTPUT_FOR_C = NO
  158 +
  159 +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
  160 +# only. Doxygen will then generate output that is more tailored for Java.
  161 +# For instance, namespaces will be presented as packages, qualified scopes
  162 +# will look different, etc.
  163 +
  164 +OPTIMIZE_OUTPUT_JAVA = NO
  165 +
  166 +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
  167 +# the same type (for instance a group of public functions) to be put as a
  168 +# subgroup of that type (e.g. under the Public Functions section). Set it to
  169 +# NO to prevent subgrouping. Alternatively, this can be done per class using
  170 +# the \nosubgrouping command.
  171 +
  172 +SUBGROUPING = YES
  173 +
  174 +#---------------------------------------------------------------------------
  175 +# Build related configuration options
  176 +#---------------------------------------------------------------------------
  177 +
  178 +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
  179 +# documentation are documented, even if no documentation was available.
  180 +# Private class members and static file members will be hidden unless
  181 +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
  182 +
  183 +EXTRACT_ALL = NO
  184 +
  185 +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
  186 +# will be included in the documentation.
  187 +
  188 +EXTRACT_PRIVATE = NO
  189 +
  190 +# If the EXTRACT_STATIC tag is set to YES all static members of a file
  191 +# will be included in the documentation.
  192 +
  193 +EXTRACT_STATIC = NO
  194 +
  195 +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
  196 +# defined locally in source files will be included in the documentation.
  197 +# If set to NO only classes defined in header files are included.
  198 +
  199 +EXTRACT_LOCAL_CLASSES = YES
  200 +
  201 +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
  202 +# undocumented members of documented classes, files or namespaces.
  203 +# If set to NO (the default) these members will be included in the
  204 +# various overviews, but no documentation section is generated.
  205 +# This option has no effect if EXTRACT_ALL is enabled.
  206 +
  207 +HIDE_UNDOC_MEMBERS = NO
  208 +
  209 +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
  210 +# undocumented classes that are normally visible in the class hierarchy.
  211 +# If set to NO (the default) these classes will be included in the various
  212 +# overviews. This option has no effect if EXTRACT_ALL is enabled.
  213 +
  214 +HIDE_UNDOC_CLASSES = NO
  215 +
  216 +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
  217 +# friend (class|struct|union) declarations.
  218 +# If set to NO (the default) these declarations will be included in the
  219 +# documentation.
  220 +
  221 +HIDE_FRIEND_COMPOUNDS = NO
  222 +
  223 +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
  224 +# documentation blocks found inside the body of a function.
  225 +# If set to NO (the default) these blocks will be appended to the
  226 +# function's detailed documentation block.
  227 +
  228 +HIDE_IN_BODY_DOCS = NO
  229 +
  230 +# The INTERNAL_DOCS tag determines if documentation
  231 +# that is typed after a \internal command is included. If the tag is set
  232 +# to NO (the default) then the documentation will be excluded.
  233 +# Set it to YES to include the internal documentation.
  234 +
  235 +INTERNAL_DOCS = NO
  236 +
  237 +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
  238 +# file names in lower-case letters. If set to YES upper-case letters are also
  239 +# allowed. This is useful if you have classes or files whose names only differ
  240 +# in case and if your file system supports case sensitive file names. Windows
  241 +# users are advised to set this option to NO.
  242 +
  243 +CASE_SENSE_NAMES = YES
  244 +
  245 +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
  246 +# will show members with their full class and namespace scopes in the
  247 +# documentation. If set to YES the scope will be hidden.
  248 +
  249 +HIDE_SCOPE_NAMES = NO
  250 +
  251 +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
  252 +# will put a list of the files that are included by a file in the documentation
  253 +# of that file.
  254 +
  255 +SHOW_INCLUDE_FILES = YES
  256 +
  257 +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
  258 +# is inserted in the documentation for inline members.
  259 +
  260 +INLINE_INFO = YES
  261 +
  262 +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
  263 +# will sort the (detailed) documentation of file and class members
  264 +# alphabetically by member name. If set to NO the members will appear in
  265 +# declaration order.
  266 +
  267 +SORT_MEMBER_DOCS = YES
  268 +
  269 +# The GENERATE_TODOLIST tag can be used to enable (YES) or
  270 +# disable (NO) the todo list. This list is created by putting \todo
  271 +# commands in the documentation.
  272 +
  273 +GENERATE_TODOLIST = YES
  274 +
  275 +# The GENERATE_TESTLIST tag can be used to enable (YES) or
  276 +# disable (NO) the test list. This list is created by putting \test
  277 +# commands in the documentation.
  278 +
  279 +GENERATE_TESTLIST = YES
  280 +
  281 +# The GENERATE_BUGLIST tag can be used to enable (YES) or
  282 +# disable (NO) the bug list. This list is created by putting \bug
  283 +# commands in the documentation.
  284 +
  285 +GENERATE_BUGLIST = YES
  286 +
  287 +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
  288 +# disable (NO) the deprecated list. This list is created by putting
  289 +# \deprecated commands in the documentation.
  290 +
  291 +GENERATE_DEPRECATEDLIST= YES
  292 +
  293 +# The ENABLED_SECTIONS tag can be used to enable conditional
  294 +# documentation sections, marked by \if sectionname ... \endif.
  295 +
  296 +ENABLED_SECTIONS =
  297 +
  298 +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
  299 +# the initial value of a variable or define consists of for it to appear in
  300 +# the documentation. If the initializer consists of more lines than specified
  301 +# here it will be hidden. Use a value of 0 to hide initializers completely.
  302 +# The appearance of the initializer of individual variables and defines in the
  303 +# documentation can be controlled using \showinitializer or \hideinitializer
  304 +# command in the documentation regardless of this setting.
  305 +
  306 +MAX_INITIALIZER_LINES = 30
  307 +
  308 +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
  309 +# at the bottom of the documentation of classes and structs. If set to YES the
  310 +# list will mention the files that were used to generate the documentation.
  311 +
  312 +SHOW_USED_FILES = YES
  313 +
  314 +#---------------------------------------------------------------------------
  315 +# configuration options related to warning and progress messages
  316 +#---------------------------------------------------------------------------
  317 +
  318 +# The QUIET tag can be used to turn on/off the messages that are generated
  319 +# by doxygen. Possible values are YES and NO. If left blank NO is used.
  320 +
  321 +QUIET = NO
  322 +
  323 +# The WARNINGS tag can be used to turn on/off the warning messages that are
  324 +# generated by doxygen. Possible values are YES and NO. If left blank
  325 +# NO is used.
  326 +
  327 +WARNINGS = YES
  328 +
  329 +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
  330 +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
  331 +# automatically be disabled.
  332 +
  333 +WARN_IF_UNDOCUMENTED = YES
  334 +
  335 +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
  336 +# potential errors in the documentation, such as not documenting some
  337 +# parameters in a documented function, or documenting parameters that
  338 +# don't exist or using markup commands wrongly.
  339 +
  340 +WARN_IF_DOC_ERROR = YES
  341 +
  342 +# The WARN_FORMAT tag determines the format of the warning messages that
  343 +# doxygen can produce. The string should contain the $file, $line, and $text
  344 +# tags, which will be replaced by the file and line number from which the
  345 +# warning originated and the warning text.
  346 +
  347 +WARN_FORMAT = "$file:$line: $text"
  348 +
  349 +# The WARN_LOGFILE tag can be used to specify a file to which warning
  350 +# and error messages should be written. If left blank the output is written
  351 +# to stderr.
  352 +
  353 +WARN_LOGFILE =
  354 +
  355 +#---------------------------------------------------------------------------
  356 +# configuration options related to the input files
  357 +#---------------------------------------------------------------------------
  358 +
  359 +# The INPUT tag can be used to specify the files and/or directories that contain
  360 +# documented source files. You may enter file names like "myfile.cpp" or
  361 +# directories like "/usr/src/myproject". Separate the files or directories
  362 +# with spaces.
  363 +
  364 +INPUT = komrade examples
  365 +
  366 +# If the value of the INPUT tag contains directories, you can use the
  367 +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
  368 +# and *.h) to filter out the source-files in the directories. If left
  369 +# blank the following patterns are tested:
  370 +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
  371 +# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc
  372 +
  373 +FILE_PATTERNS =
  374 +
  375 +# The RECURSIVE tag can be used to turn specify whether or not subdirectories
  376 +# should be searched for input files as well. Possible values are YES and NO.
  377 +# If left blank NO is used.
  378 +
  379 +RECURSIVE = YES
  380 +
  381 +# The EXCLUDE tag can be used to specify files and/or directories that should
  382 +# excluded from the INPUT source files. This way you can easily exclude a
  383 +# subdirectory from a directory tree whose root is specified with the INPUT tag.
  384 +
  385 +EXCLUDE =
  386 +
  387 +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
  388 +# that are symbolic links (a Unix filesystem feature) are excluded from the input.
  389 +
  390 +EXCLUDE_SYMLINKS = NO
  391 +
  392 +# If the value of the INPUT tag contains directories, you can use the
  393 +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
  394 +# certain files from those directories.
  395 +
  396 +EXCLUDE_PATTERNS = */detail/*
  397 +
  398 +# The EXAMPLE_PATH tag can be used to specify one or more files or
  399 +# directories that contain example code fragments that are included (see
  400 +# the \include command).
  401 +
  402 +EXAMPLE_PATH = examples
  403 +
  404 +# If the value of the EXAMPLE_PATH tag contains directories, you can use the
  405 +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
  406 +# and *.h) to filter out the source-files in the directories. If left
  407 +# blank all files are included.
  408 +
  409 +EXAMPLE_PATTERNS =
  410 +
  411 +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
  412 +# searched for input files to be used with the \include or \dontinclude
  413 +# commands irrespective of the value of the RECURSIVE tag.
  414 +# Possible values are YES and NO. If left blank NO is used.
  415 +
  416 +EXAMPLE_RECURSIVE = NO
  417 +
  418 +# The IMAGE_PATH tag can be used to specify one or more files or
  419 +# directories that contain image that are included in the documentation (see
  420 +# the \image command).
  421 +
  422 +IMAGE_PATH =
  423 +
  424 +# The INPUT_FILTER tag can be used to specify a program that doxygen should
  425 +# invoke to filter for each input file. Doxygen will invoke the filter program
  426 +# by executing (via popen()) the command <filter> <input-file>, where <filter>
  427 +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
  428 +# input file. Doxygen will then use the output that the filter program writes
  429 +# to standard output.
  430 +
  431 +INPUT_FILTER =
  432 +
  433 +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
  434 +# INPUT_FILTER) will be used to filter the input files when producing source
  435 +# files to browse (i.e. when SOURCE_BROWSER is set to YES).
  436 +
  437 +FILTER_SOURCE_FILES = NO
  438 +
  439 +#---------------------------------------------------------------------------
  440 +# configuration options related to source browsing
  441 +#---------------------------------------------------------------------------
  442 +
  443 +# If the SOURCE_BROWSER tag is set to YES then a list of source files will
  444 +# be generated. Documented entities will be cross-referenced with these sources.
  445 +
  446 +SOURCE_BROWSER = NO
  447 +
  448 +# Setting the INLINE_SOURCES tag to YES will include the body
  449 +# of functions and classes directly in the documentation.
  450 +
  451 +INLINE_SOURCES = NO
  452 +
  453 +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
  454 +# doxygen to hide any special comment blocks from generated source code
  455 +# fragments. Normal C and C++ comments will always remain visible.
  456 +
  457 +STRIP_CODE_COMMENTS = YES
  458 +
  459 +# If the REFERENCED_BY_RELATION tag is set to YES (the default)
  460 +# then for each documented function all documented
  461 +# functions referencing it will be listed.
  462 +
  463 +REFERENCED_BY_RELATION = YES
  464 +
  465 +# If the REFERENCES_RELATION tag is set to YES (the default)
  466 +# then for each documented function all documented entities
  467 +# called/used by that function will be listed.
  468 +
  469 +REFERENCES_RELATION = YES
  470 +
  471 +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
  472 +# will generate a verbatim copy of the header file for each class for
  473 +# which an include is specified. Set to NO to disable this.
  474 +
  475 +VERBATIM_HEADERS = YES
  476 +
  477 +#---------------------------------------------------------------------------
  478 +# configuration options related to the alphabetical class index
  479 +#---------------------------------------------------------------------------
  480 +
  481 +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
  482 +# of all compounds will be generated. Enable this if the project
  483 +# contains a lot of classes, structs, unions or interfaces.
  484 +
  485 +ALPHABETICAL_INDEX = NO
  486 +
  487 +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
  488 +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
  489 +# in which this list will be split (can be a number in the range [1..20])
  490 +
  491 +COLS_IN_ALPHA_INDEX = 5
  492 +
  493 +# In case all classes in a project start with a common prefix, all
  494 +# classes will be put under the same header in the alphabetical index.
  495 +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
  496 +# should be ignored while generating the index headers.
  497 +
  498 +IGNORE_PREFIX =
  499 +
  500 +#---------------------------------------------------------------------------
  501 +# configuration options related to the HTML output
  502 +#---------------------------------------------------------------------------
  503 +
  504 +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
  505 +# generate HTML output.
  506 +
  507 +GENERATE_HTML = YES
  508 +
  509 +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
  510 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
  511 +# put in front of it. If left blank `html' will be used as the default path.
  512 +
  513 +HTML_OUTPUT = html
  514 +
  515 +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
  516 +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
  517 +# doxygen will generate files with .html extension.
  518 +
  519 +HTML_FILE_EXTENSION = .html
  520 +
  521 +# The HTML_HEADER tag can be used to specify a personal HTML header for
  522 +# each generated HTML page. If it is left blank doxygen will generate a
  523 +# standard header.
  524 +
  525 +HTML_HEADER =
  526 +
  527 +# The HTML_FOOTER tag can be used to specify a personal HTML footer for
  528 +# each generated HTML page. If it is left blank doxygen will generate a
  529 +# standard footer.
  530 +
  531 +HTML_FOOTER =
  532 +
  533 +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
  534 +# style sheet that is used by each HTML page. It can be used to
  535 +# fine-tune the look of the HTML output. If the tag is left blank doxygen
  536 +# will generate a default style sheet
  537 +
  538 +HTML_STYLESHEET =
  539 +
  540 +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
  541 +# files or namespaces will be aligned in HTML using tables. If set to
  542 +# NO a bullet list will be used.
  543 +
  544 +HTML_ALIGN_MEMBERS = YES
  545 +
  546 +# If the GENERATE_HTMLHELP tag is set to YES, additional index files
  547 +# will be generated that can be used as input for tools like the
  548 +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
  549 +# of the generated HTML documentation.
  550 +
  551 +GENERATE_HTMLHELP = NO
  552 +
  553 +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
  554 +# be used to specify the file name of the resulting .chm file. You
  555 +# can add a path in front of the file if the result should not be
  556 +# written to the html output dir.
  557 +
  558 +CHM_FILE =
  559 +
  560 +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
  561 +# be used to specify the location (absolute path including file name) of
  562 +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
  563 +# the HTML help compiler on the generated index.hhp.
  564 +
  565 +HHC_LOCATION =
  566 +
  567 +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
  568 +# controls if a separate .chi index file is generated (YES) or that
  569 +# it should be included in the master .chm file (NO).
  570 +
  571 +GENERATE_CHI = NO
  572 +
  573 +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
  574 +# controls whether a binary table of contents is generated (YES) or a
  575 +# normal table of contents (NO) in the .chm file.
  576 +
  577 +BINARY_TOC = NO
  578 +
  579 +# The TOC_EXPAND flag can be set to YES to add extra items for group members
  580 +# to the contents of the HTML help documentation and to the tree view.
  581 +
  582 +TOC_EXPAND = NO
  583 +
  584 +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
  585 +# top of each HTML page. The value NO (the default) enables the index and
  586 +# the value YES disables it.
  587 +
  588 +DISABLE_INDEX = NO
  589 +
  590 +# This tag can be used to set the number of enum values (range [1..20])
  591 +# that doxygen will group on one line in the generated HTML documentation.
  592 +
  593 +ENUM_VALUES_PER_LINE = 4
  594 +
  595 +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
  596 +# generated containing a tree-like index structure (just like the one that
  597 +# is generated for HTML Help). For this to work a browser that supports
  598 +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
  599 +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
  600 +# probably better off using the HTML help feature.
  601 +
  602 +GENERATE_TREEVIEW = NO
  603 +
  604 +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
  605 +# used to set the initial width (in pixels) of the frame in which the tree
  606 +# is shown.
  607 +
  608 +TREEVIEW_WIDTH = 250
  609 +
  610 +#---------------------------------------------------------------------------
  611 +# configuration options related to the LaTeX output
  612 +#---------------------------------------------------------------------------
  613 +
  614 +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
  615 +# generate Latex output.
  616 +
  617 +GENERATE_LATEX = YES
  618 +
  619 +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
  620 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
  621 +# put in front of it. If left blank `latex' will be used as the default path.
  622 +
  623 +LATEX_OUTPUT = latex
  624 +
  625 +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
  626 +# invoked. If left blank `latex' will be used as the default command name.
  627 +
  628 +LATEX_CMD_NAME = latex
  629 +
  630 +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
  631 +# generate index for LaTeX. If left blank `makeindex' will be used as the
  632 +# default command name.
  633 +
  634 +MAKEINDEX_CMD_NAME = makeindex
  635 +
  636 +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
  637 +# LaTeX documents. This may be useful for small projects and may help to
  638 +# save some trees in general.
  639 +
  640 +COMPACT_LATEX = NO
  641 +
  642 +# The PAPER_TYPE tag can be used to set the paper type that is used
  643 +# by the printer. Possible values are: a4, a4wide, letter, legal and
  644 +# executive. If left blank a4wide will be used.
  645 +
  646 +PAPER_TYPE = a4wide
  647 +
  648 +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
  649 +# packages that should be included in the LaTeX output.
  650 +
  651 +EXTRA_PACKAGES =
  652 +
  653 +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
  654 +# the generated latex document. The header should contain everything until
  655 +# the first chapter. If it is left blank doxygen will generate a
  656 +# standard header. Notice: only use this tag if you know what you are doing!
  657 +
  658 +LATEX_HEADER =
  659 +
  660 +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
  661 +# is prepared for conversion to pdf (using ps2pdf). The pdf file will
  662 +# contain links (just like the HTML output) instead of page references
  663 +# This makes the output suitable for online browsing using a pdf viewer.
  664 +
  665 +PDF_HYPERLINKS = NO
  666 +
  667 +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
  668 +# plain latex in the generated Makefile. Set this option to YES to get a
  669 +# higher quality PDF documentation.
  670 +
  671 +USE_PDFLATEX = NO
  672 +
  673 +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
  674 +# command to the generated LaTeX files. This will instruct LaTeX to keep
  675 +# running if errors occur, instead of asking the user for help.
  676 +# This option is also used when generating formulas in HTML.
  677 +
  678 +LATEX_BATCHMODE = NO
  679 +
  680 +# If LATEX_HIDE_INDICES is set to YES then doxygen will not
  681 +# include the index chapters (such as File Index, Compound Index, etc.)
  682 +# in the output.
  683 +
  684 +LATEX_HIDE_INDICES = NO
  685 +
  686 +#---------------------------------------------------------------------------
  687 +# configuration options related to the RTF output
  688 +#---------------------------------------------------------------------------
  689 +
  690 +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
  691 +# The RTF output is optimised for Word 97 and may not look very pretty with
  692 +# other RTF readers or editors.
  693 +
  694 +GENERATE_RTF = NO
  695 +
  696 +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
  697 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
  698 +# put in front of it. If left blank `rtf' will be used as the default path.
  699 +
  700 +RTF_OUTPUT = rtf
  701 +
  702 +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
  703 +# RTF documents. This may be useful for small projects and may help to
  704 +# save some trees in general.
  705 +
  706 +COMPACT_RTF = NO
  707 +
  708 +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
  709 +# will contain hyperlink fields. The RTF file will
  710 +# contain links (just like the HTML output) instead of page references.
  711 +# This makes the output suitable for online browsing using WORD or other
  712 +# programs which support those fields.
  713 +# Note: wordpad (write) and others do not support links.
  714 +
  715 +RTF_HYPERLINKS = NO
  716 +
  717 +# Load stylesheet definitions from file. Syntax is similar to doxygen's
  718 +# config file, i.e. a series of assigments. You only have to provide
  719 +# replacements, missing definitions are set to their default value.
  720 +
  721 +RTF_STYLESHEET_FILE =
  722 +
  723 +# Set optional variables used in the generation of an rtf document.
  724 +# Syntax is similar to doxygen's config file.
  725 +
  726 +RTF_EXTENSIONS_FILE =
  727 +
  728 +#---------------------------------------------------------------------------
  729 +# configuration options related to the man page output
  730 +#---------------------------------------------------------------------------
  731 +
  732 +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
  733 +# generate man pages
  734 +
  735 +GENERATE_MAN = NO
  736 +
  737 +# The MAN_OUTPUT tag is used to specify where the man pages will be put.
  738 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
  739 +# put in front of it. If left blank `man' will be used as the default path.
  740 +
  741 +MAN_OUTPUT = man
  742 +
  743 +# The MAN_EXTENSION tag determines the extension that is added to
  744 +# the generated man pages (default is the subroutine's section .3)
  745 +
  746 +MAN_EXTENSION = .3
  747 +
  748 +# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
  749 +# then it will generate one additional man file for each entity
  750 +# documented in the real man page(s). These additional files
  751 +# only source the real man page, but without them the man command
  752 +# would be unable to find the correct page. The default is NO.
  753 +
  754 +MAN_LINKS = NO
  755 +
  756 +#---------------------------------------------------------------------------
  757 +# configuration options related to the XML output
  758 +#---------------------------------------------------------------------------
  759 +
  760 +# If the GENERATE_XML tag is set to YES Doxygen will
  761 +# generate an XML file that captures the structure of
  762 +# the code including all documentation. Note that this
  763 +# feature is still experimental and incomplete at the
  764