diff -urN doxygen-1.4.6/configure doxygen-1.4.6.eclox/configure
--- doxygen-1.4.6/configure	2006-01-01 20:20:46.000000000 +0100
+++ doxygen-1.4.6.eclox/configure	2006-05-25 17:12:25.000000000 +0200
@@ -549,7 +549,7 @@
      echo "  Created $DST from $SRC..."
 done
 
-f_inprofiles="qtools/qtools.pro.in src/libdoxygen.pro.in src/libdoxycfg.pro.in src/doxygen.pro.in src/doxytag.pro.in addon/doxywizard/doxywizard.pro.in addon/doxmlparser/src/doxmlparser.pro.in addon/doxmlparser/test/xmlparse.pro.in addon/doxmlparser/examples/metrics/metrics.pro.in libpng/libpng.pro.in libmd5/libmd5.pro.in" 
+f_inprofiles="qtools/qtools.pro.in src/eclox.pro.in src/libdoxygen.pro.in src/libdoxycfg.pro.in src/doxygen.pro.in src/doxytag.pro.in addon/doxywizard/doxywizard.pro.in addon/doxmlparser/src/doxmlparser.pro.in addon/doxmlparser/test/xmlparse.pro.in addon/doxmlparser/examples/metrics/metrics.pro.in libpng/libpng.pro.in libmd5/libmd5.pro.in" 
 
 for i in $f_inprofiles ; do
      SRC=$i
diff -urN doxygen-1.4.6/Makefile.in doxygen-1.4.6.eclox/Makefile.in
--- doxygen-1.4.6/Makefile.in	2005-11-20 19:05:07.000000000 +0100
+++ doxygen-1.4.6.eclox/Makefile.in	2006-05-25 17:12:25.000000000 +0200
@@ -36,6 +36,7 @@
 	-rm -f Makefile qtools/Makefile src/Makefile examples/Makefile doc/Makefile 
 	-rm -f .makeconfig .tmakeconfig
 	-rm -f src/doxygen.pro src/libdoxygen.pro src/doxytag.pro qtools/qtools.pro src/libdoxycfg.pro libpng/libpng.pro libmd5/libmd5.pro
+	-rm -f src/eclox.pro bin/ecloxconfig src/Makefile.eclox
 	-rm -f src/version.cpp
 	-rm -r addon/doxywizard/Makefile
 	-rm -f addon/doxywizard/Makefile.doxywizard
