当前位置: 首页>>代码示例>>Python>>正文


Python execute.capture_execution函数代码示例

本文整理汇总了Python中execute.capture_execution函数的典型用法代码示例。如果您正苦于以下问题:Python capture_execution函数的具体用法?Python capture_execution怎么用?Python capture_execution使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了capture_execution函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: run

 def run(self, command, shell_opts = '', cwd = None):
     e = execute.capture_execution(log = log.default, dump = self.opts.quiet())
     cmd = self.config.expand('%{___build_shell} -ex ' + shell_opts + ' ' + command)
     log.output('run: ' + cmd)
     exit_code, proc, output = e.shell(cmd, cwd = path.host(cwd))
     if exit_code != 0:
         raise error.general('shell cmd failed: %s' % (cmd))
开发者ID:CRempel,项目名称:rtems-source-builder,代码行数:7,代码来源:build.py

示例2: _lo_triplets

 def _lo_triplets(self, opt, macro, value):
     #
     # This is a target triplet. Run it past config.sub to make make sure it
     # is ok. The target triplet is 'cpu-vendor-os'.
     #
     e = execute.capture_execution()
     config_sub = path.join(self.command_path,
                            basepath, 'config.sub')
     exit_code, proc, output = e.shell(config_sub + ' ' + value)
     if exit_code == 0:
         value = output
     self.defaults[macro] = ('triplet', 'none', value)
     self.opts[opt[2:]] = value
     _cpu = macro + '_cpu'
     _arch = macro + '_arch'
     _vendor = macro + '_vendor'
     _os = macro + '_os'
     _arch_value = ''
     _vendor_value = ''
     _os_value = ''
     dash = value.find('-')
     if dash >= 0:
         _arch_value = value[:dash]
         value = value[dash + 1:]
     dash = value.find('-')
     if dash >= 0:
         _vendor_value = value[:dash]
         value = value[dash + 1:]
     if len(value):
         _os_value = value
     self.defaults[_cpu]    = _arch_value
     self.defaults[_arch]   = _arch_value
     self.defaults[_vendor] = _vendor_value
     self.defaults[_os]     = _os_value
开发者ID:RTEMS,项目名称:rtems-tools,代码行数:34,代码来源:options.py

示例3: run

 def run(self, command, shell_opts="", cwd=None):
     e = execute.capture_execution(log=log.default, dump=self.opts.quiet())
     cmd = self.config.expand("%{___build_shell} -ex " + shell_opts + " " + command)
     log.output("run: " + cmd)
     exit_code, proc, output = e.shell(cmd, cwd=path.host(cwd))
     if exit_code != 0:
         log.output("shell cmd failed: %s" % (cmd))
         raise error.general("building %s" % (self.macros["buildname"]))
开发者ID:krzysiekm13,项目名称:rtems-source-builder,代码行数:8,代码来源:build.py

示例4: load

