Introduction to Doxygen
        
        
          The Doxygen package contains a
          documentation system for C++, C, Java, Objective-C, Corba IDL and
          to some extent PHP, C# and D. It is useful for generating HTML
          documentation and/or an off-line reference manual from a set of
          documented source files. There is also support for generating
          output in RTF, PostScript, hyperlinked PDF, compressed HTML, and
          Unix man pages. The documentation is extracted directly from the
          sources, which makes it much easier to keep the documentation
          consistent with the source code.
        
        
          You can also configure Doxygen to
          extract the code structure from undocumented source files. This is
          very useful to quickly find your way in large source distributions.
          Used along with Graphviz, you can
          also visualize the relations between the various elements by means
          of include dependency graphs, inheritance diagrams, and
          collaboration diagrams, which are all generated automatically.
        
        
          This package is known to build and work properly using an LFS 12.2
          platform.
        
        
          Package Information
        
        
          
            - 
              
                Download (HTTP): https://doxygen.nl/files/doxygen-1.12.0.src.tar.gz
               
- 
              
                Download MD5 sum: 3ab97fd76c6fe090946c836c5051182b
               
- 
              
                Download size: 8.1 MB
               
- 
              
                Estimated disk space required: 248 MB (with tests)
               
- 
              
                Estimated build time: 1.9 SBU (with tests; both using
                parallelism=4)
               
 
        
          Doxygen Dependencies
        
        
          Required
        
        
          CMake-3.30.2 and git-2.46.0
        
        
          Recommended
        
        
          Qt-6.7.2
          (for doxywizard)
        
        
          Optional
        
        
          Graphviz-12.1.0, ghostscript-10.03.1, libxml2-2.13.3
          (required for the tests), LLVM-18.1.7 (with clang), qt5-components-5.15.14 (deprecated),
          texlive-20240312 (or install-tl-unx), xapian-1.4.26 (for
          doxyindexer), and javacc
        
       
      
        
          Installation of Doxygen
        
        
          First, fix up some python scripts:
        
        grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'
        
          Install Doxygen by running the
          following commands:
        
        mkdir -v build &&
cd       build &&
cmake -G "Unix Makefiles"          \
      -D CMAKE_BUILD_TYPE=Release  \
      -D CMAKE_INSTALL_PREFIX=/usr \
      -D build_wizard=ON           \
      -D force_qt=Qt6              \
      -W no-dev .. &&
make
        
          To test the results, issue: make
          tests. One test, 012_cite.dox, is known to fail if
          texlive-20240312 or install-tl-unx is not installed.
        
        
          If you wish to generate the package documentation, you must have
          Python, TeX Live (for HTML docs) and Ghostscript (for PDF docs) installed, then
          issue the following command:
        
        cmake  -D build_doc=ON \
       -D DOC_INSTALL_DIR=share/doc/doxygen-1.12.0 \
       .. &&
make docs
        
          Now, as the root user:
        
        make install &&
install -vm644 ../doc/*.1 /usr/share/man/man1
        
          If you have generated the package documentation, then the man pages
          are automatically installed, and you do not need to run the last
          install ... command.
        
       
      
        
          Command Explanations
        
        
          -D build_wizard=OFF: Use this switch if
          Qt6 is not installed.
        
        
          -D build_search=ON: Use this switch if
          xapian is installed and you wish
          to build external search tools (doxysearch.cgi and doxyindexer).
        
        
          -D force_qt6=ON: Use this switch to
          build doxywizard with
          Qt6 even if Qt5 is installed.
        
        
          -D use_libclang=ON: Use this switch if
          llvm with clang are installed, to add support for
          libclang parsing.
        
       
      
        
          Configuring Doxygen
        
        
          There is no real configuration necessary for the Doxygen package although three additional
          packages are required if you wish to use extended capabilities. If
          you require formulas to create PDF documentation, then you must
          have texlive-20240312 installed. If you
          require formulas to convert PostScript files to bitmaps, then you
          must have ghostscript-10.03.1 installed.
        
       
      
        
          Contents
        
        
          
            
              Installed Programs:
              doxygen and optionally, doxywizard,
              doxyindexer and doxysearch.cgi
            
            
              Installed Libraries:
              None
            
            
              Installed Directory:
              /usr/share/doc/doxygen-1.12.0
            
           
         
        
          
            Short Descriptions
          
          
            
              
              
            
            
              
                | 
                    doxygen
                   | 
                    is a command-line based utility used to generate template
                    configuration files and then generate documentation from
                    these templates. Use doxygen --help for an
                    explanation of the command-line parameters
                   | 
              
                | 
                    doxywizard
                   | 
                    is a GUI front-end for configuring and running
                    doxygen
                   | 
              
                | 
                    doxyindexer
                   | 
                    generates a search index called doxysearch.dbfrom one or more search
                    data files produced by doxygen. See, e.g.
                    https://javacc.github.io/javacc/ | 
              
                | 
                    doxysearch.cgi
                   | 
                    is a CGI program to search the data indexed by
                    doxyindexer
                   |