Changes between Version 12 and Version 13 of RFC6


Ignore:
Timestamp:
Oct 3, 2017, 8:10:47 AM (7 years ago)
Author:
robe
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RFC6

    v12 v13  
    1 = GEOS RFC 6: Require explicit configure to use the C++ API and ship c++ headers =
     1= GEOS RFC 6: Require explicit configure to use the C++ API =
    22
    3 ||RFC 6:  ||Discourage use of C++ API requiring a configure switch to install the c++ headers||
     3||RFC 6:  ||Discourage use of C++ API by requiring a configure switch to install the c++ headers and SDK||
    44||Author: ||Regina Obe        ||
    55||Contact:||lr@pcorp.us    ||
     
    2020{{{
    2121#autoconf users
    22 ./configure --enable-c++-headers-install
     22   ./configure --with-cplusplus-sdk-install
    2323
    2424#cmake users
    25 cmake -DINCLUDE_CPP_HEADERS=1
     25   cmake -DINSTALL_CPLUSPLUS_SDK
    2626
    2727}}}
    2828
     29
     30If cplusplus sdk install is not expressly requested only the C library (not linked just a single library will be created).
     31Also the C++ headers will not installed
    2932 
    30 As proposed in [https://lists.osgeo.org/pipermail/geos-devel/2017-October/008054.html]
     33As proposed in [https://lists.osgeo.org/pipermail/geos-devel/2017-October/008071.html]
    3134
    3235I propose doing this in GEOS 3.7.0.
     
    3740Currently [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.
    3841
     42So the purpose of the above is to affect the following change:
     43
     441) Package Distributions willnot compile with these flags
     452) The end effect being, no C++ header, no C++ library to worry about -- just a single .so or .dll  and a C header file
     463) People building their own binaries or their own projects that utilize the C++ API will not be able to use GEOS from packages since GEOS packages will not have the C++ API bindings they need.
     47 They will have to compile their own GEOS.
     48This means if they want their product to be shipped with other distributed software and share the same GEOS, they will need to use the C-API.
     49
     50That way new projects will be clear about what compromise they are making using the C++ API. 
     51That means they will not be able to use GEOS from packages in their CI integration (e.g. travis, appveyor etc that people commonly do apt-get ...)
    3952
    4053
     54
     55