waf

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

xlc.py (1441B)


      1 #!/usr/bin/env python
      2 # encoding: utf-8
      3 # Thomas Nagy, 2006-2018 (ita)
      4 # Ralf Habacker, 2006 (rh)
      5 # Yinon Ehrlich, 2009
      6 # Michael Kuhn, 2009
      7 
      8 from waflib.Tools import ccroot, ar
      9 from waflib.Configure import conf
     10 
     11 @conf
     12 def find_xlc(conf):
     13 	"""
     14 	Detects the Aix C compiler
     15 	"""
     16 	cc = conf.find_program(['xlc_r', 'xlc'], var='CC')
     17 	conf.get_xlc_version(cc)
     18 	conf.env.CC_NAME = 'xlc'
     19 
     20 @conf
     21 def xlc_common_flags(conf):
     22 	"""
     23 	Flags required for executing the Aix C compiler
     24 	"""
     25 	v = conf.env
     26 
     27 	v.CC_SRC_F            = []
     28 	v.CC_TGT_F            = ['-c', '-o']
     29 
     30 	if not v.LINK_CC:
     31 		v.LINK_CC = v.CC
     32 
     33 	v.CCLNK_SRC_F         = []
     34 	v.CCLNK_TGT_F         = ['-o']
     35 	v.CPPPATH_ST          = '-I%s'
     36 	v.DEFINES_ST          = '-D%s'
     37 
     38 	v.LIB_ST              = '-l%s' # template for adding libs
     39 	v.LIBPATH_ST          = '-L%s' # template for adding libpaths
     40 	v.STLIB_ST            = '-l%s'
     41 	v.STLIBPATH_ST        = '-L%s'
     42 	v.RPATH_ST            = '-Wl,-rpath,%s'
     43 
     44 	v.SONAME_ST           = []
     45 	v.SHLIB_MARKER        = []
     46 	v.STLIB_MARKER        = []
     47 
     48 	v.LINKFLAGS_cprogram  = ['-Wl,-brtl']
     49 	v.cprogram_PATTERN    = '%s'
     50 
     51 	v.CFLAGS_cshlib       = ['-fPIC']
     52 	v.LINKFLAGS_cshlib    = ['-G', '-Wl,-brtl,-bexpfull']
     53 	v.cshlib_PATTERN      = 'lib%s.so'
     54 
     55 	v.LINKFLAGS_cstlib    = []
     56 	v.cstlib_PATTERN      = 'lib%s.a'
     57 
     58 def configure(conf):
     59 	conf.find_xlc()
     60 	conf.find_ar()
     61 	conf.xlc_common_flags()
     62 	conf.cc_load_tools()
     63 	conf.cc_add_flags()
     64 	conf.link_add_flags()
     65