コード例 #1
0
    opt.add_option('--want-rpath',
                   action='store_true',
                   default=False,
                   dest='want_rpath',
                   help='enable the rpath for qt libraries')
    opt.add_option('--header-ext',
                   type='string',
                   default='',
                   help='header extension for moc files',
                   dest='qt_header_ext')
    for i in 'qtdir qtbin qtlibs'.split():
        opt.add_option('--' + i, type='string', default='', dest=i)
    if sys.platform == "darwin":
        opt.add_option('--no-qt4-framework',
                       action="store_false",
                       help='do not use the framework version of Qt4 in OS X',
                       dest='use_qt4_osxframework',
                       default=True)
    opt.add_option('--translate',
                   action="store_true",
                   help="collect translation strings",
                   dest="trans_qt4",
                   default=False)


extension(*EXT_RCC)(create_rcc_task)
extension(*EXT_UI)(create_uic_task)
extension('.ts')(add_lang)
feature('qt4')(apply_qt4)
after('apply_link')(apply_qt4)
extension(*EXT_QT4)(cxx_hook)
コード例 #2
0
		conf.env['CC_VERSION']=(k['__GNUC__'],k['__GNUC_MINOR__'],k['__GNUC_PATCHLEVEL__'])
	return k
def add_as_needed(self):
	if self.env.DEST_BINFMT=='elf'and'gcc'in(self.env.CXX_NAME,self.env.CC_NAME):
		self.env.append_unique('LINKFLAGS','--as-needed')

conf(parse_flags)
conf(ret_msg)
conf(validate_cfg)
conf(exec_cfg)
conf(check_cfg)
conf(validate_c)
conf(post_check)
conf(check)
feature('test_exec')(test_exec_fun)
after('apply_link')(test_exec_fun)
conf(run_c_code)
conf(check_cxx)
conf(check_cc)
conf(define)
conf(undefine)
conf(define_cond)
conf(is_defined)
conf(get_define)
conf(have_define)
conf(write_config_header)
conf(get_config_header)
conf(cc_add_flags)
conf(cxx_add_flags)
conf(link_add_flags)
conf(cc_load_tools)
コード例 #3
0
        self.env.ARCHDIR_RUBY = read_config('sitearchdir')[0]
    if Options.options.rubylibdir:
        self.env.LIBDIR_RUBY = Options.options.rubylibdir
    else:
        self.env.LIBDIR_RUBY = read_config('sitelibdir')[0]


def options(opt):
    opt.add_option(
        '--with-ruby-archdir',
        type='string',
        dest='rubyarchdir',
        help='Specify directory where to install arch specific files')
    opt.add_option('--with-ruby-libdir',
                   type='string',
                   dest='rubylibdir',
                   help='Specify alternate ruby library path')
    opt.add_option('--with-ruby-binary',
                   type='string',
                   dest='rubybinary',
                   help='Specify alternate ruby binary')


feature('rubyext')(init_rubyext)
before('apply_incpaths', 'apply_lib_vars', 'apply_bundle',
       'apply_link')(init_rubyext)
after('vars_target_cshlib')(init_rubyext)
feature('rubyext')(apply_ruby_so_name)
before('apply_link', 'propagate_uselib')(apply_ruby_so_name)
conf(check_ruby_version)
conf(check_ruby_ext_devel)
コード例 #4
0
ファイル: ruby.py プロジェクト: RunarFreyr/waz
	self.env.INCLUDES_RUBYEXT=cpppath
	self.env.CFLAGS_RUBYEXT=read_config('CCDLFLAGS')
	self.env.rubyext_PATTERN='%s.'+read_config('DLEXT')[0]
	flags=read_config('LDSHARED')
	while flags and flags[0][0]!='-':
		flags=flags[1:]
	if len(flags)>1 and flags[1]=="ppc":
		flags=flags[2:]
	self.env.LINKFLAGS_RUBYEXT=flags
	self.env.LINKFLAGS_RUBYEXT+=read_config('LIBS')
	self.env.LINKFLAGS_RUBYEXT+=read_config('LIBRUBYARG_SHARED')
	if Options.options.rubyarchdir:
		self.env.ARCHDIR_RUBY=Options.options.rubyarchdir
	else:
		self.env.ARCHDIR_RUBY=read_config('sitearchdir')[0]
	if Options.options.rubylibdir:
		self.env.LIBDIR_RUBY=Options.options.rubylibdir
	else:
		self.env.LIBDIR_RUBY=read_config('sitelibdir')[0]
