Source code for openalea.sconsx.tools.alea
# -*-python-*-
#--------------------------------------------------------------------------------
#
# OpenAlea.SConsX: SCons extension package for building platform
# independant packages.
#
# Copyright 2006-2009 INRIA - CIRAD - INRA
#
# File author(s): Christophe Pradal <christophe.prada@cirad.fr>
# Samuel Dufour-Kowalski <samuel.dufour@sophia.inria.fr>
#
# Distributed under the Cecill-C License.
# See accompanying file LICENSE.txt or copy at
# http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html
#
# OpenAlea WebSite : http://openalea.gforge.inria.fr
#
#--------------------------------------------------------------------------------
""" OpenAlea configure environment. """
__license__ = "Cecill-C"
__revision__ = "$Id$"
import os, sys
from openalea.sconsx.config import *
[docs]
class Alea:
def __init__(self, config):
self.name= 'alea'
self.config= config
self._default= {}
[docs]
def default(self):
"""Set default tool values"""
try:
import openalea.config as alea_conf
self._default[ "openalea_lib" ]= alea_conf.lib_dir
self._default[ "openalea_include" ]= alea_conf.include_dir
except ImportError as e :
if isinstance( platform, Win32 ):
self._default[ "openalea_lib" ]= 'C:\\openalea\\lib'
self._default[ "openalea_include" ]= 'C:\\openalea\\include'
elif isinstance( platform, Posix ):
self._default[ "openalea_lib" ]= '/usr/local/openalea/lib'
self._default[ "openalea_include" ]= '/usr/local/openalea/include'
[docs]
def option(self, opts):
"""Add scons options to opts"""
if not CONDA_ENV:
self.default()
opts.Add( 'openalea_lib',
'OpenAlea lib directory',
self._default[ 'openalea_lib' ] )
opts.Add( 'openalea_includes',
'OpenAlea include directory',
self._default[ 'openalea_include' ] )
[docs]
def update( self, env ):
""" Update the environment with specific flags """
if not CONDA_ENV:
env.AppendUnique( CPPPATH= [ env['openalea_includes'] ] )
env.AppendUnique( LIBPATH= [ env['openalea_lib'] ] )
#env.EnableALEALib= _EnableALEALib
# def _EnableALEALib(env, libs, *args, **kwds ):
# """Add libraries to compiler"""
# env.AppendUnique( LIBS= libs )
[docs]
def create( config ):
" Create alea tool "
oa= Alea( config )
return oa