コード例 #1
0
def cc_load_tools(conf):
	conf.check_tool('cc')
def cxx_load_tools(conf):
	conf.check_tool('cxx')

conf(ret_msg)
conf(validate_cfg)
conf(cmd_and_log)
conf(exec_cfg)
conf(check_cfg)
conf(validate_c)
conf(post_check)
conf(check)
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)
conftest(find_cpp)
conftest(cc_add_flags)
conftest(cxx_add_flags)
conftest(link_add_flags)
conftest(cc_load_tools)
conftest(cxx_load_tools)
コード例 #2
0
		env=dict(os.environ)
		env.update(PATH=';'.join(self.env['PATH']))
		kw['env']=env
	return self.generator.bld.exec_command(*k,**kw)
for k in'cc cxx winrc cc_link cxx_link static_link'.split():
	cls=Task.TaskBase.classes.get(k,None)
	if cls:
		cls.exec_command=exec_command_msvc

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)
conftest(no_autodetect)
conftest(autodetect)
conftest(find_msvc)
conftest(msvc_common_flags)
after('apply_link')(apply_flags_msvc)
feature('cc','cxx')(apply_flags_msvc)
feature('cprogram','cshlib','cstaticlib')(apply_obj_vars_msvc)
after('apply_lib_vars')(apply_obj_vars_msvc)
before('apply_obj_vars')(apply_obj_vars_msvc)
feature('cprogram','cshlib')(apply_manifest)
after('apply_link')(apply_manifest)
コード例 #3
0
    v = conf.env
    binfmt = v.DEST_BINFMT or Utils.unversioned_sys_platform_to_binary_format(
        v.DEST_OS or Utils.unversioned_sys_platform())
    if binfmt == 'pe':
        v['D_program_PATTERN'] = '%s.exe'
        v['D_shlib_PATTERN'] = 'lib%s.dll'
        v['D_staticlib_PATTERN'] = 'lib%s.a'
    else:
        v['D_program_PATTERN'] = '%s'
        v['D_shlib_PATTERN'] = 'lib%s.so'
        v['D_staticlib_PATTERN'] = 'lib%s.a'


feature('d')(init_d)
before('apply_type_vars')(init_d)
feature('d')(init_d)
before('apply_d_libs')(init_d)
feature('d')(apply_d_libs)
after('apply_d_link', 'init_d')(apply_d_libs)
before('apply_vnum')(apply_d_libs)
feature('dprogram', 'dshlib', 'dstaticlib')(apply_d_link)
after('apply_core')(apply_d_link)
feature('d')(apply_d_vars)
after('apply_core')(apply_d_vars)
feature('dshlib')(add_shlib_d_flags)
after('apply_d_vars')(add_shlib_d_flags)
extension(EXT_D)(d_hook)
taskgen(generate_header)
before('apply_core')(process_header)
conftest(d_platform_flags)
コード例 #4
0
feature('cprogram', 'dprogram', 'cstaticlib', 'dstaticlib', 'cshlib',
        'dshlib')(default_link_install)
after('apply_link', 'vars_target_cprogram',
      'vars_target_cshlib')(default_link_install)
feature('cc', 'cxx')(apply_incpaths)
after('apply_type_vars', 'apply_lib_vars', 'apply_core')(apply_incpaths)
feature('cc', 'cxx')(apply_type_vars)
after('init_cc', 'init_cxx')(apply_type_vars)
before('apply_lib_vars')(apply_type_vars)
feature('cprogram', 'cshlib', 'cstaticlib')(apply_link)
after('apply_core')(apply_link)
feature('cc', 'cxx')(apply_lib_vars)
after('apply_link', 'init_cc', 'init_cxx', 'apply_core')(apply_lib_vars)
feature('cprogram', 'cstaticlib', 'cshlib')(apply_objdeps)
after('init_cc', 'init_cxx', 'apply_link')(apply_objdeps)
feature('cprogram', 'cshlib', 'cstaticlib')(apply_obj_vars)
after('apply_lib_vars')(apply_obj_vars)
after('apply_link')(process_obj_files)
taskgen(add_obj_file)
feature('cc', 'cxx')(add_extra_flags)
before('init_cxx', 'init_cc')(add_extra_flags)
before('apply_lib_vars', 'apply_obj_vars', 'apply_incpaths',
       'init_cc')(add_extra_flags)
feature('cshlib')(apply_implib)
after('apply_link', 'default_cc')(apply_implib)
before('apply_lib_vars', 'apply_objdeps', 'default_link_install')(apply_implib)
feature('cshlib')(apply_vnum)
after('apply_link')(apply_vnum)
before('apply_lib_vars', 'default_link_install')(apply_vnum)
conftest(add_as_needed)
コード例 #5
0
#! /usr/bin/env python
# encoding: utf-8