def options(opt):
	opt.add_option('--with-ruby-archdir',type='string',dest='rubyarchdir',help='Specify directory where to install arch specific files')
	opt.add_option('--with-ruby-libdir',type='string',dest='rubylibdir',help='Specify alternate ruby library path')
	opt.add_option('--with-ruby-binary',type='string',dest='rubybinary',help='Specify alternate ruby binary')

feature('rubyext')(init_rubyext)
before('apply_incpaths','apply_lib_vars','apply_bundle','apply_link')(init_rubyext)
after('vars_target_cshlib')(init_rubyext)
feature('rubyext')(apply_ruby_so_name)
before('apply_link','propagate_uselib')(apply_ruby_so_name)
conf(check_ruby_version)
conf(check_ruby_ext_devel)
コード例 #5
0
    except (OSError, IOError):
        self.fatal('could not read %s' % fname)
    txt = txt.replace('\\\n', '\n')
    fu = re.compile('#(.*)\n')
    txt = fu.sub('', txt)
    setregexp = re.compile('([sS][eE][tT]\s*\()\s*([^\s]+)\s+\"([^"]+)\"\)')
    found = setregexp.findall(txt)
    for (_, key, val) in found:
        self.env[key] = val
    self.env['LIB_KDECORE'] = ['kdecore']
    self.env['LIB_KDEUI'] = ['kdeui']
    self.env['LIB_KIO'] = ['kio']
    self.env['LIB_KHTML'] = ['khtml']
    self.env['LIB_KPARTS'] = ['kparts']
    self.env['LIBPATH_KDECORE'] = [self.env['KDE4_LIB_INSTALL_DIR']]
    self.env['INCLUDES_KDECORE'] = [self.env['KDE4_INCLUDE_INSTALL_DIR']]
    self.env.append_value(
        'INCLUDES_KDECORE',
        [self.env['KDE4_INCLUDE_INSTALL_DIR'] + os.sep + 'KDE'])
    self.find_program('msgfmt', var='MSGFMT')


class msgfmt(Task.Task):
    color = 'BLUE'
    run_str = '${MSGFMT} ${SRC} -o ${TGT}'


feature('msgfmt')(init_msgfmt)
feature('msgfmt')(apply_msgfmt)
after('init_msgfmt')(apply_msgfmt)
コード例 #6
0
ファイル: javaw.py プロジェクト: RunarFreyr/waz
    incDirs = [x.parent.abspath() for x in f]
    dir = conf.root.find_dir(conf.env.JAVA_HOME[0])
    f = dir.ant_glob("**/*jvm.(so|dll)")
    libDirs = [x.parent.abspath() for x in f] or [javaHome]
    for i, d in enumerate(libDirs):
        if conf.check(
            header_name="jni.h",
            define_name="HAVE_JNI_H",
            lib="jvm",
            libpath=d,
            includes=incDirs,
            uselib_store="JAVA",
            uselib="JAVA",
        ):
            break
    else:
        conf.fatal("could not find lib jvm in %r (see config.log)" % libDirs)


feature("javac")(apply_java)
before("process_source")(apply_java)
feature("javac")(use_javac_files)
after("apply_java")(use_javac_files)
feature("jar")(jar_files)
after("apply_java", "use_javac_files")(jar_files)
before("process_source")(jar_files)
feature("jar")(use_jar_files)
after("jar_files")(use_jar_files)
conf(check_java_class)
conf(check_jni_headers)
コード例 #7
0
ファイル: javaw.py プロジェクト: spo11/archlinux
def check_jni_headers(conf):
	if not conf.env.CC_NAME and not conf.env.CXX_NAME:
		conf.fatal('load a compiler first (gcc, g++, ..)')
	if not conf.env.JAVA_HOME:
		conf.fatal('set JAVA_HOME in the system environment')
	javaHome=conf.env['JAVA_HOME'][0]
	dir=conf.root.find_dir(conf.env.JAVA_HOME[0]+'/include')
	f=dir.ant_glob('**/(jni|jni_md).h')
	incDirs=[x.parent.abspath()for x in f]
	dir=conf.root.find_dir(conf.env.JAVA_HOME[0])
	f=dir.ant_glob('**/*jvm.(so|dll)')
	libDirs=[x.parent.abspath()for x in f]or[javaHome]
	for i,d in enumerate(libDirs):
		if conf.check(header_name='jni.h',define_name='HAVE_JNI_H',lib='jvm',libpath=d,includes=incDirs,uselib_store='JAVA',uselib='JAVA'):
			break
	else:
		conf.fatal('could not find lib jvm in %r (see config.log)'%libDirs)