def load():
    uname = os.uname()
    sysctl = '/sbin/sysctl '
    e = execute.capture_execution()
    exit_code, proc, output = e.shell(sysctl + 'hw.ncpu')
    if exit_code == 0:
        ncpus = output.split(' ')[1].strip()
    else:
        ncpus = '1'
    if uname[4] == 'amd64':
        cpu = 'x86_64'
    else:
        cpu = uname[4]
    version = uname[2]
    if version.find('-') > 0:
        version = version.split('-')[0]
    defines = {
        '_ncpus':            ('none',    'none',    '1'),
        '_os':               ('none',    'none',     'netbsd'),
        '_host':             ('triplet', 'required', cpu + '-netbsd' + version),
        '_host_vendor':      ('none',    'none',     'pc'),
        '_host_os':          ('none',    'none',     'netbsd'),
        '_host_os_version':  ('none',    'none',     version),
        '_host_cpu':         ('none',    'none',     cpu),
        '_host_alias':       ('none',    'none',     '%{nil}'),
        '_host_arch':        ('none',    'none',     cpu),
        '_usr':              ('dir',     'required', '/usr'),
        '_var':              ('dir',     'optional', '/var'),
        'optincludes_build': ('none',    'none',     '-I/usr/pkg/include -L/usr/pkg/lib'),
        '__bash':            ('exe',     'optional', '/usr/pkg/bin/bash'),
        '__bison':           ('exe',     'required', '/usr/pkg/bin/bison'),
        '__git':             ('exe',     'required', '/usr/pkg/bin/git'),
        '__svn':             ('exe',     'required', '/usr/pkg/bin/svn'),
        '__xz':              ('exe',     'optional', '/usr/pkg/bin/xz'),
        '__make':            ('exe',     'required', 'gmake'),
        '__patch_opts':      ('none',     'none',    '-E')
        }

    defines['_build']        = defines['_host']
    defines['_build_vendor'] = defines['_host_vendor']
    defines['_build_os']     = defines['_host_os']
    defines['_build_cpu']    = defines['_host_cpu']
    defines['_build_alias']  = defines['_host_alias']
    defines['_build_arch']   = defines['_host_arch']

    for gv in ['47', '48', '49']:
        gcc = '%s-portbld-netbsd%s-gcc%s' % (cpu, version, gv)
        if check.check_exe(gcc, gcc):
            defines['__cc'] = gcc
            break
    for gv in ['47', '48', '49']:
        gxx = '%s-portbld-netbsd%s-g++%s' % (cpu, version, gv)
        if check.check_exe(gxx, gxx):
            defines['__cxx'] = gxx
            break

    return defines
开发者ID:RTEMS,项目名称:rtems-tools,代码行数:57,代码来源:netbsd.py

示例5: load

def load():
    uname = os.uname()
    sysctl = "/sbin/sysctl "
    e = execute.capture_execution()
    exit_code, proc, output = e.shell(sysctl + "hw.ncpu")
    if exit_code == 0:
        ncpus = output.split(" ")[1].strip()
    else:
        ncpus = "1"
    if uname[4] == "amd64":
        cpu = "x86_64"
    else:
        cpu = uname[4]
    version = uname[2]
    if version.find("-") > 0:
        version = version.split("-")[0]
    defines = {
        "_ncpus": ("none", "none", "1"),
        "_os": ("none", "none", "netbsd"),
        "_host": ("triplet", "required", cpu + "-netbsd" + version),
        "_host_vendor": ("none", "none", "pc"),
        "_host_os": ("none", "none", "netbsd"),
        "_host_os_version": ("none", "none", version),
        "_host_cpu": ("none", "none", cpu),
        "_host_alias": ("none", "none", "%{nil}"),
        "_host_arch": ("none", "none", cpu),
        "_usr": ("dir", "required", "/usr"),
        "_var": ("dir", "optional", "/var"),
        "optincludes_build": ("none", "none", "-I/usr/pkg/include -L/usr/pkg/lib"),
        "__bash": ("exe", "optional", "/usr/pkg/bin/bash"),
        "__bison": ("exe", "required", "/usr/pkg/bin/bison"),
        "__git": ("exe", "required", "/usr/pkg/bin/git"),
        "__svn": ("exe", "required", "/usr/pkg/bin/svn"),
        "__xz": ("exe", "optional", "/usr/pkg/bin/xz"),
        "__make": ("exe", "required", "gmake"),
        "__patch_opts": ("none", "none", "-E"),
    }

    defines["_build"] = defines["_host"]
    defines["_build_vendor"] = defines["_host_vendor"]
    defines["_build_os"] = defines["_host_os"]
    defines["_build_cpu"] = defines["_host_cpu"]
    defines["_build_alias"] = defines["_host_alias"]
    defines["_build_arch"] = defines["_host_arch"]

    for gv in ["47", "48", "49"]:
        gcc = "%s-portbld-netbsd%s-gcc%s" % (cpu, version, gv)
        if check.check_exe(gcc, gcc):
            defines["__cc"] = gcc
            break
    for gv in ["47", "48", "49"]:
        gxx = "%s-portbld-netbsd%s-g++%s" % (cpu, version, gv)
        if check.check_exe(gxx, gxx):
            defines["__cxx"] = gxx
            break

    return defines