import os,sys
import Configure,Options,Utils
import ccroot,ar,gxx
from Configure import conftest
def find_icpc(conf):
	if sys.platform=='cygwin':
		conf.fatal('The Intel compiler does not work on Cygwin')
	v=conf.env
	cxx=None
	if v['CXX']:cxx=v['CXX']
	elif'CXX'in conf.environ:cxx=conf.environ['CXX']
	if not cxx:cxx=conf.find_program('icpc',var='CXX')
	if not cxx:conf.fatal('Intel C++ Compiler (icpc) was not found')
	cxx=conf.cmd_to_list(cxx)
	ccroot.get_cc_version(conf,cxx,icc=True)
	v['CXX']=cxx
	v['CXX_NAME']='icc'
detect='''
find_icpc
find_ar
gxx_common_flags
gxx_modifier_darwin
cxx_load_tools
cxx_add_flags
'''

conftest(find_icpc)
コード例 #6
0
    v['STATICLIB_ST'] = '-l%s'
    v['STATICLIBPATH_ST'] = '-L%s'
    v['RPATH_ST'] = '-Wl,-rpath,%s'
    v['CCDEFINES_ST'] = '-D%s'
    v['SONAME_ST'] = ''
    v['SHLIB_MARKER'] = ''
    v['STATICLIB_MARKER'] = ''
    v['FULLSTATIC_MARKER'] = '-static'
    v['program_LINKFLAGS'] = ['-Wl,-brtl']
    v['program_PATTERN'] = '%s'
    v['shlib_CCFLAGS'] = ['-fPIC', '-DPIC']
    v['shlib_LINKFLAGS'] = ['-G', '-Wl,-brtl,-bexpfull']
    v['shlib_PATTERN'] = 'lib%s.so'
    v['staticlib_LINKFLAGS'] = ''
    v['staticlib_PATTERN'] = 'lib%s.a'


def detect(conf):
    conf.find_xlc()
    conf.find_cpp()
    conf.find_ar()
    conf.xlc_common_flags()
    conf.cc_load_tools()
    conf.cc_add_flags()
    conf.link_add_flags()


conftest(find_xlc)
conftest(find_cpp)
conftest(xlc_common_flags)
コード例 #7
0
ファイル: ccroot.py プロジェクト: bobbyblues/Iwao
after('default_cc')(vars_target_cshlib)
feature('cshlib','dshlib')(vars_target_cshlib)
before('apply_core')(vars_target_cshlib)
feature('cprogram','dprogram','cstaticlib','dstaticlib','cshlib','dshlib')(default_link_install)
after('apply_link','vars_target_cprogram','vars_target_cshlib')(default_link_install)
feature('cc','cxx')(apply_incpaths)
after('apply_type_vars','apply_lib_vars','apply_core')(apply_incpaths)
feature('cc','cxx')(apply_type_vars)
after('init_cc','init_cxx')(apply_type_vars)
before('apply_lib_vars')(apply_type_vars)
feature('cprogram','cshlib','cstaticlib')(apply_link)
after('apply_core')(apply_link)
feature('cc','cxx')(apply_lib_vars)
after('apply_link','init_cc','init_cxx','apply_core')(apply_lib_vars)
feature('cprogram','cstaticlib','cshlib')(apply_objdeps)
after('init_cc','init_cxx','apply_link')(apply_objdeps)
feature('cprogram','cshlib','cstaticlib')(apply_obj_vars)
after('apply_lib_vars')(apply_obj_vars)
after('apply_link')(process_obj_files)
taskgen(add_obj_file)
feature('cc','cxx')(add_extra_flags)
before('init_cxx','init_cc')(add_extra_flags)
before('apply_lib_vars','apply_obj_vars','apply_incpaths','init_cc')(add_extra_flags)
feature('cshlib')(apply_implib)
after('apply_link','default_cc')(apply_implib)
before('apply_lib_vars','apply_objdeps','default_link_install')(apply_implib)
feature('cshlib')(apply_vnum)
after('apply_link')(apply_vnum)
before('apply_lib_vars','default_link_install')(apply_vnum)
conftest(add_as_needed)
コード例 #8
0
ファイル: d.py プロジェクト: bobbyblues/Iwao
	if binfmt=='pe':
		v['D_program_PATTERN']='%s.exe'
		v['D_shlib_PATTERN']='lib%s.dll'
		v['D_staticlib_PATTERN']='lib%s.a'
	else:
		v['D_program_PATTERN']='%s'
		v['D_shlib_PATTERN']='lib%s.so'
		v['D_staticlib_PATTERN']='lib%s.a'
def check_dlibrary(conf):
	ret=conf.check_cc(features='d dprogram',fragment=DLIB,mandatory=True,compile_filename='test.d',execute=True)
	conf.env.DLIBRARY=ret.strip()

feature('d')(init_d)
before('apply_type_vars')(init_d)
feature('d')(init_d)
before('apply_d_libs')(init_d)
feature('d')(apply_d_libs)
after('apply_d_link','init_d')(apply_d_libs)
before('apply_vnum','apply_d_vars')(apply_d_libs)
feature('dprogram','dshlib','dstaticlib')(apply_d_link)
after('apply_core')(apply_d_link)
feature('d')(apply_d_vars)
after('apply_core')(apply_d_vars)
feature('dshlib')(add_shlib_d_flags)
after('apply_d_vars')(add_shlib_d_flags)
extension(EXT_D)(d_hook)
taskgen(generate_header)
before('apply_core')(process_header)
conftest(d_platform_flags)
conftest(check_dlibrary)
コード例 #9
0
ファイル: ar.py プロジェクト: NKSG/ns3
#! /usr/bin/env python
# encoding: utf-8

