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 configure(self, config): if isinstance(platform, Posix): if not config.conf.CheckCHeader('termcap.h'): print("""Error: termcap.h not found !!! Please install termcap and start again.""") sys.exit(-1)
[docs] def create(config): " Create termcap tool " termcap = Termcap(config) return termcap