开发者ID:AnonymousPBoC,项目名称:rtems-source-builder,代码行数:57,代码来源:netbsd.py

示例6: _run

 def _run(self, args, check = False):
     e = execute.capture_execution()
     if path.exists(self.path):
         cwd = self.path
     else:
         cwd = None
     cmd = [self.git] + args
     log.trace('cmd: (%s) %s' % (str(cwd), ' '.join(cmd)))
     exit_code, proc, output = e.spawn(cmd, cwd = path.host(cwd))
     log.trace(output)
     if check:
         self._git_exit_code(exit_code)
     return exit_code, output
开发者ID:CRempel,项目名称:rtems-source-builder,代码行数:13,代码来源:git.py

示例7: _run

 def _run(self, args, check = False, cwd = None):
     e = execute.capture_execution()
     if cwd is None:
         cwd = path.join(self.path, self.prefix)
     if not path.exists(cwd):
         raise error.general('cvs path needs to exist: %s' % (cwd))
     cmd = [self.cvs, '-z', '9', '-q'] + args
     log.output('cmd: (%s) %s' % (str(cwd), ' '.join(cmd)))
     exit_code, proc, output = e.spawn(cmd, cwd = path.host(cwd))
     log.trace(output)
     if check:
         self._cvs_exit_code(cmd, exit_code, output)
     return exit_code, output
开发者ID:AnonymousPBoC,项目名称:rtems-source-builder,代码行数:13,代码来源:cvs.py

示例8: load

def load():
    uname = os.uname()
    psrinfo = '/sbin/psrinfo|wc -l'
    e = execute.capture_execution()
    exit_code, proc, output = e.shell(psrinfo)
    if exit_code == 0:
        ncpus = output
    else:
        ncpus = '1'
    if uname[4] == 'i86pc':
        cpu = 'i386'
    else:
        cpu = uname[4]
    version = uname[2]
    if version.find('-') > 0:
        version = version.split('-')[0]
    defines = {
        '_ncpus':           ('none',    'none',     ncpus),
        '_os':              ('none',    'none',     'solaris'),
        '_host':            ('triplet', 'required', cpu + '-pc-solaris2'),
        '_host_vendor':     ('none',    'none',     'pc'),
        '_host_os':         ('none',    'none',     'solaris'),
        '_host_os_version': ('none',    'none',     version),
        '_host_cpu':        ('none',    'none',     cpu),
        '_host_alias':      ('none',    'none',     '%{nil}'),
        '_host_arch':       ('none',    'none',     cpu),
        '_usr':             ('dir',     'required', '/usr'),
        '_var':             ('dir',     'optional', '/var'),
        '__bash':           ('exe',     'optional', '/usr/bin/bash'),
        '__bison':          ('exe',     'required', '/usr/bin/bison'),
        '__git':            ('exe',     'required', '/usr/bin/git'),
        '__svn':            ('exe',     'required', '/usr/bin/svn'),
        '__cvs':            ('exe',     'optional', '/usr/bin/cvs'),
        '__xz':             ('exe',     'optional', '/usr/bin/xz'),
        '__make':           ('exe',     'required', 'gmake'),
        '__patch_opts':     ('none',     'none',    '-E'),
        '__chown':          ('exe',     'required', '/usr/bin/chown'),
        '__install':        ('exe',     'required', '/usr/bin/ginstall'),
        '__cc':             ('exe',     'required', '/usr/bin/gcc'),
        '__cxx':            ('exe',     'required', '/usr/bin/g++'),
        'with_iconv':       ('none',    'none',     '0')
        }

    defines['_build']        = defines['_host']
    defines['_build_vendor'] = defines['_host_vendor']
    defines['_build_os']     = defines['_host_os']
    defines['_build_cpu']    = defines['_host_cpu']
    defines['_build_alias']  = defines['_host_alias']
    defines['_build_arch']   = defines['_host_arch']

    return defines
开发者ID:RTEMS,项目名称:rtems-source-builder,代码行数:51,代码来源:solaris.py

示例9: load

