break out wkt/json grammars into separate libraries
This commit is contained in:
parent
6b1c4d00e5
commit
44bc5b59d6
12 changed files with 47 additions and 8 deletions
|
@ -1175,7 +1175,7 @@ if not preconfigured:
|
||||||
|
|
||||||
# Set up for libraries and headers dependency checks
|
# Set up for libraries and headers dependency checks
|
||||||
env['CPPPATH'] = ['#include', '#']
|
env['CPPPATH'] = ['#include', '#']
|
||||||
env['LIBPATH'] = ['#src']
|
env['LIBPATH'] = ['#src','#src/json','#src/wkt']
|
||||||
|
|
||||||
# set any custom cxxflags and ldflags to come first
|
# set any custom cxxflags and ldflags to come first
|
||||||
if sys.platform == 'darwin' and not env['HOST']:
|
if sys.platform == 'darwin' and not env['HOST']:
|
||||||
|
@ -1916,6 +1916,10 @@ if not HELP_REQUESTED:
|
||||||
if env['RUNTIME_LINK'] == 'shared':
|
if env['RUNTIME_LINK'] == 'shared':
|
||||||
SConscript('deps/agg/build.py')
|
SConscript('deps/agg/build.py')
|
||||||
|
|
||||||
|
# Build spirit grammars
|
||||||
|
SConscript('src/json/build.py')
|
||||||
|
SConscript('src/wkt/build.py')
|
||||||
|
|
||||||
# Build the core library
|
# Build the core library
|
||||||
SConscript('src/build.py')
|
SConscript('src/build.py')
|
||||||
|
|
||||||
|
|
|
@ -183,9 +183,13 @@ if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
py_env.Append(CPPDEFINES = '-DHAVE_PYCAIRO')
|
py_env.Append(CPPDEFINES = '-DHAVE_PYCAIRO')
|
||||||
|
|
||||||
py_env.Append(LINKFLAGS=python_link_flag)
|
py_env.Append(LINKFLAGS=python_link_flag)
|
||||||
|
py_env.AppendUnique(LIBS='mapnik_json_geometry_grammar')
|
||||||
|
py_env.AppendUnique(LIBS='mapnik_json_feature_grammar')
|
||||||
|
py_env.AppendUnique(LIBS='mapnik_json_generator_grammar')
|
||||||
_mapnik = py_env.LoadableModule('mapnik/_mapnik', sources, LDMODULEPREFIX='', LDMODULESUFFIX='.so')
|
_mapnik = py_env.LoadableModule('mapnik/_mapnik', sources, LDMODULEPREFIX='', LDMODULESUFFIX='.so')
|
||||||
|
|
||||||
Depends(_mapnik, env.subst('../../src/%s' % env['MAPNIK_LIB_NAME']))
|
Depends(_mapnik, env.subst('../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
Depends(_mapnik, env.subst('../../src/json/libmapnik_json_geometry_grammar${LIBSUFFIX}'))
|
||||||
|
|
||||||
if env['PLATFORM'] == 'SunOS' and env['PYTHON_IS_64BIT']:
|
if env['PLATFORM'] == 'SunOS' and env['PYTHON_IS_64BIT']:
|
||||||
# http://mail.python.org/pipermail/python-dev/2006-August/068528.html
|
# http://mail.python.org/pipermail/python-dev/2006-August/068528.html
|
||||||
|
|
|
@ -37,6 +37,8 @@ plugin_sources = Split(
|
||||||
libraries = []
|
libraries = []
|
||||||
libraries.append('boost_system%s' % env['BOOST_APPEND'])
|
libraries.append('boost_system%s' % env['BOOST_APPEND'])
|
||||||
libraries.append(env['ICU_LIB_NAME'])
|
libraries.append(env['ICU_LIB_NAME'])
|
||||||
|
libraries.append('mapnik_json_geometry_grammar')
|
||||||
|
libraries.append('mapnik_wkt_grammar')
|
||||||
|
|
||||||
if env['PLUGIN_LINKING'] == 'shared':
|
if env['PLUGIN_LINKING'] == 'shared':
|
||||||
libraries.append(env['MAPNIK_NAME'])
|
libraries.append(env['MAPNIK_NAME'])
|
||||||
|
@ -49,6 +51,8 @@ if env['PLUGIN_LINKING'] == 'shared':
|
||||||
|
|
||||||
# if the plugin links to libmapnik ensure it is built first
|
# if the plugin links to libmapnik ensure it is built first
|
||||||
Depends(TARGET, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
Depends(TARGET, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
Depends(TARGET, env.subst('../../../src/json/libmapnik_json_geometry_grammar${LIBSUFFIX}'))
|
||||||
|
Depends(TARGET, env.subst('../../../src/wkt/libmapnik_wkt_grammar${LIBSUFFIX}'))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], TARGET)
|
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], TARGET)
|
||||||
|
|
|
@ -42,8 +42,6 @@
|
||||||
#include <mapnik/boolean.hpp>
|
#include <mapnik/boolean.hpp>
|
||||||
#include <mapnik/util/trim.hpp>
|
#include <mapnik/util/trim.hpp>
|
||||||
#include <mapnik/value_types.hpp>
|
#include <mapnik/value_types.hpp>
|
||||||
#include <mapnik/wkt/wkt_grammar_impl.hpp>
|
|
||||||
#include <mapnik/json/geometry_grammar_impl.hpp>
|
|
||||||
|
|
||||||
// stl
|
// stl
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
|
@ -38,8 +38,9 @@ plugin_sources = Split(
|
||||||
libraries = []
|
libraries = []
|
||||||
libraries.append(env['ICU_LIB_NAME'])
|
libraries.append(env['ICU_LIB_NAME'])
|
||||||
libraries.append('boost_system%s' % env['BOOST_APPEND'])
|
libraries.append('boost_system%s' % env['BOOST_APPEND'])
|
||||||
#if env['THREADING'] == 'multi':
|
libraries.append('mapnik_json_geometry_grammar')
|
||||||
# libraries.append('boost_thread%s' % env['BOOST_APPEND'])
|
libraries.append('mapnik_json_feature_grammar')
|
||||||
|
libraries.append('mapnik_json_feature_collection_grammar')
|
||||||
|
|
||||||
if env['PLUGIN_LINKING'] == 'shared':
|
if env['PLUGIN_LINKING'] == 'shared':
|
||||||
libraries.append(env['MAPNIK_NAME'])
|
libraries.append(env['MAPNIK_NAME'])
|
||||||
|
@ -52,6 +53,9 @@ if env['PLUGIN_LINKING'] == 'shared':
|
||||||
|
|
||||||
# if the plugin links to libmapnik ensure it is built first
|
# if the plugin links to libmapnik ensure it is built first
|
||||||
Depends(TARGET, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
Depends(TARGET, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
Depends(TARGET, env.subst('../../../src/json/libmapnik_json_geometry_grammar${LIBSUFFIX}'))
|
||||||
|
Depends(TARGET, env.subst('../../../src/json/libmapnik_json_feature_grammar${LIBSUFFIX}'))
|
||||||
|
Depends(TARGET, env.subst('../../../src/json/libmapnik_json_feature_collection_grammar${LIBSUFFIX}'))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], TARGET)
|
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], TARGET)
|
||||||
|
|
|
@ -43,9 +43,6 @@
|
||||||
#include <mapnik/util/geometry_to_ds_type.hpp>
|
#include <mapnik/util/geometry_to_ds_type.hpp>
|
||||||
#include <mapnik/util/variant.hpp>
|
#include <mapnik/util/variant.hpp>
|
||||||
#include <mapnik/json/feature_collection_grammar.hpp>
|
#include <mapnik/json/feature_collection_grammar.hpp>
|
||||||
#include <mapnik/json/feature_collection_grammar_impl.hpp>
|
|
||||||
#include <mapnik/json/feature_grammar_impl.hpp>
|
|
||||||
#include <mapnik/json/geometry_grammar_impl.hpp>
|
|
||||||
|
|
||||||
#include <boost/spirit/include/qi.hpp>
|
#include <boost/spirit/include/qi.hpp>
|
||||||
|
|
||||||
|
|
28
src/json/mapnik_json_feature_collection_grammar.cpp
Normal file
28
src/json/mapnik_json_feature_collection_grammar.cpp
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
/*****************************************************************************
|
||||||
|
*
|
||||||
|
* This file is part of Mapnik (c++ mapping toolkit)
|
||||||
|
*
|
||||||
|
* Copyright (C) 2014 Artem Pavlenko, Jean-Francois Doyon
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#include <mapnik/feature.hpp>
|
||||||
|
#include <mapnik/json/feature_collection_grammar_impl.hpp>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
using iterator_type = std::string::const_iterator;
|
||||||
|
template struct mapnik::json::feature_collection_grammar<iterator_type,mapnik::feature_impl> ;
|
Loading…
Reference in a new issue