Commit ee8333a5 authored by Dimitri van Heesch's avatar Dimitri van Heesch
Browse files

mods for doxygen-0.49-990829

parent 6aa7383e
Loading
Loading
Loading
Loading
+67 −48
Original line number Diff line number Diff line
DOXYGEN Version 0.49-990728
DOXYGEN Version 0.49-990829

CONTENTS
--------
  - Installation instructions for UNIX
  - Installation instructions for Windows
  - Known configuration problems:
      * HTML related problems
      * LaTeX related problems
      * HP-UX / Digital UNIX problems

INSTALLATION INSTRUCTIONS FOR UNIX:
-----------------------------------

1.  Unpack the archive, unless you already have:
   
    gunzip doxygen-0.49-990728.src.tar.gz    # uncompress the archive
    tar xf doxygen-0.49-990728.src.tar       # unpack it

2.  Make sure Qt is installed properly (check the environment variable $QTDIR)
    gunzip doxygen-0.49-990829.src.tar.gz    # uncompress the archive
    tar xf doxygen-0.49-990829.src.tar       # unpack it

    Note: on some systems (like FreeBSD) it is possible that qt is not
    installed in one single directory. In this case I suggest to create a 
    local qt directory to which the QTDIR variable should point. Then
    create two links in that directory like this:
      ln -s <location_of_the_qt_includes> include
      ln -s <location_of_the_qt_libs> lib
2.  Run the configure script:
 
3.  Look at the first two entries of Makefile.config and modify them if needed.
    Note: Doxygen requires GNU make to build. On some systems this is 
    known as gmake. If you have such a system, you must edit Makefile.config
    and replace make by gmake in rest of this document.
    sh ./configure

4.  Compile the program.
    The script tries to determine the platform you use, the location
    of the Qt library, the make tool and the perl interpreter.
    It will report what it finds. Use configure --help 
    to see how to override or change the default settings.

    Type:
3.  Compile the program by running make:

    make

    You'll see a list of all supported platforms/compiler combinations.
    
    To build for the Linux platform with g++ as the compiler for example, type:
 
      make linux-g++

    The program should compile without problems and three binaries (doxygen,
    doxytag, and doxysearch) should be available in the bin directory of the 
    distribution.