import os,sys
import Task,Utils
from Configure import conftest
ar_str='${AR} ${ARFLAGS} ${AR_TGT_F}${TGT} ${AR_SRC_F}${SRC}'
cls=Task.simple_task_type('static_link',ar_str,color='YELLOW',ext_in='.o',ext_out='.bin',shell=False)
cls.maxjobs=1
cls.install=Utils.nada
old=cls.run
def wrap(self):
	try:os.remove(self.outputs[0].abspath(self.env))
	except OSError:pass
	return old(self)
setattr(cls,'run',wrap)
def detect(conf):
	conf.find_program('ar',var='AR')
	conf.find_program('ranlib',var='RANLIB')
	conf.env.ARFLAGS='rcs'
def find_ar(conf):
	v=conf.env
	conf.check_tool('ar')
	if not v['AR']:conf.fatal('ar is required for static libraries - not found')

conftest(find_ar)
コード例 #10
0
ファイル: msvc.py プロジェクト: johnsen/jack2
		debug_level=Options.options.debug_level.upper()
	except AttributeError:
		debug_level=ccroot.DEBUG_LEVELS.CUSTOM
	v['CCFLAGS']+=v['CCFLAGS_'+debug_level]
	v['CXXFLAGS']+=v['CXXFLAGS_'+debug_level]
	v['LINKFLAGS']+=v['LINKFLAGS_'+debug_level]
	v['shlib_CCFLAGS']=['']
	v['shlib_CXXFLAGS']=['']
	v['shlib_LINKFLAGS']=['/DLL']
	v['shlib_PATTERN']='%s.dll'
	v['staticlib_LINKFLAGS']=['']
	v['staticlib_PATTERN']='%s.lib'
	v['program_PATTERN']='%s.exe'
def set_options(opt):
	opt.add_option('-d','--debug-level',action='store',default=ccroot.DEBUG_LEVELS.DEBUG,help="Specify the debug level, does nothing if CFLAGS is set in the environment. [Allowed Values: '%s']"%"', '".join(ccroot.DEBUG_LEVELS.ALL),choices=ccroot.DEBUG_LEVELS.ALL,dest='debug_level')

taskgen(apply_msvc_obj_vars)
feature('cc','cxx')(apply_msvc_obj_vars)
after('apply_obj_vars_cc')(apply_msvc_obj_vars)
after('apply_obj_vars_cxx')(apply_msvc_obj_vars)
taskgen(apply_link_msvc)
feature('cc','cxx')(apply_link_msvc)
after('apply_core')(apply_link_msvc)
before('apply_obj_vars_cc')(apply_link_msvc)
before('apply_obj_vars_cxx')(apply_link_msvc)
taskgen(init_msvc)
feature('cc','cxx')(init_msvc)
before('apply_core')(init_msvc)
conftest(find_msvc)
conftest(msvc_common_flags)
コード例 #11
0
	v['CXXLNK_TGT_F']=['-o','']
	v['LIB_ST']='-l%s'
	v['LIBPATH_ST']='-L%s'
	v['STATICLIB_ST']='-l%s'
	v['STATICLIBPATH_ST']='-L%s'
	v['RPATH_ST']='-Wl,-rpath,%s'
	v['CXXDEFINES_ST']='-D%s'
	v['SONAME_ST']=''
	v['SHLIB_MARKER']=''
	v['STATICLIB_MARKER']=''
	v['FULLSTATIC_MARKER']='-static'
	v['program_LINKFLAGS']=['-Wl,-brtl']
	v['program_PATTERN']='%s'
	v['shlib_CXXFLAGS']=['-fPIC','-DPIC']
	v['shlib_LINKFLAGS']=['-G','-Wl,-brtl,-bexpfull']
	v['shlib_PATTERN']='lib%s.so'
	v['staticlib_LINKFLAGS']=''
	v['staticlib_PATTERN']='lib%s.a'
def detect(conf):
	conf.find_xlcxx()
	conf.find_cpp()
	conf.find_ar()
	conf.xlcxx_common_flags()
	conf.cxx_load_tools()
	conf.cxx_add_flags()
	conf.link_add_flags()

conftest(find_xlcxx)
conftest(find_cpp)
conftest(xlcxx_common_flags)
コード例 #12
0
	v=conf.env
	v['shlib_CXXFLAGS']=['-fPIC','-compatibility_version','1','-current_version','1']
	v['shlib_LINKFLAGS']=['-dynamiclib']
	v['shlib_PATTERN']='lib%s.dylib'
	v['staticlib_LINKFLAGS']=[]
	v['SHLIB_MARKER']=''
	v['STATICLIB_MARKER']=''
def gxx_modifier_aix5(conf):
	v=conf.env
	v['program_LINKFLAGS']=['-Wl,-brtl']
	v['shlib_LINKFLAGS']=['-shared','-Wl,-brtl,-bexpfull']
	v['SHLIB_MARKER']=''
