[postgis-devel] PostGIS Development Roadmap
Mark Cave-Ayland
mark.cave-ayland at siriusit.co.uk
Thu Apr 17 04:21:33 PDT 2008
Hi everyone,
Having got 1.3.3 out of the door and into the wild, I'd like to share
some thoughts about the current state of the PostGIS codebase and how we
can improve it. One of my primary aims is to get things to the point
where MSVC can be used to compile PostGIS; while MingW/MSYS works
perfectly well for building PostGIS, it can take a while to set up a
suitable environment, and building can be particularly slow.
With this in mind, I'd like to suggest the following:
- Build system overhaul
In order to extract certain MSVC build vars into separate header files
(so they can be generated by an MSVC script as appropriate),
it is necessary to spend some time on the autoconf system. In
particular, I'd like to work on external library detection to make it
more robust and display more useful information on the screen.
Whilst we're doing this, it also makes sense to try and re-work PostGIS
so that it uses the PGXS build infrastructure. This would enable us to
remove our own copies of Makefile.shlib but would mean we would require
PostgreSQL >= 8.0. I would distinctly prefer PostgreSQL >= 8.1 since 8.0
is missing some of the pg_config options required for a PostGIS build.
- Build dependencies
When developing the code, errors can slip by in cases where developers
haven't tried re-compiling without various libraries. My suggestion
would be to make GEOS and PROJ.4 *compulsory* for PostGIS, and to see if
we can devise some C wrapper macros like
PGIS_REQUIRES_GEOS_VERSION(major, minor) which can be used both within
code and the regression tests for code that requires newer functionality.
- Regression tests
Regression tests under Win32 are mind-numbingly slow and only run under
a bash shell. To better support MSVC, the test harness needs to be
re-written in another language. My thoughts are that Perl would be the
best language to use, since this is used by the main PostgreSQL MSVC
build scripts.
- Stripping out dead code
If we are happy to require PostgreSQL >= 8.1 for future versions then
there is a lot of dead code that can be removed, specifically with
regard to statistics / GiST indexes. It would help tidy up the code base
a lot :)
So... there is a lot of work on this list which we really need to think
about doing. Since the changes are quite involved, I am leaning towards
working in a separate branch and then switching it to HEAD when
something actually works for some more testing.
Thoughts & comments welcome.
ATB,
Mark.
--
Mark Cave-Ayland
Sirius Corporation - The Open Source Experts
http://www.siriusit.co.uk
T: +44 870 608 0063
More information about the postgis-devel
mailing list