Source code for openalea.sconsx.tools.termcap
# -*-python-*-
#--------------------------------------------------------------------------------
#
# OpenAlea.SConsX: SCons extension package for building platform
# independant packages.
#
# Copyright 2006-2018 INRIA - CIRAD - INRA
#
# File author(s): Christophe Pradal <christophe.prada@cirad.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
#
#--------------------------------------------------------------------------------
""" Termcap configure environment. """
__license__ = "Cecill-C"
__revision__ = "$Id$"
import os, sys
from openalea.sconsx.config import *
[docs]
class Termcap:
def __init__(self, config):
self.name = 'termcap'
self.config = config
self._default = {}
[docs]
def default(self):
self._default['ncurses'] = True
if CONDA_ENV:
self._default['include'] = pj(CONDA_LIBRARY_PREFIX, 'include')
self._default['libpath'] = pj(CONDA_LIBRARY_PREFIX, 'lib')
elif isinstance(platform, Posix):
defdir = detect_posix_project_installpath('include/termcap.h')
self._default['include'] = join(defdir,'include')
self._default['libpath'] = join(defdir,'lib')
#self._default['ncurses'] = False
[docs]
def option( self, opts):
if isinstance(platform, Posix):
self.default()
opts.AddVariables(
PathVariable('termcap_includes', 'termcap include files',
self._default['include']),
PathVariable(('termcap_libpath','termcap_lib'), 'termcap libraries path',
self._default['libpath'])
)
opts.Add(BoolVariable('WITH_NCURSES', 'Use ncurses instead of termcap',
self._default['ncurses']))
[docs]
def update(self, env):
if isinstance(platform, Posix):
env.AppendUnique(CPPPATH=[env['termcap_includes']])
env.AppendUnique(LIBPATH=[env['termcap_libpath']])
termcap_lib = 'termcap'
if env['WITH_NCURSES']:
termcap_lib = 'ncurses'
env.AppendUnique(LIBS=[termcap_lib])
[docs]
def create(config):
" Create termcap tool "
termcap = Termcap(config)
return termcap