diff -urN doxygen-1.4.6/src/ecloxconfig.cpp doxygen-1.4.6.eclox/src/ecloxconfig.cpp
--- doxygen-1.4.6/src/ecloxconfig.cpp	1970-01-01 01:00:00.000000000 +0100
+++ doxygen-1.4.6.eclox/src/ecloxconfig.cpp	2006-05-29 10:12:48.496243504 +0200
@@ -0,0 +1,221 @@
+/******************************************************************************
+ *
+ * Copyright (C) 2006 by Joao Carlos N. Ventura
+ *
+ * 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.
+ *
+ */
+
+#include <iostream>
+#include <string>
+using namespace std;
+
+#include "doxygen.h"
+
+string ecloxgroup(string arg)
+{
+//  if (arg == "Build") return "Build";
+  if (arg == "DEF") return "AutoGen Definitions output";
+  if (arg == "Dot") return "dot Tool";
+  if (arg == "External") return "External References";
+  if (arg == "HTML") return "HTML Output";
+  if (arg == "Index") return "Alphabetical Class Index";
+  if (arg == "Input") return "Inputs";
+  if (arg == "LaTeX") return "LaTeX output";
+  if (arg == "Man") return "man Output";
+//  if (arg == "Messages") return "Messages";
+  if (arg == "PerlMod") return "Perl Module Output";
+  if (arg == "Preprocessor") return "Preprocessing";
+//  if (arg == "Project") return "Project";
+  if (arg == "RTF") return "RTF Output";
+  if (arg == "Search") return "Search Engine";
+  if (arg == "Source Browser") return "Source Browsing";
+  if (arg == "XML") return "XML Output";
+  return arg;
+}
+
+QCString ecloxtext(QCString arg)
+{
+  unsigned int i;
+  unsigned int leaveUpper = 0;
+  char ch;
+  QCString str = arg;
+
+  if (arg == "CREATE_SUBDIRS") return "Create Subdirectories";
+  if (arg == "BRIEF_MEMBER_DESC") return "Brief Member Description";
+  if (arg == "REPEAT_BRIEF") return "Repeat Brief Description";
+  if (arg == "ABBREVIATE_BRIEF") return "Abbreviate Brief Description";
+  if (arg == "ALWAYS_DETAILED_SEC") return "Always Detailed Section";
+  if (arg == "INLINE_INHERITED_MEMB") return "Inline Inherited Members";
+  if (arg == "STRIP_FROM_INC_PATH") return "Strip From Include Path";
+  if (arg == "JAVADOC_AUTOBRIEF") return "JavaDoc Autobrief";
+  if (arg == "MULTILINE_CPP_IS_BRIEF") return "Multiline C++ is Brief";
+  if (arg == "INHERIT_DOCS") return "Inherit Documentations";
+  if (arg == "DISTRIBUTE_GROUP_DOC") return "Distribute Group Documentation";
+  if (arg == "TAB_SIZE") return "Tabulation Size";
+  if (arg == "OPTIMIZE_OUTPUT_FOR_C") return "Optimize Ouput for C";
+  if (arg == "BUILTIN_STL_SUPPORT") return "Built-in STL Support";
+  if (arg == "DISTRIBUTE_GROUP_DOC") return "Distribute Group Documentation";
+  if (arg == "HIDE_UNDOC_MEMBERS") return "Hide Undocumented Members";
+  if (arg == "HIDE_UNDOC_CLASSES") return "Hide Undocumented Classes";
+  if (arg == "HIDE_IN_BODY_DOCS") return "Hide in Body Documentations";
+  if (arg == "INTERNAL_DOCS") return "Internal Documentations";
+  if (arg == "SORT_MEMBER_DOCS") return "Sort Member Documentations";
+  if (arg == "SORT_BRIEF_DOCS") return "Sort Brief Documentations";
+  if (arg == "GENERATE_TODOLIST") return "Generate Todo List";
+  if (arg == "GENERATE_TESTLIST") return "Generate Test List";
+  if (arg == "GENERATE_BUGLIST") return "Generate Bug List";
+  if (arg == "GENERATE_DEPRECATEDLIST") return "Generate Deprecated List";
+  if (arg == "MAX_INITIALIZER_LINES") return "Maximum Initializer Lines";
+  if (arg == "WARN_IF_DOC_ERROR") return "Warn if Documentation Error";
+  if (arg == "WARN_NO_PARAMDOC") return "Warn for undocumented function parameters";
+  if (arg == "USE_HTAGS") return "Use htags";
+  if (arg == "COLS_IN_ALPHA_INDEX") return "Columns in Alphabetical Index";
+  if (arg == "ENUM_VALUES_PER_LINE") return "Enum Values per Line";
+  if (arg == "GENERATE_TREEVIEW") return "Generate Tree View";
+  if (arg == "TREEVIEW_WIDTH") return "Tree View Width";
+  if (arg == "GENERATE_LATEX") return "Generate LaTeX";
+  if (arg == "LATEX_OUTPUT") return "LaTeX Output";
+  if (arg == "LATEX_CMD_NAME") return "LaTeX Command Name";
+  if (arg == "MAKEINDEX_CMD_NAME") return "makeindex Command Name";
+  if (arg == "COMPACT_LATEX") return "Compact LaTeX";
+  if (arg == "LATEX_HEADER") return "LaTeX Header";
+  if (arg == "USE_PDFLATEX") return "Use pdflatex";
+  if (arg == "LATEX_BATCHMODE") return "LaTeX Batch Mode";
+  if (arg == "LATEX_HIDE_INDICES") return "LaTeX Hide Indices";
+  if (arg == "XML_PROGRAMLISTING") return "XML Program Listing";
+  if (arg == "GENERATE_AUTOGEN_DEF") return "Generate Autogen Definition";
+  if (arg == "GENERATE_PERLMOD") return "Generate Perl Module";
+  if (arg == "PERLMOD_LATEX") return "Perl Module LaTeX";
+  if (arg == "PERLMOD_PRETTY") return "Perl Module Pretty";
+  if (arg == "PERLMOD_MAKEVAR_PREFIX") return "Perl Module MakeVar Prefix";
+  if (arg == "EXPAND_ONLY_PREDEF") return "Expand Only Predefined";
+  if (arg == "TAGFILES") return "Tag Files";
+  if (arg == "GENERATE_TAGFILE") return "Generate Tag Files";
+  if (arg == "ALLEXTERNALS") return "All Externals";
+  if (arg == "HIDE_UNDOC_RELATIONS") return "Hide Undocumented Relations";
+  if (arg == "GROUP_GRAPHS") return "Groups Graphs";
+  if (arg == "INCLUDED_BY_GRAPH") return "Included-by Graph";
+  if (arg == "DOTFILE_DIRS") return "DOT Files Directories";
+  if (arg == "MAX_DOT_GRAPH_WIDTH") return "Maximum DOT Graph Width";
+  if (arg == "MAX_DOT_GRAPH_HEIGHT") return "Maximum DOT Graph Height";
+  if (arg == "MAX_DOT_GRAPH_DEPTH") return "Maximum DOT Graph Depth";
+  if (arg == "DOT_CLEANUP") return "DOT Clean-up";
+  if (arg == "SEARCHENGINE") return "Search Engine";
+
+  for (i=0; i < str.length(); i++) {
+    if (((string) str).substr(i, 3) == "MAN") { str[i] = 'm'; }
+    else if (((string) str).substr(i, 4) == "HTML") { i+=3; leaveUpper = 0; }
+    else if (((string) str).substr(i, 3) == "PDF") { i+=2; leaveUpper = 0; }
+    else if (((string) str).substr(i, 3) == "RTF") { i+=2; leaveUpper = 0; }
+    else if (((string) str).substr(i, 3) == "TOC") { i+=2; leaveUpper = 0; }
+    else if (((string) str).substr(i, 3) == "CHM") { i+=2; leaveUpper = 0; }
+    else if (((string) str).substr(i, 3) == "HHC") { i+=2; leaveUpper = 0; }
+    else if (((string) str).substr(i, 3) == "CHI") { i+=2; leaveUpper = 0; }
+    else if (((string) str).substr(i, 3) == "DOT") { i+=2; leaveUpper = 0; }
+    else if (((string) str).substr(i, 3) == "UML") { i+=2; leaveUpper = 0; }
+    else if (((string) str).substr(i, 3) == "XML") { i+=2; leaveUpper = 0; }
+    else if (((string) str).substr(i, 3) == "DTD") { i+=2; leaveUpper = 0; }
+    else {
+      ch = str[i];
+      if ((i != leaveUpper) && (ch >= 'A') && (ch <= 'Z')) str[i] += ('a' - 'A');
+      if (ch == '_') {
+        str[i] = ' ';
+        if (((i+3) < str.length()) && (str[i+3] != '_'))
+          leaveUpper = i+1;
+      }
+    }
+  }
+  return str;
+}
+
+string ecloxtype(ConfigOption *co)
+{
+  switch (co->kind()) {
+    case ConfigOption::O_Bool:
+      return "boolean";
+    case ConfigOption::O_List: {
+      ConfigList *cl = (ConfigList*) co;
+      switch (cl->widgetType()) {
+        case ConfigList::Dir:
+          return "directory list";
+        case ConfigList::FileAndDir:
+          return "path list";
+        case ConfigList::File:
+        case ConfigList::String:
+          return "text list";
+      }
+    }
+    case ConfigOption::O_String: {
+      ConfigString *cs = (ConfigString*) co;
+      switch (cs->widgetType()) {
+        case ConfigString::Dir:
+          return "directory";
+        case ConfigString::File:
+          return "file";
+        case ConfigString::String:
+          return "";
+      }
+    }
+    case ConfigOption::O_Info:
+    case ConfigOption::O_Enum:
+    case ConfigOption::O_Int:
+    case ConfigOption::O_Obsolete:
+    default:
+      return "";
+  }
+}
+
+string ecloxnote(string str)
+{
+  int i = 0;
+  int length = str.length();
+
+  for (i=0; i < length; i++) {
+    if (str[i] == '\n') {
+      length--;
+      if (str[i-1] != ' ')
+        str[i] = ' ';
+      else if (i != length)
+        str.replace(i, length-i, str.substr(i+1, length-i));
+    }
+  }
+  if (str[length-1] == ' ') length--;
+  str.resize(length);
+  return str;
+}
+
+int main()
+{
+  string project = "";
+
+  Config *cfg = Config::instance();
+  QListIterator<ConfigOption> it = cfg->iterator();
+  ConfigOption *co;
+
+  cout << "# This file provides additionnal properties to the items of a doxyfile." << endl;
+  cout << "#" << endl;
+  cout << "# eclox" << endl; 
+  cfg->create();
+
+  for (;(co=it.current());++it) {
+    if (co->kind() == ConfigOption::O_Info) {
+      project=co->name();
+      cout << endl;
+      cout << "#---------------------------------------------------------------------------" << endl ;
+      cout << "# configuration options related to the " << ecloxgroup(project) << endl;
+      cout << "#---------------------------------------------------------------------------" << endl ;
+    }
+    else {
+      cout << endl << co->name() << ".text = " << ecloxtext(co->name()) << endl;
+      cout << co->name() << ".group = " << ecloxgroup(project) << endl;
+      if (ecloxtype(co) != "") 
+        cout << co->name() << ".type = " << ecloxtype(co) << endl;
+      cout << co->name() << ".note = " << ecloxnote((string) co->docs()) << endl;
+    }
+  }
+}
diff -urN doxygen-1.4.6/src/eclox.pro.in doxygen-1.4.6.eclox/src/eclox.pro.in
--- doxygen-1.4.6/src/eclox.pro.in	1970-01-01 01:00:00.000000000 +0100
+++ doxygen-1.4.6.eclox/src/eclox.pro.in	2006-05-25 17:12:25.000000000 +0200
@@ -0,0 +1,40 @@
+#
+# $Id: eclox.pro.in,v 1.6 2001/03/19 19:27:40 root Exp $
+#
+# Copyright (C) 1997-2005 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.
+#
+# TMake project file for doxygen
+
+TEMPLATE     =	app.t
+CONFIG       =	console warn_on $extraopts
+HEADERS      =	doxygen.h 
+SOURCES      =	ecloxconfig.cpp version.cpp
+unix:LIBS                  += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
+win32:INCLUDEPATH          += .
+win32-mingw:LIBS           += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
+win32-msvc:LIBS            += qtools.lib png.lib md5.lib doxygen.lib doxycfg.lib shell32.lib 
+win32-msvc:TMAKE_LFLAGS    += /LIBPATH:..\lib
+win32-borland:LIBS         += qtools.lib png.lib md5.lib doxygen.lib doxycfg.lib shell32.lib 
+win32-borland:TMAKE_LFLAGS += -L..\lib -L$(BCB)\lib\psdk
+win32:TMAKE_CXXFLAGS       += -DQT_NODLL
+win32-g++:LIBS             = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
+win32-g++:TMAKE_CXXFLAGS   += -fno-exceptions -fno-rtti
+INCLUDEPATH                += ../qtools ../libpng ../libmd5 .
+#win32-g++:INCLUDEPATH      -= ../libpng
+DESTDIR                    =  ../bin
+TARGET                     =  ecloxconfig
+unix:TARGETDEPS            =  ../lib/libdoxygen.a ../lib/libdoxycfg.a
+win32:TARGETDEPS           =  ..\lib\doxygen.lib ..\lib\doxycfg.lib
+win32-g++:TARGETDEPS       =  ../lib/libdoxygen.a ../lib/libdoxycfg.a
+win32-mingw:TARGETDEPS     =  ../lib/libdoxygen.a ../lib/libdoxycfg.a
+OBJECTS_DIR                =  ../objects
+
diff -urN doxygen-1.4.6/src/Makefile.in doxygen-1.4.6.eclox/src/Makefile.in
--- doxygen-1.4.6/src/Makefile.in	2005-06-12 18:06:54.000000000 +0200
+++ doxygen-1.4.6.eclox/src/Makefile.in	2006-05-25 17:12:25.000000000 +0200
@@ -14,11 +14,12 @@
 # input used in their production; they are not affected by this license.
 # 
 
