Example #1
0
def build_module(module, required):
    import os.path
    tools.mkdir_safe('product/modules/%s' % module)
    out = 'product/modules/%s/%s.o' % (module, module)
    srcs = []

    metafile = 'modules/%s/%s.meta' % (module, module)
    if os.path.exists(metafile):
        tools.copy_file('product/modules/%s/%s.meta' % (module, module),
                        metafile)
        srcs.append(metafile)
    meta = tools.load_meta(metafile)
    extra_objs = ''
    if 'objs' in meta:
        extra_objs = meta['objs']
    src = 'modules/%s/%s.rip' % (module, module)
    if tools.depends(out, module_deps + [src]):
        tools.pprint('MOD', src, out)
        args = [
            'product/ripe', conf["RFLAGS"], '-n', module, '-c', srcs, src,
            extra_objs, '-o', out
        ]
        # Required (default) packages have already been typed, and are
        # loaded by default.  Hence, they do not need to be typed.
        if required:
            args.append('--omit-typing')
        if conf["VERBOSITY"] > 1:
            args.append('-v')
        if required:
            tools.call(args)
        else:
            if not tools.try_call(args):
                failed_modules.append(module)
Example #2
0
def build_module(module, required):
    import os.path
    tools.mkdir_safe('product/modules/%s' % module)
    out = 'product/modules/%s/%s.o' % (module, module)
    srcs = []

    metafile = 'modules/%s/%s.meta' % (module, module)
    if os.path.exists(metafile):
        tools.copy_file('product/modules/%s/%s.meta' % (module, module), metafile)
        srcs.append(metafile)
    meta = tools.load_meta(metafile)
    extra_objs = ''
    if 'objs' in meta:
        extra_objs = meta['objs']
    src = 'modules/%s/%s.rip' % (module, module)
    if tools.depends(out, module_deps + [src]):
        tools.pprint('MOD', src, out)
        args = ['product/ripe', conf["RFLAGS"], '-n', module,
                '-c', srcs, src, extra_objs, '-o', out]
        # Required (default) packages have already been typed, and are
        # loaded by default.  Hence, they do not need to be typed.
        if required:
          args.append('--omit-typing')
        if conf["VERBOSITY"] > 1:
            args.append('-v')
        if required:
            tools.call(args)
        else:
            if not tools.try_call(args):
                failed_modules.append(module)
Example #3
0
def build_module(module):
    import os.path
    out = 'product/%s.o' % module

    # Deal with metafile
    metafile = 'modules/%s/%s.meta' % (module, module)
    if os.path.exists(metafile):
        copy_file('product/%s.meta' % module, metafile)
    meta = tools.load_meta(metafile)
    extra_CFLAGS = ''
    if meta.has_key('includes'):
        extra_CFLAGS = meta['includes']
    path = 'modules/%s/%s.rip' % (module, module)
    if os.path.exists(path):
        cons_module(path, out, module, extra_CFLAGS)
        return

    path = 'modules/%s/%s.c' % (module, module)
    if os.path.exists(path):
        cons_module(path, out, module, extra_CFLAGS)
        return