def load():
    uname = os.uname()
    sysctl = '/usr/sbin/sysctl '
    e = execute.capture_execution()
    exit_code, proc, output = e.shell(sysctl + 'hw.ncpu')
    if exit_code == 0:
        ncpus = output.split(' ')[1].strip()
    else:
        ncpus = '1'
    version = uname[2]
    if version.find('.'):
        version = version.split('.')[0]
    defines = {
        '_ncpus':           ('none',    'none',     ncpus),
        '_os':              ('none',    'none',     'darwin'),
        '_host':            ('triplet', 'required', uname[4] + '-apple-darwin' + uname[2]),
        '_host_vendor':     ('none',    'none',     'apple'),
        '_host_os':         ('none',    'none',     'darwin'),
        '_host_os_version': ('none',    'none',     version),
        '_host_cpu':        ('none',    'none',     uname[4]),
        '_host_alias':      ('none',    'none',     '%{nil}'),
        '_host_arch':       ('none',    'none',     uname[4]),
        '_usr':             ('dir',     'optional', '/usr/local'),
        '_var':             ('dir',     'optional', '/usr/local/var'),
        '_prefix':          ('dir',     'optional', '%{_usr}'),
        '__ldconfig':       ('exe',     'none',     ''),
        '__cvs':            ('exe',     'optional', 'cvs'),
        '__xz':             ('exe',     'required', '%{_usr}/bin/xz'),
        'with_zlib':        ('none',    'none',     '--with-zlib=no'),
        '_forced_static':   ('none',    'none',     ''),
        '_ld_library_path': ('none',    'none',     'DYLD_LIBRARY_PATH')
        }

    if version.find('.'):
        version = version.split('.')[0]
        if int(version) >= 13:
            defines['__cc'] = ('exe',     'required', '/usr/bin/cc')
            defines['__cxx'] = ('exe',     'required', '/usr/bin/c++')
            defines['build_cflags'] = '-O2 -pipe -fbracket-depth=1024'
            defines['build_cxxflags'] = '-O2 -pipe -fbracket-depth=1024'

    defines['_build']        = defines['_host']
    defines['_build_vendor'] = defines['_host_vendor']
    defines['_build_os']     = defines['_host_os']
    defines['_build_cpu']    = defines['_host_cpu']
    defines['_build_alias']  = defines['_host_alias']
    defines['_build_arch']   = defines['_host_arch']

    return defines
开发者ID:Sambeet161616,项目名称:rtems-source-builder,代码行数:49,代码来源:darwin.py

示例10: _shell

 def _shell(self, line):
     sl = self.sf.findall(line)
     if len(sl):
         e = execute.capture_execution()
         for s in sl:
             if options.host_windows:
                 cmd = '%s -c "%s"' % (self.macros.expand('%{__sh}'), s[2:-1])
             else:
                 cmd = s[2:-1]
             exit_code, proc, output = e.shell(cmd)
             if exit_code == 0:
                 line = line.replace(s, output)
             else:
                 raise error.general('shell macro failed: %s:%d: %s' % (s, exit_code, output))
     return line
开发者ID:SayCV,项目名称:rtems-source-builder,代码行数:15,代码来源:config.py

示例11: load

