Commit graph

466 commits

Author SHA1 Message Date
Dane Springmeyer
0121f53f56 refactor and speed up hextree image encoding by using dense_has_map - refs #1629 2013-01-08 19:07:11 -08:00
Dane Springmeyer
82e9f5b68c clear out invalid plugins from source directory to ensure that 'make local' target does not crash 2013-01-04 12:32:53 -08:00
artemp
8da2158781 + allow configure BIGINT support (default: yes) 2013-01-03 16:23:36 +00:00
Dane Springmeyer
665d390021 only build svg_renderer C++ tests if CPP_TESTS=True 2012-12-21 20:02:19 -08:00
Dane Springmeyer
6590225ce0 disable C++ tests for travis build to speed up overall compile 2012-12-19 20:12:13 -08:00
Dane Springmeyer
159dec9aa5 configure python details if building python plugin as well as bindings 2012-12-16 12:23:01 -08:00
Dane Springmeyer
cea31234fa allow building svg_renderer again - refs #1438 2012-11-01 10:07:29 -07:00
Dane Springmeyer
2ded86629f scons: do not invoke any install or uninstall targets if using SYSTEM_FONTS - closes #1481 2012-09-13 13:40:15 -07:00
Dane Springmeyer
f73168a4cc scons: remove helloworld plugin if out of date and make warning yellow not red 2012-09-03 11:29:14 -07:00
Dane Springmeyer
5120d0398d add build file for headers and svg/output code directories to hold the svg_renderer used for output - refs #1438 2012-08-27 17:58:49 -07:00
Dane Springmeyer
13bcd3f17f now working on mapnik v2.2.0-pre 2012-08-23 15:19:56 -07:00
Dane Springmeyer
a25aac80f7 setting up for mapnik v2.1.0 release 2012-08-23 14:50:36 -07:00
Dane Springmeyer
05fdb5424b more fully disable the svg_renderer backend - refs #1438 2012-08-23 10:10:18 -07:00
Dane Springmeyer
1e0a4ace86 scons: add option to configure custom paths to ltdl - refs #1376 2012-08-22 14:59:51 -07:00
Dane Springmeyer
333ab9a37e only build pgsql2sqlite if boost_program_options is available 2012-08-17 09:37:08 -07:00
Dane Springmeyer
9ef6c0dce1 scons: ensure you can build pgsql2sqlite even if the sqlite datasource plugin is not requested 2012-08-16 16:21:10 -07:00
Dane Springmeyer
a986aedd05 remove 'info' and 'fatal' severities for logging to simplify framework - closes #1400 2012-08-16 15:52:32 -07:00
Dane Springmeyer
619af3e3c7 scons: remove boost_python library check - there is not way to include multiple headers and therefore no way to safely include both boost_python and -lpython libs - refs #1394 2012-08-16 14:29:42 -07:00
Dane Springmeyer
57246bb569 scons: better handling of implicit dependencies - also add distclean target - refs #1395, #1324, and #1310 2012-08-16 14:12:49 -07:00
Dane Springmeyer
a3e27ed726 Merge branch 'master' of github.com:mapnik/mapnik 2012-08-16 12:29:27 -07:00
Dane Springmeyer
d850ee8b76 correct various old trac links to point to github - closes #1396 2012-08-16 12:27:58 -07:00
Dane Springmeyer
53685f3f99 scons: create working uninstall target for fonts 2012-08-16 10:05:34 -07:00
Dane Springmeyer
697a750f6a make LIBDIR_SCHEMA configurable - closes #1377 2012-08-15 18:32:28 -07:00
Dane Springmeyer
e4a4fe41c2 do not use /usr/local as default proj search path - instead match all other defaults as /usr/ - closes #1288 2012-08-15 14:16:49 -07:00
Artem Pavlenko
189322ef9f Merge pull request #1337 from rjw57/rjw57-python-plugin
Request for comments: python: a new plugin to use arbitrary Python as a data source
2012-08-06 05:09:29 -07:00
Rich Wareham
156a7590f4 python: a new plugin to use arbitrary Python as a data source
This plugin allows you to write data sources in the Python programming language.
This is useful if you want to rapidly prototype a plugin, perform some custom
manipulation on data or if you want to bind mapnik to a datasource which is most
conveniently accessed through Python.

