예제 #1
0
파일: unity.py 프로젝트: maksqwe/jack2
def enable_support(cc, cxx):
    if cxx or not cc:
        make_cxx_batch = TaskGen.extension(".cpp", ".cc", ".cxx", ".C", ".c++")(make_batch_fun("cxx"))
    if cc:
        make_c_batch = TaskGen.extension(".c")(make_batch_fun("c"))
    else:
        TaskGen.task_gen.mappings[".c"] = TaskGen.task_gen.mappings[".cpp"]
예제 #2
0
파일: unity.py 프로젝트: BillTian/waf
def enable_support(cc, cxx):
	if cxx or not cc:
		TaskGen.extension('.cpp', '.cc', '.cxx', '.C', '.c++')(make_batch_fun('cxx'))
	if cc:
		TaskGen.extension('.c')(make_batch_fun('c'))
	else:
		TaskGen.task_gen.mappings['.c'] = TaskGen.task_gen.mappings['.cpp']
예제 #3
0
def enable_support(cc, cxx):
    if cxx or not cc:
        TaskGen.extension('.cpp', '.cc', '.cxx', '.C',
                          '.c++')(make_batch_fun('cxx'))
    if cc:
        TaskGen.extension('.c')(make_batch_fun('c'))
    else:
        TaskGen.task_gen.mappings['.c'] = TaskGen.task_gen.mappings['.cpp']
예제 #4
0
파일: conf.py 프로젝트: zeus911/waf-2
        append_doc(func, 'after', k)
        return func

    return deco


after.__doc__ = TaskGen.after.__doc__
TaskGen.after = after

# replay existing methods
TaskGen.taskgen_method(TaskGen.to_nodes)
TaskGen.feature('*')(TaskGen.process_source)
TaskGen.feature('*')(TaskGen.process_rule)
TaskGen.before('process_source')(TaskGen.process_rule)
TaskGen.feature('seq')(TaskGen.sequence_order)
TaskGen.extension('.pc.in')(TaskGen.add_pcfile)
TaskGen.feature('subst')(TaskGen.process_subst)
TaskGen.before('process_source', 'process_rule')(TaskGen.process_subst)

from waflib.Task import Task

Task.__dict__[
    'post_run'].__doc__ = "Update the cache files (executed by threads). Override in subclasses."

from waflib import Configure, Build
confmeths = []


def conf(f):
    def fun(*k, **kw):
        mandatory = True
예제 #5
0
        test.atstr = atstr
        test.filename = filename
        test.ut_exec = exec_list + param


from waflib.TaskGen import feature, after_method, before_method, task_gen
feature('systest')(make_systest)
after_method('apply_link')(make_systest)


# ASM hooks for the gcc compiler
def s_hook(self, node):
    return self.create_compiled_task('c', node)


TaskGen.extension('.S')(s_hook)

MKPROM = Task.task_factory('MKPROM',
                           func='${MKPROM} ${_MKPROMFLAGS} -o ${TGT} ${SRC}',
                           color='YELLOW')

MKPROM_TSKS = list()


def make_prom(self):
    """Create mkprom task"""
    elf = self.target
    if hasattr(self, 'promflags'):
        promflags = Utils.to_list(self.promflags)
    if hasattr(self, 'prom'):
        promname = self.prom
예제 #6
0
파일: c.py 프로젝트: HariKishan8/Networks
#! /usr/bin/env python
# encoding: utf-8
# WARNING! Do not edit! http://waf.googlecode.com/svn/docs/wafbook/single.html#_obtaining_the_waf_file

from waflib import TaskGen,Task,Utils
from waflib.Tools import c_preproc
from waflib.Tools.ccroot import link_task,stlink_task
def c_hook(self,node):
	return self.create_compiled_task('c',node)
class c(Task.Task):
	run_str='${CC} ${ARCH_ST:ARCH} ${CFLAGS} ${CPPFLAGS} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${CPPPATH_ST:INCPATHS} ${DEFINES_ST:DEFINES} ${CC_SRC_F}${SRC} ${CC_TGT_F}${TGT}'
	vars=['CCDEPS']
	ext_in=['.h']
	scan=c_preproc.scan