feature('javac')(apply_java)
before('process_source')(apply_java)
feature('javac')(use_javac_files)
after('apply_java')(use_javac_files)
feature('javac')(set_classpath)
after('apply_java','propagate_uselib_vars','use_javac_files')(set_classpath)
feature('jar')(jar_files)
after('apply_java','use_javac_files')(jar_files)
before('process_source')(jar_files)
feature('jar')(use_jar_files)
after('jar_files')(use_jar_files)
conf(check_java_class)
conf(check_jni_headers)
コード例 #8
0
        finally:
            testlock.release()


def summary(bld):
    lst = getattr(bld, 'utest_results', [])
    if lst:
        Logs.pprint('CYAN', 'execution summary')
        total = len(lst)
        tfail = len([x for x in lst if x[1]])
        Logs.pprint('CYAN', '  tests that pass %d/%d' % (total - tfail, total))
        for (f, code, out, err) in lst:
            if not code:
                Logs.pprint('CYAN', '    %s' % f)
        Logs.pprint('CYAN', '  tests that fail %d/%d' % (tfail, total))
        for (f, code, out, err) in lst:
            if code:
                Logs.pprint('CYAN', '    %s' % f)


def options(opt):
    opt.add_option('--alltests',
                   action='store_true',
                   default=False,
                   help='Exec all unit tests',
                   dest='all_tests')


feature('test')(make_test)
after('apply_link')(make_test)
コード例 #9
0
            if node:
                node.sig = Utils.h_file(node.abspath())
                break
        else:
            continue
        break
    else:
        raise Errors.WafError('could not find library %r' % self.name)
    self.link_task = self.create_task('fake_%s' % self.lib_type, [], [node])
    self.target = self.name


taskgen_method(create_compiled_task)
taskgen_method(to_incnodes)
feature('c', 'cxx', 'd', 'go', 'asm', 'fc', 'includes')(apply_incpaths)
after('propagate_uselib_vars', 'process_source')(apply_incpaths)
feature('c', 'cxx', 'd', 'go', 'fc', 'asm')(apply_link)
after('process_source')(apply_link)
taskgen_method(use_rec)
feature('c', 'cxx', 'd', 'use', 'fc')(process_use)
before('apply_incpaths', 'propagate_uselib_vars')(process_use)
after('apply_link', 'process_source')(process_use)
taskgen_method(get_uselib_vars)
feature('c', 'cxx', 'd', 'fc', 'javac', 'cs', 'uselib')(propagate_uselib_vars)
after('process_use')(propagate_uselib_vars)
feature('cshlib', 'cxxshlib')(apply_implib)
after('apply_link')(apply_implib)
feature('cshlib', 'cxxshlib', 'dshlib', 'fcshlib', 'vnum')(apply_vnum)
after('apply_link')(apply_vnum)
conf(read_shlib)
conf(read_stlib)
コード例 #10
0
ファイル: gch.py プロジェクト: gihandesilva/LucenePlusPlus
"""
for some obscure reason, the precompiled header will not be taken if
all.h is in the same directory as main.cpp
we recommend to add the header to compile in a separate directory without any sources

Note: the #warning will come once when the .h is compiled, it will not come when the .cpp is compiled
Note: do not forget to set the include paths (include=...)
"""

from waflib.TaskGen import feature, after
from waflib.Task import Task
from waflib.Tools import c_preproc

#@feature('cxx') <- python >= 2.4
#@after('apply_link')
def process_pch(self):
    if getattr(self, 'pch', ''):
        nodes = self.to_nodes(self.pch)
        for x in nodes:
            self.create_task('gchx', x, x.change_ext('.gch'))
feature('cxx')(process_pch)
after('apply_link')(process_pch)

