[geos-devel] Handling C and C++ API with geos-config

Mateusz Loskot mateusz at loskot.net
Wed Jul 5 20:07:01 EDT 2006


Hi,

Today, strk and I were talking about how to improve geos-config utility
to provide appropriate but different definitions for GEOS C++ and C APIs.

Here is what we've discussed:


Proposal 1)

- add new macros HAVE_GEOS_CAPI,
GEOS_CAPI_LIBS, GEOS_CAPI_VERSION

(the latter is impossible at the moment)

GEOS_LIBS="`geos-config --ldflags` -lgeos"
GEOS_CAPI_LIBS="`geos-config --ldflags` -lgeos_c


Proposal 2)

Add --capi option to geos-config?

geos-config --version  - returns version for C++ API
geos-config --ldflags  - returns flags for C++ API

geos-config --capi --version - returns version of C API
geos-config --capi --ldflags - returns flags for C API


Strk's note: it's an uncommon interface, but I've to say I like it. I
guess it won't be straightforward to implement w/out a getopt though,
ie: --cflags --capi (swapping order of flags)


Proposal 3)


Yet another option is to have two separate config utilities:
one for C++ API, second for C API.

geos-config - checks for C++ API
geos-config-c - checks for C API
geos-c-config - this option follows lib naming style libgeos and libgeos-c


We would like to start wider discussion, a brainstorm regarding proposal
above. What is the best one?
May be there are possible better solutions?

Thanks in advance for any idea.

Cheers
-- 
Mateusz Loskot
http://mateusz.loskot.net



More information about the geos-devel mailing list