scons: centralize install path info

This commit is contained in:
Dane Springmeyer 2011-08-12 21:31:28 +00:00
parent c8a4c18ace
commit 3e67c1d694
20 changed files with 54 additions and 88 deletions

View file

@ -363,7 +363,7 @@ opts.AddVariables(
# Other variables
BoolVariable('SHAPE_MEMORY_MAPPED_FILE', 'Utilize memory-mapped files in Shapefile Plugin (higher memory usage, better performance)', 'True'),
('SYSTEM_FONTS','Provide location for python bindings to register fonts (if given aborts installation of bundled DejaVu fonts)',''),
('LIB_DIR_NAME','Name to use for the "lib" folder where fonts and plugins are installed','/mapnik2/'),
('LIB_DIR_NAME','Name to use for the "lib" folder where fonts and plugins are installed','mapnik2/'),
PathVariable('PYTHON','Full path to Python executable used to build bindings', sys.executable),
BoolVariable('FRAMEWORK_PYTHON', 'Link against Framework Python on Mac OS X', 'True'),
BoolVariable('PYTHON_DYNAMIC_LOOKUP', 'On OSX, do not directly link python lib, but rather dynamically lookup symbols', 'False'),
@ -951,7 +951,7 @@ if not preconfigured:
env['LIBMAPNIK_LIBS'] = []
env['LIBDIR_SCHEMA'] = LIBDIR_SCHEMA
env['PLUGINS'] = PLUGINS
env['MAPNIK_LIB_DIR'] = os.path.normpath(env['PREFIX'] + os.path.sep + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'])
env['MAPNIK_LIB_DIR'] = os.path.normpath(env['PREFIX'] + os.path.sep + env['LIBDIR_SCHEMA'] + os.path.sep + env['LIB_DIR_NAME'])
env['INSTALL_PREFIX'] = os.path.normpath(os.path.realpath(env['DESTDIR'])) + \
os.path.realpath(env['PREFIX'])
env['MAPNIK_LIB_BASE_DEST'] = os.path.normpath(env['INSTALL_PREFIX'] + os.path.sep + env['LIBDIR_SCHEMA'])
@ -964,7 +964,7 @@ if not preconfigured:
env['MAPNIK_FONTS_DEST'] = os.path.normpath(env['SYSTEM_FONTS'])
else:
env['MAPNIK_FONTS'] = os.path.join(env['MAPNIK_LIB_DIR'],'fonts')
env['MAPNIK_FONTS_DEST'] = os.path.join(env['MAPNIK_LIB_DIR'],'fonts')
env['MAPNIK_FONTS_DEST'] = os.path.join(env['MAPNIK_LIB_DIR_DEST'],'fonts')
if env['LINKING'] == 'static':
env['MAPNIK_LIB_NAME'] = '${LIBPREFIX}mapnik2${LIBSUFFIX}'

View file

@ -19,13 +19,11 @@
#
# $Id$
import os
from copy import copy
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
source = Split(
"""
rundemo.cpp

View file

@ -17,20 +17,16 @@
#
# $Id$
import os
import glob
Import('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
# grab all the deja vu fonts
includes = glob.glob('*/*/*.ttf')
# grab single unifont ttf (available at http://unifoundry.com/unifont.html)
includes.extend(glob.glob('unifont*.ttf'))
fontscollectionpath = install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/fonts'
if 'uninstall' not in COMMAND_LINE_TARGETS and not env['SYSTEM_FONTS']:
env.Alias(target='install', source=env.Install(fontscollectionpath, includes))
env.Alias(target='install', source=env.Install(env['MAPNIK_FONTS_DEST'], includes))

View file

@ -22,7 +22,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -50,5 +49,5 @@ input_plugin = plugin_env.SharedLibrary('../gdal', source=gdal_src, SHLIBPREFIX=
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -23,7 +23,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -48,5 +47,5 @@ input_plugin = plugin_env.SharedLibrary('../geos', source=geos_src, SHLIBPREFIX=
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -22,7 +22,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -45,5 +44,5 @@ input_plugin = plugin_env.SharedLibrary('../kismet', source=kismet_src, SHLIBPRE
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -22,7 +22,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -46,5 +45,5 @@ input_plugin = plugin_env.SharedLibrary('../occi', source=occi_src, SHLIBPREFIX=
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -23,7 +23,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -54,5 +53,5 @@ input_plugin = plugin_env.SharedLibrary('../ogr', source=ogr_src, SHLIBPREFIX=''
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -22,7 +22,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -48,5 +47,5 @@ input_plugin = plugin_env.SharedLibrary('../osm', source=osm_src, SHLIBPREFIX=''
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -22,7 +22,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -47,5 +46,5 @@ input_plugin = plugin_env.SharedLibrary('../postgis', source=postgis_src, SHLIBP
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -22,7 +22,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -47,5 +46,5 @@ input_plugin = plugin_env.SharedLibrary('../raster', source=raster_src, SHLIBPRE
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -22,7 +22,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -47,5 +46,5 @@ input_plugin = plugin_env.SharedLibrary('../rasterlite', source=rasterlite_src,
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -23,7 +23,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -54,5 +53,5 @@ input_plugin = plugin_env.SharedLibrary('../shape', SHLIBSUFFIX='.input', source
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -22,7 +22,6 @@
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
plugin_env = env.Clone()
@ -47,5 +46,5 @@ input_plugin = plugin_env.SharedLibrary('../sqlite', source=sqlite_src, SHLIBPRE
Depends(input_plugin, env.subst('../../../src/%s' % env['MAPNIK_LIB_NAME']))
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input', input_plugin)
env.Alias('install', install_prefix + '/' + env['LIBDIR_SCHEMA'] + env['LIB_DIR_NAME'] + '/input')
env.Install(env['MAPNIK_INPUT_PLUGINS_DEST'], input_plugin)
env.Alias('install', env['MAPNIK_INPUT_PLUGINS_DEST'])

View file

@ -21,15 +21,9 @@ Import ('env')
# the below install details are also pulled from the
# main SConstruct file where configuration happens
# DESTDIR is default None, PREFIX is default '/usr/local/'
install_prefix = os.path.join(env['DESTDIR'],env['PREFIX'])
# LIBDIR_SCHEMA is likely either 'lib' or 'lib64', LIB_DIR_NAME is default None
lib_name = '%s%s' % (env['LIBDIR_SCHEMA'],env['LIB_DIR_NAME'])
# plugins can go anywhere, and be registered in custom locations by Mapnik
# but the standard location is '/usr/local/lib/mapnik2/input'
install_dest = os.path.join(install_prefix,lib_name,'input')
install_dest = env['MAPNIK_INPUT_PLUGINS_DEST']
# clone the environment here
# so that if we modify the env it in this file
@ -48,12 +42,10 @@ plugin_sources = Split(
# directly link to
libraries = [ '' ] # eg 'libfoo'
# on mac os x we need to directly link to mapnik and libicu*
if env['PLATFORM'] == 'Darwin':
libraries.append('mapnik2')
# link libicuuc, but ICU_LIB_NAME is used custom builds of icu can
# have different library names like osx which offers /usr/lib/libicucore.dylib
libraries.append(env['ICU_LIB_NAME'])
libraries.append('mapnik2')
# link libicuuc, but ICU_LIB_NAME is used custom builds of icu can
# have different library names like osx which offers /usr/lib/libicucore.dylib
libraries.append(env['ICU_LIB_NAME'])
TARGET = plugin_env.SharedLibrary(
# the name of the target to build, eg 'sqlite.input'
@ -74,12 +66,6 @@ TARGET = plugin_env.SharedLibrary(
LINKFLAGS=env.get('CUSTOM_LDFLAGS')
)
if env['PLATFORM'] == 'Darwin':
# if the plugin links to libmapnik2 ensure it is built first
# this is optional, but helps to ensure proper compilation
# if scons is building with multiple threads (e.g. with -jN)
Depends(TARGET,'../../../../src/libmapnik2.dylib')
# if 'uninstall' is not passed on the command line
# then we actually create the install targets that
# scons will install if 'install' is passed as an arg

View file

@ -1,13 +1,16 @@
import os
import glob
from copy import copy
Import ('env')
test_env = env.Clone()
headers = env['CPPPATH']
libraries = env['LIBMAPNIK_LIBS']
libraries = copy(env['LIBMAPNIK_LIBS'])
libraries.append('mapnik2')
for cpp_test in glob.glob('*_test.cpp'):
test_program = env.Program(cpp_test.replace('.cpp',''), [cpp_test], CPPPATH=headers, LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
test_program = test_env.Program(cpp_test.replace('.cpp',''), [cpp_test], CPPPATH=headers, LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
Depends(test_program, env.subst('../../src/%s' % env['MAPNIK_LIB_NAME']))

View file

@ -19,13 +19,11 @@
#
# $Id$
import os
import glob
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
program_env = env.Clone()
source = Split(
@ -48,9 +46,8 @@ if env['HAS_BOOST_SYSTEM']:
if env['PLATFORM'] == 'Darwin':
libraries.append(env['ICU_LIB_NAME'])
ogrindex = program_env.Program('ogrindex', source, CPPPATH=headers, LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/bin', ogrindex)
env.Alias('install', install_prefix + '/bin')
env.Install(os.path.join(env['INSTALL_PREFIX'],'bin'), ogrindex)
env.Alias('install', os.path.join(env['INSTALL_PREFIX'],'bin'))

View file

@ -19,12 +19,12 @@
#
# $Id$
import os
from copy import copy
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
program_env = env.Clone()
@ -45,7 +45,7 @@ libraries.extend([boost_program_options,'sqlite3','pq','mapnik2'])
if 'uninstall' not in COMMAND_LINE_TARGETS:
pgsql2sqlite = program_env.Program('pgsql2sqlite', source, CPPPATH=headers, LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
Depends(pgsql2sqlite, env.subst('../../src/%s' % env['MAPNIK_LIB_NAME']))
env.Install(install_prefix + '/bin', pgsql2sqlite)
env.Alias('install', install_prefix + '/bin')
env.Install(os.path.join(env['INSTALL_PREFIX'],'bin'), pgsql2sqlite)
env.Alias('install', os.path.join(env['INSTALL_PREFIX'],'bin'))
env['create_uninstall_target'](env, install_prefix + '/bin/' + 'pgsql2sqlite')
env['create_uninstall_target'](env, os.path.join(env['INSTALL_PREFIX'],'bin','pgsql2sqlite'))

View file

@ -19,13 +19,11 @@
#
# $Id$
import os
import glob
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
program_env = env.Clone()
source = Split(
@ -47,11 +45,10 @@ boost_system = 'boost_system%s' % env['BOOST_APPEND']
if env['HAS_BOOST_SYSTEM']:
libraries.append(boost_system)
shapeindex = program_env.Program('shapeindex', source, CPPPATH=headers, LIBS=libraries, LINKFLAGS=env['CUSTOM_LDFLAGS'])
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/bin', shapeindex)
env.Alias('install', install_prefix + '/bin')
env.Install(os.path.join(env['INSTALL_PREFIX'],'bin'), shapeindex)
env.Alias('install', os.path.join(env['INSTALL_PREFIX'],'bin'))
env['create_uninstall_target'](env, install_prefix + '/bin/' + 'shapeindex')
env['create_uninstall_target'](env, os.path.join(env['INSTALL_PREFIX'],'bin','shapeindex'))

View file

@ -19,13 +19,13 @@
#
# $Id$
import os
Import ('env')
prefix = env['PREFIX']
install_prefix = env['DESTDIR'] + '/' + prefix
target = os.path.join(env['INSTALL_PREFIX'],'bin')
if 'uninstall' not in COMMAND_LINE_TARGETS:
env.Install(install_prefix + '/bin', "upgrade_map_xml.py")
env.Alias('install', install_prefix + '/bin')
env.Install(target,'upgrade_map_xml.py')
env.Alias('install', os.path.join(env['INSTALL_PREFIX'],'bin'))
env['create_uninstall_target'](env, install_prefix + '/bin/' + 'upgrade_map_xml.py')
env['create_uninstall_target'](env, os.path.join(target,'upgrade_map_xml.py'))