While I'm procrastinating and putting off working on my Apachecon presentation, here's an attempt at fixing some of the load that Doxygen spews when making dox on APR:

Index: docs/doxygen.conf
===================================================================
--- docs/doxygen.conf    (revision 219530)
+++ docs/doxygen.conf    (working copy)
@@ -5,6 +5,7 @@
RECURSIVE=YES
FILE_PATTERNS=*.h
+EXAMPLE_PATH=docs/examples
OUTPUT_DIRECTORY=docs/dox
MACRO_EXPANSION=YES
@@ -23,6 +24,7 @@
OPTIMIZE_OUTPUT_FOR_C=YES
STRIP_CODE_COMMENTS=NO
+GENERATE_TREEVIEW=YES
FULL_PATH_NAMES=NO
CASE_SENSE_NAMES=NO
Index: include/apr.h.in
===================================================================
--- include/apr.h.in    (revision 219530)
+++ include/apr.h.in    (working copy)
@@ -254,21 +254,21 @@
/* Typedefs that APR needs. */
-typedef  unsigned char           apr_byte_t;
+typedef unsigned char apr_byte_t; /**< An eight bit unsigned integer type */
-typedef  @short_value@           apr_int16_t;
-typedef  unsigned @short_value@  apr_uint16_t;
+typedef @short_value@ apr_int16_t; /**< A sixteen bit signed integer type */ +typedef unsigned @short_value@ apr_uint16_t; /**< A sixteen bit unsigned integer type */

-typedef  @int_value@             apr_int32_t;
-typedef  unsigned @int_value@    apr_uint32_t;
+typedef @int_value@ apr_int32_t; /**< A thirty-two bit signed integer type */ +typedef unsigned @int_value@ apr_uint32_t; /**< A thirty-two bit unsigned integer type */

-typedef  @long_value@            apr_int64_t;
-typedef  unsigned @long_value@   apr_uint64_t;
+typedef @long_value@ apr_int64_t; /**< A sixty-four bit signed integer type */ +typedef unsigned @long_value@ apr_uint64_t; /**< A sixty-four bit unsigned integer type */
-typedef  @size_t_value@          apr_size_t;
-typedef  @ssize_t_value@         apr_ssize_t;
-typedef  @off_t_value@           apr_off_t;
-typedef  @socklen_t_value@       apr_socklen_t;
+typedef @size_t_value@ apr_size_t; /**< APR type for size parameters */ +typedef @ssize_t_value@ apr_ssize_t; /**< APR type for size difference */ +typedef @off_t_value@ apr_off_t; /**< APR type for address offset */ +typedef @socklen_t_value@ apr_socklen_t; /**< Size of an apr_sockaddr_t */
#define APR_SIZEOF_VOIDP @voidp_size@
@@ -296,9 +296,7 @@
  * variable arguments must use APR_DECLARE_NONSTD().
  *
* @remark Both the declaration and implementations must use the same macro.
- * @example
- */
-/** APR_DECLARE(rettype) apr_func(args)
+ * @example APR_DECLARE.txt
  * @see APR_DECLARE_NONSTD @see APR_DECLARE_DATA
* @remark Note that when APR compiles the library itself, it passes the * symbol -DAPR_DECLARE_EXPORT to the compiler on some platforms (e.g. Win32)
@@ -317,10 +315,8 @@
* APR_DECLARE_NONSTD(), as they must follow the C language calling convention.
  * @see APR_DECLARE @see APR_DECLARE_DATA
* @remark Both the declaration and implementations must use the same macro.
- * @example
+ * @example APR_DECLARE_NONSTD.txt
  */
-/** APR_DECLARE_NONSTD(rettype) apr_func(args, ...);
- */
#define APR_DECLARE_NONSTD(type)     type
/**
@@ -329,11 +325,8 @@
  * @see APR_DECLARE @see APR_DECLARE_NONSTD
* @remark Note that the declaration and implementations use different forms,
  * but both must include the macro.
- * @example
+ * @example APR_DECLARE_DATA.txt
  */
-/** extern APR_DECLARE_DATA type apr_variable;\n
- * APR_DECLARE_DATA type apr_variable = value;
- */
#define APR_DECLARE_DATA
/* Define APR_SSIZE_T_FMT.
Index: include/apr_thread_proc.h
===================================================================
--- include/apr_thread_proc.h    (revision 219530)
+++ include/apr_thread_proc.h    (working copy)
@@ -704,13 +704,13 @@
  * <pre>
* rv = apr_proc_wait_all_procs(&proc, &exitcode, &status, APR_WAIT, p);
  * if (APR_STATUS_IS_CHILD_DONE(rv)) {
- * #if APR_HAS_OTHER_CHILD
+ * \#if APR_HAS_OTHER_CHILD
* if (apr_proc_other_child_alert(&proc, APR_OC_REASON_DEATH, status)
  *             == APR_SUCCESS) {
  *         ;  (already handled)
  *     }
  *     else
- * #endif
+ * \#endif
  *         [... handling non-otherchild processes death ...]
  * </pre>
  */

Please consider this both for content merit and doxygen-non-turdiness merit. This patch reduces the doxygen spew from 286 lines to 265 lines on my Powerbook, tested with the latest stable doxygen (1.4.3).

Question: there's a lot more stuff in apr.h.in that shows up as non- documented, but I assume much of it (like the #define APR_INLINE and such) is internal and doesn't really need to be documented. Or does it?

S.

--
[EMAIL PROTECTED]              http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF

Reply via email to