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
This commit is contained in:
parent
17e5fb7302
commit
82ac99611e
14 changed files with 62 additions and 30 deletions
23
SConstruct
23
SConstruct
|
@ -291,6 +291,8 @@ opts.AddVariables(
|
||||||
('CC', 'The C compiler used for configure checks of C libs (defaults to gcc).', 'gcc'),
|
('CC', 'The C compiler used for configure checks of C libs (defaults to gcc).', 'gcc'),
|
||||||
('CUSTOM_CXXFLAGS', 'Custom C++ flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir>', ''),
|
('CUSTOM_CXXFLAGS', 'Custom C++ flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir>', ''),
|
||||||
('CUSTOM_LDFLAGS', 'Custom linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir>', ''),
|
('CUSTOM_LDFLAGS', 'Custom linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir>', ''),
|
||||||
|
EnumVariable('LINKING', "Set library format for libmapnik",'shared', ['shared','static']),
|
||||||
|
EnumVariable('RUNTIME_LINK', "Set preference for linking dependecies",'shared', ['shared','static']),
|
||||||
EnumVariable('OPTIMIZATION','Set g++ optimization level','3', ['0','1','2','3','4','s']),
|
EnumVariable('OPTIMIZATION','Set g++ optimization level','3', ['0','1','2','3','4','s']),
|
||||||
# Note: setting DEBUG=True will override any custom OPTIMIZATION level
|
# Note: setting DEBUG=True will override any custom OPTIMIZATION level
|
||||||
BoolVariable('DEBUG', 'Compile a debug version of Mapnik', 'False'),
|
BoolVariable('DEBUG', 'Compile a debug version of Mapnik', 'False'),
|
||||||
|
@ -393,6 +395,9 @@ pickle_store = [# Scons internal variables
|
||||||
'LINKFLAGS',
|
'LINKFLAGS',
|
||||||
'CUSTOM_LDFLAGS', # user submitted
|
'CUSTOM_LDFLAGS', # user submitted
|
||||||
'CUSTOM_CXXFLAGS', # user submitted
|
'CUSTOM_CXXFLAGS', # user submitted
|
||||||
|
'MAPNIK_LIB_NAME',
|
||||||
|
'LINK',
|
||||||
|
'RUNTIME_LINK',
|
||||||
# Mapnik's SConstruct build variables
|
# Mapnik's SConstruct build variables
|
||||||
'PLUGINS',
|
'PLUGINS',
|
||||||
'ABI_VERSION',
|
'ABI_VERSION',
|
||||||
|
@ -597,6 +602,7 @@ def get_pkg_lib(context, config, lib):
|
||||||
return libname
|
return libname
|
||||||
|
|
||||||
def parse_pg_config(context, config):
|
def parse_pg_config(context, config):
|
||||||
|
# TODO - leverage `LDFLAGS_SL` if RUNTIME_LINK==static
|
||||||
env = context.env
|
env = context.env
|
||||||
tool = config.lower()
|
tool = config.lower()
|
||||||
context.Message( 'Checking for %s... ' % tool)
|
context.Message( 'Checking for %s... ' % tool)
|
||||||
|
@ -604,8 +610,8 @@ def parse_pg_config(context, config):
|
||||||
if ret:
|
if ret:
|
||||||
lib_path = call('%s --libdir' % env[config])
|
lib_path = call('%s --libdir' % env[config])
|
||||||
inc_path = call('%s --includedir' % env[config])
|
inc_path = call('%s --includedir' % env[config])
|
||||||
env.AppendUnique(CPPPATH = inc_path)
|
env.AppendUnique(CPPPATH = os.path.realpath(inc_path))
|
||||||
env.AppendUnique(LIBPATH = lib_path)
|
env.AppendUnique(LIBPATH = os.path.realpath(lib_path))
|
||||||
lpq = env['PLUGINS']['postgis']['lib']
|
lpq = env['PLUGINS']['postgis']['lib']
|
||||||
env.Append(LIBS = lpq)
|
env.Append(LIBS = lpq)
|
||||||
else:
|
else:
|
||||||
|
@ -936,6 +942,11 @@ if not preconfigured:
|
||||||
env['HAS_PYCAIRO'] = False
|
env['HAS_PYCAIRO'] = False
|
||||||
env['HAS_LIBXML2'] = False
|
env['HAS_LIBXML2'] = False
|
||||||
env['SVN_REVISION'] = None
|
env['SVN_REVISION'] = None
|
||||||
|
if env['LINKING'] == 'static':
|
||||||
|
env['MAPNIK_LIB_NAME'] = '${LIBPREFIX}mapnik2${LIBSUFFIX}'
|
||||||
|
else:
|
||||||
|
env['MAPNIK_LIB_NAME'] = '${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'
|
||||||
|
|
||||||
|
|
||||||
env['LIBDIR_SCHEMA'] = LIBDIR_SCHEMA
|
env['LIBDIR_SCHEMA'] = LIBDIR_SCHEMA
|
||||||
env['PLUGINS'] = PLUGINS
|
env['PLUGINS'] = PLUGINS
|
||||||
|
@ -984,8 +995,8 @@ if not preconfigured:
|
||||||
for required in ('PNG', 'JPEG', 'TIFF','PROJ','ICU'):
|
for required in ('PNG', 'JPEG', 'TIFF','PROJ','ICU'):
|
||||||
inc_path = env['%s_INCLUDES' % required]
|
inc_path = env['%s_INCLUDES' % required]
|
||||||
lib_path = env['%s_LIBS' % required]
|
lib_path = env['%s_LIBS' % required]
|
||||||
env.AppendUnique(CPPPATH = inc_path)
|
env.AppendUnique(CPPPATH = os.path.realpath(inc_path))
|
||||||
env.AppendUnique(LIBPATH = lib_path)
|
env.AppendUnique(LIBPATH = os.path.realpath(lib_path))
|
||||||
|
|
||||||
conf.parse_config('FREETYPE_CONFIG')
|
conf.parse_config('FREETYPE_CONFIG')
|
||||||
|
|
||||||
|
@ -1140,7 +1151,7 @@ if not preconfigured:
|
||||||
# Note, the 'delete_existing' keyword makes sure that these paths are prepended
|
# Note, the 'delete_existing' keyword makes sure that these paths are prepended
|
||||||
# to the beginning of the path list even if they already exist
|
# to the beginning of the path list even if they already exist
|
||||||
incpath = env['%s_INCLUDES' % details['path']]
|
incpath = env['%s_INCLUDES' % details['path']]
|
||||||
env.PrependUnique(CPPPATH = incpath,delete_existing=True)
|
env.PrependUnique(CPPPATH = os.path.realpath(incpath),delete_existing=True)
|
||||||
env.PrependUnique(LIBPATH = env['%s_LIBS' % details['path']],delete_existing=True)
|
env.PrependUnique(LIBPATH = env['%s_LIBS' % details['path']],delete_existing=True)
|
||||||
if not conf.CheckLibWithHeader(details['lib'], details['inc'], details['lang']):
|
if not conf.CheckLibWithHeader(details['lib'], details['inc'], details['lang']):
|
||||||
env.Replace(**backup)
|
env.Replace(**backup)
|
||||||
|
@ -1369,7 +1380,7 @@ if not preconfigured:
|
||||||
# as they are later set in the python SConscript
|
# as they are later set in the python SConscript
|
||||||
# ugly hack needed until we have env specific conf
|
# ugly hack needed until we have env specific conf
|
||||||
backup = env.Clone().Dictionary()
|
backup = env.Clone().Dictionary()
|
||||||
env.AppendUnique(CPPPATH = env['PYTHON_INCLUDES'])
|
env.AppendUnique(CPPPATH = os.path.realpath(env['PYTHON_INCLUDES']))
|
||||||
|
|
||||||
if not conf.CheckHeader(header='Python.h',language='C'):
|
if not conf.CheckHeader(header='Python.h',language='C'):
|
||||||
color_print(1,'Could not find required header files for the Python language (version %s)' % env['PYTHON_VERSION'])
|
color_print(1,'Could not find required header files for the Python language (version %s)' % env['PYTHON_VERSION'])
|
||||||
|
|
|
@ -197,7 +197,10 @@ if env['SVN_REVISION']:
|
||||||
|
|
||||||
if env['HAS_CAIRO'] or env['HAS_PYCAIRO']:
|
if env['HAS_CAIRO'] or env['HAS_PYCAIRO']:
|
||||||
# attach libs to _mapnik.so linking environment
|
# attach libs to _mapnik.so linking environment
|
||||||
py_env.ParseConfig('pkg-config --libs cairomm-1.0')
|
cmd = 'pkg-config --libs cairomm-1.0'
|
||||||
|
if lib_env['RUNTIME_LINK'] == 'static':
|
||||||
|
cmd += ' --static'
|
||||||
|
py_env.ParseConfig(cmd)
|
||||||
env2 = py_env.Clone()
|
env2 = py_env.Clone()
|
||||||
fixup = ['mapnik_image.cpp','python_cairo.cpp']
|
fixup = ['mapnik_image.cpp','python_cairo.cpp']
|
||||||
if not env['SVN_REVISION']:
|
if not env['SVN_REVISION']:
|
||||||
|
|
|
@ -33,16 +33,21 @@ gdal_src = Split(
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
libraries = [env['PLUGINS']['gdal']['lib']]
|
# clear out and rebuild libs
|
||||||
|
plugin_env['LIBS'] = [env['PLUGINS']['gdal']['lib']]
|
||||||
|
|
||||||
# Link Library to Dependencies
|
# Link Library to Dependencies
|
||||||
libraries.append('mapnik2')
|
plugin_env['LIBS'].append('mapnik2')
|
||||||
libraries.append(env['ICU_LIB_NAME'])
|
plugin_env['LIBS'].append(env['ICU_LIB_NAME'])
|
||||||
|
|
||||||
input_plugin = plugin_env.SharedLibrary('../gdal', source=gdal_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
if env['RUNTIME_LINK'] == 'static':
|
||||||
|
cmd = 'gdal-config --dep-libs'
|
||||||
|
plugin_env.ParseConfig(cmd)
|
||||||
|
|
||||||
|
input_plugin = plugin_env.SharedLibrary('../gdal', source=gdal_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -45,7 +45,7 @@ libraries.append('boost_filesystem%s' % env['BOOST_APPEND'])
|
||||||
input_plugin = plugin_env.SharedLibrary('../geos', source=geos_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
input_plugin = plugin_env.SharedLibrary('../geos', source=geos_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -42,7 +42,7 @@ libraries.append('boost_thread%s' % env['BOOST_APPEND'])
|
||||||
input_plugin = plugin_env.SharedLibrary('../kismet', source=kismet_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
input_plugin = plugin_env.SharedLibrary('../kismet', source=kismet_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -43,7 +43,7 @@ libraries.append(env['ICU_LIB_NAME'])
|
||||||
input_plugin = plugin_env.SharedLibrary('../occi', source=occi_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
input_plugin = plugin_env.SharedLibrary('../occi', source=occi_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -36,18 +36,22 @@ ogr_src = Split(
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
libraries = [env['PLUGINS']['ogr']['lib']]
|
plugin_env['LIBS'] = [env['PLUGINS']['ogr']['lib']]
|
||||||
|
|
||||||
# Link Library to Dependencies
|
# Link Library to Dependencies
|
||||||
libraries.append('mapnik2')
|
plugin_env['LIBS'].append('mapnik2')
|
||||||
libraries.append(env['ICU_LIB_NAME'])
|
plugin_env['LIBS'].append(env['ICU_LIB_NAME'])
|
||||||
libraries.append('boost_system%s' % env['BOOST_APPEND'])
|
plugin_env['LIBS'].append('boost_system%s' % env['BOOST_APPEND'])
|
||||||
libraries.append('boost_filesystem%s' % env['BOOST_APPEND'])
|
plugin_env['LIBS'].append('boost_filesystem%s' % env['BOOST_APPEND'])
|
||||||
|
|
||||||
input_plugin = plugin_env.SharedLibrary('../ogr', source=ogr_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
if env['RUNTIME_LINK'] == 'static':
|
||||||
|
cmd = 'gdal-config --dep-libs'
|
||||||
|
plugin_env.ParseConfig(cmd)
|
||||||
|
|
||||||
|
input_plugin = plugin_env.SharedLibrary('../ogr', source=ogr_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -45,7 +45,7 @@ libraries.append(env['ICU_LIB_NAME'])
|
||||||
input_plugin = plugin_env.SharedLibrary('../osm', source=osm_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
input_plugin = plugin_env.SharedLibrary('../osm', source=osm_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -44,7 +44,7 @@ if env['THREADING'] == 'multi':
|
||||||
input_plugin = plugin_env.SharedLibrary('../postgis', source=postgis_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
input_plugin = plugin_env.SharedLibrary('../postgis', source=postgis_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -44,7 +44,7 @@ libraries.append('boost_filesystem%s' % env['BOOST_APPEND'])
|
||||||
input_plugin = plugin_env.SharedLibrary('../raster', source=raster_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
input_plugin = plugin_env.SharedLibrary('../raster', source=raster_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -44,7 +44,7 @@ libraries.append('boost_filesystem%s' % env['BOOST_APPEND'])
|
||||||
input_plugin = plugin_env.SharedLibrary('../rasterlite', source=rasterlite_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
input_plugin = plugin_env.SharedLibrary('../rasterlite', source=rasterlite_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -51,7 +51,7 @@ if env['SHAPE_MEMORY_MAPPED_FILE']:
|
||||||
input_plugin = plugin_env.SharedLibrary('../shape', SHLIBSUFFIX='.input', source=shape_src, SHLIBPREFIX='', LIBS = libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
input_plugin = plugin_env.SharedLibrary('../shape', SHLIBSUFFIX='.input', source=shape_src, SHLIBPREFIX='', LIBS = libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -44,7 +44,7 @@ libraries.append('boost_filesystem%s' % env['BOOST_APPEND'])
|
||||||
input_plugin = plugin_env.SharedLibrary('../sqlite', source=sqlite_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
input_plugin = plugin_env.SharedLibrary('../sqlite', source=sqlite_src, SHLIBPREFIX='', SHLIBSUFFIX='.input', LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
|
||||||
|
|
||||||
# if the plugin links to libmapnik2 ensure it is built first
|
# if the plugin links to libmapnik2 ensure it is built first
|
||||||
Depends(input_plugin, env.subst('../../../src/${SHLIBPREFIX}mapnik2${SHLIBSUFFIX}'))
|
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
|
||||||
|
|
||||||
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
if 'uninstall' not in COMMAND_LINE_TARGETS:
|
||||||
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
|
||||||
|
|
|
@ -224,7 +224,10 @@ if env['SVG_RENDERER']: # svg backend
|
||||||
if env['HAS_CAIRO']:
|
if env['HAS_CAIRO']:
|
||||||
# attach libs to library linking environment
|
# attach libs to library linking environment
|
||||||
try:
|
try:
|
||||||
lib_env.ParseConfig('pkg-config --libs cairomm-1.0')
|
cmd = 'pkg-config --libs cairomm-1.0'
|
||||||
|
if lib_env['RUNTIME_LINK'] == 'static':
|
||||||
|
cmd += ' --static'
|
||||||
|
lib_env.ParseConfig(cmd)
|
||||||
env2 = lib_env.Clone()
|
env2 = lib_env.Clone()
|
||||||
env2.Append(CXXFLAGS = '-DHAVE_CAIRO')
|
env2.Append(CXXFLAGS = '-DHAVE_CAIRO')
|
||||||
# attach cflags to specific compile environment
|
# attach cflags to specific compile environment
|
||||||
|
@ -264,7 +267,13 @@ if env['CUSTOM_LDFLAGS']:
|
||||||
else:
|
else:
|
||||||
linkflags = mapnik_lib_link_flag
|
linkflags = mapnik_lib_link_flag
|
||||||
|
|
||||||
mapnik = lib_env.SharedLibrary('mapnik2', source, LIBS=libraries, LINKFLAGS=linkflags)
|
if env['LIBMAPNIK_LINKFLAGS']:
|
||||||
|
linkflags = '%s %s' % (env['LIBMAPNIK_LINKFLAGS'],linkflags)
|
||||||
|
|
||||||
|
if env['LINKING'] == 'static':
|
||||||
|
mapnik = lib_env.StaticLibrary('mapnik2', source, LIBS=libraries, LINKFLAGS=linkflags)
|
||||||
|
else:
|
||||||
|
mapnik = lib_env.SharedLibrary('mapnik2', source, LIBS=libraries, LINKFLAGS=linkflags)
|
||||||
|
|
||||||
if env['PLATFORM'] != 'Darwin':
|
if env['PLATFORM'] != 'Darwin':
|
||||||
# Symlink command, only works if both files are in same directory
|
# Symlink command, only works if both files are in same directory
|
||||||
|
|
Loading…
Reference in a new issue