class gchx(Task):
    run_str = '${CXX} ${CXXFLAGS} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${CPPPATH_ST:INCPATHS} ${DEFINES_ST:DEFINES} ${CXX_SRC_F}${SRC} ${CXX_TGT_F}${TGT}'
    scan    = c_preproc.scan
    ext_out = ['.h']
    color   = 'BLUE'

コード例 #11
0
ファイル: kde4.py プロジェクト: RunarFreyr/waz
		fname='%s/share/kde4/apps/cmake/modules/KDELibsDependencies.cmake'%prefix
		try:os.stat(fname)
		except OSError:self.fatal('could not open %s'%fname)
	try:
		txt=Utils.readf(fname)
	except(OSError,IOError):
		self.fatal('could not read %s'%fname)
	txt=txt.replace('\\\n','\n')
	fu=re.compile('#(.*)\n')
	txt=fu.sub('',txt)
	setregexp=re.compile('([sS][eE][tT]\s*\()\s*([^\s]+)\s+\"([^"]+)\"\)')
	found=setregexp.findall(txt)
	for(_,key,val)in found:
		self.env[key]=val
	self.env['LIB_KDECORE']=['kdecore']
	self.env['LIB_KDEUI']=['kdeui']
	self.env['LIB_KIO']=['kio']
	self.env['LIB_KHTML']=['khtml']
	self.env['LIB_KPARTS']=['kparts']
	self.env['LIBPATH_KDECORE']=[self.env['KDE4_LIB_INSTALL_DIR']]
	self.env['INCLUDES_KDECORE']=[self.env['KDE4_INCLUDE_INSTALL_DIR']]
	self.env.append_value('INCLUDES_KDECORE',[self.env['KDE4_INCLUDE_INSTALL_DIR']+os.sep+'KDE'])
	self.find_program('msgfmt',var='MSGFMT')
class msgfmt(Task.Task):
	color='BLUE'
	run_str='${MSGFMT} ${SRC} -o ${TGT}'

feature('msgfmt')(init_msgfmt)
feature('msgfmt')(apply_msgfmt)
after('init_msgfmt')(apply_msgfmt)
コード例 #12
0
ファイル: qt4.py プロジェクト: RunarFreyr/waz
	if Options.options.want_rpath:
		def process_rpath(vars_,coreval):
			for d in vars_:
				var=d.upper()
				value=env['LIBPATH_'+var]
				if value:
					core=env[coreval]
					accu=[]
					for lib in value:
						if var!='QTCORE':
							if lib in core:
								continue
						accu.append('-Wl,--rpath='+lib)
					env['RPATH_'+var]=accu
		process_rpath(vars,'LIBPATH_QTCORE')
		process_rpath(vars_debug,'LIBPATH_QTCORE_DEBUG')
def options(opt):
	opt.add_option('--want-rpath',action='store_true',default=False,dest='want_rpath',help='enable the rpath for qt libraries')
	opt.add_option('--header-ext',type='string',default='',help='header extension for moc files',dest='qt_header_ext')
	for i in'qtdir qtbin qtlibs'.split():
		opt.add_option('--'+i,type='string',default='',dest=i)
	if sys.platform=="darwin":
		opt.add_option('--no-qt4-framework',action="store_false",help='do not use the framework version of Qt4 in OS X',dest='use_qt4_osxframework',default=True)
	opt.add_option('--translate',action="store_true",help="collect translation strings",dest="trans_qt4",default=False)

extension(*EXT_RCC)(create_rcc_task)
extension(*EXT_UI)(create_uic_task)
extension('.ts')(add_lang)
feature('qt4')(apply_qt4)
after('apply_link')(apply_qt4)
extension(*EXT_QT4)(cxx_hook)
コード例 #13
0
ファイル: cs.py プロジェクト: spo11/archlinux
        conf.env.CS_NAME = 'mono'


def options(opt):
    opt.add_option('--with-csc-binary', type='string', dest='cscbinary')


class fake_csshlib(Task.Task):
    color = 'YELLOW'
    inst_to = None

    def runnable_status(self):
        for x in self.outputs:
            x.sig = Utils.h_file(x.abspath())
        return Task.SKIP_ME


def read_csshlib(self, name, paths=[]):
    return self(name=name,
                features='fake_lib',
                lib_paths=paths,
                lib_type='csshlib')