def detect(conf):
	conf.find_gxx()
	conf.find_cpp()
	conf.find_ar()
	conf.gxx_common_flags()
	target_platform=conf.env['TARGET_PLATFORM']or sys.platform
	gxx_modifier_func=globals().get('gxx_modifier_'+target_platform)
	if gxx_modifier_func:
		gxx_modifier_func(conf)
	conf.cxx_load_tools()
	conf.cxx_add_flags()

conftest(find_gxx)
conftest(gxx_common_flags)
conftest(gxx_modifier_win32)
conftest(gxx_modifier_cygwin)
conftest(gxx_modifier_darwin)
conftest(gxx_modifier_aix5)
コード例 #13
0
ファイル: xlc.py プロジェクト: NKSG/ns3
	v['CCLNK_SRC_F']=''
	v['CCLNK_TGT_F']=['-o','']
	v['LIB_ST']='-l%s'
	v['LIBPATH_ST']='-L%s'
	v['STATICLIB_ST']='-l%s'
	v['STATICLIBPATH_ST']='-L%s'
	v['RPATH_ST']='-Wl,-rpath,%s'
	v['CCDEFINES_ST']='-D%s'
	v['SONAME_ST']=''
	v['SHLIB_MARKER']=''
	v['STATICLIB_MARKER']=''
	v['FULLSTATIC_MARKER']='-static'
	v['program_LINKFLAGS']=['-Wl,-brtl']
	v['program_PATTERN']='%s'
	v['shlib_CCFLAGS']=['-fPIC','-DPIC']
	v['shlib_LINKFLAGS']=['-G','-Wl,-brtl,-bexpfull']
	v['shlib_PATTERN']='lib%s.so'
	v['staticlib_LINKFLAGS']=''
	v['staticlib_PATTERN']='lib%s.a'
def detect(conf):
	conf.find_xlc()
	conf.find_cpp()
	conf.find_ar()
	conf.xlc_common_flags()
	conf.cc_load_tools()
	conf.cc_add_flags()

conftest(find_xlc)
conftest(find_cpp)
conftest(xlc_common_flags)
コード例 #14
0
ファイル: config_c.py プロジェクト: johnsen/jack2
	if not ret:self.fatal("no shared libs")
	lib_obj=Configure.check_data()
	lib_obj.code="int k = 3;\n"
	lib_obj.env=v
	lib_obj.build_type="staticlib"
	lib_obj.force_compiler=kind
	ret=self.run_check(lib_obj)
	self.check_message('compiler could create','static libs',not(ret is False))
	if not ret:self.fatal("no static libs")
def cxx_check_features(self):
	return cc_check_features(self,kind='cpp')

conf(validate_cfg)
conf(exec_cfg)
conf(check_cfg)
conf(validate_c)
conf(post_check)
conf(check)
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)
conftest(cc_check_features)
conftest(cxx_check_features)
コード例 #15
0
ファイル: icpc.py プロジェクト: amirkrifa/ns-allinone-3.9
import Configure, Options, Utils
import ccroot, ar, gxx
from Configure import conftest


def find_icpc(conf):
    if sys.platform == 'cygwin':
        conf.fatal('The Intel compiler does not work on Cygwin')
    v = conf.env
    cxx = None
    if v['CXX']: cxx = v['CXX']
    elif 'CXX' in conf.environ: cxx = conf.environ['CXX']
    if not cxx: cxx = conf.find_program('icpc', var='CXX')
    if not cxx: conf.fatal('Intel C++ Compiler (icpc) was not found')
    cxx = conf.cmd_to_list(cxx)
    ccroot.get_cc_version(conf, cxx, icc=True)
    v['CXX'] = cxx
    v['CXX_NAME'] = 'icc'


detect = '''
find_icpc
find_ar
gxx_common_flags
gxx_modifier_platform
cxx_load_tools
cxx_add_flags
'''

conftest(find_icpc)
コード例 #16
0
import os,sys
import Configure,Options,Utils
import ccroot,ar,gcc
from Configure import conftest
def find_icc(conf):
	if sys.platform=='cygwin':
		conf.fatal('The Intel compiler does not work on Cygwin')
	v=conf.env
	cc=None
	if v['CC']:cc=v['CC']
	elif'CC'in conf.environ:cc=conf.environ['CC']
	if not cc:cc=conf.find_program('icc',var='CC')
	if not cc:cc=conf.find_program('ICL',var='CC')
	if not cc:conf.fatal('Intel C Compiler (icc) was not found')
	cc=conf.cmd_to_list(cc)
	ccroot.get_cc_version(conf,cc,icc=True)
	v['CC']=cc
	v['CC_NAME']='icc'
detect='''
find_icc
find_ar
gcc_common_flags
gcc_modifier_platform
cc_load_tools
cc_add_flags
link_add_flags
'''

conftest(find_icc)
コード例 #17
0
ファイル: icc.py プロジェクト: johnsen/jack2
	try:
		v['CC_NAME']='icc'
		v['CPPFLAGS'].remove('/errorReport:prompt')
	except ValueError:
		pass