Task.classes['cc']=cc=c
class cprogram(link_task):
	run_str='${LINK_CC} ${CCLNK_SRC_F}${SRC} ${CCLNK_TGT_F}${TGT[0].abspath()} ${RPATH_ST:RPATH} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${FRAMEWORK_ST:FRAMEWORK} ${ARCH_ST:ARCH} ${STLIB_MARKER} ${STLIBPATH_ST:STLIBPATH} ${STLIB_ST:STLIB} ${SHLIB_MARKER} ${LIBPATH_ST:LIBPATH} ${LIB_ST:LIB} ${LINKFLAGS}'
	ext_out=['.bin']
	vars=['LINKDEPS']
	inst_to='${BINDIR}'
	chmod=Utils.O755
class cshlib(cprogram):
	inst_to='${LIBDIR}'
class cstlib(stlink_task):
	pass

TaskGen.extension('.c')(c_hook)
예제 #7
0
                  name=targetName,
                  target=targetName,
                  basedir='classes',
                  outdir='classes',
                  destfile=libName,
                  compat=compat,
                  dir=bld.path.get_bld(),
                  files=[libName])

        jar.install_path = installPath or '${PREFIX}/lib'

        if have_native_sourcedir:
            lib = bld(features='%s %sshlib' % (nlang, nlang),
                      includes='%s/include' % native_sourcedir,
                      target='%s.jni-%s' % (modArgs['name'], nlang),
                      env=env.derive(),
                      uselib=uselib,
                      use=uselib_local,
                      source=bld.path.find_dir(native_sourcedir).ant_glob(
                          'source/*%s' % nsourceExt))

            jar.targets_to_add.append(lib)

            lib.install_path = installPath or '${PREFIX}/lib'

        return jar


# Tell waf to ignore any build.xml files, the 'ant' feature will take care of them.
TaskGen.extension('build.xml')(Utils.nada)
예제 #8
0
파일: cxx.py 프로젝트: Gear61/cs118
#! /usr/bin/env python
# encoding: utf-8
# WARNING! Do not edit! http://waf.googlecode.com/git/docs/wafbook/single.html#_obtaining_the_waf_file

from waflib import TaskGen, Task, Utils
from waflib.Tools import c_preproc
from waflib.Tools.ccroot import link_task, stlink_task


def cxx_hook(self, node):
    return self.create_compiled_task('cxx', node)


TaskGen.extension('.cpp', '.cc', '.cxx', '.C', '.c++')(cxx_hook)
if not '.c' in TaskGen.task_gen.mappings:
    TaskGen.task_gen.mappings['.c'] = TaskGen.task_gen.mappings['.cpp']


class cxx(Task.Task):
    run_str = '${CXX} ${ARCH_ST:ARCH} ${CXXFLAGS} ${CPPFLAGS} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${CPPPATH_ST:INCPATHS} ${DEFINES_ST:DEFINES} ${CXX_SRC_F}${SRC} ${CXX_TGT_F}${TGT}'
    vars = ['CXXDEPS']
    ext_in = ['.h']
    scan = c_preproc.scan


class cxxprogram(link_task):
    run_str = '${LINK_CXX} ${LINKFLAGS} ${CXXLNK_SRC_F}${SRC} ${CXXLNK_TGT_F}${TGT[0].abspath()} ${RPATH_ST:RPATH} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${FRAMEWORK_ST:FRAMEWORK} ${ARCH_ST:ARCH} ${STLIB_MARKER} ${STLIBPATH_ST:STLIBPATH} ${STLIB_ST:STLIB} ${SHLIB_MARKER} ${LIBPATH_ST:LIBPATH} ${LIB_ST:LIB}'
    vars = ['LINKDEPS']
    ext_out = ['.bin']
    inst_to = '${BINDIR}'
    chmod = Utils.O755
예제 #9
0
파일: cxx.py 프로젝트: GrahamDennis/xpdeint
#!/usr/bin/env python
# encoding: utf-8
# Thomas Nagy, 2005-2010 (ita)

