Commit 322885a8 authored by Dimitri van Heesch's avatar Dimitri van Heesch
Browse files

initial version

parent 361bf791
Loading
Loading
Loading
Loading

INSTALL

0 → 100644
+132 −0
Original line number Diff line number Diff line
DOXYGEN Version 0.49-990425

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

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

2.  Make sure Qt is installed properly (check the environment variable $QTDIR)

    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

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.

4.  Compile the program.

    Type:
      
      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. 
    (you will need latex and dvips for this)

    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).
    
    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. 

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. 

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 
      X-windows version as well!)
- Microsoft Visual C++ version 5.0, use the vcvars32.bat to set the environment
  variables.

Make sure all tools are accessible from the command-line.

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

make.bat

This should build the executables doxygen.exe, doxytag.exe, and doxysearch.exe
(The compiler should not produce any warnings or errors).

To build the examples type:

nmake -f Makefile.windows examples

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

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)
- the file fancyheader.sty is known as fancyhdr.sty on some systems.
  Please change that in src/latexgen.cpp

HP-UX PROBLEMS:
- If you are compiling for HP-UX with aCC and you get this error:
    /opt/aCC/lbin/ld: Unsatisfied symbols:
    alloca (code)
  then you should edit ce_parse.cpp and replace
    extern "C" {
      void *alloca (unsigned int);
    };
  with
    #include <alloca.h>  
  This seems to be a problem with bison, but I don't know how to fix it.
-----------------------------------------------------------------------------

That's it!

Please report any problems to dimitri@stack.nl

The latest version of doxygen can be obtained at
  http://www.stack.nl/~dimitri/doxygen

Enjoy,

Dimitri van Heesch (25 April 1999)

LANGUAGE.HOWTO

0 → 100644
+49 −0
Original line number Diff line number Diff line
This short howto explains how to add support for a new language to Doxygen:

Just follow these steps:

1) Tell me for which language you want to add support. If no one else
   is already working on support for that language, you will be 
   assigned as the maintainer for the language. I'll create a 
   list on Doxygen's homepage, so everyone knows who is doing what.
2) Create a copy of translator_nl.h and name it 
   translator_<your_2_letter_counter_code>.h
   I'll use xx in the rest of this document.
3) Edit language.cpp:
   - Add a #include<translator_xx.h> 
   - in setTranslator() add
     
     else if (L_EQUAL("your_language_name"))
     {
       theTranslator = new TranslatorYourlanguage;
     }
   
     after the if { ... }
4) Edit doxygen.pro and add translator_xx.h to the HEADERS line in the 
   file doxygen.pro.
5) Edit translator_xx.h:
   - Rename TRANSLATOR_NL_H to TRANSLATOR_XX_H twice.
   - Rename TranslatorDutch to TranslatorYourlanguage 
   - In the member latexBabelPackage() change "dutch" into the name of the
     latex package that adds support for your language. 
   - Edit all the strings that are returned by the members that start
     with tr. 
     Look at the corresponding member in translator.h for the english text 
     that is returned and translate that into your language. 
     Try to match punctuation and capitals!
     To enter special characters (with accents) you can:
        a) Enter them directly if your keyboard supports that and you are 
           using a Latin-1 font.
           Doxygen will translate the characters to proper Latex and
           leave the Html and man output for what it is.
        b) Use html codes like &auml; for an a with an umlaut.
           See the HTML specification for the codes.
6) Recompile everything (do this from the root of the distribution, 
   because the Makefile.dox* have to be regenerated!)
7) Now you can use OUTPUT_LANGUAGE = your_language_name 
   in the config file to generate output in your language.
8) Send translator_xx.h or a diff -u of the changes to me so I can add it 
   to doxygen.

Good luck, and let me know if there are problems.

Makefile

0 → 100644
+178 −0
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)

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

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

FORCE:

Makefile.config

0 → 100644
+12 −0
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-990425

Makefile.windows

0 → 100644
+57 −0
Original line number Diff line number Diff line
# Makefile for Microsoft Visual C++ 

include Makefile.config

MAKE = nmake /NOLOGO
TMAKE = ..\tmake\bin\tmake

all: 
	@echo "                                    
	@echo " Select one of the following targets:  "
	@echo "                                       "
	@echo " win32-msvc                            "
	@echo "                                       "
	@echo " Make any of them to build Doxygen.    "
	@echo " Make will now abort with an error.    "  
	@exit 1

win32-msvc: src\version.cpp
	cd src
	$(MAKE) tmake TMAKE=$(TMAKE) PERL=$(PERL)
	$(MAKE) MAKE=$(MAKE) 

clean: FORCE
	cd examples
	$(MAKE) -f Makefile.windows clean
	cd ..
	-del  src\scanner.cpp 
	-del	src\code.cpp 
	-del	src\config.cpp 
	-del	src\pre.cpp 
	-del	src\tag.cpp 
	-del	src\constexp.lex.cpp 
	-del	src\constexp.parse.cpp 
	-del	src\constexp.parse.h 
	-del	src\doxytag.cpp 
	-del	src\declinfo.cpp 
	-del	src\defargs.cpp 
	-del	src\Makefile.doxygen 
	-del	src\Makefile.doxytag 
	-del	src\Makefile.doxysearch
	-del    src\version.cpp
	-del  bin\doxy*.*
	-del  objects\*.obj

examples: FORCE
	cd examples 
	$(MAKE) -f Makefile.windows
	cd ..

docs: examples 
	@echo Docs cannot be made using windows yet.
	@echo Get them from the binary distribution...	

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

FORCE:
Loading