def load():
    uname = os.uname()
    sysctl = "/usr/sbin/sysctl "
    e = execute.capture_execution()
    exit_code, proc, output = e.shell(sysctl + "hw.ncpu")
    if exit_code == 0:
        ncpus = output.split(" ")[1].strip()
    else:
        ncpus = "1"
    version = uname[2]
    if version.find("."):
        version = version.split(".")[0]
    defines = {
        "_ncpus": ("none", "none", ncpus),
        "_os": ("none", "none", "darwin"),
        "_host": ("triplet", "required", uname[4] + "-apple-darwin" + uname[2]),
        "_host_vendor": ("none", "none", "apple"),
        "_host_os": ("none", "none", "darwin"),
        "_host_os_version": ("none", "none", version),
        "_host_cpu": ("none", "none", uname[4]),
        "_host_alias": ("none", "none", "%{nil}"),
        "_host_arch": ("none", "none", uname[4]),
        "_usr": ("dir", "optional", "/usr/local"),
        "_var": ("dir", "optional", "/usr/local/var"),
        "_prefix": ("dir", "optional", "%{_usr}"),
        "__ldconfig": ("exe", "none", ""),
        "__cvs": ("exe", "required", "cvs"),
        "__xz": ("exe", "required", "%{_usr}/bin/xz"),
        "with_zlib": ("none", "none", "--with-zlib=no"),
        "_forced_static": ("none", "none", ""),
        "_ld_library_path": ("none", "none", "DYLD_LIBRARY_PATH"),
    }

    if version.find("."):
        version = version.split(".")[0]
        if int(version) >= 13:
            defines["__cc"] = ("exe", "required", "/usr/bin/cc")
            defines["__cxx"] = ("exe", "required", "/usr/bin/c++")

    defines["_build"] = defines["_host"]
    defines["_build_vendor"] = defines["_host_vendor"]
    defines["_build_os"] = defines["_host_os"]
    defines["_build_cpu"] = defines["_host_cpu"]
    defines["_build_alias"] = defines["_host_alias"]
    defines["_build_arch"] = defines["_host_arch"]

    return defines
开发者ID:krzysiekm13,项目名称:rtems-source-builder,代码行数:47,代码来源:darwin.py

示例12: load

def load():
    uname = os.uname()
    sysctl = '/usr/sbin/sysctl '
    e = execute.capture_execution()
    exit_code, proc, output = e.shell(sysctl + 'hw.ncpu')
    if exit_code == 0:
        ncpus = output.split(' ')[1].strip()
    else:
        ncpus = '1'
    defines = {
        '_ncpus':         ('none',    'none',     ncpus),
        '_os':            ('none',    'none',     'darwin'),
        '_host':          ('triplet', 'required', uname[4] + '-apple-darwin' + uname[2]),
        '_host_vendor':   ('none',    'none',     'apple'),
        '_host_os':       ('none',    'none',     'darwin'),
        '_host_cpu':      ('none',    'none',     uname[4]),
        '_host_alias':    ('none',    'none',     '%{nil}'),
        '_host_arch':     ('none',    'none',     uname[4]),
        '_host_prefix':   ('dir',     'optional', '%{_usr}'),
        '_usr':           ('dir',     'optional', '/usr/local'),
        '_var':           ('dir',     'optional', '/usr/local/var'),
        '__ldconfig':     ('exe',     'none',     ''),
        '__cvs':          ('exe',     'required', 'cvs'),
        '__xz':           ('exe',     'required', '%{_usr}/bin/xz'),
        'with_zlib':      ('none',    'none',     '--with-zlib=no'),
        '_forced_static': ('none',    'none',     '')
        }

    defines['_build']        = defines['_host']
    defines['_build_vendor'] = defines['_host_vendor']
    defines['_build_os']     = defines['_host_os']
    defines['_build_cpu']    = defines['_host_cpu']
    defines['_build_alias']  = defines['_host_alias']
    defines['_build_arch']   = defines['_host_arch']

    return defines
开发者ID:vivek9191,项目名称:rtems-tools,代码行数:36,代码来源:darwin.py

示例13: load

