[python-mapnik] 01/06: Imported Upstream version 0.0~20160317-275bfae

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Fri Mar 18 21:31:00 UTC 2016


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository python-mapnik.

commit 9f903d8bc43b06b67a4a09104b355f7611a434ce
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Fri Mar 18 17:32:16 2016 +0100

    Imported Upstream version 0.0~20160317-275bfae
---
 .travis.yml                                  | 69 ++++++++++++++---------
 bootstrap.sh                                 | 48 +++++++++-------
 mapnik/mapnik_settings.py                    |  6 +-
 setup.py                                     | 82 ++++++++++++----------------
 src/mapnik_color.cpp                         |  9 +--
 src/mapnik_coord.cpp                         | 10 +---
 src/mapnik_datasource.cpp                    | 11 +---
 src/mapnik_datasource_cache.cpp              |  9 +--
 src/mapnik_enumeration.hpp                   |  3 +
 src/mapnik_enumeration_wrapper_converter.hpp |  4 +-
 src/mapnik_envelope.cpp                      | 11 +---
 src/mapnik_expression.cpp                    | 11 +---
 src/mapnik_feature.cpp                       | 13 +----
 src/mapnik_featureset.cpp                    | 11 +---
 src/mapnik_font_engine.cpp                   | 11 +---
 src/mapnik_fontset.cpp                       | 12 +---
 src/mapnik_gamma_method.cpp                  | 10 +---
 src/mapnik_geometry.cpp                      | 14 +----
 src/mapnik_grid.cpp                          | 11 +---
 src/mapnik_grid_view.cpp                     | 11 +---
 src/mapnik_image.cpp                         | 11 +---
 src/mapnik_image_view.cpp                    | 11 +---
 src/mapnik_label_collision_detector.cpp      | 11 +---
 src/mapnik_layer.cpp                         | 11 +---
 src/mapnik_logger.cpp                        | 13 +----
 src/mapnik_map.cpp                           | 12 +---
 src/mapnik_palette.cpp                       | 15 ++---
 src/mapnik_parameters.cpp                    | 11 +---
 src/mapnik_proj_transform.cpp                | 12 +---
 src/mapnik_projection.cpp                    | 11 +---
 src/mapnik_python.cpp                        | 10 +---
 src/mapnik_query.cpp                         | 14 ++---
 src/mapnik_raster_colorizer.cpp              | 11 +---
 src/mapnik_rule.cpp                          | 11 +---
 src/mapnik_scaling_method.cpp                |  9 +--
 src/mapnik_style.cpp                         | 11 +---
 src/mapnik_svg.hpp                           |  5 ++
 src/mapnik_symbolizer.cpp                    | 13 +----
 src/mapnik_text_placement.cpp                | 11 +---
 src/mapnik_threads.hpp                       |  4 ++
 src/mapnik_value_converter.hpp               |  5 +-
 src/mapnik_view_transform.cpp                |  9 +--
 src/python_grid_utils.cpp                    |  9 +--
 src/python_grid_utils.hpp                    |  8 ++-
 src/python_optional.hpp                      |  3 +
 src/python_to_value.hpp                      |  9 +--
 46 files changed, 209 insertions(+), 417 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 9e32a79..7e44c50 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,4 +1,4 @@
-language: cpp
+language: generic
 
 sudo: false
 
@@ -6,46 +6,65 @@ git:
   submodules: true
   depth: 10
 
+addons:
+  postgresql: "9.4"
+
 matrix:
   include:
-     - os: linux
-       compiler: clang
-     - os: osx
-       compiler: clang
+    - os: linux
+      sudo: false
+      compiler: ": clang-release"
+      env: JOBS=8 CXX="clang++-3.5" CC="ccache clang++-3.5 -Qunused-arguments"
+      addons:
+        apt:
+          sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.5' ]
+          packages: [ 'clang-3.5' ]
+    - os: osx
+      osx_image: xcode7.3 # upgrades clang from 6 -> 7
+      compiler: clang
+      env: JOBS=4
+
+cache:
+  directories:
+  - $HOME/.ccache
 
 env:
   global:
     - secure: "CqhZDPctJcpXGPpmIPK5usD/O+2HYawW3434oDufVS9uG/+C7aHzKzi8cuZ7n/REHqJMzy7gJfp6DiyF2QowpnN1L2W0FSJ9VOgj4JQF2Wsupo6gJkq6/CW2Fa35PhQHsv29bfyqtIq+R5SBVAieBe/Lh2P144RwRliGRopGQ68="
     - secure: "idk4fdU49i546Zs6Fxha14H05eRJ1G/D6NPRaie8M8o+xySnEqf+TyA9/HU8QH7cFvroSLuHJ1U7TmwnR+sXy4XBlIfHLi4u2MN+l/q014GG7T2E2xYcTauqjB4ldToRsDQwe5Dq0gZCMsHLPspWPjL9twfp+Ds7qgcFhTsct0s="
