[GRASS5] Library Issues

Radim Blazek blazek at itc.it
Mon Apr 15 02:47:12 EDT 2002


On Friday 12 April 2002 12:45 pm, Glynn Clements wrote:
> I've been analysing the interdependencies between the various GRASS
> libraries, and wished to discuss some of the results.

> 3. There are three pairs of libraries which are mutually dependent:
>
> 	im_lib      |ex_lib
> 	------------+------------
> 	libgis.a    |libcoorcnv.a
> 	libstubs.a  |libdbmi.a
> 	libvect.a   |libdig2.a

> b)
> 	libstubs.a references:
> 	db_procedure_not_implemented
>
> 	libdbmi.a references:
> 	db_driver_add_column
...
> 	db_driver_update
>
> I haven't looked very far into this, but libdbmi probably needs to be
> split into two separate libraries; a high-level library above the
> drivers, which provides the API to clients, and a low-level library
> which provides utilities for the drivers.

We can just move db_procedure_not_implemented() to libstubs.a, it
is used only by other functions in that lib and should not be used 
anywhere else.

> c)
> 	libvect.a references:
> 	dig_alloc_points
...
> 	libdig2.a references:
> 	dig_Rd_P_area

This is solved in 5.1, I would not recommend any changes in 5.0.

> What is the distiction between libvect.a and libdig2.a? Should they be
> combined? Or is all of this going to be replaced in 5.1?

In 5.0 it is more confused, in 5.1 I try to keep in vectlib all higher level 
functions used by modules and in diglib all lower level functions like
R/W portable format or low level functions for topology structure 
modifications.

Radim




More information about the grass-dev mailing list