-all: Makefile.libdoxygen Makefile.libdoxycfg Makefile.doxygen Makefile.doxytag Makefile
+all: Makefile.libdoxygen Makefile.libdoxycfg Makefile.doxygen Makefile.doxytag Makefile Makefile.eclox
 	$(MAKE) -f Makefile.libdoxycfg PERL=$(PERL) $@
 	$(MAKE) -f Makefile.libdoxygen PERL=$(PERL) $@
 	$(MAKE) -f Makefile.doxygen    PERL=$(PERL) $@
 	$(MAKE) -f Makefile.doxytag    PERL=$(PERL) $@
+	$(MAKE) -f Makefile.eclox    PERL=$(PERL) $@
 
 Makefile.libdoxygen: libdoxygen.pro libdoxygen.t 
 	$(ENV) $(PERL) $(TMAKE) libdoxygen.pro >Makefile.libdoxygen
@@ -29,6 +30,9 @@
 Makefile.doxygen: doxygen.pro 
 	$(ENV) $(PERL) $(TMAKE) doxygen.pro >Makefile.doxygen
 
+Makefile.eclox: eclox.pro 
+	$(ENV) $(PERL) $(TMAKE) eclox.pro >Makefile.eclox
+
 Makefile.doxytag: doxytag.pro doxytag.t 
 	$(ENV) $(PERL) $(TMAKE) doxytag.pro >Makefile.doxytag
 