if sys.platform=='win32':
	detect='''
find_icc
find_msvc
msvc_common_flags
icc_modifier_win32
cc_load_tools
cc_add_flags
'''
elif sys.platform=='cygwin':
	conf.fatal("ICC module is not supported for cygwin. Try under native Win32")
else:
	detect='''
find_icc
find_ar
gcc_common_flags
gcc_modifier_darwin
cc_load_tools
cc_add_flags
'''

conftest(find_icc)
conftest(find_icc_win32)
conftest(find_icc_other)
conftest(icc_modifier_win32)
コード例 #18
0
ファイル: gcc.py プロジェクト: johnsen/jack2_bak
        for x in "OPTIMIZED RELEASE DEBUG ULTRADEBUG".split():
            v.append_unique("CCFLAGS_" + x, "-Wall")
    try:
        debug_level = Options.options.debug_level.upper()
    except AttributeError:
        debug_level = ccroot.DEBUG_LEVELS.CUSTOM
    v.append_value("CCFLAGS", v["CCFLAGS_" + debug_level])
    v.append_value("LINKFLAGS", v["LINKFLAGS_" + debug_level])


detect = """
find_gcc
find_cpp
find_ar
gcc_common_flags
gcc_modifier_win32
gcc_modifier_cygwin
gcc_modifier_darwin
gcc_modifier_aix5
cc_load_tools
cc_add_flags
"""

conftest(find_gcc)
conftest(gcc_common_flags)
conftest(gcc_modifier_win32)
conftest(gcc_modifier_cygwin)
conftest(gcc_modifier_darwin)
conftest(gcc_modifier_aix5)
conftest(gcc_modifier_debug)
コード例 #19
0
ファイル: gxx.py プロジェクト: amirkrifa/ns-allinone-3.9
    v = conf.env
    v['program_LINKFLAGS'] = ['-Wl,-brtl']
    v['shlib_LINKFLAGS'] = ['-shared', '-Wl,-brtl,-bexpfull']
    v['SHLIB_MARKER'] = ''


def gxx_modifier_platform(conf):
    dest_os = conf.env['DEST_OS'] or Utils.unversioned_sys_platform()
    gxx_modifier_func = globals().get('gxx_modifier_' + dest_os)
    if gxx_modifier_func:
        gxx_modifier_func(conf)


def detect(conf):
    conf.find_gxx()
    conf.find_cpp()
    conf.find_ar()
    conf.gxx_common_flags()
    conf.gxx_modifier_platform()
    conf.cxx_load_tools()
    conf.cxx_add_flags()


conftest(find_gxx)
conftest(gxx_common_flags)
conftest(gxx_modifier_win32)
conftest(gxx_modifier_cygwin)
conftest(gxx_modifier_darwin)
conftest(gxx_modifier_aix)
conftest(gxx_modifier_platform)
コード例 #20
0
# encoding: utf-8

import os,sys
import Configure,Options,Utils
import ccroot,ar,gcc
from Configure import conftest
def find_icc(conf):
	if sys.platform=='cygwin':
		conf.fatal('The Intel compiler does not work on Cygwin')
	v=conf.env
	cc=None
	if v['CC']:cc=v['CC']
	elif'CC'in conf.environ:cc=conf.environ['CC']
	if not cc:cc=conf.find_program('icc',var='CC')
	if not cc:cc=conf.find_program('ICL',var='CC')
	if not cc:conf.fatal('Intel C Compiler (icc) was not found')
	cc=conf.cmd_to_list(cc)
	ccroot.get_cc_version(conf,cc,icc=True)
	v['CC']=cc
	v['CC_NAME']='icc'
detect='''
find_icc
find_ar
gcc_common_flags
gcc_modifier_platform
cc_load_tools
cc_add_flags
'''

conftest(find_icc)
コード例 #21
0
	v['CXX_TGT_F']=['-c','-o','']
	v['CPPPATH_ST']='-I%s'
	if not v['LINK_CXX']:v['LINK_CXX']=v['CXX']
	v['CXXLNK_SRC_F']=''
	v['CXXLNK_TGT_F']=['-o','']
	v['LIB_ST']='-l%s'
	v['LIBPATH_ST']='-L%s'
	v['STATICLIB_ST']='-l%s'
	v['STATICLIBPATH_ST']='-L%s'
	v['CXXDEFINES_ST']='-D%s'
	v['SONAME_ST']='-Wl,-h -Wl,%s'
	v['SHLIB_MARKER']='-Bdynamic'
	v['STATICLIB_MARKER']='-Bstatic'
	v['program_PATTERN']='%s'
	v['shlib_CXXFLAGS']=['-Kpic','-DPIC']
	v['shlib_LINKFLAGS']=['-G']
	v['shlib_PATTERN']='lib%s.so'
	v['staticlib_LINKFLAGS']=['-Bstatic']
	v['staticlib_PATTERN']='lib%s.a'
detect='''
find_sxx
find_cpp
find_ar
sxx_common_flags
cxx_load_tools
cxx_add_flags
'''

conftest(find_sxx)
conftest(sxx_common_flags)
コード例 #22
0
        v['D_staticlib_PATTERN'] = 'lib%s.a'


