# -*- python -*- import os import string def getGuileFlags(op): guile_cfg = os.popen("guile-config " + op, "r") lines = guile_cfg.readlines() print lines if len(lines) == 0: return [] return string.split(string.strip(lines[0])) env = Environment(ENV = os.environ, tools = ['default', 'swig']) config = env.Configure() config.CheckLibWithHeader('xosd', 'xosd.h', 'c', 'xosd* x;', 1) install_dir = ARGUMENTS.get('install_dir', '/usr/local/lib') env = config.Finish() #------------------------------------------------------------------------------- # Compile/install the library guile_compile_flags = getGuileFlags('compile') guile_link_flags = getGuileFlags('link') guile_pkg_dir = getGuileFlags('info pkgdatadir')[0] module_install_dir = guile_pkg_dir + '/site' + '/xosd' sources = [ 'xosd.i' ] module_files = [ 'xosd/xosd.scm', 'xosd/xosd-primitive.scm' ] env['SWIGFLAGS'] = '-guile -scm -Linkage passive -package xosd -scmstub -proxy' env.Append(CCFLAGS=guile_compile_flags) env.Append(LINKFLAGS=guile_link_flags) lib = env.SharedLibrary('libguile_xosd', sources) env.Install(install_dir, lib) env.Install(module_install_dir, module_files) env.Alias('install', [ install_dir, module_install_dir ])