The plugin may be used from the existing mapnik Python bindings or it can embed
the Python interpreter directly allowing it to be used from C++, XML or even
JavaScript.

Mapnik already has excellent Python bindings but they only directly support
calling *into* mapnik *from* Python. This forces mapnik and its input plugins to
be the lowest layer of the stack. The role of this plugin is to allow mapnik to
call *into* Python itself. This allows mapnik to sit as rendering middleware
between a custom Python frontend and a custom Python datasource. This increases
the utility of mapnik as a component in a larger system.

There already exists MemoryDatasource which can be used to dynamically create
geometry in Python. It suffers from the problem that it does not allow
generating only the geometry which is seen by a particular query. Similarly the
entire geometry must exist in memory before rendering can progress. By using a
custom iterator object or by using generator expressions this plugin allows
geometry to be created on demand and to be destroyed after use. This can have a
great impact on memory efficiency. Since geometry is generated on-demand as
rendering progresses there can be arbitrarily complex 'cleverness' optimising
the geometry generated for a particular query. Obvious examples of this would
be generating only geometry within the query bounding box and generating
geometry with an appropriate level of detail for the output resolution.
2012-07-31 17:05:27 +01:00
Dane Springmeyer
4340e9a605 scons: fixup LIBDIR value settings - closes #1349 2012-07-27 10:56:24 -07:00
Dane Springmeyer
450bf40d4d suppress strict-aliasing warnings with older gcc and newer boost - refs #1330 2012-07-23 11:41:08 -07:00
Dane Springmeyer
65b03a3230 scons: try to unbreak boost_python lib check on linux 2012-07-20 13:56:21 -07:00
Rich Wareham
ee7ebb61f2 SConstruct: trivial typo fix 'henche' -> 'hence' 2012-07-19 16:08:25 +01:00
Dane Springmeyer
b74738dd91 scons: make a failure to link boost_python non-fatal 2012-07-06 18:31:36 -07:00
Dane Springmeyer
17d3414b7a speed up scons by > 2x 2012-07-06 18:08:19 -07:00
Dane Springmeyer
3ddd38116c Merge branch 'master' of github.com:mapnik/mapnik 2012-07-06 11:54:04 -07:00
Dane Springmeyer
6e5a68f372 stop defaulting to lib64 on 64 bit unix systems - closes #1297 2012-07-06 11:35:29 -07:00
Dane Springmeyer
18d2c041b5 respect BOOST_APPEND for boost_python configure check 2012-07-06 07:48:23 -07:00
Dane Springmeyer
906de8e317 simplify boost_python library configure checks 2012-07-05 11:54:43 -07:00
Dane Springmeyer
c113fa8adb scons: no need to link python and be more concise about restoring env backup 2012-06-15 14:05:59 -04:00
Dane Springmeyer
5df056ae4c scons: expose CUSTOM_CFLAGS to enable custom CFLAGS to be used during the configure stage 2012-06-13 17:17:58 -04:00
Dane Springmeyer
fa46f97b73 Merge branch 'master' of github.com:mapnik/mapnik 2012-06-13 17:10:27 -04:00
Dane Springmeyer
30559a0610 scons: also set LINKFLAGS/LDFLAGS up front to ensure they are used in configure checks 2012-06-13 17:10:15 -04:00
Artem Pavlenko
e89eb99e28 + geojson input plugin (thanks, @tmcw!) 2012-06-13 13:30:58 +01:00
Dane Springmeyer
b7052029d8 start requiring >= boost 1.47 to enable things like the carto parser to be integrated soon 2012-05-24 17:07:56 -07:00
Dane Springmeyer
09426bf324 remove option to link againt external AGG - our local copy has critical fixes and is required 2012-05-24 17:05:51 -07:00
kunitoki
0e5dcbd810 - fixed unwanted behaviour with default log severity in SConstruct #937 2012-05-24 00:02:43 +02:00
Dane Springmeyer
0ccabf2650 whitespace 2012-04-26 19:57:03 -04:00
Dane Springmeyer
b34e0c02a6 the osm plugin is required now for visual tests to enable it by default 2012-04-19 11:27:33 -07:00
Dane Springmeyer
c33fdfd848 disable logging on by default until #1175 is resolved (refs #1175) 2012-04-11 18:08:11 -07:00
Dane Springmeyer
4d4316f7bc enable logging by default to maintain relatively similiar warning behavior as to pre-logging framework (TODO: perf testing) 2012-04-11 11:32:04 -07:00
kunitoki
0cc1dfdf44 Merge branch 'master' of github.com:mapnik/mapnik 2012-04-10 17:51:48 +02:00
kunitoki
47e847cde1 - get rid of setting logger format in CXXFLAGS 2012-04-10 17:51:20 +02:00
Dane Springmeyer
330504e9a4 enable building svg2png tool - refs #1137 2012-04-10 08:47:48 -07:00
kunitoki
81c9dd7b6b - added the ability to set the default global severity from scons configure
- initial check in of setting global severity from getenv (todo)
2012-04-10 16:19:51 +02:00
kunitoki
c31d4b69a1 - avoid using -rdynamic on compilers different than gcc 2012-04-10 11:21:31 +02:00
Dane Springmeyer
566ae578bb scons: do not use -rdynamic flag on os x 2012-04-07 17:55:41 -07:00
kunitoki
af201551b8 got rid of old CVS $Id comments kludge in files 2012-04-08 02:45:01 +02:00
kunitoki
1f351e0e09 implement new debug system 2012-04-08 02:20:56 +02:00
Dane Springmeyer
ba4d815972 compile the c++ demo by default 2012-04-04 15:20:18 -07:00
Dane Springmeyer
e22e47dfcc scons: when statically linking: link extra icu libs needed by regex 2012-03-27 19:14:01 -04:00
Dane Springmeyer
3b498efbd9 fixup font registration code ensuring invalid fonts will warn but not throw and register_fonts will only return success if > one font is registered and none have failed 2012-03-23 15:07:28 -07:00
Dane Springmeyer
0beca49b2a scons: when parsing xml2-config only pull --cflags to avoid uneeded pollution of other libs on osx (namely libicucore) 2012-03-21 15:38:32 -07:00
Dane Springmeyer
2abe02bd96 make available MAPNIK_VERSION_STRING in c++ header (not just in python) and add MAPNIK_VERSION_IS_RELEASE define that indicates if the code is released 2012-03-14 18:30:32 -07:00
Artem Pavlenko
254b3c9fa7 Merge branch 'master' into geometry-clipping
Conflicts:
	SConstruct
	include/mapnik/symbolizer_helpers.hpp
	src/placement_finder.cpp
