Orb/Doxygen/doc/install.doc
changeset 0 42188c7ea2d9
child 4 468f4c8d3d5b
equal deleted inserted replaced
-1:000000000000 0:42188c7ea2d9
       
     1 /******************************************************************************
       
     2  *
       
     3  * 
       
     4  *
       
     5  * Copyright (C) 1997-2008 by Dimitri van Heesch.
       
     6  *
       
     7  * Permission to use, copy, modify, and distribute this software and its
       
     8  * documentation under the terms of the GNU General Public License is hereby 
       
     9  * granted. No representations are made about the suitability of this software 
       
    10  * for any purpose. It is provided "as is" without express or implied warranty.
       
    11  * See the GNU General Public License for more details.
       
    12  *
       
    13  * Documents produced by Doxygen are derivative works derived from the
       
    14  * input used in their production; they are not affected by this license.
       
    15  *
       
    16  */
       
    17 /*! \page install Installation
       
    18 
       
    19 \addindex installation
       
    20 First go to the 
       
    21 <a href="http://www.doxygen.org/download.html">download</a> page
       
    22 \latexonly({\tt http://www.doxygen.org/download.html})\endlatexonly
       
    23 to get the latest distribution, if you did not have it already.
       
    24 
       
    25 This section is divided into the following sections:
       
    26 <ul>
       
    27 <li>\ref install_src_unix  "Compiling from source on Unix"
       
    28 <li>\ref install_bin_unix  "Installing the binaries on Unix"
       
    29 <li>\ref unix_problems "Known compilation problems for Unix"
       
    30 <li>\ref install_src_windows "Compiling from source on Windows"
       
    31 <li>\ref install_bin_windows "Installing the binaries on Windows"
       
    32 <li>\ref build_tools "Tools used to develop doxygen"
       
    33 </ul>
       
    34 
       
    35 \section install_src_unix    Compiling from source on Unix
       
    36 
       
    37 If you downloaded the source distribution, you need at least the 
       
    38 following to build the executable:
       
    39 <ul>
       
    40 <li>The <a href="ftp://prep.ai.mit.edu/pub/gnu/">GNU</a> tools 
       
    41     flex, bison and GNU make, and strip
       
    42     \addindex flex
       
    43     \addindex bison
       
    44     \addindex make
       
    45     \addindex strip
       
    46 <li>In order to generate a Makefile for your platform, you need 
       
    47     <a href="http://www.perl.com/">perl</a>
       
    48     \latexonly(see {\tt http://www.perl.com/})\endlatexonly.
       
    49     \addindex perl
       
    50 <li>The configure script assume the availibility of standard Unix tools such 
       
    51     as sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm.
       
    52 </ul>
       
    53 
       
    54 To take full advantage of doxygen's features the following additional
       
    55 tools should be installed.
       
    56 
       
    57 <ul>
       
    58 <li>Qt Software's GUI toolkit 
       
    59     <A HREF="http://www.trolltech.com/products/qt.html">Qt</A>
       
    60     \latexonly(see {\tt http://www.trolltech.com/products/qt.html})\endlatexonly
       
    61     \addindex Qt
       
    62     version 3.3 or higher.
       
    63     This is needed to build the GUI front-end doxywizard. 
       
    64 <li>A \f$\mbox{\LaTeX}\f$ distribution: for instance
       
    65     <a href="http://www.tug.org/interest.html#free">teTeX 1.0</a>
       
    66     \latexonly \\par (see {\tt http://www.tug.org/interest.html\#free})\endlatexonly.
       
    67     This is needed for generating LaTeX, Postscript, and PDF output.
       
    68 <li><a href="http://www.graphviz.org/">
       
    69     the Graph visualization toolkit version 1.8.10 or higher</a>
       
    70     \latexonly \\par (see {\tt http://www.graphviz.org/})\endlatexonly.
       
    71     Needed for the include dependency graphs, 
       
    72     the graphical inheritance graphs, and the collaboration graphs.
       
    73     If you compile graphviz yourself, make sure you do include
       
    74     freetype support (which requires the freetype library and header files), 
       
    75     otherwise the graphs will not render proper text labels.
       
    76 <li>For formulas or if you do not wish to use pdflatex, the ghostscript interpreter
       
    77     is needed. You can find it at 
       
    78     <a href="http://www.ghostscript.com/">www.ghostscript.com</a>.
       
    79 <li>In order to generate doxygen's own documentation, Python is needed, you
       
    80     can find it  at <a href="http://www.python.org">www.python.org</a>.
       
    81 </ul>
       
    82 
       
    83 Compilation is now done by performing the following steps:
       
    84 
       
    85 <ol>
       
    86 <li> Unpack the archive, unless you already have done that:
       
    87    
       
    88 \verbatim
       
    89     gunzip doxygen-$VERSION.src.tar.gz    # uncompress the archive
       
    90     tar xf doxygen-$VERSION.src.tar       # unpack it
       
    91 \endverbatim
       
    92 
       
    93 <li>Run the configure script:
       
    94  
       
    95 \verbatim
       
    96     sh ./configure
       
    97 \endverbatim
       
    98 
       
    99     The script tries to determine the platform you use, the make tool 
       
   100     (which \e must be GNU make) and the perl 
       
   101     interpreter. It will report what it finds. 
       
   102 
       
   103     To override the auto detected platform and compiler you can run
       
   104     configure as follows:
       
   105 
       
   106 \verbatim
       
   107     configure --platform platform-type
       
   108 \endverbatim
       
   109 
       
   110     See the <code>PLATFORMS</code> file for a list of possible platform
       
   111     options.
       
   112 
       
   113     If you have Qt-3.3.x installed and want to build the GUI 
       
   114     front-end, you should run the configure script with 
       
   115     the <code>--with-doxywizard</code> option:
       
   116 
       
   117 \verbatim
       
   118     configure --with-doxywizard
       
   119 \endverbatim
       
   120 
       
   121     For an overview of other configuration options use
       
   122 
       
   123 \verbatim
       
   124     configure --help
       
   125 \endverbatim
       
   126 
       
   127 <li>Compile the program by running make:
       
   128 
       
   129 \verbatim
       
   130     make
       
   131 \endverbatim
       
   132 
       
   133     The program should compile without problems and three binaries 
       
   134     (<code>doxygen</code> and <code>doxytag</code>) 
       
   135     should be available in the bin directory of the distribution.
       
   136 
       
   137 <li>Optional: Generate the user manual.
       
   138     
       
   139 \verbatim
       
   140     make docs
       
   141 \endverbatim
       
   142 
       
   143     To let doxygen generate the HTML documentation.
       
   144     
       
   145     The HTML directory of the distribution will now contain the html 
       
   146     documentation (just point a HTML browser to the file 
       
   147     <code>index.html</code> in the 
       
   148     html directory). You will need the <code>python</code> interpreter 
       
   149     for this.
       
   150     
       
   151 <li>Optional: Generate a PDF version of the manual
       
   152     (you will need <code>pdflatex</code>, <code>makeindex</code>, and
       
   153      <code>egrep</code> for this).
       
   154 
       
   155 \verbatim
       
   156     make pdf
       
   157 \endverbatim
       
   158 
       
   159     The PDF manual <code>doxygen_manual.pdf</code> will be located 
       
   160     in the latex directory of the distribution. Just 
       
   161     view and print it via the acrobat reader. 
       
   162 
       
   163 </ol>
       
   164 
       
   165 \section install_bin_unix    Installing the binaries on Unix
       
   166 
       
   167     After the compilation of the source code do a <code>make install</code>
       
   168     to install doxygen. If you downloaded the binary distribution for Unix,
       
   169     type:
       
   170 
       
   171 \verbatim
       
   172     ./configure
       
   173     make install
       
   174 \endverbatim   
       
   175 
       
   176     Binaries are installed into the directory <code>\<prefix\>/bin</code>.
       
   177     Use <code>make install_docs</code> to install the
       
   178     documentation and examples into <code>\<docdir\>/doxygen</code>. 
       
   179 
       
   180     <code>\<prefix\></code> defaults to <code>/usr/local</code> but can be changed with 
       
   181     the <code>--prefix</code> option of the configure script. 
       
   182     The default <code>\<docdir\></code> directory is 
       
   183     <code>\<prefix\>/share/doc/packages</code> and can be changed with
       
   184     the <code>--docdir</code> option of the configure script.
       
   185 
       
   186     Alternatively, you can also copy the binaries from the <code>bin</code> 
       
   187     directory manually to some <code>bin</code> directory in your search path.
       
   188     This is sufficient to use doxygen.
       
   189 
       
   190     \note You need the GNU install tool for this to work (it is part of
       
   191     the coreutils package). Other install tools may put the binaries in 
       
   192     the wrong directory!
       
   193 
       
   194     If you have a RPM or DEP package, then please follow the 
       
   195     standard installation procedure that is required for these packages. 
       
   196 
       
   197 \section unix_problems Known compilation problems for Unix
       
   198 
       
   199 <b>Qt problems</b>
       
   200 
       
   201 The Qt include files and libraries are not a subdirectory of the
       
   202 directory pointed to by QTDIR on some systems
       
   203 (for instance on Red Hat 6.0 includes are in /usr/include/qt and
       
   204 libs are in /usr/lib).
       
   205   
       
   206 The solution: go to the root of the doxygen distribution and do:
       
   207 \verbatim
       
   208    mkdir qt
       
   209    cd qt
       
   210    ln -s your-qt-include-dir-here include
       
   211    ln -s your-qt-lib-dir-here lib
       
   212    export QTDIR=$PWD
       
   213 \endverbatim 
       
   214 
       
   215 If you have a csh-like shell you should use <code>setenv QTDIR \$PWD</code>
       
   216 instead of the <code>export</code> command above.
       
   217   
       
   218 Now install doxygen as described above.  
       
   219 
       
   220 <b>Bison problems</b>
       
   221 
       
   222 Versions 1.31 to 1.34 of bison contain a "bug" that results in a 
       
   223 compiler errors like this:
       
   224 
       
   225 ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with 
       
   226 constructor not allowed in union
       
   227 
       
   228 This problem has been solved in version 1.35 (versions before 1.31 
       
   229 will also work).
       
   230 
       
   231 <b>Latex problems</b>
       
   232 
       
   233 The file <code>a4wide.sty</code> is not available for all distributions. If
       
   234 your distribution does not have it please select another paper type
       
   235 in the config file (see the \ref cfg_paper_type "PAPER_TYPE" tag in the 
       
   236 config file).
       
   237 
       
   238 <b>HP-UX \& Digital Unix problems</b>
       
   239 
       
   240 If you are compiling for HP-UX with aCC and you get this error:
       
   241 \verbatim
       
   242     /opt/aCC/lbin/ld: Unsatisfied symbols:
       
   243     alloca (code)
       
   244 \endverbatim
       
   245   then you should (according to Anke Selig) edit <code>ce_parse.cpp</code> 
       
   246   and replace
       
   247 \verbatim
       
   248     extern "C" {
       
   249       void *alloca (unsigned int);
       
   250     };
       
   251 \endverbatim
       
   252   with
       
   253 \verbatim
       
   254     #include <alloca.h>  
       
   255 \endverbatim
       
   256 
       
   257   If that does not help, try removing <code>ce_parse.cpp</code> and let 
       
   258   bison rebuild it (this worked for me).
       
   259 
       
   260 If you are compiling for Digital Unix, the same problem can be solved
       
   261 (according to Barnard Schmallhof) by replacing the following in 
       
   262 ce_parse.cpp:
       
   263    
       
   264 \verbatim
       
   265     #else /* not GNU C.  */
       
   266     #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
       
   267         || defined (__sparc) || defined (__sgi)
       
   268     #include <alloca.h>
       
   269 \endverbatim
       
   270 
       
   271   with
       
   272 
       
   273 \verbatim
       
   274     #else /* not GNU C.  */
       
   275     #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
       
   276         || defined (__sparc) || defined (__sgi) || defined (__osf__)
       
   277     #include <alloca.h>
       
   278 \endverbatim
       
   279 
       
   280   Alternatively, one could fix the problem at the bison side.
       
   281   Here is patch for bison.simple (provided by Andre Johansen):
       
   282  
       
   283 \verbatim
       
   284 --- bison.simple~       Tue Nov 18 11:45:53 1997
       
   285 +++ bison.simple        Mon Jan 26 15:10:26 1998
       
   286 @@ -27,7 +27,7 @@
       
   287  #ifdef __GNUC__
       
   288  #define alloca __builtin_alloca
       
   289  #else /* not GNU C.  */
       
   290 -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
       
   291      || defined (__sparc) || defined (__sgi)
       
   292 +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
       
   293      || defined (__sparc) || defined (__sgi) || defined (__alpha)
       
   294  #include <alloca.h>
       
   295  #else /* not sparc */
       
   296  #if defined (MSDOS) && !defined (__TURBOC__)
       
   297 \endverbatim
       
   298 
       
   299   The generated scanner.cpp that comes with doxygen is build with this
       
   300   patch applied.  
       
   301 
       
   302 <b>Sun compiler problems</b>
       
   303 
       
   304 It appears that doxygen doesn't work properly if it is compiled 
       
   305 with Sun's C++ WorkShop 6 Compiler. I cannot verify this myself as I do 
       
   306 not have access to a Solaris machine with this compiler. With GNU compiler
       
   307 it does work and installing Sun patch 111679-13 has also been reported 
       
   308 as a way to fix the problem.
       
   309 
       
   310 when configuring with <code>--static</code> I got:
       
   311 
       
   312 \verbatim
       
   313 Undefined                       first referenced
       
   314  symbol                             in file
       
   315 dlclose                             /usr/lib/libc.a(nss_deffinder.o)
       
   316 dlsym                               /usr/lib/libc.a(nss_deffinder.o)
       
   317 dlopen                              /usr/lib/libc.a(nss_deffinder.o)
       
   318 \endverbatim
       
   319 
       
   320 Manually adding <code>-Bdynamic</code> after the target rule in 
       
   321 <code>Makefile.doxygen</code> and <code>Makefile.doxytag</code> 
       
   322 will fix this:
       
   323 
       
   324 \verbatim
       
   325 $(TARGET): $(OBJECTS) $(OBJMOC) 
       
   326         $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) -Bdynamic
       
   327 \endverbatim
       
   328 
       
   329 <b>GCC compiler problems</b>
       
   330 
       
   331 Older versions of the GNU compiler have problems with constant strings
       
   332 containing characters with character codes larger than 127. Therefore 
       
   333 the compiler will fail to compile some of the translator_xx.h files. 
       
   334 A workaround, if you are planning to use the English translation only, 
       
   335 is to configure doxygen with the <code>--english-only</code> option.  
       
   336 
       
   337 On some platforms (such as OpenBSD) using some versions of gcc with
       
   338 -O2 can lead to eating all memory during the compilation of files 
       
   339 such as config.cpp. As a workaround use --debug as a configure option 
       
   340 or omit the -O2 for the particular files in the Makefile.
       
   341 
       
   342 Gcc versions before 2.95 may produce broken binaries due to bugs in 
       
   343 these compilers. 
       
   344 
       
   345 <b>Dot problems</b>
       
   346 
       
   347 Due to a change in the way image maps are generated, older versions
       
   348 of doxygen (\<=1.2.17) will not work correctly with newer versions of
       
   349 graphviz (\>=1.8.8). The effect of this incompatibility is that
       
   350 generated graphs in HTML are not properly clickable. For doxygen 1.3
       
   351 it is recommended to use at least graphviz 1.8.10 or higher.
       
   352 For doxygen 1.4.7 or higher it is recommended to 
       
   353 use GraphViz 2.8 or higher to avoid font issues.
       
   354 
       
   355 <b>Red Hat 9.0 problems</b>
       
   356 
       
   357 If you get the following error after running make
       
   358 \verbatim
       
   359 tmake error: qtools.pro:70: Syntax error
       
   360 \endverbatim
       
   361 then first type
       
   362 \verbatim
       
   363 export LANG=
       
   364 \endverbatim
       
   365 before running make.
       
   366 
       
   367 \section install_src_windows Compiling from source on Windows
       
   368 
       
   369 From version 1.5.0 onwards, build files are provided for Visual Studio 2005.
       
   370 Also the free (as in beer) "Express" version of Developer Studio can be used to 
       
   371 compile doxygen. Alternatively, you can compile doxygen 
       
   372 \ref install_src_unix "the Unix way" using 
       
   373 <a href="http://en.wikipedia.org/wiki/Cygwin">Cygwin</a>
       
   374 or <a href="http://www.mingw.org/">MinGW</a>.
       
   375 
       
   376 Before you can compile doxygen you need to download and install the C++ compiler of
       
   377 Visual Studio. Since Microsoft apparently wants to lure everyone into using their 
       
   378 .NET stuff, they made things somewhat difficult when you use the Express version.
       
   379 You need to
       
   380 <a href="http://msdn2.microsoft.com/en-gb/express/aa700755.aspx">
       
   381 do some manual steps</a> in order to setup a proper working environment for building
       
   382 native win32 applications such as Doxygen.
       
   383 
       
   384 The next step is to install unxutils (see http://sourceforge.net/projects/unxutils).
       
   385 This packages contains the tools \c flex and \c bison which are needed during the
       
   386 compilation process if you use a CVS snapshot of doxygen (the official source releases 
       
   387 come with pre-generated sources).
       
   388 Download the zip extract it to e.g. <code>c:\\tools\\unxutils</code>.
       
   389 
       
   390 Now you need to add/adjust the following environment variables 
       
   391 (via Control Panel/System/Advanced/Environment Variables):
       
   392 - add <code>c:\\tools\\unxutils\\usr\\local\\wbin;</code> to the start of <code>PATH</code>
       
   393 - set <code>BISON_SIMPLE</code> to <code>c:\\tools\\unxutils\\usr\\local\\share\\bison.simple</code>
       
   394 
       
   395 Download doxygen's source tarball and put it somewhere (e.g use <code>c:\\tools</code>)
       
   396 
       
   397 Now start a new command shell and type
       
   398 \verbatim
       
   399 cd c:\tools
       
   400 gunzip doxygen-x.y.z.src.tar.gz
       
   401 tar xvf doxygen-x.y.z.src.tar
       
   402 \endverbatim
       
   403 to unpack the sources.
       
   404 
       
   405 Now your environment is setup to build \c doxygen and \c doxytag.
       
   406 
       
   407 Inside the \c doxygen-x.y.z directory you will find a \c winbuild directory 
       
   408 containing a \c Doxygen.sln file. Open this file in Visual Studio. 
       
   409 You can now build the Release or Debug flavor of Doxygen and Doxytag by right-clicking
       
   410 the project in the solutions explorer, and selecting Build.
       
   411 
       
   412 Note that compiling Doxywizard currently requires Qt version 3
       
   413 (see http://www.trolltech.com/products/qt/qt3).
       
   414 If you do not have a commercial license, you can build Doxywizard with the open
       
   415 source version (see http://qtwin.sourceforge.net/qt3-win32/compile-msvc-2005.php), 
       
   416 but I have not tried this myself.
       
   417 
       
   418 Also read the next section for additional tools you may need to install to run
       
   419 doxygen with certain features enabled.
       
   420 
       
   421 <!--
       
   422 
       
   423 Currently, I have only compiled doxygen for Windows using Microsoft's 
       
   424 Visual C++ (). For other compilers you may need to edit the 
       
   425 perl script in <code>wintools/make.pl</code> a bit. 
       
   426 Let me know what you had to change if you got Doxygen working with another 
       
   427 compiler. If you have Visual Studio you can also use the .dsw file found in
       
   428 the <code>wintools</code> directory. Note that this file is not maintained
       
   429 by me, so it might be outdated a little.
       
   430 
       
   431 If you have Visual C++ 6.0, and the source distribution, you can easily
       
   432 build doxygen using the project files in the \c wintools directory. If
       
   433 you want to build the CVS sources, or want to build from the command line,
       
   434 or with another compiler, you have to follow the steps below.
       
   435 
       
   436 Thomas Baust reported that if you have Visual Studio.NET (2003) then 
       
   437 you should be aware that there is a problem with the _popen() and _pclose() 
       
   438 implementation, which currently leaks handles, so if you build doxygen with 
       
   439 it and use the INPUT_FILTER, you will run to risk of crashing Windows! 
       
   440 The problem is reported to and confirmed by Microsoft so maybe it will 
       
   441 fixed in the next service pack.
       
   442 
       
   443 Since Windows comes without all the nice tools that Unix users are
       
   444 used to, you'll need to install a number of these tools before you can compile 
       
   445 doxygen for Windows from the command-line.
       
   446 
       
   447 Here is what is required:
       
   448 <ul>
       
   449 <li>An unzip/untar tool like WinZip to unpack the tar source distribution. 
       
   450     This can be found at http://www.winzip.com/  
       
   451 
       
   452     The good, tested, and free alternative is the <code>tar</code> utility
       
   453     supplied with <a href="http://sourceware.cygnus.com/cygwin/">cygwin
       
   454     tools</a>. Anyway, the cygwin's flex, bison, and sed are also
       
   455     recommended below.
       
   456 
       
   457 <li>Microsoft Visual C++ (I only tested with version 6.0).
       
   458     Use the <code>vcvars32.bat</code> batch file to set the environment 
       
   459     variables (if you did not select to do this automatically during 
       
   460     installation). 
       
   461 
       
   462     Borland C++ or MINGW (see http://www.mingw.org/) are also supported. 
       
   463 
       
   464 <li>Perl 5.0 or higher for Windows. This can be downloaded from:
       
   465     http://www.ActiveState.com/Products/ActivePerl/
       
   466 
       
   467 <li>The GNU tools flex, bison, and sed.
       
   468     To get these working on Windows you should install the 
       
   469     <a href="http://sources.redhat.com/cygwin/">cygwin tools</a>
       
   470     \latexonly(see {\tt http://sources.redhat.com/cygwin/})\endlatexonly
       
   471     
       
   472     Alternatively, you can also choose to 
       
   473     download only a <a href="http://www.doxygen.org/dl/cygwin_tools.zip">small subset</a> 
       
   474     \latexonly(see {\tt http://www.doxygen.org/dl/cygwin\_tools.zip})\endlatexonly
       
   475     of the cygwin tools that I put together just to compile doxygen.
       
   476 
       
   477     As a third alternative one could use the GNUWin32 tools that can be
       
   478     found at http://gnuwin32.sourceforge.net/ 
       
   479     
       
   480     Make sure the <code>BISON_SIMPLE</code> environment variable points to the
       
   481     location where the files <code>bison.simple</code> and 
       
   482     is located. For instance if these file is in
       
   483     <code>c:\\tools\\cygwin\\usr\\share</code> then BISON_SIMPLE should 
       
   484     be set to <code>c:/tools/cygwin/usr/share/bison.simple</code>
       
   485 
       
   486     Also make sure the tools are available from a dos box, by adding 
       
   487     the directory they are in to the search path.
       
   488     
       
   489     For those of you who are very new to cygwin (if you are going to
       
   490     install it from scratch), you should notice that there is an
       
   491     archive file <code>bootstrap.zip</code> which also contains the
       
   492     <code>tar</code> utility (<code>tar.exe</code>), <code>gzip</code>
       
   493     utilities, and the <code>cygwin1.dll</code> core. This also means
       
   494     that you have the <code>tar</code> in hands from the start. It
       
   495     can be used to unpack the tar source distribution instead of
       
   496     using WinZip -- as mentioned at the beginning of this list of
       
   497     steps.
       
   498 
       
   499 <li>From Doxygen-1.2.2-20001015 onwards, the distribution includes the part
       
   500     of Qt-2.x.y that is needed for to compile doxygen and doxytag,
       
   501     The Windows specific part were also created.
       
   502     As a result doxygen can be compiled on systems without X11 or the
       
   503     commerical version of Qt. 
       
   504 
       
   505     For doxywizard, a complete Qt library is 
       
   506     still a requirement however. A commercial license to build
       
   507     doxywizard with the latest Qt library was kindly donated to me
       
   508     by the nice people at <a href="http://www.trolltech.com">Qt Software</a>. 
       
   509     See doxygen download page for a link. 
       
   510    
       
   511 <li>If you used WinZip to extract the tar archive it will (apparently) not 
       
   512     create empty folders, so you have to add the folders
       
   513     <code>objects</code> and <code>bin</code> manually in the root of the 
       
   514     distribution before compiling.
       
   515 
       
   516 </ul>
       
   517 
       
   518 
       
   519 Compilation is now done by performing the following steps:
       
   520 
       
   521 <ol>
       
   522 <li>Open a dos box.
       
   523     Make sure all tools (i.e. <code>nmake</code>, <code>latex</code>, 
       
   524     <code>gswin32</code>, <code>dvips</code>, <code>sed</code>, 
       
   525     <code>flex</code>, <code>bison</code>, <code>cl</code>,
       
   526     <code>rm</code>, and <code>perl</code>), are accessible from
       
   527     the command-line (add them to the PATH environment variable if
       
   528     needed).
       
   529 
       
   530     Notice: The use of LaTeX is optional and only needed for compilation
       
   531     of the documentation into PostScript or PDF. 
       
   532     It is \e not needed for compiling the doxygen's binaries. 
       
   533     
       
   534 <li>Go to the doxygen root dir and type:
       
   535 
       
   536 \verbatim
       
   537     make.bat msvc
       
   538 \endverbatim
       
   539 
       
   540     This should build the executables 
       
   541     <code>doxygen.exe</code> and <code>doxytag.exe</code>
       
   542     using Microsoft's Visual C++ compiler
       
   543     (The compiler should not produce any serious warnings or errors).
       
   544 
       
   545     You can use also the <code>bcc</code> argument to build
       
   546     executables using the Borland C++ compiler, or
       
   547     <code>mingw</code> argument to compile using GNU gcc.
       
   548 
       
   549 <li>To build the examples, go to the <code>examples</code> subdirectory
       
   550     and type:
       
   551 
       
   552 \verbatim
       
   553     nmake
       
   554 \endverbatim
       
   555 
       
   556 <li>To generate the doxygen documentation, go to the <code>doc</code> 
       
   557     subdirectory and type:
       
   558 
       
   559 \verbatim
       
   560     nmake
       
   561 \endverbatim
       
   562 
       
   563     The generated HTML docs are located in the <code>..\\html</code>
       
   564     subdirectory.
       
   565 
       
   566     The sources for LaTeX documentation are located in the <code>..\\latex</code>
       
   567     subdirectory. From those sources, the DVI, PostScript, and PDF
       
   568     documentation can be generated. 
       
   569 </ol>
       
   570 
       
   571 -->
       
   572 
       
   573 \section install_bin_windows Installing the binaries on Windows
       
   574 
       
   575 Doxygen comes as a self-installing archive, so installation is extremely simple.
       
   576 Just follow the dialogs.
       
   577 
       
   578 After installation it is recommended to also download and install GraphViz
       
   579 (version 2.8 or better is highly recommended). Doxygen can use the \c dot tool 
       
   580 of the GraphViz package to render nicer diagrams, see the 
       
   581 \ref cfg_have_dot "HAVE_DOT" option in the configuration file.
       
   582 
       
   583 If you want to produce compressed HTML files (see \ref 
       
   584 cfg_generate_htmlhelp "GENERATE_HTMLHELP") in the config file, then 
       
   585 you need the Microsoft HTML help workshop. 
       
   586 You can download it from 
       
   587 <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/vsconHH1Start.asp">Microsoft</a>.
       
   588 
       
   589 If you want to produce Qt Compressed Help files (see \ref 
       
   590 cfg_qhg_location "QHG_LOCATION") in the config file, then 
       
   591 you need qhelpgenerator which is part of Qt. 
       
   592 You can download Qt from <a href="http://trolltech.com/downloads/">Qt Software Downloads</a>.
       
   593 
       
   594 In order to generate PDF output or use scientific formulas you will also need to
       
   595 install <a href="http://en.wikipedia.org/wiki/LaTeX">LaTeX</a> and 
       
   596 <a href="http://en.wikipedia.org/wiki/Ghostscript">Ghostscript</a>. 
       
   597 
       
   598 For LaTeX a number of distributions exists. Popular onces that should work with
       
   599 doxygen are <a href="http://www.miktex.org">MikTex</a> 
       
   600 and <a href="http://www.xemtex.org">XemTex</a>.
       
   601 
       
   602 Ghostscript can be <a href="http://sourceforge.net/projects/ghostscript/">downloaded</a> 
       
   603 from Sourceforge.
       
   604 
       
   605 After installing LaTeX and Ghostscript you'll need to make sure the tools
       
   606 latex.exe, pdflatex.exe, and gswin32c.exe are present in the search path of a
       
   607 command box. Follow <a href="http://www.computerhope.com/issues/ch000549.htm">these</a>
       
   608 instructions if you are unsure and run the commands from a command box to verify it works.
       
   609 
       
   610 <!--
       
   611 There is no fancy installation procedure at the moment (if anyone can
       
   612 add it in a location independent way please let me know).
       
   613 
       
   614 To install doxygen, just copy the binaries from the <code>bin</code> directory
       
   615 to a location somewhere in the path. Alternatively, you can include 
       
   616 the <code>bin</code> directory of the distribution to the path.
       
   617 
       
   618 There are a couple of tools you may want to install to use all of doxygen's
       
   619 features:
       
   620 
       
   621 <ul>
       
   622 <li>To generate LaTeX documentation or formulas in HTML you need the tools:
       
   623     <code>latex</code>, <code>dvips</code> and <code>gswin32</code>. 
       
   624     To get these working under Windows
       
   625     install the fpTeX distribution. You can find more info at:
       
   626     http://www.fptex.org/ and download it from CTAN or one of its mirrors.
       
   627     In the Netherlands for example this would be: 
       
   628     ftp://ftp.easynet.nl/mirror/CTAN/systems/win32/fptex/
       
   629 
       
   630     Make sure the tools are available from a dos box, by adding the 
       
   631     directory they are in to the search path.
       
   632 
       
   633     For your information, the LaTeX is freely available set of so
       
   634     called macros and styles on the top of the famous TeX program
       
   635     (by famous Donald Knuth) and the accompanied utilities (all
       
   636     available for free). It is used for high quality
       
   637     typesetting. The result -- in the form of so called
       
   638     <code>DVI</code> (DeVice Independent) file -- can be printed or
       
   639     displayed on various devices preserving exactly the same look up
       
   640     to the capability of the device. The <code>dvips</code> allows you
       
   641     to convert the <code>dvi</code> to the high quality PostScript
       
   642     (i.e. PostScript that can be processed by utilities like 
       
   643     <code>psnup</code>, <code>psbook</code>, <code>psselect</code>,
       
   644     and others). The derived version of TeX (the pdfTeX) can be used
       
   645     to produce PDF output instead of DVI, or the PDF can be produced
       
   646     from PostScript using the utility <code>ps2pdf</code>.
       
   647 
       
   648     If you want to use MikTeX then you need to select at least the 
       
   649     medium size installation. For really old versions of MikTex or minimal 
       
   650     installations, you may need to download the fancyhdr package separately. 
       
   651     You can find it in the 
       
   652     <a href="ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/supported/fancyhdr/">
       
   653     contrib/supported</a> directory of the tex archives.
       
   654 
       
   655 <li>If you want to generate compressed HTML help 
       
   656     (see \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP") in the 
       
   657     config file, then you need the Microsoft HTML help workshop. 
       
   658     You can download it from 
       
   659     <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/vsconHH1Start.asp">Microsoft</a>.
       
   660 
       
   661 <li>If you want to produce Qt Compressed Help files (see \ref 
       
   662     cfg_qhelgenerator_loc "QHG_LOCATION") in the config file,
       
   663     then you need qhelpgenerator which is part of Qt. 
       
   664     You can download Qt from
       
   665     <a href="http://trolltech.com/downloads/">Qt Software Downloads</a>.
       
   666 
       
   667 <li><a href="http://www.graphviz.org/">
       
   668     the Graph visualization toolkit version 1.8.10</a><br>
       
   669     \latexonly(see {\tt http://www.graphviz.org/})\endlatexonly.
       
   670     Needed for the include dependency graphs, the graphical inheritance graphs,
       
   671     and the collaboration graphs.
       
   672 </ul>
       
   673 
       
   674 -->
       
   675 
       
   676 \section build_tools Tools used to develop doxygen
       
   677 
       
   678 Doxygen was developed and tested under Linux &amp; MacOSX using the following 
       
   679 open-source tools:
       
   680 <ul>
       
   681 <li>GCC version 3.3.6 (Linux) and 4.0.1 (MacOSX)
       
   682 <li>GNU flex version 2.5.33 (Linux) and 2.5.4 (MacOSX)
       
   683 <li>GNU bison version 1.75
       
   684 <li>GNU make version 3.80
       
   685 <li>Perl version 5.8.1
       
   686 <li>VIM version 6.2
       
   687 <li>Firefox 1.5
       
   688 <li>Trolltech's tmake version 1.3 (included in the distribution) 
       
   689 <li>teTeX version 2.0.2
       
   690 <li>CVS 1.12.12
       
   691 </ul>
       
   692 
       
   693 \htmlonly
       
   694 Go to the <a href="starting.html">next</a> section or return to the
       
   695  <a href="index.html">index</a>.
       
   696 \endhtmlonly
       
   697 
       
   698 */
       
   699