buildtools/wafsamba: use top for waf 2.0
[samba.git] / buildtools / wafsamba / irixcc.py
1
2 # compiler definition for irix/MIPSpro cc compiler
3 # based on suncc.py from waf
4
5 import os, optparse
6 from waflib import Utils, Options, Configure
7 from waflib.Tools import ccroot, ar
8 from waflib.Configure import conftest
9
10 from waflib.Tools.compiler_c import c_compiler
11
12 c_compiler['irix'] = ['gcc', 'irixcc']
13
14 @conftest
15 def find_irixcc(conf):
16     v = conf.env
17     cc = None
18     if v['CC']: cc = v['CC']
19     elif 'CC' in conf.environ: cc = conf.environ['CC']
20     if not cc: cc = conf.find_program('cc', var='CC')
21     if not cc: conf.fatal('irixcc was not found')
22     cc = conf.cmd_to_list(cc)
23
24     try:
25         if Utils.cmd_output(cc + ['-c99'] + ['-version']) != '':
26             conf.fatal('irixcc %r was not found' % cc)
27     except ValueError:
28         conf.fatal('irixcc -v could not be executed')
29
30     conf.env.append_unique('CCFLAGS', '-c99')
31
32     v['CC']  = cc
33     v['CC_NAME'] = 'irix'
34
35 @conftest
36 def irixcc_common_flags(conf):
37     v = conf.env
38
39     v['CC_SRC_F']            = ''
40     v['CC_TGT_F']            = ['-c', '-o', '']
41     v['CPPPATH_ST']          = '-I%s' # template for adding include paths
42
43     # linker
44     if not v['LINK_CC']: v['LINK_CC'] = v['CC']
45     v['CCLNK_SRC_F']         = ''
46     v['CCLNK_TGT_F']         = ['-o', '']
47
48     v['LIB_ST']              = '-l%s' # template for adding libs
49     v['LIBPATH_ST']          = '-L%s' # template for adding libpaths
50     v['STATICLIB_ST']        = '-l%s'
51     v['STATICLIBPATH_ST']    = '-L%s'
52     v['CCDEFINES_ST']        = '-D%s'
53
54 #    v['SONAME_ST']           = '-Wl,-h -Wl,%s'
55 #    v['SHLIB_MARKER']        = '-Bdynamic'
56 #    v['STATICLIB_MARKER']    = '-Bstatic'
57
58     # program
59     v['program_PATTERN']     = '%s'
60
61     # shared library
62 #    v['shlib_CCFLAGS']       = ['-Kpic', '-DPIC']
63 #    v['shlib_LINKFLAGS']     = ['-G']
64     v['shlib_PATTERN']       = 'lib%s.so'
65
66     # static lib
67 #    v['staticlib_LINKFLAGS'] = ['-Bstatic']
68 #    v['staticlib_PATTERN']   = 'lib%s.a'
69
70 detect = '''
71 find_irixcc
72 find_cpp
73 find_ar
74 irixcc_common_flags
75 cc_load_tools
76 cc_add_flags
77 link_add_flags
78 '''
79