MS RFC 127: Drop (broken) support for builds without GDAL and PROJ

Date

2019-12-02

Author

Even Rouault

Contact

even.rouault@spatialys.com

Status

Draft

Last update

2019-12-02

Version

MapServer 8.0

Overview

MapServer, at least since 7.4.0, does not compile if disabling GDAL or PROJ support. As far as we know, nobody complained about that, which shows that such configurations must have been used very rarely in practice. We thus propose to acknowledge the fact that those dependencies as required. Beyond the benefit of avoiding broken configurations, this also removes a huge number of #ifdef that are scattered in the source code, which improves readability.

Proposed solution

  • In CMakeLists.txt, remove USE_GDAL, USE_OGR, USE_PROJ

  • In CMakeLists.txt, make GDAL and PROJ required as libpng, libjpeg and freetype

  • In .c, .cpp files, remove the code paths that correspond to USE_GDAL, USE_OGR, USE_PROJ not defined

Backwards Compatibility Issues

None w.r.t 7.4 branch.

Security implications

None.

MapScript implications

None (apart a removal of a #ifdef USE_PROJ in PHP bindings)

Documentation needs

https://mapserver.org/installation/unix.html and https://mapserver.org/installation/win32.html will need to move GDAL and PROJ from the highly recommended section to the mandatory one.

Ticket ID and references

Pull request available at: https://github.com/mapserver/mapserver/pull/5935

Voting history

TBD