Commit graph

563 commits

Author SHA1 Message Date
Dane Springmeyer
63ea37b4c2 further no terminal port 2014-01-26 14:49:03 -08:00
Dane Springmeyer
87e0ae8124 adapt build to use BOOST_SPIRIT_NO_PREDEFINED_TERMINALS 2014-01-26 14:00:58 -08:00
Dane Springmeyer
fd6474b65e improve configure doc for FULL_LIB_PATH and ENABLE_SONAME 2014-01-21 21:15:57 -08:00
Dane Springmeyer
0e38731152 add ENABLE_SONAME option + embed rpath/loader_path by default - closes #1225 2014-01-20 20:16:08 -08:00
Dane Springmeyer
fede08d4da fix boost_regex icu detection on linux when statically linking 2014-01-20 14:19:41 -08:00
Dane Springmeyer
66347f78e6 rework tests: always run locally 2013-11-22 12:01:02 -08:00
Dane Springmeyer
64d5153aea Improved support for international text
- Implementation by @herm for GSOC 2012 (http://mapnik.org/news/2012/10/06/gsoc2012-status9/)
 - C++11 port, improvements, optimizations by @artemp
 - Testing and integration with master by @springmeyer
 - Thank you to all the support from @behdad along the way
 - Thanks for help testing @toton6868, @stephankn, @nirvn, @mfrasca, @simonsonc and many others

Refs: #2073,#2070,#2038,#2037,#1953,#1820,#1819,#1714,#1634,#1547,#1532,#1319,#1208,#1154,#1146
2013-11-22 00:06:32 -08:00
Dane Springmeyer
08fa9fd8ec Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	bindings/python/mapnik_building_symbolizer.cpp
	bindings/python/mapnik_debug_symbolizer.cpp
	bindings/python/mapnik_line_pattern_symbolizer.cpp
	bindings/python/mapnik_line_symbolizer.cpp
	bindings/python/mapnik_markers_symbolizer.cpp
	bindings/python/mapnik_point_symbolizer.cpp
	bindings/python/mapnik_polygon_symbolizer.cpp
	bindings/python/mapnik_python.cpp
	bindings/python/mapnik_raster_symbolizer.cpp
	bindings/python/mapnik_shield_symbolizer.cpp
	bindings/python/mapnik_symbolizer.cpp
2013-11-07 09:21:05 -08:00
Dane Springmeyer
d0619bc402 update copyright year for scons build files 2013-11-05 16:54:13 -08:00
Dane Springmeyer
ca25d6797a Merge branch '2.3.x' of github.com:mapnik/mapnik 2013-11-04 09:40:58 -08:00
Dane Springmeyer
4fb6f25dcd scons: back off using -Wshadow since this triggers too much spurious noise with g++-4.7 and clang++/libc++ 2013-11-04 09:39:24 -08:00
Dane Springmeyer
f998b2bda6 Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	deps/agg/build.py
	deps/clipper/build.py
	include/mapnik/feature_style_processor_impl.hpp
	plugins/input/csv/csv_datasource.cpp
2013-11-03 23:10:21 -08:00
Dane Springmeyer
26f362db9a scons: do not (yet) default to using -Wconversion -Wno-sign-conversion 2013-11-03 23:07:03 -08:00
Dane Springmeyer
0f8c931530 scons: suncc support is not maintained, remove it 2013-11-03 23:07:02 -08:00
Dane Springmeyer
c1da56a6a0 scons: specialize default search path for icu on OS X since homebrew is so common now and icu is 'key-only' 2013-10-31 21:14:24 -07:00
Dane Springmeyer
710d558218 scons: simplify linkflags/ldflags setting / attempt to fix #2025 2013-10-22 16:35:46 -04:00
Dane Springmeyer
2e0d905589 add configure test for c++11 support 2013-10-14 19:03:01 -04:00
Dane Springmeyer
32d053abf6 only build pgsql2sqlite if pg_config is available 2013-10-01 10:15:41 -07:00
Dane Springmeyer
2e630c5c14 only build pgsql2sqlite if pg_config is available 2013-10-01 10:13:54 -07:00
artemp
fddec700ad TopoJSON input plugin
skeleton implementation
2013-09-30 14:14:58 +01:00
Dane Springmeyer
8dcf5aa622 Avoid setting -stdlib=libc++ if cross compiling - refs mapnik/mapnik-support#96 2013-09-26 10:26:53 -07:00
Dane Springmeyer
ec53cd9a02 automatically set c++11 flags 2013-09-24 23:22:06 -07:00
Dane Springmeyer
b0436a3ad1 scons: unbreak memory mapped access for shapefiles by fixing the setting of SHAPE_MEMORY_MAPPED_FILE 2013-09-19 20:51:49 -07:00
Dane Springmeyer
9811a946f5 Fix whitespace 2013-09-18 18:50:12 -07:00
Dane Springmeyer
5667343ad9 use U_NAMESPACE_QUALIFIER to most cleanly support when icu is built with -DU_USING_ICU_NAMESPACE=0 - refs #1985 2013-08-14 21:56:40 -04:00
Dane Springmeyer
a13fe7da06 fix 'the table of contents is empty' error when cross compiling for android by respecting RANLIB and AR settings from environment 2013-08-13 20:02:14 -04:00
Dane Springmeyer
e0026f3df2 use icu:: namespace and start isolating icu impl by consistenly using mapnik::value_unicode_string 2013-08-13 18:52:04 -04:00
Dane Springmeyer
3a2a8dbfde scons: support passing multiple paths to PATH_REMOVE option - useful to strip - after the fact - paths that might come from pkg-config calls to cairo - closes #1980 2013-08-09 11:31:17 -04:00
Dane Springmeyer
19a7e9ad19 make note about need for -Wno-c++11-narrowing - closes #1970 2013-07-30 12:18:48 -04:00
Dane Springmeyer
e641c78a59 scons: fix configure check for sqlite_rtree on linux when sqlite3 is statically linked 2013-07-30 06:35:52 +00:00
Dane Springmeyer
187ab3fe73 make gdal lib check more robust 2013-07-29 20:32:03 -04:00
Dane Springmeyer
64efd5fdf2 boost gil narrowing only impacts clang++ it appears and not g++ 4.6.3 with -std=c++0x (TODO: checkout newer g++ with -std=c++11 2013-07-28 15:50:42 -04:00
Dane Springmeyer
76f111cc97 support optionally compiling with -std=c++11 on OSX / clang / apple libc++ / boost 1.53 - refs #1683 2013-07-27 01:57:24 -04:00
Dane Springmeyer
5b5053d2a9 prepare for c++11: stop forcing -ansi 2013-07-26 19:33:34 -04:00
Dane Springmeyer
a4c79fc6fe fix handling of the defines of optional deps when cross-compiling 2013-07-26 15:50:35 -04:00
Dane Springmeyer
ef4dfeb747 make it possible to disable compilation of grid_renderer - closes #1962 2013-07-23 19:37:25 -04:00
Dane Springmeyer
6bbbe155fe remove RENDERING_STATS compile time option - refs #1956 2013-07-19 15:09:59 -04:00
Dane Springmeyer
54d8fc81dd scons: ensure optional imaging libaries are build if requested when cross compiling 2013-07-19 12:15:24 -04:00
Dane Springmeyer
7796ea65d6 scons: fix the build in the case that one of the optional imaging libraries is not found 2013-07-19 12:13:17 -04:00
Dane Springmeyer
a141c5c27d webp encoding/decoding support - refs #1955 2013-07-19 01:09:17 -04:00
Dane Springmeyer
fd3977d60c scons: no need to link iconv if building with cairo 2013-07-14 14:43:13 -04:00
Dane Springmeyer
2505001af1 scons: fixes for bypassing configure checks when HOST is provided (iOS build) 2013-06-14 11:40:45 -07:00
Dane Springmeyer
64947f8540 now working on mapnik v3.0.0-pre 2013-06-03 18:56:56 -07:00
Dane Springmeyer
9231205573 setting up for mapnik v2.2.0 release 2013-06-03 18:26:28 -07:00
Dane Springmeyer
c00a4e6971 scons: assume boost headers are found unless explicitly not 2013-06-03 12:22:29 -07:00
Dane Springmeyer
4f9b0ffba6 scons: no need to check for boost python if boost headers are not found 2013-06-02 19:25:43 -07:00
Dane Springmeyer
540d275cd0 also check for boost development headers 2013-06-02 19:24:11 -07:00
Dane Springmeyer
ef1b99532b scons: fix boost_regex and sqlite_rtree config checks and be resilient to plugins that cannot be built due to the boost version 2013-06-02 14:56:21 -07:00
Dane Springmeyer
949a356b29 minor build output improvements 2013-06-02 14:15:02 -07:00
Dane Springmeyer
2291c8b698 disable hidden visibility for plugins and hidden inlines for the library by default for 2.2 release - can re-enable after more testing - refs #1863 2013-05-24 12:46:51 -07:00
Dane Springmeyer
4057c2c822 ensure that the input plugin directory exists even if we don't put any plugins in it 2013-05-23 15:40:05 -07:00
Dane Springmeyer
62434041e3 clean up hello.input if stale 2013-05-23 15:36:43 -07:00
Dane Springmeyer
05f010a43b ensure that when statically linking plugins we remove previously built ones that are stale 2013-05-23 15:20:17 -07:00
Dane Springmeyer
6155d90dd1 better clearing of non requested or non buildable plugins 2013-05-22 17:54:32 -07:00
Dane Springmeyer
5aecb3c5f7 disable building osm plugin by default now that it is no longer needed for visual tests - refs #1822 2013-05-22 16:19:10 -07:00
Dane Springmeyer
031139f6fe disable building of python plugin by default - works around #1838 2013-05-22 13:48:56 -07:00
Dane Springmeyer
31ae5e632b rollback accidentally commited change in 126d1b73d6 - not quite yet 2013-05-22 10:22:25 -07:00
Dane Springmeyer
23878cf03e fix #1858 2013-05-22 09:21:56 -07:00
Dane Springmeyer
126d1b73d6 reflect debug symbolizer in python 2013-05-22 06:49:38 -07:00
Dane Springmeyer
8d9e6e07cf ensure xml2 is present - punts on and closes #913 2013-05-21 16:22:04 -07:00
Dane Springmeyer
ab27707a91 scons: reduce noisy, non-critical configure output 2013-05-17 16:38:14 -07:00
Dane Springmeyer
3fbf4df67d add support for statically linking datasource input plugins - closes #1810 and #1821 - refs #249 2013-05-16 11:55:58 -07:00
Dane Springmeyer
c53bf9fff1 remove debug output 2013-05-16 10:03:08 -07:00
Dane Springmeyer
04d119fc92 further improve cairo freetype support checking - refs #1842 2013-05-16 09:59:21 -07:00
Dane Springmeyer
5ff69781c8 scons: disable cairo support at configure time unless cairo reports freetype support - closes #1842 2013-05-16 08:29:31 -07:00
Dane Springmeyer
729f39abd1 disable compiling the c++ benchmark by default 2013-05-15 18:19:49 -07:00
Dane Springmeyer
e4f2c4e94d scons: fix g++ detection logic on OS X 2013-05-13 09:13:44 -07:00
Dane Springmeyer
ca16303871 use -fpermissive on OS X when g++ is used - closes #1835 2013-05-10 14:16:58 -07:00
Dane Springmeyer
101ea276d1 add mapnik version number reporting to mapnik-config 2013-05-10 13:45:18 -07:00
Dane Springmeyer
7518c9c2c2 default to clang++ on OS X and start reporting CXX compiler used in mapnik-config - closes #1839 2013-05-10 13:24:41 -07:00
Dane Springmeyer
1b95518ce1 remove kismet plugin - closes #1833 2013-05-09 17:29:03 -07:00
Dane Springmeyer
ac5cd2e386 -fvisibility=hidden works with plugins with no code changes - refs #1826 2013-05-09 17:28:04 -07:00
Dane Springmeyer
47ed6d1405 reduce libary size by passing -fvisibility-inlines-hidden - closes #1832 - refs #1826 2013-05-09 14:54:29 -07:00
Dane Springmeyer
4c38bf9b81 remove geos plugin (moved to https://github.com/mapnik/non-core-plugins) - refs #1809 2013-04-19 14:09:25 -07:00
Dane Springmeyer
79a216f349 remove ltdl to reduce dependencies and because calling dlopen/LoadLibrary is easy 2013-04-09 19:37:02 -07:00
kunitoki
3c56ac656a - scons help cosmetics 2013-03-27 09:01:03 +01:00
kunitoki
350ff279ee - avoid treating all CPPDEFINES as a whole in scons 2013-03-26 11:05:02 +01:00
Dane Springmeyer
5af0e95c94 scons: add HOST option, which if set will skip configure checks - in the future it might do more 2013-03-25 11:19:51 -07:00
Dane Springmeyer
e2c7283522 Added new mapnik-config options: git-describe, defines, includes, dep-includes, and cxxflags - closes #1443 2013-03-13 19:49:59 -07:00
kunitoki
02fa32ba5e - last commit was wrong 2013-03-06 13:21:53 +01:00
kunitoki
2717d25483 - fix linux project file handling in case where a different PREFIX is specified 2013-03-06 13:13:20 +01:00
Dane Springmeyer
f232d026c3 scons: fix behavior of scons --clean install 2013-02-27 10:37:27 -05:00
Dane Springmeyer
b472cd0e14 scons: enable control of shpindex and svg2png tools 2013-02-22 17:15:29 -08:00
Dane Springmeyer
1b3b598b80 scons: do not attempt to configure if clean requested 2013-02-21 16:42:33 -08:00
Dane Springmeyer
4115903148 fix spelling 2013-02-21 16:34:14 -08:00
artemp
617542c136 Merge remote-tracking branch 'origin/master' into clipper 2013-02-20 10:35:47 +00:00
kunitoki
f7e41eb86c - updated SConstruct 2013-02-19 12:13:53 +01:00
kunitoki
ef955ee924 - automate linux project file generation (and simplify sub projects) 2013-02-19 12:12:13 +01:00
artemp
747305253c + link clipper obj's into core lib 2013-02-19 10:06:59 +00:00
Dane Springmeyer
1356775299 scons: remove uneeded BOOST_SPIRIT_THREADSAFE flag - closes #1706 2013-01-29 17:23:10 -05:00
Dane Springmeyer
afa0c8ad27 configure time option to enable proj4 2013-01-29 02:21:27 -05:00
Dane Springmeyer
b1c1c86346 make PNG and TIFF support optional - closes #1704 2013-01-29 02:17:37 -05:00
Dane Springmeyer
7c5693c169 scons: make python includes a list and sensitive to platform specific directories - closes #1691 and fixes mapnik/mapnik-packaging#66 2013-01-14 16:07:38 -08:00
Dane Springmeyer
6f8a12d29d further fixup the sparsehash usage internally 2013-01-10 17:20:34 -08:00
Dane Springmeyer
6b2b66b894 fix handling/install of sparsehash headers 2013-01-10 09:39:43 -08:00
Dane Springmeyer
94ff584190 finish complete removal of any trace of cairomm/libsigc++ - amends f25d4d9279 and closes #1681 2013-01-09 12:49:39 -08:00
artemp
f25d4d9279 + implement cairo_context wrapper and remove unnecessary dependencies
( cairomm, libsigc++)
2013-01-09 17:00:30 +00:00
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