"Base for c++ programs and libraries"

from waflib import TaskGen, Task, Utils
from waflib.Tools import c_preproc
from waflib.Tools.ccroot import link_task, stlink_task

def cxx_hook(self, node):
	"Bind the c++ file extensions to the creation of a :py:class:`waflib.Tools.cxx.cxx` instance"
	return self.create_compiled_task('cxx', node)
TaskGen.extension('.cpp','.cc','.cxx','.C','.c++')(cxx_hook) # leave like this for python 2.3

if not '.c' in TaskGen.task_gen.mappings:
	TaskGen.task_gen.mappings['.c'] = TaskGen.task_gen.mappings['.cpp']

class cxx(Task.Task):
	"Compile C++ files into object files"
	run_str = '${CXX} ${ARCH_ST:ARCH} ${CXXFLAGS} ${CPPFLAGS} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${CPPPATH_ST:INCPATHS} ${DEFINES_ST:DEFINES} ${CXX_SRC_F} ${SRC} ${CXX_TGT_F} ${TGT}'
	vars    = ['CXXDEPS'] # unused variable to depend on, just in case
	ext_in  = ['.h'] # set the build order easily by using ext_out=['.h']
	scan    = c_preproc.scan
	shell   = True

class cxxprogram(link_task):
	"Link object files into a c++ program"
	run_str = '${LINK_CXX} ${LINKFLAGS} ${CXXLNK_SRC_F} ${SRC} ${CXXLNK_TGT_F} ${TGT[0].abspath()} ${RPATH_ST:RPATH} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${FRAMEWORK_ST:FRAMEWORK} ${ARCH_ST:ARCH} ${STLIB_MARKER} ${STLIBPATH_ST:STLIBPATH} ${STLIB_ST:STLIB} ${SHLIB_MARKER} ${LIBPATH_ST:LIBPATH} ${LIB_ST:LIB} ${FINAL_LINK_VAR}'
	vars    = ['LINKDEPS']
	ext_out = ['.bin']
예제 #10
0
파일: conf.py 프로젝트: kenmasumitsu/waf
			if not fun_name in task_gen.prec[func.__name__]:
				task_gen.prec[func.__name__].append(fun_name)
		fix_fun_doc(func)
		append_doc(func, 'after', k)
		return func
	return deco
after.__doc__ = TaskGen.after.__doc__
TaskGen.after = after

# replay existing methods
TaskGen.taskgen_method(TaskGen.to_nodes)
TaskGen.feature('*')(TaskGen.process_source)
TaskGen.feature('*')(TaskGen.process_rule)
TaskGen.before('process_source')(TaskGen.process_rule)
TaskGen.feature('seq')(TaskGen.sequence_order)
TaskGen.extension('.pc.in')(TaskGen.add_pcfile)
TaskGen.feature('subst')(TaskGen.process_subst)
TaskGen.before('process_source','process_rule')(TaskGen.process_subst)

from waflib.Task import Task

Task.__dict__['post_run'].__doc__ = "Update the cache files (executed by threads). Override in subclasses."


from waflib import Configure, Build, Errors
confmeths = []
def conf(f):
	def fun(*k, **kw):
		mandatory = True
		if 'mandatory' in kw:
			mandatory = kw['mandatory']
예제 #11
0
파일: c.py 프로젝트: Gear61/cs118
    return self.create_compiled_task('c', node)


class c(Task.Task):
    run_str = '${CC} ${ARCH_ST:ARCH} ${CFLAGS} ${CPPFLAGS} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${CPPPATH_ST:INCPATHS} ${DEFINES_ST:DEFINES} ${CC_SRC_F}${SRC} ${CC_TGT_F}${TGT}'
    vars = ['CCDEPS']
    ext_in = ['.h']
    scan = c_preproc.scan


Task.classes['cc'] = cc = c