def check_dlibrary(conf):
    ret = conf.check_cc(features='d dprogram',
                        fragment=DLIB,
                        mandatory=True,
                        compile_filename='test.d',
                        execute=True)
    conf.env.DLIBRARY = ret.strip()


feature('d')(init_d)
before('apply_type_vars')(init_d)
feature('d')(init_d)
before('apply_d_libs')(init_d)
feature('d')(apply_d_libs)
after('apply_d_link', 'init_d')(apply_d_libs)
before('apply_vnum', 'apply_d_vars')(apply_d_libs)
feature('dprogram', 'dshlib', 'dstaticlib')(apply_d_link)
after('apply_core')(apply_d_link)
feature('d')(apply_d_vars)
after('apply_core')(apply_d_vars)
feature('dshlib')(add_shlib_d_flags)
after('apply_d_vars')(add_shlib_d_flags)
extension(EXT_D)(d_hook)
taskgen(generate_header)
before('apply_core')(process_header)
conftest(d_platform_flags)
conftest(check_dlibrary)
コード例 #23
0
ファイル: d.py プロジェクト: NKSG/ns3
Task.simple_task_type('d_header',d_header_str,color='BLUE',shell=False)
def d_platform_flags(conf):
	v=conf.env
	binfmt=v.DEST_BINFMT or Utils.unversioned_sys_platform_to_binary_format(v.DEST_OS or Utils.unversioned_sys_platform())
	if binfmt=='pe':
		v['D_program_PATTERN']='%s.exe'
		v['D_shlib_PATTERN']='lib%s.dll'
		v['D_staticlib_PATTERN']='lib%s.a'
	else:
		v['D_program_PATTERN']='%s'
		v['D_shlib_PATTERN']='lib%s.so'
		v['D_staticlib_PATTERN']='lib%s.a'

feature('d')(init_d)
before('apply_type_vars')(init_d)
feature('d')(init_d)
before('apply_d_libs')(init_d)
feature('d')(apply_d_libs)
after('apply_d_link','init_d')(apply_d_libs)
before('apply_vnum')(apply_d_libs)
feature('dprogram','dshlib','dstaticlib')(apply_d_link)
after('apply_core')(apply_d_link)
feature('d')(apply_d_vars)
after('apply_core')(apply_d_vars)
feature('dshlib')(add_shlib_d_flags)
after('apply_d_vars')(add_shlib_d_flags)
extension(EXT_D)(d_hook)
taskgen(generate_header)
before('apply_core')(process_header)
conftest(d_platform_flags)
コード例 #24
0
ファイル: suncc.py プロジェクト: sw1001/rapidnet-beta
	v['CC_TGT_F']=['-c','-o','']
	v['CPPPATH_ST']='-I%s'
	if not v['LINK_CC']:v['LINK_CC']=v['CC']
	v['CCLNK_SRC_F']=''
	v['CCLNK_TGT_F']=['-o','']
	v['LIB_ST']='-l%s'
	v['LIBPATH_ST']='-L%s'
	v['STATICLIB_ST']='-l%s'
	v['STATICLIBPATH_ST']='-L%s'
	v['CCDEFINES_ST']='-D%s'
	v['SONAME_ST']='-Wl,-h -Wl,%s'
	v['SHLIB_MARKER']='-Bdynamic'
	v['STATICLIB_MARKER']='-Bstatic'
	v['program_PATTERN']='%s'
	v['shlib_CCFLAGS']=['-Kpic','-DPIC']
	v['shlib_LINKFLAGS']=['-G']
	v['shlib_PATTERN']='lib%s.so'
	v['staticlib_LINKFLAGS']=['-Bstatic']
	v['staticlib_PATTERN']='lib%s.a'
detect='''
find_scc
find_cpp
find_ar
scc_common_flags
cc_load_tools
cc_add_flags
'''

conftest(find_scc)
conftest(scc_common_flags)
コード例 #25
0
cls.maxjobs = 1
cls.install = Utils.nada
old = cls.run


def wrap(self):
    try:
        os.remove(self.outputs[0].abspath(self.env))
    except OSError:
        pass
    return old(self)


setattr(cls, 'run', wrap)


def detect(conf):
    conf.find_program('ar', var='AR')
    conf.find_program('ranlib', var='RANLIB')
    conf.env.ARFLAGS = 'rcs'


def find_ar(conf):
    v = conf.env
    conf.check_tool('ar')
    if not v['AR']:
        conf.fatal('ar is required for static libraries - not found')


conftest(find_ar)
コード例 #26
0
    if not v['LINK_CXX']: v['LINK_CXX'] = v['CXX']
    v['CXXLNK_SRC_F'] = ''
    v['CXXLNK_TGT_F'] = ['-o', '']
    v['LIB_ST'] = '-l%s'
    v['LIBPATH_ST'] = '-L%s'
    v['STATICLIB_ST'] = '-l%s'
    v['STATICLIBPATH_ST'] = '-L%s'
    v['CXXDEFINES_ST'] = '-D%s'
    v['SONAME_ST'] = '-Wl,-h -Wl,%s'
    v['SHLIB_MARKER'] = '-Bdynamic'
    v['STATICLIB_MARKER'] = '-Bstatic'
    v['program_PATTERN'] = '%s'
    v['shlib_CXXFLAGS'] = ['-Kpic', '-DPIC']
    v['shlib_LINKFLAGS'] = ['-G']
    v['shlib_PATTERN'] = 'lib%s.so'
    v['staticlib_LINKFLAGS'] = ['-Bstatic']
    v['staticlib_PATTERN'] = 'lib%s.a'