-
-addons:
-  postgresql: "9.4"
-  apt:
-    sources:
-     - ubuntu-toolchain-r-test
-     - llvm-toolchain-precise-3.5
-    packages:
-     - clang-3.5
+    - BOOST_PYTHON_LIB="boost_python"
+    - BOOST_SYSTEM_LIB="boost_system"
+    - BOOST_THREAD_LIB="boost_thread"
+    - CCACHE_TEMPDIR=/tmp/.ccache-temp
+    - CCACHE_COMPRESS=1
 
 before_install:
- - export COMMIT_MESSAGE=$(git show -s --format=%B $TRAVIS_COMMIT | tr -d '\n')
+ - export PYTHONUSERBASE=$(pwd)/mason_packages/.link
+ - export PYTHONPATH=$(pwd)/mason_packages/.link/lib/python2.7/site-packages
+ - export PATH=$(pwd)/mason_packages/.link/bin:${PYTHONUSERBASE}/bin:${PATH}
  - export MASON_BUILD=true
+ - export COMMIT_MESSAGE=$(git show -s --format=%B $TRAVIS_COMMIT | tr -d '\n')
  - if [[ $(uname -s) == 'Linux' ]]; then
-     psql -U postgres -c 'create database template_postgis;' -U postgres;
-     psql -U postgres -c 'create extension postgis;' -d template_postgis -U postgres;
-     export CXX="clang++-3.5";
-     export CC="clang++-3.5";
-     export PYTHONPATH=$(pwd)/mason_packages/.link/lib/python2.7/site-packages;
+     export LDSHARED=$(python -c "import os;from distutils import sysconfig;print sysconfig.get_config_var('LDSHARED').replace('cc ','clang++-3.5 ')");
    else
-     export PYTHONPATH=$(pwd)/mason_packages/.link/lib/python/site-packages;
+     sudo easy_install pip;
+     brew rm postgis --force;
+     brew install postgis --force;
+     pg_ctl -w start -l postgres.log --pgdata /usr/local/var/postgres;
+     createuser -s postgres;
+     export LDSHARED=$(python -c "import os;from distutils import sysconfig;print sysconfig.get_config_var('LDSHARED').replace('cc ','clang++ ')");
    fi;
- - PYTHONUSERBASE=$(pwd)/mason_packages/.link pip install --user nose
- - PYTHONUSERBASE=$(pwd)/mason_packages/.link pip install --user wheel
- - PYTHONUSERBASE=$(pwd)/mason_packages/.link pip install --user twine
+ - psql -c 'create database template_postgis;' -U postgres
+ - psql -c 'create extension postgis;' -d template_postgis -U postgres
+ - pip install --upgrade --user nose
+ - pip install --upgrade --user wheel
+ - pip install --upgrade --user twine
+ - pip install --upgrade --user setuptools
  - python --version
 
 install:
- - python setup.py install --prefix $(pwd)/mason_packages/.link
+ - mkdir -p ${PYTHONPATH}
+ - python setup.py install --prefix ${PYTHONUSERBASE}
 
 before_script:
  - python test/run_tests.py -q
diff --git a/bootstrap.sh b/bootstrap.sh
index 003df5e..7c0b6f5 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -1,16 +1,19 @@
 #!/usr/bin/env bash
 