class cprogram(link_task):
    run_str = '${LINK_CC} ${LINKFLAGS} ${CCLNK_SRC_F}${SRC} ${CCLNK_TGT_F}${TGT[0].abspath()} ${RPATH_ST:RPATH} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${FRAMEWORK_ST:FRAMEWORK} ${ARCH_ST:ARCH} ${STLIB_MARKER} ${STLIBPATH_ST:STLIBPATH} ${STLIB_ST:STLIB} ${SHLIB_MARKER} ${LIBPATH_ST:LIBPATH} ${LIB_ST:LIB}'
    ext_out = ['.bin']
    vars = ['LINKDEPS']
    inst_to = '${BINDIR}'
    chmod = Utils.O755


class cshlib(cprogram):
    inst_to = '${LIBDIR}'


class cstlib(stlink_task):
    pass


TaskGen.extension('.c')(c_hook)
예제 #12
0
       for dep in module_deps:
           try:
               tsk = bld.get_tgen_by_name(dep)
               for cp in tsk.classpath:
                   real_classpath.append(cp)
           except:
               return

       #build the jar
       jar = bld(features='javac jar add_targets install_tgt', manifest=manifest, jarcreate=jarcreate, srcdir=sourcedir, classpath=real_classpath, targets_to_add=targets_to_add + cp_targets, 
               use=module_deps, name=targetName, target=targetName, basedir='classes', outdir='classes', destfile=libName, compat=compat, dir=bld.path.get_bld(), files=[libName])

       jar.install_path = installPath or '${PREFIX}/lib'


       if have_native_sourcedir:
           lib = bld(features='%s %sshlib' % (nlang, nlang), includes='%s/include' % native_sourcedir,
                                  target='%s.jni-%s' % (modArgs['name'], nlang), env=env.derive(),
                                  uselib=uselib, use=uselib_local,
                           source=bld.path.find_dir(native_sourcedir).ant_glob('source/*%s' % nsourceExt))

           jar.targets_to_add.append(lib)

           lib.install_path = installPath or '${PREFIX}/lib'

       return jar

# Tell waf to ignore any build.xml files, the 'ant' feature will take care of them.
TaskGen.extension('build.xml')(Utils.nada)

예제 #13
0
파일: cxx.py 프로젝트: HariKishan8/Networks
#! /usr/bin/env python
# encoding: utf-8
# WARNING! Do not edit! http://waf.googlecode.com/svn/docs/wafbook/single.html#_obtaining_the_waf_file

from waflib import TaskGen,Task,Utils
from waflib.Tools import c_preproc
from waflib.Tools.ccroot import link_task,stlink_task
def cxx_hook(self,node):
	return self.create_compiled_task('cxx',node)
TaskGen.extension('.cpp','.cc','.cxx','.C','.c++')(cxx_hook)
if not'.c'in TaskGen.task_gen.mappings:
	TaskGen.task_gen.mappings['.c']=TaskGen.task_gen.mappings['.cpp']
class cxx(Task.Task):
	run_str='${CXX} ${ARCH_ST:ARCH} ${CXXFLAGS} ${CPPFLAGS} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${CPPPATH_ST:INCPATHS} ${DEFINES_ST:DEFINES} ${CXX_SRC_F}${SRC} ${CXX_TGT_F}${TGT}'
	vars=['CXXDEPS']
	ext_in=['.h']
	scan=c_preproc.scan
class cxxprogram(link_task):
	run_str='${LINK_CXX} ${CXXLNK_SRC_F}${SRC} ${CXXLNK_TGT_F}${TGT[0].abspath()} ${RPATH_ST:RPATH} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${FRAMEWORK_ST:FRAMEWORK} ${ARCH_ST:ARCH} ${STLIB_MARKER} ${STLIBPATH_ST:STLIBPATH} ${STLIB_ST:STLIB} ${SHLIB_MARKER} ${LIBPATH_ST:LIBPATH} ${LIB_ST:LIB} ${LINKFLAGS}'
	vars=['LINKDEPS']
	ext_out=['.bin']
	inst_to='${BINDIR}'
	chmod=Utils.O755
class cxxshlib(cxxprogram):
	inst_to='${LIBDIR}'
class cxxstlib(stlink_task):
	pass
예제 #14
0
#!/usr/bin/env python
# encoding: utf-8
# Thomas Nagy, 2005-2010 (ita)