detect = '''
find_sxx
find_cpp
find_ar
sxx_common_flags
cxx_load_tools
cxx_add_flags
'''

conftest(find_sxx)
conftest(sxx_common_flags)
コード例 #27
0
	v['shlib_PATTERN']='lib%s.dylib'
	v['staticlib_LINKFLAGS']=[]
	v['SHLIB_MARKER']=''
	v['STATICLIB_MARKER']=''
def gcc_modifier_aix(conf):
	v=conf.env
	v['program_LINKFLAGS']=['-Wl,-brtl']
	v['shlib_LINKFLAGS']=['-shared','-Wl,-brtl,-bexpfull']
	v['SHLIB_MARKER']=''
def gcc_modifier_platform(conf):
	dest_os=conf.env['DEST_OS']or Utils.unversioned_sys_platform()
	gcc_modifier_func=globals().get('gcc_modifier_'+dest_os)
	if gcc_modifier_func:
		gcc_modifier_func(conf)
def detect(conf):
	conf.find_gcc()
	conf.find_cpp()
	conf.find_ar()
	conf.gcc_common_flags()
	conf.gcc_modifier_platform()
	conf.cc_load_tools()
	conf.cc_add_flags()

conftest(find_gcc)
conftest(gcc_common_flags)
conftest(gcc_modifier_win32)
conftest(gcc_modifier_cygwin)
conftest(gcc_modifier_darwin)
conftest(gcc_modifier_aix)
conftest(gcc_modifier_platform)
コード例 #28
0
ファイル: suncc.py プロジェクト: henokyen/EOH
    v["CCLNK_SRC_F"] = ""
    v["CCLNK_TGT_F"] = ["-o", ""]
    v["LIB_ST"] = "-l%s"
    v["LIBPATH_ST"] = "-L%s"
    v["STATICLIB_ST"] = "-l%s"
    v["STATICLIBPATH_ST"] = "-L%s"
    v["CCDEFINES_ST"] = "-D%s"
    v["SONAME_ST"] = "-Wl,-h -Wl,%s"
    v["SHLIB_MARKER"] = "-Bdynamic"
    v["STATICLIB_MARKER"] = "-Bstatic"
    v["program_PATTERN"] = "%s"
    v["shlib_CCFLAGS"] = ["-Kpic", "-DPIC"]
    v["shlib_LINKFLAGS"] = ["-G"]
    v["shlib_PATTERN"] = "lib%s.so"
    v["staticlib_LINKFLAGS"] = ["-Bstatic"]
    v["staticlib_PATTERN"] = "lib%s.a"


detect = """
find_scc
find_cpp
find_ar
scc_common_flags
cc_load_tools
cc_add_flags
link_add_flags
"""

conftest(find_scc)
conftest(scc_common_flags)
コード例 #29
0
ファイル: sunc++.py プロジェクト: johnsen/jack2_bak
    v = conf.env
    v["CXXFLAGS"] = [""]
    if conf.check_flags("-O2", kind=kind):
        v["CXXFLAGS_OPTIMIZED"] = ["-O2"]
        v["CXXFLAGS_RELEASE"] = ["-O2"]
    if conf.check_flags("-g -DDEBUG", kind=kind):
        v["CXXFLAGS_DEBUG"] = ["-g", "-DDEBUG"]
    if conf.check_flags("-g3 -O0 -DDEBUG", kind=kind):
        v["CXXFLAGS_ULTRADEBUG"] = ["-g3", "-O0", "-DDEBUG"]
    try:
        debug_level = Options.options.debug_level.upper()
    except AttributeError:
        debug_level = ccroot.DEBUG_LEVELS.CUSTOM
    v.append_value("CXXFLAGS", v["CXXFLAGS_" + debug_level])


detect = """
find_sxx
find_cpp
find_ar
sxx_common_flags
cxx_load_tools
cxx_check_features
sxx_modifier_debug
cxx_add_flags
"""

conftest(find_sxx)
conftest(sxx_common_flags)
conftest(sxx_modifier_debug)
コード例 #30
0
def find_gdc(conf):
	conf.find_program('gdc',var='D_COMPILER',mandatory=True)
def common_flags_gdc(conf):
	v=conf.env
	v['DFLAGS']=[]
	v['D_SRC_F']=''
	v['D_TGT_F']=['-c','-o','']
	v['DPATH_ST']='-I%s'
	v['D_LINKER']=v['D_COMPILER']
	v['DLNK_SRC_F']=''
	v['DLNK_TGT_F']=['-o','']
	v['DLIB_ST']='-l%s'
	v['DLIBPATH_ST']='-L%s'
	v['DLINKFLAGS']=[]
	v['DFLAGS_OPTIMIZED']=['-O3']
	v['DFLAGS_DEBUG']=['-O0']
	v['DFLAGS_ULTRADEBUG']=['-O0']
	v['D_shlib_DFLAGS']=[]
	v['D_shlib_LINKFLAGS']=['-shared']
	v['DHEADER_ext']='.di'
	v['D_HDR_F']='-fintfc -fintfc-file='