+MASON_VERSION="694d08c"
+
 function setup_mason() {
     if [[ ! -d ./.mason ]]; then
-        git clone --depth 1 https://github.com/mapbox/mason.git ./.mason
+        git clone https://github.com/mapbox/mason.git ./.mason
+        (cd ./.mason && git checkout ${MASON_VERSION})
     else
         echo "Updating to latest mason"
-        (cd ./.mason && git pull)
+        (cd ./.mason && git fetch && git checkout ${MASON_VERSION})
     fi
     export MASON_DIR=$(pwd)/.mason
     export PATH=$(pwd)/.mason:$PATH
     export CXX=${CXX:-clang++}
-    export CC=${CXX:-clang++}
+    export CC=${CC:-clang}
 }
 
 function install() {
@@ -24,24 +27,27 @@ function install() {
 ICU_VERSION="55.1"
 
 function install_mason_deps() {
-    install mapnik latest
-    install gdal 1.11.2
-    install boost 1.59.0
-    install boost_liball 1.59.0
-    install freetype 2.6
-    install harfbuzz 0.9.40
-    install jpeg_turbo 1.4.0
-    install libpng 1.6.17
-    install webp 0.4.2
-    install icu ${ICU_VERSION}
-    install proj 4.8.0
-    install libtiff 4.0.4beta
-    install libpq 9.4.0
-    install sqlite 3.8.8.1
-    install expat 2.1.0
-    install pixman 0.32.6
-    install cairo 1.14.2
-    install protobuf 2.6.1
+    install mapnik latest &
+    install ccache 3.2.4 &
+    install jpeg_turbo 1.4.0 libjpeg &
+    install libpng 1.6.20 libpng &
+    install libtiff 4.0.4beta libtiff &
+    install libpq 9.4.1 &
+    install sqlite 3.8.8.3 libsqlite3 &
+    install expat 2.1.0 libexpat &
+    wait
+    install icu ${ICU_VERSION} &
+    install proj 4.8.0 libproj &
+    install pixman 0.32.6 libpixman-1 &
+    install cairo 1.14.2 libcairo &
+    wait
+    install webp 0.4.2 libwebp &
+    install gdal 1.11.2 libgdal &
+    install boost 1.59.0 &
+    install boost_liball 1.59.0 &
+    install freetype 2.6 libfreetype &
+    install harfbuzz 0.9.41 libharfbuzz &
+    wait
 }
 
 function setup_runtime_settings() {
diff --git a/mapnik/mapnik_settings.py b/mapnik/mapnik_settings.py
index a5170cf..29959ca 100644
--- a/mapnik/mapnik_settings.py
+++ b/mapnik/mapnik_settings.py
@@ -3,12 +3,12 @@ import os
 mapnik_data_dir = os.path.dirname(os.path.realpath(__file__))
 
 env = {}
-icu_path = os.path.join(mapnik_data_dir, 'plugins', 'icu')
+icu_path = os.path.join(mapnik_data_dir, 'share', 'icu')
 if os.path.isdir(icu_path):
     env['ICU_DATA'] = icu_path
-gdal_path = os.path.join(mapnik_data_dir, 'plugins', 'gdal')
+gdal_path = os.path.join(mapnik_data_dir, 'share', 'gdal')
 if os.path.isdir(gdal_path):
     env['GDAL_DATA'] = gdal_path
-proj_path = os.path.join(mapnik_data_dir, 'plugins', 'proj')
+proj_path = os.path.join(mapnik_data_dir, 'share', 'proj')
 if os.path.isdir(proj_path):
     env['PROJ_LIB'] = proj_path
diff --git a/setup.py b/setup.py
index 64964d2..fc592ef 100755
--- a/setup.py
+++ b/setup.py
@@ -6,6 +6,7 @@ import re
 import shutil
 import subprocess
 import sys
+import glob
 from distutils import sysconfig
 from ctypes.util import find_library
 
@@ -49,7 +50,7 @@ def find_boost_library(_id):
 
 
 def get_boost_library_names():
-    wanted = ['boost_python', 'boost_system', 'boost_thread']
+    wanted = ['boost_python', 'boost_thread', 'boost_system']
     found = []
     missing = []
     for _id in wanted:
@@ -109,12 +110,15 @@ else:
     mason_build = False
 
 
-try:
-    linkflags = check_output([mapnik_config, '--libs']).split(' ')
-    lib_path = linkflags[0][2:]
-    linkflags.extend(check_output([mapnik_config, '--ldflags']).split(' '))
-except:
-    raise Exception("Failed to find proper linking flags from mapnik config")
+linkflags = []
+lib_path = os.path.join(check_output([mapnik_config, '--prefix']),'lib')
+linkflags.extend(check_output([mapnik_config, '--ldflags']).split(' '))
+linkflags.extend(check_output([mapnik_config, '--dep-libs']).split(' '))
+linkflags.extend([
+'-lmapnik',
+'-lmapnik-wkt',
+'-lmapnik-json',
+] + ['-l%s' % i for i in get_boost_library_names()])
 
 # Dynamically make the mapnik/paths.py file if it doesn't exist.
 if os.path.isfile('mapnik/paths.py'):
@@ -135,7 +139,9 @@ if mason_build:
         else:
             base_f = 'libmapnik.so.3.0'
         f = os.path.join(lib_path, base_f)
-        shutil.copyfile(f, os.path.join('mapnik', base_f))
+        if not os.path.exists(os.path.join('mapnik', 'lib')):
+            os.makedirs(os.path.join('mapnik', 'lib'))
+        shutil.copyfile(f, os.path.join('mapnik', 'lib', base_f))
     except shutil.Error:
         pass
     input_plugin_files = os.listdir(input_plugin_path)
@@ -182,55 +188,40 @@ if create_paths:
     f_paths.close()
 
 
-if not mason_build:
-    icu_path = check_output([mapnik_config, '--icu-data'])
-else:
-    icu_path = 'mason_packages/.link/share/icu/'
-if icu_path:
-    icu_files = os.listdir(icu_path)
-    icu_files = [os.path.join(icu_path, f) for f in icu_files]
-    if not os.path.exists(os.path.join('mapnik', 'plugins', 'icu')):
-        os.makedirs(os.path.join('mapnik', 'plugins', 'icu'))
+if mason_build:
+
+    share_dir = 'share'
+
+    for dep in ['icu','gdal','proj']:
+        share_path = os.path.join('mapnik', share_dir, dep)
+        if not os.path.exists(share_path):
+            os.makedirs(share_path)
+
+    icu_path = 'mason_packages/.link/share/icu/*/*.dat'
+    icu_files = glob.glob(icu_path)
+    if len(icu_files) != 1:
+        raise Exception("Failed to find icu dat file at "+ icu_path)
     for f in icu_files:
-        try:
-            shutil.copyfile(f, os.path.join(
-                'mapnik', 'plugins', 'icu', os.path.basename(f)))
-        except shutil.Error:
-            pass
+        shutil.copyfile(f, os.path.join(
+            'mapnik', share_dir, 'icu', os.path.basename(f)))
 
-if not mason_build:
-    gdal_path = check_output([mapnik_config, '--gdal-data'])
-else:
     gdal_path = 'mason_packages/.link/share/gdal/'
-    if os.path.exists('mason_packages/.link/share/gdal/gdal/'):
-        gdal_path = 'mason_packages/.link/share/gdal/gdal/'
-if gdal_path:
     gdal_files = os.listdir(gdal_path)
     gdal_files = [os.path.join(gdal_path, f) for f in gdal_files]
-    if not os.path.exists(os.path.join('mapnik', 'plugins', 'gdal')):
-        os.makedirs(os.path.join('mapnik', 'plugins', 'gdal'))
     for f in gdal_files:
         try:
             shutil.copyfile(f, os.path.join(
-                'mapnik', 'plugins', 'gdal', os.path.basename(f)))
+                'mapnik', share_dir, 'gdal', os.path.basename(f)))
         except shutil.Error:
             pass
 
-if not mason_build:
-    proj_path = check_output([mapnik_config, '--proj-lib'])
-else:
     proj_path = 'mason_packages/.link/share/proj/'
-    if os.path.exists('mason_packages/.link/share/proj/proj/'):
-        proj_path = 'mason_packages/.link/share/proj/proj/'
-if proj_path:
     proj_files = os.listdir(proj_path)
     proj_files = [os.path.join(proj_path, f) for f in proj_files]
-    if not os.path.exists(os.path.join('mapnik', 'plugins', 'proj')):
-        os.makedirs(os.path.join('mapnik', 'plugins', 'proj'))
     for f in proj_files:
         try:
             shutil.copyfile(f, os.path.join(
-                'mapnik', 'plugins', 'proj', os.path.basename(f)))
+                'mapnik', share_dir, 'proj', os.path.basename(f)))
         except shutil.Error:
             pass
 