def load():
    uname = os.uname()
    smp_mflags = ''
    processors = '/bin/grep processor /proc/cpuinfo'
    e = execute.capture_execution()
    exit_code, proc, output = e.shell(processors)
    ncpus = 0
    if exit_code == 0:
        try:
            for l in output.split('\n'):
                count = l.split(':')[1].strip()
                if int(count) > ncpus:
                    ncpus = int(count)
        except:
            pass
    ncpus = str(ncpus + 1)
    if uname[4].startswith('arm'):
        cpu = 'arm'
    else:
        cpu = uname[4]

    version = uname[2]
    defines = {
        '_ncpus':           ('none',    'none',     ncpus),
        '_os':              ('none',    'none',     'linux'),
        '_host':            ('triplet', 'required', cpu + '-linux-gnu'),
        '_host_vendor':     ('none',    'none',     'gnu'),
        '_host_os':         ('none',    'none',     'linux'),
        '_host_os_version': ('none',    'none',     version),
        '_host_cpu':        ('none',    'none',     cpu),
        '_host_alias':      ('none',    'none',     '%{nil}'),
        '_host_arch':       ('none',    'none',     cpu),
        '_usr':             ('dir',     'required', '/usr'),
        '_var':             ('dir',     'required', '/var'),
        '__bzip2':          ('exe',     'required', '/usr/bin/bzip2'),
        '__gzip':           ('exe',     'required', '/bin/gzip'),
        '__tar':            ('exe',     'required', '/bin/tar')
        }

    # Works for LSB distros
    try:
        distro = platform.dist()[0]
        distro_ver = float(platform.dist()[1])
    except ValueError:
        # Non LSB distro found, use failover"
        pass

    # Non LSB - fail over to issue
    if distro == '':
        try:
            issue = open('/etc/issue').read()
            distro = issue.split(' ')[0]
            distro_ver = float(issue.split(' ')[2])
        except:
            pass

    # Manage distro aliases
    if distro in ['centos']:
        distro = 'redhat'
    elif distro in ['fedora']:
        if distro_ver < 17:
            distro = 'redhat'
    elif distro in ['centos', 'fedora']:
        distro = 'redhat'
    elif distro in ['Ubuntu', 'ubuntu', 'LinuxMint', 'linuxmint']:
        distro = 'debian'
    elif distro in ['Arch']:
        distro = 'arch'
    elif distro in ['SuSE']:
        distro = 'suse'

    variations = {
        'debian' : { '__bzip2':        ('exe',     'required', '/bin/bzip2'),
                     '__chgrp':        ('exe',     'required', '/bin/chgrp'),
                     '__chown':        ('exe',     'required', '/bin/chown'),
                     '__grep':         ('exe',     'required', '/bin/grep'),
                     '__sed':          ('exe',     'required', '/bin/sed') },
        'redhat' : { '__bzip2':        ('exe',     'required', '/bin/bzip2'),
                     '__chgrp':        ('exe',     'required', '/bin/chgrp'),
                     '__chown':        ('exe',     'required', '/bin/chown'),
                     '__install_info': ('exe',     'required', '/sbin/install-info'),
                     '__grep':         ('exe',     'required', '/bin/grep'),
                     '__sed':          ('exe',     'required', '/bin/sed'),
                     '__touch':        ('exe',     'required', '/bin/touch') },
        'fedora' : { '__chown':        ('exe',     'required', '/usr/bin/chown'),
                     '__install_info': ('exe',     'required', '/usr/sbin/install-info') },
        'arch'   : { '__gzip':         ('exe',     'required', '/usr/bin/gzip'),
                     '__chown':        ('exe',     'required', '/usr/bin/chown') },
        'suse'   : { '__chgrp':        ('exe',     'required', '/usr/bin/chgrp'),
                     '__chown':        ('exe',     'required', '/usr/sbin/chown') },
        }

    if variations.has_key(distro):
        for v in variations[distro]:
            if path.exists(variations[distro][v][2]):
                defines[v] = variations[distro][v]

    defines['_build']        = defines['_host']
    defines['_build_vendor'] = defines['_host_vendor']
    defines['_build_os']     = defines['_host_os']
#.........这里部分代码省略.........
开发者ID:AnonymousPBoC,项目名称:rtems-source-builder,代码行数:101,代码来源:linux.py

示例14: load

