[GRASS5] Doxygen

Sjors jkwast at freeler.nl
Thu Jun 24 03:36:48 EDT 2004

Hi developers,

This is a followup on previous mail on doxygenizing the sources, dated 

While working on "doxygen html output" for the sources I've encountered 
a problem. I've begun to extract the number of structs, unions and
functions. So far I've come up with 626 (nested) structs and unions in 
the main source tree (ie /$grass/src/) of 5.3.0 cvs. I'm still working 
on the functions. Another statistic would be that there are 5491 pages 
(== source files and probably more) with 'C code', as scripts are not 
In 137 cases (20% of total) a struct or union (at least the name) is 
declared more than once, up till 20 times for some. After short 
reviewing I think that most are the same, in name and in programming 
aspects. Main reasons are no central declaration in a (lib) header file, 
copies of local header files. I'm not programmer enough yet to be able 
to assess the impact on changing this, if wanted/needed at all.

In an example, 'struct shape_tree_node' is declared in 5 files:


With doxygen I can link every mention of 'struct shape_tree_node' to a 
description page of this struct. I cannot however, point to every source 
file, ie only 'mapdev/vect32_64/shapelib-1.2.8/shapefile.h' could for 
instance be the only one mentioned. 

This might not be a good example as most vector stuff is revised in 
5.7.0, but I hope it explains, still 136 to go if not relevant anymore.

If anybody is interested I can send them my preliminary report on this, 
and will proceed with the functions, allthough I suspect there will be 
no problems with them.

In a couple of weeks I should be able to come up with a new script that 
will put "doxygen html output" in a directory stucture, which reflects 
the $grass/src structure, and provide a central index of structs, unions 
and functions in alphabetical order.

Well everybody keep up the good work, still a lot to be done.

Greetings Sjors

More information about the grass-dev mailing list