/****************************************************************************** * * * * Copyright (C) 1997-2001 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * */ /*! \page install Installation \addindex installation First go to the download page \latexonly({\tt http://www.stack.nl/$\sim$dimitri/doxygen/download.html})\endlatexonly to get the latest distribution, if you did not have it already. This section is divided into the following subsections: \subsection install_src_unix Compiling from source on Unix If you downloaded the source distribution, you need at least the following to build the executable: Compilation is now done by performing the following steps:
  1. Unpack the archive, unless you already have done that: \verbatim gunzip doxygen-$VERSION.src.tar.gz # uncompress the archive tar xf doxygen-$VERSION.src.tar # unpack it \endverbatim
  2. Run the configure script: \verbatim sh ./configure \endverbatim The script tries to determine the platform you use, the make tool (which \e must be GNU make) and the perl interpreter. It will report what it finds. To override the auto detected platform and compiler you can run configure as follows: \verbatim configure --platform platform-type \endverbatim See the PLATFORMS file for a list of possible platform options. If you have Qt-2.1.x installed and want to build the GUI front-end, you should run the configure script with the --with-doxywizard option: \verbatim configure --with-doxywizard \endverbatim For an overview of other configuration options use \verbatim configure --help \endverbatim
  3. Compile the program by running make: \verbatim make \endverbatim The program should compile without problems and three binaries (doxygen, doxytag, and doxysearch) should be available in the bin directory of the distribution.
  4. Optional: Generate the user manual. \verbatim make docs \endverbatim To let doxygen generate the HTML documentation. \note you will need the stream editor sed for this, but this should be available on any Unix platform. The HTML directory of the distribution will now contain the html documentation (just point a HTML browser to the file index.html in the html directory).
  5. Optional: Generate a postscript and pdf version of the manual. (you will need latex and dvips and the ghostscript package for this). \verbatim make pdf \endverbatim The postscript manual doxygen_manual.ps will be located in the latex directory of the distribution. Just send it to a postscript printer to print it or use ghostview to view it.
\subsection install_bin_unix Installating the binaries on Unix If you downloaded the binary distribution for Unix, you can install doxygen by typing: \verbatim ./configure make install \endverbatim Binaries are installed in the directory \/bin Documentation and examples in the directory \/doc/doxygen \ defaults to /usr but can be changed with the --prefix option of the configure script. Alternatively, you can also copy the binaries from the bin directory manually to some bin directory in your search path. This is sufficient to use doxygen. \note You need the GNU install tool for this to work. Other install tools may put the binaries in the wrong directory! If you have a RPM or DEP package, then please follow the standard installation procedure that is required for these packages. \subsection unix_problems Known compilation problems for Unix Qt problems The Qt include files and libraries are not a sub directory of the directory pointed to by QTDIR on some systems. (for instance on Red Hat 6.0 includes are in /usr/include/qt and libs are in /usr/lib) The solution: goto the root of the doxygen distribution and do: \verbatim mkdir qt cd qt ln -s your-qt-include-dir-here include ln -s your-qt-lib-dir-here lib export QTDIR=$PWD \endverbatim If you have a csh-like shell you should use setenv QTDIR $PWD instead of the export command above. Now install doxygen as described above. Latex problems the file a4wide.sty is not available for all distributions. If your distribution does not have it please select another paper type in the config file (see the \ref cfg_paper_type "PAPER_TYPE" tag in the config file). HP-UX & Digital Unix problems If you are compiling for HP-UX with aCC and you get this error: \verbatim /opt/aCC/lbin/ld: Unsatisfied symbols: alloca (code) \endverbatim then you should (according to Anke Selig) edit ce_parse.cpp and replace \verbatim extern "C" { void *alloca (unsigned int); }; \endverbatim with \verbatim #include \endverbatim If that does not help, try removing ce_parse.cpp and let bison rebuilt it (this worked for me). If you are compiling for Digital Unix, the same problem can be solved (according to Barnard Schmallhof) by replacing the following in ce_parse.cpp: \verbatim #else /* not GNU C. */ #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) #include \endverbatim with \verbatim #else /* not GNU C. */ #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || defined (__osf__) #include \endverbatim Alternatively, one could fix the problem at the bison side. Here is patch for bison.simple (provided by Andre Johansen): \verbatim --- bison.simple~ Tue Nov 18 11:45:53 1997 +++ bison.simple Mon Jan 26 15:10:26 1998 @@ -27,7 +27,7 @@ #ifdef __GNUC__ #define alloca __builtin_alloca #else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || defined (__alpha) #include #else /* not sparc */ #if defined (MSDOS) && !defined (__TURBOC__) \endverbatim The generated scanner.cpp that comes with doxygen is build with this patch applied. Sun compiler problems I tried compiling doxygen only with Sun's C++ WorkShop Compiler version 5.0 (I used ./configure --platform solaris-cc) Qt-2.x.x is required for this compiler (Qt-1.44 has problems with the bool type). Compiling the \c doxygen binary went ok, but while linking doxytag I got a lot of link errors, like these: \verbatim QList::__vtbl /home/dimitri/doxygen/objects/SunWS_cache/CC_obj_6/6c3eO4IogMT2vrlGCQUQ.o [Hint: try checking whether the first non-inlined, non-pure virtual function of class QList is defined] \endverbatim These are generated because the compiler is confused about the object sharing between \c doxygen and \c doxytag. To compile \c doxytag and \c doxysearch anyway do: \verbatim rm -rf objects mkdir objects cd src gmake -f Makefile.doxytag gmake -f Makefile.doxysearch \endverbatim when configuring with --static I got: \verbatim Undefined first referenced symbol in file dlclose /usr/lib/libc.a(nss_deffinder.o) dlsym /usr/lib/libc.a(nss_deffinder.o) dlopen /usr/lib/libc.a(nss_deffinder.o) \endverbatim Manually adding -Bdynamic after the target rule in Makefile.doxygen and Makefile.doxytag will fix this: \verbatim $(TARGET): $(OBJECTS) $(OBJMOC) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) -Bdynamic \endverbatim GNU 2.7.2.x compiler problems Older versions of the GNU compiler have problems with constant strings containing characters with character codes larger than 127. Therefore the compiler will fail to compile some of the translator_xx.h files. A workaround, if you are planning to use the English translation only, is to configure doxygen with the --english-only option. \subsection install_src_windows Compiling from source on Windows Currently, I have only compiled doxygen for Windows using Microsoft's Visual C++ (version 6.0). For other compilers you may need to edit the perl script in wintools/make.pl a bit. Let me know what you had to change if you got Doxygen working with another compiler. Since Windows comes without all the nice tools that Unix users are used to, you need to install a number of these tools before you can compile doxygen for Windows. Here is what is required:
  • An unzip/untar tool like WinZip to unpack the tar source distribution. This can be found at http://www.winzip.com/ The good, tested, and free alternative is the tar utility supplied with cygwin tools. Anyway, the cygwin's flex, bison, and sed are also recommended below.
  • Microsoft Visual C++ (I only tested with version 6.0). Use the vcvars32.bat batch file to set the environment variables (if you did not select to do this automatically during installation). Borland C++ or MINGW (see http://www.mingw.org) are also supported.
  • Perl 5.0 or higher for Windows. This can be download from: http://www.ActiveState.com/Products/ActivePerl/
  • The GNU tools flex, bison, and sed. To get these working on Windows you should install the cygwin tools \latexonly(see {\tt http://sources.redhat.com/cygwin/})\endlatexonly Alternatively, you can also choose to download only a small subset \latexonly(see {\tt http://www.doxygen.org/dl/cygwin_tools.zip})\endlatexonly of the cygwin tools that I put together just to compile doxygen. Make sure the BISONLIB environment variable points to the location where the files bison.simple and bison.hairy are located. For instance if these files are in c:\\tools\\cygwin\\share then BISONLIB should be set to //c/tools/cygwin/share/ Also make sure the tools are available from a dos box, by adding the directory they are in to the search path. For those of you who are very new to cygwin (if you are going to install it from scratch), you should notice that there is an archive file bootstrap.zip which also contains the tar utility (tar.exe), gzip utilities, and the cygwin1.dll core. This also means that you have the tar in hands from the start. It can be used to unpack the tar source distribution instead of using WinZip -- as mentioned at the beginning of this list of steps.
  • From Doxygen-1.2.2-20001015 onwards, the distribution includes the part of Qt-2.x.x that is needed for to compile doxygen, doxytag, and doxysearch. The Windows specific part were also created. As a result doxygen can be compiled on systems without X11 or the commerical version of Qt. For doxywizard, a complete Qt library this is still a requirement however. You may be interested in the professional license of Qt for Windows \latexonly\par (see {\tt http://www.trolltech.com/products/qt.html})\endlatexonly. If you donate me a professional license I'll port doxywizard for you :-)
  • To generate LaTeX documentation or formulas in HTML you need the tools: latex, dvips and gswin32. To get these working under Windows install the fpTeX distribution You can download it at: ftp://ctan.tug.org/tex-archive/systems/win32/web2c/fptex-0.3/ Make sure the tools are available from a dos box, by adding the directory they are in to the search path. For your information, the LaTeX is freely available set of so called macros and styles on the top of the famous TeX program (by famous Donald Knuth) and the accompanied utilities (all available for free). It is used to for high quality typesetting. The result -- in the form of so called DVI (DeVice Independent) file -- can be printed or displayed on various devices preserving exactly the same look up to the capability of the device. The dvips allows you to convert the dvi to the high quality PostScript (i.e. PostScript that can be processed by utilities like psnup, psbook, psselect, and others). The derived version of TeX (the pdfTeX) can be used to produce PDF output instead of DVI, or the PDF can be produced from PostScript using the utility ps2pdf.
  • If you want to generate compressed HTML help (see \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP") in the config file, then you need the Microsoft HTML help workshop. You can download it at: http://msdn.microsoft.com/workshop/author/htmlhelp
  • If you used WinZip to extract the tar archive it will (apparently) not create empty folders, so you have to add the folders objects and bin manually in the root of the distribution before compiling.
  • the Graph visualization toolkit version 1.5
    Needed for the include dependency graphs, the graphical inheritance graphs, and the collaboration graphs.
Compilation is now done by performing the following steps:
  1. Open a dos box. Make sure all tools (i.e. nmake, latex, gswin32, dvips, sed, flex, bison, cl, rm, and perl), are accessible from the command-line (add them to the PATH environment variable if needed). Notice: The use of LaTeX is optional and only needed for compilation of the documentation into PostScript or PDF. It is \e not needed for compiling the doxygen's binaries.
  2. goto the doxygen root dir and type: \verbatim make.bat msvc \endverbatim This should build the executables doxygen.exe, doxytag.exe, and doxysearch.exe using Microsoft's Visual C++ compiler (The compiler should not produce any serious warnings or errors). You can use also the bcc argument to build executables using the Borland C++ compiler, or mingw argument to compile using GNU gcc.
  3. To build the examples, go to the examples subdirectory and type: \verbatim nmake \endverbatim
  4. To generate the doxygen documentation, go to the doc subdirectory and type: \verbatim nmake \endverbatim The generated docs int HTML are located in the ..\html subdirectory. The sources for LaTeX documentation are located in ..\latex subdirectory. From those sources, the DVI, PostScript, and PDF documentation can be generated.
\subsection install_bin_windows Installating the binaries on Windows There is no fancy installation procedure at the moment (If anyone wants to add it please let me know). To install doxygen, just copy the binaries from the bin directory to a location somewhere in the path. Alternatively, you can include the bin directory of the distribution to the path. \subsection build_tools Tools used to develop doxygen Doxygen was developed and tested under Linux using the following open-source tools:
  • EGCS version 2.91.66
  • GNU flex version 2.5.4
  • GNU bison version 1.25
  • GNU make version 3.76.1
  • Perl version 5.005_02
  • VIM version 5.4
  • Netscape 4.61
  • Troll Tech's tmake version 1.3 (included in the distribution)
  • teTeX version 0.9
  • CVS 1.10.7
\htmlonly Go to the next section or return to the index. \endhtmlonly */