def load():
    uname = os.uname()
    sysctl = '/sbin/sysctl '
    e = execute.capture_execution()
    exit_code, proc, output = e.shell(sysctl + 'hw.ncpu')
    if exit_code == 0:
        ncpus = output.split(' ')[1].strip()
    else:
        ncpus = '1'
    if uname[4] == 'amd64':
        cpu = 'x86_64'
    else:
        cpu = uname[4]
    version = uname[2]
    if version.find('-') > 0:
        version = version.split('-')[0]
    defines = {
        '_ncpus':           ('none',    'none',     ncpus),
        '_os':              ('none',    'none',     'freebsd'),
        '_host':            ('triplet', 'required', cpu + '-freebsd' + version),
        '_host_vendor':     ('none',    'none',     'pc'),
        '_host_os':         ('none',    'none',     'freebsd'),
        '_host_os_version': ('none',    'none',     version),
        '_host_cpu':        ('none',    'none',     cpu),
        '_host_alias':      ('none',    'none',     '%{nil}'),
        '_host_arch':       ('none',    'none',     cpu),
        '_usr':             ('dir',     'required', '/usr/local'),
        '_var':             ('dir',     'optional', '/usr/local/var'),
        '__bash':           ('exe',     'optional', '/usr/local/bin/bash'),
        '__bison':          ('exe',     'required', '/usr/local/bin/bison'),
        '__git':            ('exe',     'required', '/usr/local/bin/git'),
        '__svn':            ('exe',     'required', '/usr/local/bin/svn'),
        '__xz':             ('exe',     'optional', '/usr/bin/xz'),
        '__make':           ('exe',     'required', 'gmake'),
        '__patch_opts':     ('none',     'none',    '-E')
        }

    defines['_build']        = defines['_host']
    defines['_build_vendor'] = defines['_host_vendor']
    defines['_build_os']     = defines['_host_os']
    defines['_build_cpu']    = defines['_host_cpu']
    defines['_build_alias']  = defines['_host_alias']
    defines['_build_arch']   = defines['_host_arch']

    # FreeBSD 10 and above no longer have /usr/bin/cvs, but it can (e.g.) be
    # installed to /usr/local/bin/cvs through the devel/cvs port
    if int(float(version)) >= 10:
        #
        # FreeBSD has switched to clang plus gcc. On 10.0 cc is gcc based and
        # clang is provided however it is not building binutils-2.24.
        #
        cc = '/usr/bin/cc'
        if check.check_exe(cc, cc):
            defines['__cc'] = cc
        else:
            cc = '/usr/bin/clang'
            if not check.check_exe(cc, cc):
                raise error.general('no valid cc not found')
        cxx = '/usr/bin/c++'
        if check.check_exe(cxx, cxx):
            defines['__cxx'] = cxx
        else:
            cxx = '/usr/bin/clang++'
            if check.check_exe(cxx, cxx):
                raise error.general('no valid c++ not found')
            defines['optflags_build'] = '-O2 -pipe -fbracket-depth=1024'
        cvs = 'cvs'
        if check.check_exe(cvs, cvs):
            defines['__cvs'] = cvs
        #
        # Fix the mess iconv is on FreeBSD 10.0.
        #
        defines['iconv_optincludes'] = ('none', 'none', '-I/usr/local/include -L/usr/local/lib')

    for gv in ['47', '48', '49']:
        gcc = '%s-portbld-freebsd%s-gcc%s' % (cpu, version, gv)
        if check.check_exe(gcc, gcc):
            defines['__cc'] = gcc
            break
    for gv in ['47', '48', '49']:
        gxx = '%s-portbld-freebsd%s-g++%s' % (cpu, version, gv)
        if check.check_exe(gxx, gxx):
            defines['__cxx'] = gxx
            break

    return defines
开发者ID:krzysiekm13,项目名称:rtems-source-builder,代码行数:86,代码来源:freebsd.py

示例15: load