@@ -253,7 +244,7 @@ if sys.platform == 'darwin':
 else:
     linkflags.append('-lrt')
     linkflags.append('-Wl,-z,origin')
-    linkflags.append('-Wl,-rpath=$ORIGIN')
+    linkflags.append('-Wl,-rpath=$ORIGIN/lib')
 
 if os.environ.get("CC", False) == False:
     os.environ["CC"] = check_output([mapnik_config, '--cxx'])
@@ -268,13 +259,13 @@ setup(
     author_email="flippmoke at gmail.com",
     description="Python bindings for Mapnik",
     license="GNU LESSER GENERAL PUBLIC LICENSE",
-    keywords="mapnik mapbox mapping carteography",
+    keywords="mapnik mapbox mapping cartography",
     url="http://mapnik.org/",
     tests_require=[
         'nose',
     ],
     package_data={
-        'mapnik': ['libmapnik.*', 'plugins/*/*'],
+        'mapnik': ['lib/*', 'plugins/*/*', 'share/*/*'],
     },
     test_suite='nose.collector',
     cmdclass={
@@ -319,11 +310,6 @@ setup(
             'src/python_grid_utils.cpp',
         ],
             language='c++',
-            libraries=[
-                'mapnik',
-                'mapnik-wkt',
-                'mapnik-json',
-            ] + get_boost_library_names(),
             extra_compile_args=extra_comp_args,
             extra_link_args=linkflags,
         )
diff --git a/src/mapnik_color.cpp b/src/mapnik_color.cpp
index df98a4a..3799f77 100644
--- a/src/mapnik_color.cpp
+++ b/src/mapnik_color.cpp
@@ -23,15 +23,8 @@
 #include <mapnik/config.hpp>
 #include "boost_std_shared_shim.hpp"
 
-// boost
 #pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
-
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #pragma GCC diagnostic pop
 
diff --git a/src/mapnik_coord.cpp b/src/mapnik_coord.cpp
index e985938..633d31c 100644
--- a/src/mapnik_coord.cpp
+++ b/src/mapnik_coord.cpp
@@ -22,19 +22,11 @@
 #include <mapnik/config.hpp>
 #include "boost_std_shared_shim.hpp"
 
-// boost
 #pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
-
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #pragma GCC diagnostic pop
 
-
 // mapnik
 #include <mapnik/coord.hpp>
 
diff --git a/src/mapnik_datasource.cpp b/src/mapnik_datasource.cpp
index bf3afb3..bde9143 100644
--- a/src/mapnik_datasource.cpp
+++ b/src/mapnik_datasource.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/noncopyable.hpp>
 #include <boost/version.hpp>
diff --git a/src/mapnik_datasource_cache.cpp b/src/mapnik_datasource_cache.cpp
index 77accef..5178654 100644
--- a/src/mapnik_datasource_cache.cpp
+++ b/src/mapnik_datasource_cache.cpp
@@ -22,15 +22,8 @@
 
 #include <mapnik/config.hpp>
 
-// boost
-#include "boost_std_shared_shim.hpp"
 #pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/noncopyable.hpp>
 #pragma GCC diagnostic pop
diff --git a/src/mapnik_enumeration.hpp b/src/mapnik_enumeration.hpp
index ce2266a..6e13abe 100644
--- a/src/mapnik_enumeration.hpp
+++ b/src/mapnik_enumeration.hpp
@@ -22,10 +22,13 @@
 #ifndef MAPNIK_PYTHON_BINDING_ENUMERATION_INCLUDED
 #define MAPNIK_PYTHON_BINDING_ENUMERATION_INCLUDED
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python/converter/registered.hpp>  // for registered
 #include <boost/python/enum.hpp>        // for enum_
 #include <boost/python/implicit.hpp>    // for implicitly_convertible
 #include <boost/python/to_python_converter.hpp>
+#pragma GCC diagnostic pop
 
 namespace mapnik {
 
diff --git a/src/mapnik_enumeration_wrapper_converter.hpp b/src/mapnik_enumeration_wrapper_converter.hpp
index 45e5f7f..cf6edbf 100644
--- a/src/mapnik_enumeration_wrapper_converter.hpp
+++ b/src/mapnik_enumeration_wrapper_converter.hpp
@@ -26,8 +26,10 @@
 // mapnik
 #include <mapnik/symbolizer.hpp>
 
-// boost
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
+#pragma GCC diagnostic pop
 
 
 namespace boost { namespace python {
diff --git a/src/mapnik_envelope.cpp b/src/mapnik_envelope.cpp
index 5bbfb2c..0ea4ded 100644
--- a/src/mapnik_envelope.cpp
+++ b/src/mapnik_envelope.cpp
@@ -21,17 +21,12 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
+#include <boost/noncopyable.hpp>
 #pragma GCC diagnostic pop
 
 // mapnik
diff --git a/src/mapnik_expression.cpp b/src/mapnik_expression.cpp
index 714c1a3..920e1d3 100644
--- a/src/mapnik_expression.cpp
+++ b/src/mapnik_expression.cpp
@@ -22,17 +22,10 @@
 
 #include <mapnik/config.hpp>
 #include "python_to_value.hpp"
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/noncopyable.hpp>
 #pragma GCC diagnostic pop
diff --git a/src/mapnik_feature.cpp b/src/mapnik_feature.cpp
index 07c9f73..b479db3 100644
--- a/src/mapnik_feature.cpp
+++ b/src/mapnik_feature.cpp
@@ -21,23 +21,16 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
+#include <boost/noncopyable.hpp>
 #include <boost/python/iterator.hpp>
 #include <boost/python/call_method.hpp>
 #include <boost/python/tuple.hpp>
 #include <boost/python/to_python_converter.hpp>
-#include <boost/noncopyable.hpp>
 #pragma GCC diagnostic pop
 
 // mapnik
diff --git a/src/mapnik_featureset.cpp b/src/mapnik_featureset.cpp
index 87aae04..9d034d4 100644
--- a/src/mapnik_featureset.cpp
+++ b/src/mapnik_featureset.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/noncopyable.hpp>
 #pragma GCC diagnostic pop
diff --git a/src/mapnik_font_engine.cpp b/src/mapnik_font_engine.cpp
index 4eafb1f..629618a 100644
--- a/src/mapnik_font_engine.cpp
+++ b/src/mapnik_font_engine.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/noncopyable.hpp>
 #pragma GCC diagnostic pop
diff --git a/src/mapnik_fontset.cpp b/src/mapnik_fontset.cpp
index 26c294d..43b2e0b 100644
--- a/src/mapnik_fontset.cpp
+++ b/src/mapnik_fontset.cpp
@@ -21,18 +21,12 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
+#include <boost/noncopyable.hpp>
 #pragma GCC diagnostic pop
 
 //mapnik
diff --git a/src/mapnik_gamma_method.cpp b/src/mapnik_gamma_method.cpp
index 591270e..d0ba6f7 100644
--- a/src/mapnik_gamma_method.cpp
+++ b/src/mapnik_gamma_method.cpp
@@ -22,16 +22,10 @@
 
 #include <mapnik/config.hpp>
 
-// boost
 #pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
-
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
+#include <boost/noncopyable.hpp>
 #pragma GCC diagnostic pop
 
 #include <mapnik/symbolizer_enumerations.hpp>
diff --git a/src/mapnik_geometry.cpp b/src/mapnik_geometry.cpp
index 22124d5..624e612 100644
--- a/src/mapnik_geometry.cpp
+++ b/src/mapnik_geometry.cpp
@@ -21,24 +21,16 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
+#include <boost/noncopyable.hpp>
 #include <boost/python/def.hpp>
 #include <boost/python/exception_translator.hpp>
 #include <boost/python/manage_new_object.hpp>
 #include <boost/python/iterator.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/version.hpp>
 #pragma GCC diagnostic pop
 
 // mapnik
diff --git a/src/mapnik_grid.cpp b/src/mapnik_grid.cpp
index 6cb8bd3..03a1d0f 100644
--- a/src/mapnik_grid.cpp
+++ b/src/mapnik_grid.cpp
@@ -23,17 +23,10 @@
 #if defined(GRID_RENDERER)
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/python/module.hpp>
 #include <boost/python/def.hpp>
diff --git a/src/mapnik_grid_view.cpp b/src/mapnik_grid_view.cpp
index 4874756..b0c9c2b 100644
--- a/src/mapnik_grid_view.cpp
+++ b/src/mapnik_grid_view.cpp
@@ -23,17 +23,10 @@
 #if defined(GRID_RENDERER)
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/python/module.hpp>
 #include <boost/python/def.hpp>
diff --git a/src/mapnik_image.cpp b/src/mapnik_image.cpp
index b59fa6b..53244b2 100644
--- a/src/mapnik_image.cpp
+++ b/src/mapnik_image.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/python/module.hpp>
 #include <boost/python/def.hpp>
diff --git a/src/mapnik_image_view.cpp b/src/mapnik_image_view.cpp
index 762d3da..a6afd5b 100644
--- a/src/mapnik_image_view.cpp
+++ b/src/mapnik_image_view.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/python/module.hpp>
 #include <boost/python/def.hpp>
diff --git a/src/mapnik_label_collision_detector.cpp b/src/mapnik_label_collision_detector.cpp
index c844bed..629fb0f 100644
--- a/src/mapnik_label_collision_detector.cpp
+++ b/src/mapnik_label_collision_detector.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/python/module.hpp>
 #include <boost/python/def.hpp>
diff --git a/src/mapnik_layer.cpp b/src/mapnik_layer.cpp
index d28bf4b..671cc90 100644
--- a/src/mapnik_layer.cpp
+++ b/src/mapnik_layer.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
 #pragma GCC diagnostic pop
diff --git a/src/mapnik_logger.cpp b/src/mapnik_logger.cpp
index aa1b037..50103e1 100644
--- a/src/mapnik_logger.cpp
+++ b/src/mapnik_logger.cpp
@@ -21,19 +21,12 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
-#include <boost/noncopyable.hpp>
+#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
 #pragma GCC diagnostic pop
 
 #include <mapnik/debug.hpp>
diff --git a/src/mapnik_map.cpp b/src/mapnik_map.cpp
index 4d04748..e7efb51 100644
--- a/src/mapnik_map.cpp
+++ b/src/mapnik_map.cpp
@@ -21,19 +21,11 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
-#include <boost/noncopyable.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
 #include <boost/python/iterator.hpp>
 #include <boost/iterator/transform_iterator.hpp>
diff --git a/src/mapnik_palette.cpp b/src/mapnik_palette.cpp
index 97c78f1..baae694 100644
--- a/src/mapnik_palette.cpp
+++ b/src/mapnik_palette.cpp
@@ -21,19 +21,14 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
-#include <boost/noncopyable.hpp>
+#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
+#include <boost/python/iterator.hpp>
+#include <boost/iterator/transform_iterator.hpp>
 #pragma GCC diagnostic pop
 
 //mapnik
diff --git a/src/mapnik_parameters.cpp b/src/mapnik_parameters.cpp
index 0863782..6d7fb06 100644
--- a/src/mapnik_parameters.cpp
+++ b/src/mapnik_parameters.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #pragma GCC diagnostic pop
 
diff --git a/src/mapnik_proj_transform.cpp b/src/mapnik_proj_transform.cpp
index 560abbf..a17f162 100644
--- a/src/mapnik_proj_transform.cpp
+++ b/src/mapnik_proj_transform.cpp
@@ -21,18 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/noncopyable.hpp>
 #pragma GCC diagnostic pop
diff --git a/src/mapnik_projection.cpp b/src/mapnik_projection.cpp
index a136cd0..f3c1263 100644
--- a/src/mapnik_projection.cpp
+++ b/src/mapnik_projection.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #pragma GCC diagnostic pop
 
diff --git a/src/mapnik_python.cpp b/src/mapnik_python.cpp
index 7639493..c937628 100644
--- a/src/mapnik_python.cpp
+++ b/src/mapnik_python.cpp
@@ -21,16 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include "python_to_value.hpp"
 #include <boost/python/args.hpp>        // for keywords, arg, etc
 #include <boost/python/converter/from_python.hpp>
diff --git a/src/mapnik_query.cpp b/src/mapnik_query.cpp
index 5510b7b..dbeedf4 100644
--- a/src/mapnik_query.cpp
+++ b/src/mapnik_query.cpp
@@ -21,21 +21,15 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
 
-
-#include "python_to_value.hpp"
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #pragma GCC diagnostic pop
 
+#include "python_to_value.hpp"
+
 // mapnik
 #include <mapnik/query.hpp>
 #include <mapnik/box2d.hpp>
diff --git a/src/mapnik_raster_colorizer.cpp b/src/mapnik_raster_colorizer.cpp
index c7aef73..6a8a709 100644
--- a/src/mapnik_raster_colorizer.cpp
+++ b/src/mapnik_raster_colorizer.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
 #pragma GCC diagnostic pop
diff --git a/src/mapnik_rule.cpp b/src/mapnik_rule.cpp
index 4a309e6..feb7129 100644
--- a/src/mapnik_rule.cpp
+++ b/src/mapnik_rule.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/python/implicit.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
diff --git a/src/mapnik_scaling_method.cpp b/src/mapnik_scaling_method.cpp
index 8c91828..978cf5b 100644
--- a/src/mapnik_scaling_method.cpp
+++ b/src/mapnik_scaling_method.cpp
@@ -23,15 +23,8 @@
 
 #include <mapnik/image_scaling.hpp>
 
-// boost
 #pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
-
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #pragma GCC diagnostic pop
 
diff --git a/src/mapnik_style.cpp b/src/mapnik_style.cpp
index aa12615..8f7f328 100644
--- a/src/mapnik_style.cpp
+++ b/src/mapnik_style.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
 #pragma GCC diagnostic pop
diff --git a/src/mapnik_svg.hpp b/src/mapnik_svg.hpp
index 418ee05..4555ecf 100644
--- a/src/mapnik_svg.hpp
+++ b/src/mapnik_svg.hpp
@@ -27,6 +27,11 @@
 #include <mapnik/symbolizer.hpp>
 #include <mapnik/value_error.hpp>
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
+#include <boost/python.hpp>
+#pragma GCC diagnostic pop
+
 namespace mapnik {
 using namespace boost::python;
 
diff --git a/src/mapnik_symbolizer.cpp b/src/mapnik_symbolizer.cpp
index aa66420..6473132 100644
--- a/src/mapnik_symbolizer.cpp
+++ b/src/mapnik_symbolizer.cpp
@@ -21,19 +21,12 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
-#include <boost/python/suite/indexing/map_indexing_suite.hpp>
+#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
 #pragma GCC diagnostic pop
 
 // mapnik
diff --git a/src/mapnik_text_placement.cpp b/src/mapnik_text_placement.cpp
index 522f3bc..05aef76 100644
--- a/src/mapnik_text_placement.cpp
+++ b/src/mapnik_text_placement.cpp
@@ -21,17 +21,10 @@
  *****************************************************************************/
 
 #include <mapnik/config.hpp>
-
-// boost
 #include "boost_std_shared_shim.hpp"
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/python/stl_iterator.hpp>
 #include <boost/noncopyable.hpp>
diff --git a/src/mapnik_threads.hpp b/src/mapnik_threads.hpp
index 25b5587..aa262ea 100644
--- a/src/mapnik_threads.hpp
+++ b/src/mapnik_threads.hpp
@@ -22,8 +22,12 @@
 #ifndef MAPNIK_THREADS_HPP
 #define MAPNIK_THREADS_HPP
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/thread/tss.hpp>
 #include <Python.h>
+#pragma GCC diagnostic pop
+
 
 namespace mapnik {
 class python_thread
diff --git a/src/mapnik_value_converter.hpp b/src/mapnik_value_converter.hpp
index 626c415..8c32d08 100644
--- a/src/mapnik_value_converter.hpp
+++ b/src/mapnik_value_converter.hpp
@@ -25,9 +25,12 @@
 // mapnik
 #include <mapnik/value.hpp>
 #include <mapnik/util/variant.hpp>
-// boost
+
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #include <boost/implicit_cast.hpp>
+#pragma GCC diagnostic pop
 
 namespace boost { namespace python {
 
diff --git a/src/mapnik_view_transform.cpp b/src/mapnik_view_transform.cpp
index b3e6105..8a1a0d3 100644
--- a/src/mapnik_view_transform.cpp
+++ b/src/mapnik_view_transform.cpp
@@ -22,15 +22,8 @@
 
 #include <mapnik/config.hpp>
 
-// boost
 #pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
-
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #pragma GCC diagnostic pop
 
diff --git a/src/python_grid_utils.cpp b/src/python_grid_utils.cpp
index dc3037e..1140b4f 100644
--- a/src/python_grid_utils.cpp
+++ b/src/python_grid_utils.cpp
@@ -24,15 +24,8 @@
 
 #include <mapnik/config.hpp>
 
-// boost
 #pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
-
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #pragma GCC diagnostic pop
 
diff --git a/src/python_grid_utils.hpp b/src/python_grid_utils.hpp
index a19cab6..f38ec75 100644
--- a/src/python_grid_utils.hpp
+++ b/src/python_grid_utils.hpp
@@ -22,13 +22,15 @@
 #ifndef MAPNIK_PYTHON_BINDING_GRID_UTILS_INCLUDED
 #define MAPNIK_PYTHON_BINDING_GRID_UTILS_INCLUDED
 
-// boost
-#include <boost/python.hpp>
-
 // mapnik
 #include <mapnik/map.hpp>
 #include <mapnik/grid/grid.hpp>
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
+#include <boost/python.hpp>
+#pragma GCC diagnostic pop
+
 namespace mapnik {
 
 
diff --git a/src/python_optional.hpp b/src/python_optional.hpp
index 45db528..d690b7c 100644
--- a/src/python_optional.hpp
+++ b/src/python_optional.hpp
@@ -20,10 +20,13 @@
  *
  *****************************************************************************/
 
+#pragma GCC diagnostic push
+#include <mapnik/warning_ignore.hpp>
 #include <boost/optional/optional.hpp>
 #include <boost/python.hpp>
 
 #include <mapnik/util/noncopyable.hpp>
+#pragma GCC diagnostic pop
 
 // boost::optional<T> to/from converter from John Wiegley
 
diff --git a/src/python_to_value.hpp b/src/python_to_value.hpp
index d8c63ee..c8f087b 100644
--- a/src/python_to_value.hpp
+++ b/src/python_to_value.hpp
@@ -22,15 +22,8 @@
 #ifndef MAPNIK_PYTHON_BINDING_PYTHON_TO_VALUE
 #define MAPNIK_PYTHON_BINDING_PYTHON_TO_VALUE
 
-// boost
 #pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wunused-local-typedef"
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-Wshadow"
-#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
-
+#include <mapnik/warning_ignore.hpp>
 #include <boost/python.hpp>
 #pragma GCC diagnostic pop
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/python-mapnik.git



More information about the Pkg-grass-devel mailing list