# HG changeset patch # User Atul Varma # Date 1203867058 21600 # Node ID f1194791e5e1f64134879ac5b4a46788e1dc534a # Parent 3f48710a9ba1d59292d642c8555447d3f35a40e4 pkg-config is now used to dynamically fetch required cairo paths as necessary. diff -r 3f48710a9ba1 -r f1194791e5e1 src/SConscript --- a/src/SConscript Sun Feb 24 08:52:33 2008 -0600 +++ b/src/SConscript Sun Feb 24 09:30:58 2008 -0600 @@ -12,6 +12,7 @@ import os import sys +import subprocess # ---------------------------------------------------------------------------- @@ -25,11 +26,24 @@ # Build Actions # ---------------------------------------------------------------------------- +def getOutput( params ): + popen = subprocess.Popen( params, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE ) + output, errors = popen.communicate() + if popen.returncode != 0: + sys.stderr.write( "Running '%s' failed.\n" % " ".join(params) ) + sys.stderr.write( "Output was:\n%s\n(end of output)\n" % errors ) + raise SystemError() + return output + +cairoLibFlags = getOutput( ["pkg-config", "cairo", "--libs"] ) +cairoIncludeFlags = getOutput( ["pkg-config", "cairo", "--cflags"] ) + env.Append( - # TODO: Use pkg-config or something to get these paths. - CPPPATH=["/opt/local/include/cairo", - os.path.join( sys.prefix, "include/pycairo" )], - LIBPATH=["/opt/local/lib"], + CPPPATH=[os.path.join( sys.prefix, "include/pycairo" )], + CCFLAGS=cairoIncludeFlags.split(), + LINKFLAGS=cairoLibFlags, LIBS=["python", "cairo"], FRAMEWORKS=["AppKit"], )