def shared_library(name, version=None): head, tail = os.path.split(name) ext = platform_info().shared_library_ext if version: if not platform_info().has_versioned_library: raise ValueError('no versioned libraries on this platform') if platform_name() == 'darwin': tail += '.' + version else: ext += '.' + version return Target(name, os.path.normpath(os.path.join( '.', head, _library_prefix + tail + ext )))
def import_library(name): if not platform_info().has_import_library: raise ValueError('no import libraries on this platform') if env.builder('c++').flavor == 'msvc': return static_library(name) else: return Target(name, shared_library(name).path + '.a')
def __init__(self, srcdir, *args, **kwargs): install = kwargs.pop('install', False) self._args = args self._kwargs = kwargs self.stage_src = kwargs.pop('stage_src', False) self.backend = kwargs.pop('backend', None) unittest.TestCase.__init__(self, *args, **kwargs) if self.backend is None: return self.extra_args = [] srcname = os.path.basename(srcdir) self.srcdir = os.path.join(test_data_dir, srcdir) if self.stage_src: self.orig_srcdir = self.srcdir self.srcdir = os.path.join(test_stage_dir, srcname) self.builddir = os.path.join(test_stage_dir, srcname + '-build') if install: self.installdir = os.path.join(test_stage_dir, srcname + '-install') self.extra_args = ['--prefix', self.installdir] install_dirs = platform_info().install_dirs path_vars = {InstallRoot.prefix: self.installdir} for i in InstallRoot: setattr(self, i.name, install_dirs[i].realize(path_vars)) else: self.installdir = None
def __init__(self, srcdir, *args, **kwargs): install = kwargs.pop('install', False) self._configure = kwargs.pop('configure', True) self._args = args self._kwargs = kwargs stage_src = kwargs.pop('stage_src', False) self.backend = kwargs.pop('backend', None) self.env = kwargs.pop('env', None) unittest.TestCase.__init__(self, *args, **kwargs) if self.backend is None: return self.extra_args = [] srcname = os.path.basename(srcdir) self.srcdir = os.path.join(test_data_dir, srcdir) if stage_src: srcname = os.path.basename(srcdir) self.orig_srcdir = self.srcdir self.srcdir = os.path.join(test_stage_dir, srcname) else: self.orig_srcdir = None if install: self.installdir = os.path.join(test_stage_dir, srcname + '-install') self.extra_args = ['--prefix', self.installdir] install_dirs = platform_info().install_dirs.copy() install_dirs[InstallRoot.prefix] = Path(self.installdir, Root.absolute) for i in InstallRoot: setattr(self, i.name, install_dirs[i].string(install_dirs)) else: self.installdir = None
def executable(name): return Target( name, os.path.normpath( os.path.join('.', name + platform_info().executable_ext)))