feature('cs')(apply_cs)
before('process_source')(apply_cs)
feature('cs')(use_cs)
after('apply_cs')(use_cs)
feature('cs')(debug_cs)
after('apply_cs', 'use_cs')(debug_cs)
conf(read_csshlib)
コード例 #14
0
ファイル: c_config.py プロジェクト: RunarFreyr/waz
def add_as_needed(self):
    if self.env.DEST_BINFMT == "elf" and "gcc" in (self.env.CXX_NAME, self.env.CC_NAME):
        self.env.append_unique("LINKFLAGS", "--as-needed")


conf(parse_flags)
conf(ret_msg)
conf(validate_cfg)
conf(exec_cfg)
conf(check_cfg)
conf(validate_c)
conf(post_check)
conf(check)
feature("test_exec")(test_exec_fun)
after("apply_link")(test_exec_fun)
conf(run_c_code)
conf(check_cxx)
conf(check_cc)
conf(define)
conf(undefine)
conf(define_cond)
conf(is_defined)
conf(get_define)
conf(have_define)
conf(write_config_header)
conf(get_config_header)
conf(cc_add_flags)
conf(cxx_add_flags)
conf(link_add_flags)
conf(cc_load_tools)
コード例 #15
0
ファイル: junit.py プロジェクト: afeldman/waf
		ctx.fatal('Could not run junit from %r' % val)
	ctx.env.CLASSPATH_JUNIT = cp

#@feature('junit')
#@after('apply_java', 'use_javac_files')
def make_test(self):
	"""make the unit test task"""
	if not getattr(self, 'junitsrc', None):
		return
	junit_task = self.create_task('junit_test')
	try:
		junit_task.set_run_after(self.javac_task)
	except AttributeError:
		pass
feature('junit')(make_test)
after('apply_java', 'use_javac_files')(make_test)

class junit_test(Task.Task):
	color = 'YELLOW'
	vars = ['JUNIT_EXEC_FLAGS', 'JUNIT_RUNNER']

	def runnable_status(self):
		"""
		Only run if --junit was set as an option
		"""
		for t in self.run_after:
			if not t.hasrun:
				return Task.ASK_LATER

		n = self.generator.path.find_dir(self.generator.junitsrc)
		if not n:
コード例 #16
0
                pass


app_dirs = ['Contents', 'Contents/MacOS', 'Contents/Resources']


class macapp(Task.Task):
    color = 'PINK'

    def run(self):
        shutil.copy2(self.inputs[0].srcpath(), self.outputs[0].abspath())


class macplist(Task.Task):
    color = 'PINK'
    ext_in = ['.bin']

    def run(self):
        self.outputs[0].write(self.mac_plist)


feature('c', 'cxx')(set_macosx_deployment_target)
taskgen_method(create_bundle_dirs)
feature('cprogram', 'cxxprogram')(create_task_macapp)
after('apply_link')(create_task_macapp)
feature('cprogram', 'cxxprogram')(create_task_macplist)
after('apply_link')(create_task_macplist)
feature('c', 'cxx')(apply_bundle)
before('apply_link', 'propagate_uselib_vars')(apply_bundle)
feature('cshlib', 'cxxshlib')(apply_bundle_remove_dynamiclib)
after('apply_link')(apply_bundle_remove_dynamiclib)
コード例 #17
0
ファイル: c_osx.py プロジェクト: RunarFreyr/waz
		if not'MACBUNDLE'in uselib:
			uselib.append('MACBUNDLE')
def apply_bundle_remove_dynamiclib(self):
	if self.env['MACBUNDLE']or getattr(self,'mac_bundle',False):
		if not getattr(self,'vnum',None):
			try:
				self.env['LINKFLAGS'].remove('-dynamiclib')
			except ValueError:
				pass
app_dirs=['Contents','Contents/MacOS','Contents/Resources']
class macapp(Task.Task):
	color='PINK'
	def run(self):
		shutil.copy2(self.inputs[0].srcpath(),self.outputs[0].abspath(self.env))
class macplist(Task.Task):
	color='PINK'
	ext_in=['.bin']
	def run(self):
		self.outputs[0].write(self.mac_plist)

