suncc.py (1491B)
1 #!/usr/bin/env python 2 # encoding: utf-8 3 # Thomas Nagy, 2006-2018 (ita) 4 # Ralf Habacker, 2006 (rh) 5 6 from waflib import Errors 7 from waflib.Tools import ccroot, ar 8 from waflib.Configure import conf 9 10 @conf 11 def find_scc(conf): 12 """ 13 Detects the Sun C compiler 14 """ 15 v = conf.env 16 cc = conf.find_program('cc', var='CC') 17 try: 18 conf.cmd_and_log(cc + ['-flags']) 19 except Errors.WafError: 20 conf.fatal('%r is not a Sun compiler' % cc) 21 v.CC_NAME = 'sun' 22 conf.get_suncc_version(cc) 23 24 @conf 25 def scc_common_flags(conf): 26 """ 27 Flags required for executing the sun C compiler 28 """ 29 v = conf.env 30 31 v.CC_SRC_F = [] 32 v.CC_TGT_F = ['-c', '-o', ''] 33 34 if not v.LINK_CC: 35 v.LINK_CC = v.CC 36 37 v.CCLNK_SRC_F = '' 38 v.CCLNK_TGT_F = ['-o', ''] 39 v.CPPPATH_ST = '-I%s' 40 v.DEFINES_ST = '-D%s' 41 42 v.LIB_ST = '-l%s' # template for adding libs 43 v.LIBPATH_ST = '-L%s' # template for adding libpaths 44 v.STLIB_ST = '-l%s' 45 v.STLIBPATH_ST = '-L%s' 46 47 v.SONAME_ST = '-Wl,-h,%s' 48 v.SHLIB_MARKER = '-Bdynamic' 49 v.STLIB_MARKER = '-Bstatic' 50 51 v.cprogram_PATTERN = '%s' 52 53 v.CFLAGS_cshlib = ['-xcode=pic32', '-DPIC'] 54 v.LINKFLAGS_cshlib = ['-G'] 55 v.cshlib_PATTERN = 'lib%s.so' 56 57 v.LINKFLAGS_cstlib = ['-Bstatic'] 58 v.cstlib_PATTERN = 'lib%s.a' 59 60 def configure(conf): 61 conf.find_scc() 62 conf.find_ar() 63 conf.scc_common_flags() 64 conf.cc_load_tools() 65 conf.cc_add_flags() 66 conf.link_add_flags() 67