"Base for c++ programs and libraries"

from waflib import TaskGen, Task, Utils
from waflib.Tools import c_preproc
from waflib.Tools.ccroot import link_task, stlink_task

def cxx_hook(self, node):
    "Bind the c++ file extensions to the creation of a :py:class:`waflib.Tools.cxx.cxx` instance"
    return self.create_compiled_task('cxx', node)
TaskGen.extension('.cpp','.cc','.cxx','.C','.c++')(cxx_hook) # leave like this for python 2.3

if not '.c' in TaskGen.task_gen.mappings:
    TaskGen.task_gen.mappings['.c'] = TaskGen.task_gen.mappings['.cpp']

class cxx(Task.Task):
    "Compile C++ files into object files"
    run_str = '${CXX} ${ARCH_ST:ARCH} ${CXXFLAGS} ${CPPFLAGS} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${CPPPATH_ST:INCPATHS} ${DEFINES_ST:DEFINES} ${CXX_SRC_F}${SRC} ${CXX_TGT_F}${TGT}'
    vars    = ['CXXDEPS'] # unused variable to depend on, just in case
    ext_in  = ['.h'] # set the build order easily by using ext_out=['.h']
    scan    = c_preproc.scan

class cxxprogram(link_task):
    "Link object files into a c++ program"
    run_str = '${LINK_CXX} ${CXXLNK_SRC_F}${SRC} ${CXXLNK_TGT_F}${TGT[0].abspath()} ${RPATH_ST:RPATH} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${FRAMEWORK_ST:FRAMEWORK} ${ARCH_ST:ARCH} ${STLIB_MARKER} ${STLIBPATH_ST:STLIBPATH} ${STLIB_ST:STLIB} ${SHLIB_MARKER} ${LIBPATH_ST:LIBPATH} ${LIB_ST:LIB} ${LINKFLAGS}'
    vars    = ['LINKDEPS']
    ext_out = ['.bin']
    inst_to = '${BINDIR}'
예제 #15
0
파일: systools.py 프로젝트: Emantor/core
        test.sys = sysname
        test.ram = sdramname or sramname or ""
        test.rom = romname
        test.atstr = atstr
        test.filename = filename
        test.ut_exec = exec_list + param
        print(' '.join(test.ut_exec))

from waflib.TaskGen import feature, after_method, before_method, task_gen
feature('systest')(make_systest)
after_method('apply_link')(make_systest)

# ASM hooks for the gcc compiler
def s_hook(self,node):
	return self.create_compiled_task('c',node)
TaskGen.extension('.S')(s_hook)


MKPROM = Task.task_factory( 'MKPROM',
    func  = '${MKPROM} ${_MKPROMFLAGS} -o ${TGT} ${SRC}',
    color = 'YELLOW')

MKPROM_TSKS = list()

def make_prom(self):
    """Create mkprom task"""
    elf = self.target
    if hasattr(self, 'promflags'):
        promflags = Utils.to_list(self.promflags)
    if hasattr(self, 'prom'):
        promname = self.prom
예제 #16
0
파일: conf.py 프로젝트: yotann/waf
        append_doc(func, "after", k)
        return func

    return deco


after.__doc__ = TaskGen.after.__doc__
TaskGen.after = after

# replay existing methods
TaskGen.taskgen_method(TaskGen.to_nodes)
TaskGen.feature("*")(TaskGen.process_source)
TaskGen.feature("*")(TaskGen.process_rule)
TaskGen.before("process_source")(TaskGen.process_rule)
TaskGen.feature("seq")(TaskGen.sequence_order)
TaskGen.extension(".pc.in")(TaskGen.add_pcfile)
TaskGen.feature("subst")(TaskGen.process_subst)
TaskGen.before("process_source", "process_rule")(TaskGen.process_subst)

from waflib.Task import Task

Task.__dict__["post_run"].__doc__ = "Update the cache files (executed by threads). Override in subclasses."


from waflib import Configure, Build

confmeths = []


def conf(f):
    def fun(*k, **kw):