Here is (after a long delay for which I apologize) at last the first attempt
to document the OpenCT code using Doxygen.
The patch is split in three parts. make.diff contains the changes to the
configure script and to the makefiles, doxygen.diff adds the Doxygen
configuration file and doc.diff contains the changes to the .h/.c files.
The Doxygen configuration file has been written for Doxygen 1.4.2, but feel
free to downgrade it if needed.
There's a new --enable-doxygen-docs switch which can be used to disable (no)
or enable (yes) doxygen usage. The configure script will attempt to
autodetect and use doxygen if --enable-doxygen-docs is set to auto or
I'm not an autoconf/automake expert, so feel free to fix configure.ac and
doc/Makefile.am if there's something you don't like.
thanks for your patches.
I'm currently busy with the libp11/pam_p11/engine_pkcs11 split
off, but will look at your patches in detail soon.
From a first glance: I like the first two, but not the last.
Yes, I'm inconsistent. I always wanted all those files created
by automake/autoconf/libtool not in cvs/svn and even want them
removed on "make maintainer-clean".But with documentation
I changed my mind.
Currently I think it is best to have the documentation in svn
and the tar file, both as raw format and processed format
(i.e. html). I think only the developers should need to have
those tools around, not the normal users. Because of that
I don't want configure code: it only makes configure complex,
but the average user is best of with the documentation already
Not even the makefiles should have commands to change the documentation,
at least for the wiki I have those shell scripts I call to update
the documentation, and that way looks fine to me.
Finaly I don't think software should install the documentation.
The best place for putting documentation still is not defined
in any standard, so each distribution does that different, and
I think we simply not copy the documentation anywhere, and let
the distributions handle this matter.
I have doxygen 1.4.2, too, so that version shouldn't be