Changes between Version 20 and Version 21 of RFC6


Ignore:
Timestamp:
Oct 4, 2017, 7:20:44 AM (7 years ago)
Author:
robe
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RFC6

    v20 v21  
    2929
    3030
    31 If cplusplus sdk install is not expressly requested only the C library (not linked just a single library will be created).
    32 Also the C++ headers will not installed.
     31If cplusplus sdk install is not expressly requested only the C headers will be included and the C++ headers will not be installed.
     32In addition, when tthe C++ headers are used by any project
    3333
    3434If users choose to build with the cplusplus-sdk, a warning will be shown before start of compile stating:
     
    4141}}}
    4242
     43
     44In addition the GEOS C++API Headers Geometry.h  will by default include a warning as noted in [https://git.osgeo.org/gogs/geos/geos/pulls/14]
     45as proposed in [https://lists.osgeo.org/pipermail/geos-devel/2017-October/008071.html]
     46
     47
     48{{{
     49
     50The GEOS C++ API is unstable, please use the C API instead
     51HINT: #include geos_c.h
     52
     53}}}
     54
     55Which will show during compile time if the following variable is not defined
     56
     57
     58{{{
     59WE_ACKNOWLEDGE_THAT_THE_GEOS_CPLUSPLUS_API_IS_UNSTABLE
     60}}}
     61
     62
     63
     64This message will continue to be shown in every project where the GEOS C++ API is used.
    4365 
    44 As proposed in [https://lists.osgeo.org/pipermail/geos-devel/2017-October/008071.html]
    4566
    4667I propose doing this in GEOS 3.7.0.
    4768
    4869The main purpose is to discourage the use of the C++ API because we do not have the manpower to guarantee ABI or API compatiblity from minor version to minor version and thus using it in an environment where
    49 the GEOS library is shared across many software is unsupported.
     70the GEOS library is shared across many software is unsupported.  We are also planning significant refactoring in GEOS 3.8 which will very likely break the C++ API.
    5071
    5172Currently [https://github.com/openstreetmap/osm2pgsql/issues/634 osm2pgsql (which is switching away from GEOS and using Osmium instead)] (and before Osmium, which switched from using GEOS and now uses GDAL) and OSSIM are the only ones that used the GEOS C++ API and largely distributed in shared environment.  We want to discourage future projects that plan to be used in a shared environment from using the GEOS C++ API and to stick with the GEOS C API.