waf

FORK: waf with some random patches
git clone https://git.neptards.moe/neptards/waf.git
Log | Files | Refs | README

suncxx.py (1511B)


      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_sxx(conf):
     12 	"""
     13 	Detects the sun C++ compiler
     14 	"""
     15 	v = conf.env
     16 	cc = conf.find_program(['CC', 'c++'], var='CXX')
     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.CXX_NAME = 'sun'
     22 	conf.get_suncc_version(cc)
     23 
     24 @conf
     25 def sxx_common_flags(conf):
     26 	"""
     27 	Flags required for executing the sun C++ compiler
     28 	"""
     29 	v = conf.env
     30 
     31 	v.CXX_SRC_F           = []
     32 	v.CXX_TGT_F           = ['-c', '-o', '']
     33 
     34 	if not v.LINK_CXX:
     35 		v.LINK_CXX = v.CXX
     36 
     37 	v.CXXLNK_SRC_F        = []
     38 	v.CXXLNK_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.cxxprogram_PATTERN  = '%s'
     52 
     53 	v.CXXFLAGS_cxxshlib   = ['-xcode=pic32', '-DPIC']
     54 	v.LINKFLAGS_cxxshlib  = ['-G']
     55 	v.cxxshlib_PATTERN    = 'lib%s.so'
     56 
     57 	v.LINKFLAGS_cxxstlib  = ['-Bstatic']
     58 	v.cxxstlib_PATTERN    = 'lib%s.a'
     59 
     60 def configure(conf):
     61 	conf.find_sxx()
     62 	conf.find_ar()
     63 	conf.sxx_common_flags()
     64 	conf.cxx_load_tools()
     65 	conf.cxx_add_flags()
     66 	conf.link_add_flags()
     67