2012-03-09 14:18:41 +00:00
Dane Springmeyer
54e7bb41c6 add no-omit-frame-pointer to debug flags to ensure without question it is not enabled 2012-03-09 12:56:00 +00:00
Dane Springmeyer
c5c0f92247 save the maps in the right place for visual tests 2012-03-08 17:04:51 -08:00
Dane Springmeyer
c47dae692a add no-omit-frame-pointer to debug flags to ensure without question it is not enabled 2012-03-07 15:34:59 -08:00
Dane Springmeyer
03bfc015a6 DEBUG_UNDEFINED should also trap illegal instructions 2012-02-21 11:04:09 -08:00
Dane Springmeyer
1b3d2324de scons: fully workaround potential compile error with gcc/boost 1.42/ubuntu relating to interprocess bug - refs #1001 and #950 2012-01-08 17:21:04 -08:00
Dane Springmeyer
9b859bbc81 scons: pass boost version through env 2012-01-08 17:13:19 -08:00
Dane Springmeyer
556bc2c869 remove special ltdl dladvise usage - no longer needed after #790 2011-12-06 18:23:01 -08:00
Dane Springmeyer
1700ffe9cf remove svn revision reporting as it is not longer relevant to git versioned mapnik 2011-12-06 16:52:50 -08:00
Artem Pavlenko
14700dba16 switch back from mapnik2 to mapnik
add mapnik2 module which redirects to mapnik and issues DeprecationWarning
2011-11-23 11:33:58 +00:00
Dane Springmeyer
62041bfd77 scons: merge path replace functionality from tilemill build branch - useful for ensuring quality binary compiles 2011-11-16 12:47:31 -08:00
Dane Springmeyer
f8316fcbe8 scons: fix rtree config check if statically linking sqlite3 2011-11-15 13:23:10 -05:00
Dane Springmeyer
25b14c3503 scons: Add DEBUG_UNDEFINED setting to trigger clang/llvm runtime behavior checking 2011-11-14 00:49:46 -08:00
Dane Springmeyer
e59e1fc50f scons: ensure sorting of libs/includes is the same 2011-11-13 19:12:39 -08:00
Dane Springmeyer
24242cd504 scons: fix plugin_base env 2011-11-13 17:00:08 -08:00
Dane Springmeyer
eb2bd4a6d9 scons: enable the sqlite rtree check 2011-11-13 16:13:37 -08:00
Dane Springmeyer
f987c58ccd scons: better test for rtree support 2011-11-13 15:13:49 -08:00
Dane Springmeyer
4b09df71aa rollback applying visibility contraints to plugins 2011-11-11 17:04:17 -08:00
Dane Springmeyer
1d881af35a reduce the size of plugin libraries by hiding unneeded symbols 2011-11-11 15:37:10 -08:00
Dane Springmeyer
d3f7187b9a scons: cache SVG_RENDERER configure value 2011-11-01 11:57:43 -04:00
Dane Springmeyer
867cc3bd59 scons: make second freetype check conditional on freetype-config availability 2011-10-29 22:34:38 -07:00
Dane Springmeyer
d8f19fab05 always link to boost system - closes #931 2011-10-25 19:29:51 -07:00
Robert Coup
deb4e6b6c3 Do a proper check for BOOST_PYTHON_LIB in scons, and change it to be only the library name. re: mapnik-packaging:#3 2011-10-21 16:39:35 -07:00
Dane Springmeyer
37143430ba reduce verbosity of configure output 2011-10-19 21:40:49 -07:00
Artem Pavlenko
27637494b1 ignore -Wparenthes , -Wchar-subscripts warnings
(helpful with clang++)
2011-10-19 17:34:44 +01:00
Dane Springmeyer
775e6246c0 remove duplicate entry for csv plugin in build list 2011-10-18 20:50:54 -07:00
Dane Springmeyer
fbdb7afd76 make csv plugin compile by default so we can start using easily for testing mapnik more broadly (avoiding ogr dependency for json reading) 2011-10-18 18:22:02 -07:00
Dane Springmeyer
d50b175fc3 Merge branch 'master' into csv_plugin 2011-10-14 20:31:36 -07:00
Dane Springmeyer
78636d335a add PATH_REMOVE option to scons to completely strip a given path from linking and compile commands - useful for binary building 2011-10-13 14:19:21 -07:00
Dane Springmeyer
9e6c572b0a Merge branch 'master' into csv_plugin 2011-10-12 16:34:39 -07:00
Dane Springmeyer
285591f370 move bundled agg sources into depedencies subdirectory (as we may bundle other deps there too to reduce clutter) and remove all traces of unused tinyxml (ptree now uses rapidxml header-only library internally) - refs #913 2011-10-11 20:22:49 -07:00
Dane Springmeyer
9c32da33f5 new csv plugin should not be compiled by default yet 2011-10-11 18:17:52 -07:00
Dane Springmeyer
cb3b509da3 add new csv datasource plugin 2011-10-11 18:11:59 -07:00
Dane Springmeyer
49f28cad40 switch back to less agressive usage of scons caching basically allowing scons to check depedencies more at the cost of startup time 2011-09-15 22:15:04 +00:00
Dane Springmeyer
b01b21f24d move template-depth max to 300 to allow wkt parser compile with boost 1.47 on RHEL - closes #874 2011-09-10 05:37:19 +00:00
Dane Springmeyer
8e94bf9188 expose first pass at rendering statistics via build option 'RENDERING_STATS' - refs #780 2011-09-01 05:14:25 +00:00
Dane Springmeyer
1e37cbd248 python: make dynamic lookup of symbols default build for python - this has been battle tested nowdefault 2011-09-01 01:30:23 +00:00
Dane Springmeyer
b57a079a38 only link to bz2 if were linking statically 2011-08-31 03:05:01 +00:00
Dane Springmeyer
22c39d91ba scons: rename all SConscript files to more friendly name of 'build' with a python extension for quick syntax detection in editors 2011-08-30 05:32:01 +00:00
Dane Springmeyer
3c3d449c6f scons: initialize CAIROMM_LINKFLAGS properly 2011-08-29 21:48:19 +00:00
Dane Springmeyer
3323f0e47d scons: disable built targets not ready for release and only intended for development branch 2011-08-29 21:06:35 +00:00
Dane Springmeyer
b80bd6bc29 scons: allow passing CAIRO_LIBS and CAIRO_INCLUDES to optionally avoid pkg-config usage, and if pkg-config is needed and not found report cairo/cairomm will not be available - closes both #835 and #836 2011-08-29 18:52:35 +00:00
Dane Springmeyer
989148aec0 scons: be less restrictive about what is likely a system path - may help debian compiles - closes #716 2011-08-19 00:21:55 +00:00
Robert Coup
93d65a6e36 Fix LIB_DIR_NAME handling (from broken nightlies) 2011-08-16 03:18:24 +00:00
Dane Springmeyer
94d3210bcd scons: fix handling of LIB_DIR_NAME which broke ubuntu nightlies and condence all path logic further 2011-08-15 07:00:06 +00:00
Dane Springmeyer
3e67c1d694 scons: centralize install path info 2011-08-12 21:31:28 +00:00
Dane Springmeyer
da834706c6 scons: start condensing more global variables and improve support for static linking 2011-08-12 20:01:09 +00:00
Dane Springmeyer
4072daa34a scons: make potentially relative paths absolute for boost as well 2011-08-12 00:01:04 +00:00
Dane Springmeyer
3b424e3767 allow compile against ICU 4.0 - needed to be able to link against osx provided libicucore.dylib 2011-08-11 21:13:55 +00:00
Dane Springmeyer
af62ad9c27 scons: collect and propogate the libs used to link libmapnik 2011-08-11 21:11:11 +00:00
Dane Springmeyer
82ac99611e add LINKING option to control whether libmapnik is build static or shared and RUNTIME_LINK options to trigger dependency flags to compile against static libs 2011-08-11 19:14:00 +00:00
Dane Springmeyer
17e5fb7302 add PATH_INSERT option to allow pre-appending a PATH variable for finding programs like pkg-config and freetype-config and allow it and PKG_CONFIG_PATH setting to work with relative paths by completing dynamically 2011-08-11 15:49:57 +00:00
Dane Springmeyer
2d258e7bba scons: make speedier SCons startup default enabled 2011-08-11 14:35:02 +00:00
Dane Springmeyer
028f9ded5b scons: place warning modifiers directly after -Wall for clarity 2011-08-11 14:32:45 +00:00
Dane Springmeyer
15fa6f1e60 scons: add a WARNING_CXXFLAGS option which can be passed to place compiler warning modifiers after the default -Wall. This makes life better with the current clang/boost trunk warning - part of #805 2011-08-11 14:31:46 +00:00
Dane Springmeyer
64e2ffe226 scons: improve configure output around icu version checking 2011-08-11 14:17:17 +00:00
Dane Springmeyer
1f32c4c9d7 default to faster -O3 compiler optimization since this is well tested by now and debian packagers who originally ask for it to be set at -O2 can now change the default 2011-06-13 15:20:29 +00:00
Dane Springmeyer
1e01b2d0c0 enforce at least cairomm 1.8.0 - closes #736 2011-06-01 19:43:11 +00:00
Dane Springmeyer
b02c462a10 scons: print full path to the config.log output 2011-05-16 04:38:31 +00:00
Dane Springmeyer
c19ede5070 remove last references to boost_iostreams dependency 2011-05-10 15:57:45 +00:00
Dane Springmeyer
6fe9a0b58d update the abi fallback to 2.0.0 2011-05-02 18:42:58 +00:00
Dane Springmeyer
50fefa79f0 disable sqlite rtree check as it looks impossible to get working against ubuntu/debian packages - re-opens #403 2011-04-18 23:45:24 +00:00
Artem Pavlenko
c906dcea02 + restore gcc compile flags 2011-04-11 05:27:18 +00:00
Artem Pavlenko
e81761d270 + remove boost::iostreams dependency 2011-04-07 13:35:21 +00:00
Dane Springmeyer
2160a49b3f scons: at configure time, ensure libsqlite3 has rtree support built in - closes #403 2011-04-02 18:25:23 +00:00
Dane Springmeyer
27cc2f0dc5 catch errors in build time pkg-config parsing - closes #738 2011-04-02 03:11:42 +00:00
Dane Springmeyer
e9e805690f make ogr, gdal, sqlite plugins built by default as they are used for tests (but they are only built if dependencies are met) 2011-03-22 00:55:48 +00:00
Dane Springmeyer
578b434f4d trap exceptions in the configure check for whether boost regex has icu support 2011-03-12 02:46:52 +00:00
Dane Springmeyer
c3c5a20c29 by default attempt to compile with CAIRO support again (this was disabled during refactoring that broke cairo rendering) 2011-03-04 22:15:11 +00:00
Dane Springmeyer
faf3512f8f scons: fix ability to call 'install -c' and 'uninstall', broken since r2568 2011-03-01 16:36:45 +00:00
Dane Springmeyer
efb19dea6c make the requirement of boost_regex unicode support optional by detecting if boost_regex was itself built with ICU support 2011-02-28 20:00:56 +00:00
Dane Springmeyer
3b295143bc better workaround for unsupported GDAL framework linking on osx 2011-02-23 21:24:23 +00:00
Dane Springmeyer
df8a987501 disable SVG_RENDERER until #712 is resolved 2011-02-09 10:43:59 +00:00
Dane Springmeyer
bdc184c686 scons: make sure that we set the PKG_CONFIG_PATH before build 2011-02-08 03:27:08 +00:00
Dane Springmeyer
4720303507 one last workaround for now to fix potential gdal -framework configuration problem 2011-02-06 05:30:06 +00:00
Carlos López
40047e7a56 SVG_RENDERER working again after changes introduced in r2302.
+ a boost::iterator is used to handle iteration in path grammar
+ svg_path_data_grammar consumes a reference to geometry, rather than a geometry, avoiding copy-construction
+ a size_type was added to geometry so it could model the attribute container concept
2011-02-05 07:08:01 +00:00
Dane Springmeyer
4bb735d6c1 scons: another workaround for new gdal framework on os x 2011-02-03 22:07:00 +00:00
Dane Springmeyer
f1e1900480 scons: handle a gdal-config --libs that reports -framework GDAL on osx 2011-02-03 20:21:35 +00:00
Dane Springmeyer
58c6bdae9e fast track to --help if requested rather than forcing reconfigure 2011-02-03 08:16:39 +00:00
Robert Coup
ed306d7cbe #654 add svg2png utility 2011-01-26 01:19:01 +00:00
Dane Springmeyer
52eb8d3619 revert r2496 2011-01-05 18:15:19 +00:00
Dane Springmeyer
0614f5de24 support for boost trunk (1.46) by enforcing boost filesystem v2 for now 2011-01-05 01:27:11 +00:00
Dane Springmeyer
67efa6e18f osx: start work on seamless support for multiple python versions 2010-12-22 21:55:34 +00:00
Dane Springmeyer
be5cd7d307 scons: using geos-config program to configure geos plugin depedency 2010-12-21 21:43:25 +00:00
Dane Springmeyer
4bbc6ae344 scons: get the geos lib name right for help output and make sure to pickle whether we are building sample plugins 2010-12-21 21:04:18 +00:00
Dane Springmeyer
dbfd287098 scons: minor touchups to plugin reporting 2010-12-21 20:34:36 +00:00
Dane Springmeyer
20349d42f6 touchup and actuall install the 'howfast.py' little performance testing script 2010-12-16 16:32:06 +00:00
Dane Springmeyer
f2da944c29 scons: test whether python is 64bit enabled 2010-12-01 01:47:01 +00:00
Dane Springmeyer
88e1e30d9f scons: trunk requires at least icu 4.2, so enforce that at configure time - closes #482 2010-11-30 01:25:54 +00:00