#.........这里部分代码省略.........
        '_build_alias':      ('none',    'none',     '%{nil}'),
        '_build_arch':       ('none',    'none',     hosttype),
        '_host':             ('triplet', 'required', host_triple),
        '_host_vendor':      ('none',    'none',     'microsoft'),
        '_host_os':          ('none',    'none',     'win32'),
        '_host_cpu':         ('none',    'none',     hosttype),
        '_host_alias':       ('none',    'none',     '%{nil}'),
        '_host_arch':        ('none',    'none',     hosttype),
        '_usr':              ('dir',     'optional', '/opt/local'),
        '_var':              ('dir',     'optional', '/opt/local/var'),
        '__bash':            ('exe',     'required', 'bash'),
        '__bzip2':           ('exe',     'required', 'bzip2'),
        '__bison':           ('exe',     'required', 'bison'),
        '__cat':             ('exe',     'required', 'cat'),
        '__cc':              ('exe',     'required', cc),
        '__chgrp':           ('exe',     'required', 'chgrp'),
        '__chmod':           ('exe',     'required', 'chmod'),
        '__chown':           ('exe',     'required', 'chown'),
        '__cp':              ('exe',     'required', 'cp'),
        '__cvs':             ('exe',     'optional', 'cvs'),
        '__cxx':             ('exe',     'required', cxx),
        '__flex':            ('exe',     'required', 'flex'),
        '__git':             ('exe',     'required', 'git'),
        '__grep':            ('exe',     'required', 'grep'),
        '__gzip':            ('exe',     'required', 'gzip'),
        '__id':              ('exe',     'required', 'id'),
        '__install':         ('exe',     'required', 'install'),
        '__install_info':    ('exe',     'required', 'install-info'),
        '__ld':              ('exe',     'required', 'ld'),
        '__ldconfig':        ('exe',     'none',     ''),
        '__makeinfo':        ('exe',     'required', 'makeinfo'),
        '__mkdir':           ('exe',     'required', 'mkdir'),
        '__mv':              ('exe',     'required', 'mv'),
        '__nm':              ('exe',     'required', 'nm'),
        '__nm':              ('exe',     'required', 'nm'),
        '__objcopy':         ('exe',     'required', 'objcopy'),
        '__objdump':         ('exe',     'required', 'objdump'),
        '__patch':           ('exe',     'required', 'patch'),
        '__patch_bin':       ('exe',     'required', 'patch'),
        '__rm':              ('exe',     'required', 'rm'),
        '__sed':             ('exe',     'required', 'sed'),
        '__sh':              ('exe',     'required', 'sh'),
        '__tar':             ('exe',     'required', 'bsdtar'),
        '__touch':           ('exe',     'required', 'touch'),
        '__unzip':           ('exe',     'required', 'unzip'),
        '__xz':              ('exe',     'required', 'xz'),
        '_buildshell':       ('exe',     'required', '%{__sh}'),
        '___setup_shell':    ('exe',     'required', '%{__sh}')
        }

    #
    # Locate a suitable python to use with GDB. Python Windows is more
    # complicated than most hosts. There are 7 possible pythons on Windows and
    # we can use only 4 which are split on machine size. The types are:
    #
    #  1. Python27 - python.org, cannot use cause built with MSVC.
    #  2. Python35 - python.org, cannot use cause built with MSVC.
    #  3. MSYS/Python - MSYS2, cannot use cause it is a MSYS executable.
    #  4. W64/Python2 - Ok if machsize is 64
    #  5. W64/Python3 - gdb-7.9 needs python2.
    #  6. W64/Python2 - Ok if machsize is 32
    #  7. W64/Python3 - gdb-7.9 needs python2.
    #
    if sys.platform == 'win32' and 'MSC' in sys.version:
        raise error.general('python.org Pythons are built with MSC and cannot be linked with GDB')

    #
    # Search the MSYS2 install tree for a suitable python.
    #
    if sys.platform == 'msys':
        e = execute.capture_execution()
        exit_code, proc, output = e.shell("sh -c mount")
        if exit_code != 0:
            raise error.general('cannot get MSYS mount points')
        install_point = None
        for l in output.split('\n'):
            if ' on / ' in l:
                install_point = l.split()[0]
                break
        if install_point is None:
            raise error.general('cannot locate MSYS root mount point')
        if install_point[1] != ':':
            raise error.general('invalid MSYS root mount point: %s' % install_point)
        install_point = '/%s%s' % (install_point[0], install_point[2:])
        bin = '/mingw%s/bin' % (machsize)
        bin_list = os.listdir(bin)
        exe = None
        for python in ['python2.exe']:
            for f in bin_list:
                if f == python:
                    exe = install_point + os.path.join(bin, f)
                    break;
            if exe is not None:
                break
        if exe is None:
            raise error.general('no valid python found; you need a mingw%s python2 installed' % (machsize))
        defines['with_python_path'] = exe


    return defines
开发者ID:Sambeet161616,项目名称:rtems-source-builder,代码行数:101,代码来源:windows.py


注:本文中的execute.capture_execution函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。