5.  Generate the user manual.
    
    type:
   
    make docs

    to let doxygen generate the HTML and LaTeX documentation.
    (you will need the stream editor `sed' for this)

    type:
   
    make ps

    to generate a postscript version of the manual. 
@@ -65,27 +57,40 @@ INSTALLATION INSTRUCTIONS FOR UNIX:
INSTALLATION INSTRUCTIONS FOR WINDOWS:
--------------------------------------

Currently, only Microsoft Visual C++ version 5.0 is supported. For other
platforms you may need to edit the Makefiles a bit. Let me know what you
had to change if you got Doxygen working with another windows compiler. 
Currently, only Microsoft Visual C++ (version 5.0) is supported. 
(For other platforms 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 windows compiler. 

You will need to install the windows/dos versions of following tools:
- Perl 5.0+
- flex (you can use the DJGPP version)
- bison (you can use the DJGPP version, but you need to copy 
         lib\bison.sim to c:\djgpp\lib\bison.simple and
         lib\bison.hai to c:\djgpp\lib\bison.hairy.
         The paths seem to be hardcoded in the executable)
- Qt (Hint: only the tools section is required, so you can use the free 
  You can download it at: http://www.ActiveState.com/pw32/
- the GNU tools flex, bison and sed.
  To get these working on Windows you can install the cygwin tools.
  You can download them at: http://sourceware.cygnus.com/cygwin/
  Make sure the BISONLIB environment variable points to the
  location where bison.simple and bison.hairy are located.
- Qt-1.xx (Qt-2.xx should also work, but I didn't test it for Windows) 
  (Hint: only the tools section is required, so you can use the free 
   X-windows version as well!)
- Microsoft Visual C++ version 5.0, use the vcvars32.bat to set the environment
  variables.
- Microsoft Visual C++ (I only tested with version 5.0).
  Use the vcvars32.bat to set the environment variables 
  (if not selected to do this automatically during installation).
- 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/
- If you want to generate compressed HTML help (see 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.

Make sure all tools are accessible from the command-line.
Make sure all tools are accessible from the command-line (add them to the
PATH environment if needed).

Open a dos box, goto the doxygen root dir and type:

@@ -96,23 +101,37 @@ This should build the executables doxygen.exe, doxytag.exe, and doxysearch.exe

To build the examples type:

nmake -f Makefile.windows examples
nmake examples

To generate the HTML documentation type:

nmake docs

The generated docs are located in the html directory.
To generate the postscript manual type:

nmake ps

The manual should now be here latex/doxygen_manual.ps

-----------------------------------------------------------------------------
KNOWN CONFIGURATION PROBLEMS

QT RELATED PROBLEMS:
- Qt-2.01 contains a bug that 


HTML RELATED PROBLEMS:
- the indent continuously increases.
  This seems to be a problem that can be observed with Netscape 4.01.
  It is not present in many later and earlier versions I tested.

LATEX RELATED PROBLEMS:

- the LaTeX translation of HTML tables doesn't seem to work for all 
  compilers. It is known to work for teTeX (versions 0.4 and 0.9)
- 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 PAPER_TYPE)
  in the config file (see the PAPER_TYPE tag in the config file)
- the file fancyheader.sty is known as fancyhdr.sty on some systems.
  Please change that in src/latexgen.cpp

@@ -154,4 +173,4 @@ The latest version of doxygen can be obtained at

Enjoy,

Dimitri van Heesch (30 July 1999)
Dimitri van Heesch (29 August 1999)

Makefile

deleted100644 → 0
+0 −183
Original line number Diff line number Diff line
# this Makefile need GNU make

include Makefile.config

variables: Makefile
	@echo
	@echo "Select one of the following targets:"
	@echo
	@echo "aix-g++          aix-xlc        "
	@echo "dgux-g++         freebsd-g++    "
	@echo "gnu-g++          hpux-acc       "
	@echo "hpux-cc          hpux-g++       "
	@echo "irix-64          irix-dcc       "
	@echo "irix-g++         irix-n32       "
	@echo "linux-g++        netbsd-g++     "
	@echo "openbsd-g++      osf1-cxx       "
	@echo "osf1-g++         qnx-g++        "
	@echo "sco-g++          solaris-cc     "
	@echo "solaris-g++      sunos-g++      "
	@echo "ultrix-g++       unixware-g++   "
	@echo 
	@echo "Make any of them to build Doxygen."
	@echo "Make will now abort with an error."
	@exit 1

aix-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/aix-g++ \
	$(MAKE)

aix-xlc: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/aix-xlc \
	$(MAKE)

dgux-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/dgux-g++ \
	$(MAKE)

gnu-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/gnu-g++ \
	$(MAKE)

freebsd-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/freebsd-g++ \
	$(MAKE)

hpux-acc: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/hpux-acc \
	$(MAKE)

hpux-cc: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/hpux-cc \
	$(MAKE)

hpux-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/hpux-g++ \
	$(MAKE)

irix-64: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/irix-64 \
	$(MAKE)

irix-dcc: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/irix-dcc \
	$(MAKE)

irix-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/irix-g++ \
	$(MAKE)

irix-n32: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/irix-n32 \
	$(MAKE)

linux-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/linux-g++ \
	$(MAKE)

netbsd-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/netbsd-g++ \
	$(MAKE)

openbsd-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/openbsd-g++ \
	$(MAKE)

osf1-cxx: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/osf1-cxx \
	$(MAKE)

osf1-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/osf1-g++ \
	$(MAKE)

qnx-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/qnx-g++ \
	$(MAKE)

sco-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/sco-g++ \
	$(MAKE)

solaris-cc: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/solaris-cc \
	$(MAKE)

solaris-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/solaris-g++ \
	$(MAKE)

sunos-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/sunos-g++ \
	$(MAKE)

ultrix-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/ultrix-g++ \
	$(MAKE)

unixware-g++: src/version.cpp
	cd src; \
	TMAKEPATH=../tmake/lib/unixware-g++ \
	$(MAKE)


clean: FORCE
	cd examples ; $(MAKE) clean
	cd doc ; $(MAKE) clean
	-rm -f  src/scanner.cpp \
		src/code.cpp \
		src/config.cpp \
		src/pre.cpp \
		src/tag.cpp \
		src/ce_lex.cpp \
		src/ce_parse.cpp \
		src/ce_parse.h \
		src/doxytag.cpp \
		src/declinfo.cpp \
		src/defargs.cpp \
		src/Makefile.doxygen \
		src/Makefile.doxytag \
		src/Makefile.doxysearch \
		src/version.cpp
	-rm -f bin/doxy*
	-rm -f objects/*.o

docs: FORCE
	cd examples ; $(MAKE)
	cd doc ; $(MAKE)

ps: docs
	cd latex ; $(MAKE)

archive: clean
	$(TAR) zcvf backup/dx`date +%y%m%d`.tgz tmake doc examples bin objects \
	       src Makefile Makefile.windows INSTALL make.bat Makefile.config \
	       LANGUAGE.HOWTO LICENSE

src/version.cpp: FORCE
	echo "char versionString[]=\"$(VERSION)\";" > src/version.cpp

FORCE:

Makefile.config

deleted100644 → 0
+0 −12
Original line number Diff line number Diff line
# name (and path if needed) of the make tool to use
# note that make must really be GNU make, not BSD or some other make
MAKE    = make  

# name (and path if needed) of the perl interpreter
# note that it must be version 5 or higher (check with perl -v)
PERL    = perl  

# The values below should probably be left unmodified
TAR     = tar   # name of the GNU tar tool
TMAKE   = ../tmake/bin/tmake
VERSION = 0.49-990728

Makefile.in

0 → 100644
+34 −0
Original line number Diff line number Diff line
all: src/version.cpp
	cd src ; $(MAKE)

clean: FORCE
	cd examples ; $(MAKE) clean
	cd doc ; $(MAKE) clean
	cd src ; $(MAKE) clean
	-rm -f bin/doxy*
	-rm -f objects/*.o

distclean: clean
	-rm -f src/Makefile.doxygen \
	       src/Makefile.doxytag \
	       src/Makefile.doxysearch
	-rm -f Makefile src/Makefile examples/Makefile doc/Makefile
	-rm -f src/doxygen.pro src/doxytag.pro src/doxysearch.pro
	-rm -f src/version.cpp

docs: FORCE
	cd examples ; $(MAKE)
	cd doc ; $(MAKE)

ps: docs
	cd latex ; $(MAKE)

archive: distclean
	tar zcvf dx`date +%y%m%d`.tgz tmake doc wintools examples bin objects \
	       src configure Makefile.in Makefile.win.in INSTALL make.bat \
	       LANGUAGE.HOWTO LICENSE PLATFORMS VERSION

src/version.cpp: Makefile
	echo "char versionString[]=\"$(VERSION)\";" > src/version.cpp

FORCE:

Makefile.win.in

0 → 100644
+42 −0
Original line number Diff line number Diff line
all: src\version.cpp
	set TMAKEPATH=$(TMAKEPATH)
	cd src 
	$(MAKE)

clean: FORCE
	cd examples
	$(MAKE) clean
	cd ..
	cd doc
	$(MAKE) clean
	cd ..
	cd src
	$(MAKE) clean
	cd ..
	-del bin\doxy*.*
	-del objects\*.o

distclean: clean
	-del src\Makefile.doxygen \
	     src\Makefile.doxytag \
	     src\Makefile.doxysearch
	-del Makefile src\Makefile examples\Makefile doc\Makefile
	-del src\doxygen.pro src\doxytag.pro src\doxysearch.pro
	-del src\version.cpp

docs: FORCE
	cd examples 
	$(MAKE)
	cd ..
	cd doc
	$(MAKE)
	cd ..

ps: docs
	cd latex
	$(MAKE)

src\version.cpp: Makefile
	echo char versionString[]="$(VERSION)"; > src\version.cpp

FORCE:
Loading