feature('c','cxx')(set_macosx_deployment_target)
before('apply_lib_vars')(set_macosx_deployment_target)
taskgen_method(create_bundle_dirs)
feature('cprogram','cxxprogram')(create_task_macapp)
after('apply_link')(create_task_macapp)
feature('cprogram','cxxprogram')(create_task_macplist)
after('apply_link')(create_task_macplist)
feature('c','cxx')(apply_bundle)
before('apply_link','propagate_uselib_vars')(apply_bundle)
feature('cshlib','cxxshlib')(apply_bundle_remove_dynamiclib)
after('apply_link')(apply_bundle_remove_dynamiclib)
コード例 #18
0
ファイル: ccroot.py プロジェクト: spo11/archlinux
			node=x.find_node(y)
			if node:
				node.sig=Utils.h_file(node.abspath())
				break
		else:
			continue
		break
	else:
		raise Errors.WafError('could not find library %r'%self.name)
	self.link_task=self.create_task('fake_%s'%self.lib_type,[],[node])
	self.target=self.name

taskgen_method(create_compiled_task)
taskgen_method(to_incnodes)
feature('c','cxx','d','go','asm','fc','includes')(apply_incpaths)
after('propagate_uselib_vars','process_source')(apply_incpaths)
feature('c','cxx','d','go','fc','asm')(apply_link)
after('process_source')(apply_link)
taskgen_method(use_rec)
feature('c','cxx','d','use','fc')(process_use)
before('apply_incpaths','propagate_uselib_vars')(process_use)
after('apply_link','process_source')(process_use)
taskgen_method(get_uselib_vars)
feature('c','cxx','d','fc','javac','cs','uselib')(propagate_uselib_vars)
after('process_use')(propagate_uselib_vars)
feature('cshlib','cxxshlib')(apply_implib)
after('apply_link')(apply_implib)
feature('cshlib','cxxshlib','dshlib','fcshlib','vnum')(apply_vnum)
after('apply_link')(apply_vnum)
conf(read_shlib)
conf(read_stlib)
コード例 #19
0
ファイル: waf_unit_test.py プロジェクト: RunarFreyr/waz
		self.generator.utest_result=tup
		testlock.acquire()
		try:
			bld=self.generator.bld
			Logs.debug("ut: %r",tup)
			try:
				bld.utest_results.append(tup)
			except AttributeError:
				bld.utest_results=[tup]
		finally:
			testlock.release()
def summary(bld):
	lst=getattr(bld,'utest_results',[])
	if lst:
		Logs.pprint('CYAN','execution summary')
		total=len(lst)
		tfail=len([x for x in lst if x[1]])
		Logs.pprint('CYAN','  tests that pass %d/%d'%(total-tfail,total))
		for(f,code,out,err)in lst:
			if not code:
				Logs.pprint('CYAN','    %s'%f)
		Logs.pprint('CYAN','  tests that fail %d/%d'%(tfail,total))
		for(f,code,out,err)in lst:
			if code:
				Logs.pprint('CYAN','    %s'%f)
def options(opt):
	opt.add_option('--alltests',action='store_true',default=False,help='Exec all unit tests',dest='all_tests')

feature('test')(make_test)
after('apply_link')(make_test)
コード例 #20
0
#@feature('junit')
#@after('apply_java', 'use_javac_files')
def make_test(self):
    """make the unit test task"""
    if not getattr(self, 'junitsrc', None):
        return
    junit_task = self.create_task('junit_test')
    try:
        junit_task.set_run_after(self.javac_task)
    except AttributeError:
        pass


feature('junit')(make_test)
after('apply_java', 'use_javac_files')(make_test)


class junit_test(Task.Task):
    color = 'YELLOW'
    vars = ['JUNIT_EXEC_FLAGS', 'JUNIT_RUNNER']

    def runnable_status(self):
        """
		Only run if --junit was set as an option
		"""
        for t in self.run_after:
            if not t.hasrun:
                return Task.ASK_LATER

        n = self.generator.path.find_dir(self.generator.junitsrc)
コード例 #21
0
		bld.cwd=kw['cwd']=bld.variant_dir
	ret=self.exec_response_command(k[0],**kw)
	if not ret and getattr(self,'do_manifest',None):
		ret=self.exec_mf()
	return ret
for k in'c cxx winrc cprogram cxxprogram cshlib cxxshlib cstlib cxxstlib qxx'.split():
	cls=Task.classes.get(k,None)
	if cls:
		cls.exec_command=exec_command_msvc
		cls.exec_response_command=exec_response_command
		cls.quote_response_command=quote_response_command
		cls.exec_mf=exec_mf

