# # This file is part of Mapnik (c++ mapping toolkit) # # Copyright (C) 2006 Artem Pavlenko, Jean-Francois Doyon # # Mapnik 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 # # $Id$ import glob Import('env') prefix = env['PREFIX'] install_prefix = env['DESTDIR'] + '/' + prefix libraries = ['agg'] + env['LIBS'] if env['PLATFORM'] == 'Darwin': linkflags = '-Wl,-install_name,libmapnik.dylib' else: # Linux and others linkflags = '-Wl,-rpath-link,. -Wl,-soname,libmapnik.so' source = Split( """ agg_renderer.cpp datasource_cache.cpp envelope.cpp filter_factory.cpp font_engine_freetype.cpp graphics.cpp image_reader.cpp image_util.cpp layer.cpp line_pattern_symbolizer.cpp map.cpp load_map.cpp memory.cpp params.cpp placement_finder.cpp plugin.cpp png_reader.cpp point_symbolizer.cpp polygon_pattern_symbolizer.cpp save_map.cpp shield_symbolizer.cpp text_symbolizer.cpp tiff_reader.cpp wkb.cpp projection.cpp proj_transform.cpp distance.cpp scale_denominator.cpp memory_datasource.cpp stroke.cpp symbolizer.cpp arrow.cpp """ ) if env['XMLPARSER'] == 'tinyxml': source += Split( """ ../tinyxml/tinystr.cpp ../tinyxml/tinyxml.cpp ../tinyxml/tinyxmlerror.cpp ../tinyxml/tinyxmlparser.cpp """) elif env['XMLPARSER'] == 'libxml2': source += Split( """ libxml2_loader.cpp """) mapnik = env.SharedLibrary('mapnik', source, LIBS=libraries, LINKFLAGS=linkflags) env.Alias(target='install', source=env.Install(install_prefix + '/' + env['LIBDIR_SCHEMA'], mapnik)) includes = glob.glob('../include/mapnik/*.hpp') env.Alias(target='install', source=env.Install(install_prefix+'/include/mapnik', includes))