def detect(conf):
	conf.find_gdc()
	conf.check_tool('ar')
	conf.check_tool('d')
	conf.common_flags_gdc()
	conf.d_platform_flags()

conftest(find_gdc)
conftest(common_flags_gdc)
コード例 #31
0
ファイル: gcc.py プロジェクト: sw1001/rapidnet-beta
    v['SHLIB_MARKER'] = ''
    v['STATICLIB_MARKER'] = ''


def gcc_modifier_aix5(conf):
    v = conf.env
    v['program_LINKFLAGS'] = ['-Wl,-brtl']
    v['shlib_LINKFLAGS'] = ['-shared', '-Wl,-brtl,-bexpfull']
    v['SHLIB_MARKER'] = ''


def detect(conf):
    conf.find_gcc()
    conf.find_cpp()
    conf.find_ar()
    conf.gcc_common_flags()
    target_platform = conf.env['TARGET_PLATFORM'] or sys.platform
    gcc_modifier_func = globals().get('gcc_modifier_' + target_platform)
    if gcc_modifier_func:
        gcc_modifier_func(conf)
    conf.cc_load_tools()
    conf.cc_add_flags()


conftest(find_gcc)
conftest(gcc_common_flags)
conftest(gcc_modifier_win32)
conftest(gcc_modifier_cygwin)
conftest(gcc_modifier_darwin)
conftest(gcc_modifier_aix5)
コード例 #32
0
ファイル: suncc.py プロジェクト: johnsen/jack2
	v['staticlib_PATTERN']='lib%s.a'
def scc_modifier_debug(conf):
	v=conf.env
	v['CCFLAGS']=['-O']
	if conf.check_flags('-O2'):
		v['CCFLAGS_OPTIMIZED']=['-O2']
		v['CCFLAGS_RELEASE']=['-O2']
	if conf.check_flags('-g -DDEBUG'):
		v['CCFLAGS_DEBUG']=['-g','-DDEBUG']
	if conf.check_flags('-g3 -O0 -DDEBUG'):
		v['CCFLAGS_ULTRADEBUG']=['-g3','-O0','-DDEBUG']
	try:
		debug_level=Options.options.debug_level.upper()
	except AttributeError:
		debug_level=ccroot.DEBUG_LEVELS.CUSTOM
	v.append_value('CCFLAGS',v['CCFLAGS_'+debug_level])
detect='''
find_scc
find_cpp
find_ar
scc_common_flags
cc_load_tools
cc_check_features
gcc_modifier_debug
cc_add_flags
'''

conftest(find_scc)
conftest(scc_common_flags)
conftest(scc_modifier_debug)
コード例 #33
0
        kw['env'] = env
    return self.generator.bld.exec_command(*k, **kw)


for k in 'cc cxx winrc cc_link cxx_link static_link qxx'.split():
    cls = Task.TaskBase.classes.get(k, None)
    if cls:
        cls.exec_command = exec_command_msvc

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)
conftest(no_autodetect)
conftest(autodetect)
conftest(find_msvc)
conftest(msvc_common_flags)
after('apply_link')(apply_flags_msvc)
feature('cc', 'cxx')(apply_flags_msvc)
feature('cprogram', 'cshlib', 'cstaticlib')(apply_obj_vars_msvc)
after('apply_lib_vars')(apply_obj_vars_msvc)
before('apply_obj_vars')(apply_obj_vars_msvc)
feature('cprogram', 'cshlib')(apply_manifest)
after('apply_link')(apply_manifest)
コード例 #34
0
	v=conf.env
	v['DFLAGS']=['-version=Posix']
	v['D_SRC_F']=''
	v['D_TGT_F']=['-c','-of']
	v['DPATH_ST']='-I%s'
	v['D_LINKER']=v['D_COMPILER']
	v['DLNK_SRC_F']=''
	v['DLNK_TGT_F']='-of'
	v['DLIB_ST']='-L-l%s'
	v['DLIBPATH_ST']='-L-L%s'
	v['DFLAGS_OPTIMIZED']=['-O']
	v['DFLAGS_DEBUG']=['-g','-debug']
	v['DFLAGS_ULTRADEBUG']=['-g','-debug']
	v['DLINKFLAGS']=['-quiet']
	v['D_shlib_DFLAGS']=['-fPIC']
	v['D_shlib_LINKFLAGS']=['-L-shared']
	v['DHEADER_ext']='.di'
	v['D_HDR_F']=['-H','-Hf']
def detect(conf):
	conf.find_dmd()
	conf.check_tool('ar')
	conf.check_tool('d')
	conf.common_flags_dmd()
	conf.d_platform_flags()
	if conf.env.D_COMPILER.find('ldc')>-1:
		conf.common_flags_ldc()

conftest(find_dmd)
conftest(common_flags_ldc)
conftest(common_flags_dmd)