conf(get_msvc_version)
conf(gather_wsdk_versions)
conf(gather_msvc_versions)
conf(gather_icl_versions)
conf(get_msvc_versions)
conf(print_all_msvc_detected)
conf(find_lt_names_msvc)
conf(libname_msvc)
conf(check_lib_msvc)
conf(check_libs_msvc)
conf(no_autodetect)
conf(autodetect)
conf(find_msvc)
conf(msvc_common_flags)
after('apply_link')(apply_flags_msvc)
feature('c','cxx')(apply_flags_msvc)
feature('cprogram','cshlib','cxxprogram','cxxshlib')(apply_manifest)
after('apply_link')(apply_manifest)
コード例 #22
0
ファイル: cs.py プロジェクト: spo11/archlinux
	color='YELLOW'
	run_str='${MCS} ${CSTYPE} ${CSFLAGS} ${ASS_ST:ASSEMBLIES} ${RES_ST:RESOURCES} ${OUT} ${SRC}'
def configure(conf):
	csc=getattr(Options.options,'cscbinary',None)
	if csc:
		conf.env.MCS=csc
	conf.find_program(['csc','mcs','gmcs'],var='MCS')
	conf.env.ASS_ST='/r:%s'
	conf.env.RES_ST='/resource:%s'
	conf.env.CS_NAME='csc'
	if str(conf.env.MCS).lower().find('mcs')>-1:
		conf.env.CS_NAME='mono'
def options(opt):
	opt.add_option('--with-csc-binary',type='string',dest='cscbinary')
class fake_csshlib(Task.Task):
	color='YELLOW'
	inst_to=None
	def runnable_status(self):
		for x in self.outputs:
			x.sig=Utils.h_file(x.abspath())
		return Task.SKIP_ME
def read_csshlib(self,name,paths=[]):
	return self(name=name,features='fake_lib',lib_paths=paths,lib_type='csshlib')

feature('cs')(apply_cs)
before('process_source')(apply_cs)
feature('cs')(use_cs)
after('apply_cs')(use_cs)
feature('cs')(debug_cs)
after('apply_cs','use_cs')(debug_cs)
conf(read_csshlib)
コード例 #23
0
ファイル: c_config.py プロジェクト: spo11/archlinux
	for x in tasks:
		if x.hasrun!=Task.SUCCESS:
			self.end_msg(kw.get('errmsg','no'),color='YELLOW')
			self.fatal(kw.get('fatalmsg',None)or'One of the tests has failed, see the config.log for more information')
	self.end_msg('ok')

conf(parse_flags)
conf(ret_msg)
conf(validate_cfg)
conf(exec_cfg)
conf(check_cfg)
conf(validate_c)
conf(post_check)
conf(check)
feature('test_exec')(test_exec_fun)
after('apply_link')(test_exec_fun)
conf(run_c_code)
conf(check_cxx)
conf(check_cc)
conf(define)
conf(undefine)
conf(define_cond)
conf(is_defined)
conf(get_define)
conf(have_define)
conf(write_config_header)
conf(get_config_header)
conf(cc_add_flags)
conf(cxx_add_flags)
conf(link_add_flags)
conf(cc_load_tools)
コード例 #24
0
ファイル: qt4.py プロジェクト: spo11/archlinux

def options(opt):
    opt.add_option(
        "--want-rpath", action="store_true", default=False, dest="want_rpath", help="enable the rpath for qt libraries"
    )
    opt.add_option(
        "--header-ext", type="string", default="", help="header extension for moc files", dest="qt_header_ext"
    )
    for i in "qtdir qtbin qtlibs".split():
        opt.add_option("--" + i, type="string", default="", dest=i)
    if sys.platform == "darwin":
        opt.add_option(
            "--no-qt4-framework",
            action="store_false",
            help="do not use the framework version of Qt4 in OS X",
            dest="use_qt4_osxframework",
            default=True,
        )
    opt.add_option(
        "--translate", action="store_true", help="collect translation strings", dest="trans_qt4", default=False
    )


extension(*EXT_RCC)(create_rcc_task)
extension(*EXT_UI)(create_uic_task)
extension(".ts")(add_lang)
feature("qt4")(apply_qt4)
after("apply_link")(apply_qt4)
extension(*EXT_QT4)(cxx_hook)