Changeset 667

Show
Ignore:
Timestamp:
03/12/08 14:14:51 (8 months ago)
Author:
tom
Message:

Make cairo components conditional on the relevant libaries etc existing.

Location:
trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/SConstruct

    r656 r667  
    125125env.ParseConfig(env['FREETYPE_CONFIG'] + ' --libs --cflags') 
    126126    
    127 env.ParseConfig('pkg-config --libs --cflags cairomm-1.0') 
     127if env.Execute('pkg-config --exists cairomm-1.0') == 0: 
     128    env.ParseConfig('pkg-config --libs --cflags cairomm-1.0') 
     129    env.Append(CXXFLAGS = '-DHAVE_CAIRO'); 
    128130 
    129131if env['XMLPARSER'] == 'tinyxml': 
  • trunk/bindings/python/SConscript

    r666 r667  
    2525 
    2626Import('env') 
    27     
    28 env.ParseConfig('pkg-config --cflags pycairo') 
     27 
     28if env.Execute('pkg-config --exists pycairo') == 0:    
     29    env.ParseConfig('pkg-config --cflags pycairo') 
     30    env.Append(CXXFLAGS = '-DHAVE_PYCAIRO'); 
    2931 
    3032prefix = env['PYTHON_PREFIX'] + '/' + env['LIBDIR_SCHEMA'] + '/python' + env['PYTHON_VERSION'] + '/site-packages/' 
  • trunk/bindings/python/mapnik_python.cpp

    r666 r667  
    5959#include <mapnik/map.hpp> 
    6060#include <mapnik/agg_renderer.hpp> 
     61#ifdef HAVE_CAIRO 
    6162#include <mapnik/cairo_renderer.hpp> 
     63#endif 
    6264#include <mapnik/graphics.hpp> 
    6365#include <mapnik/image_util.hpp> 
     
    6668#include <mapnik/save_map.hpp> 
    6769 
     70#ifdef HAVE_PYCAIRO 
    6871#include <pycairo.h> 
     72#endif 
    6973 
    7074void render(const mapnik::Map& map,mapnik::Image32& image, unsigned offset_x = 0, unsigned offset_y = 0) 
     
    7983    ren.apply(); 
    8084} 
     85 
     86#ifdef HAVE_PYCAIRO 
    8187 
    8288void render3(const mapnik::Map& map,PycairoSurface* surface, unsigned offset_x = 0, unsigned offset_y = 0) 
     
    9399    ren.apply(); 
    94100} 
     101 
     102#endif 
    95103 
    96104void render_tile_to_file(const mapnik::Map& map,  
     
    177185    def("render",&render);  
    178186    def("render",&render2); 
     187#ifdef HAVE_PYCAIRO 
    179188    def("render",&render3); 
    180189    def("render",&render4); 
     190#endif 
    181191    def("scale_denominator", &scale_denominator); 
    182192     
  • trunk/bindings/python/python_cairo.cpp

    r666 r667  
    2121 *****************************************************************************/ 
    2222//$Id$ 
     23 
     24#ifdef HAVE_PYCAIRO 
    2325 
    2426#include <boost/python/type_id.hpp> 
     
    4749   boost::python::converter::registry::insert(&extract_surface, boost::python::type_id<PycairoSurface>()); 
    4850} 
     51 
     52#else 
     53 
     54void register_cairo() 
     55{ 
     56} 
     57 
     58#endif 
  • trunk/src/SConscript

    r656 r667  
    4444    """ 
    4545    agg_renderer.cpp 
    46     cairo_renderer.cpp 
    4746    datasource_cache.cpp 
    4847    envelope.cpp 
     
    8079    ) 
    8180 
    82 #source.append("cairo_renderer.cpp") 
     81if 'cairo' in env['LIBS']: 
     82    source += Split( 
     83        """ 
     84        cairo_renderer.cpp 
     85        """) 
    8386 
    8487if env['XMLPARSER'] == 'tinyxml':