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 8from waflib.Tools import ccroot, ar 9from waflib.Configure import conf 10 11@conf 12def find_xlcxx(conf): 13 """ 14 Detects the Aix C++ compiler 15 """ 16 cxx = conf.find_program(['xlc++_r', 'xlc++'], var='CXX') 17 conf.get_xlc_version(cxx) 18 conf.env.CXX_NAME = 'xlc++' 19 20@conf 21def xlcxx_common_flags(conf): 22 """ 23 Flags required for executing the Aix C++ compiler 24 """ 25 v = conf.env 26 27 v.CXX_SRC_F = [] 28 v.CXX_TGT_F = ['-c', '-o'] 29 30 if not v.LINK_CXX: 31 v.LINK_CXX = v.CXX 32 33 v.CXXLNK_SRC_F = [] 34 v.CXXLNK_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_cxxprogram= ['-Wl,-brtl'] 49 v.cxxprogram_PATTERN = '%s' 50 51 v.CXXFLAGS_cxxshlib = ['-fPIC'] 52 v.LINKFLAGS_cxxshlib = ['-G', '-Wl,-brtl,-bexpfull'] 53 v.cxxshlib_PATTERN = 'lib%s.so' 54 55 v.LINKFLAGS_cxxstlib = [] 56 v.cxxstlib_PATTERN = 'lib%s.a' 57 58def configure(conf): 59 conf.find_xlcxx() 60 conf.find_ar() 61 conf.xlcxx_common_flags() 62 conf.cxx_load_tools() 63 conf.cxx_add_flags() 64 conf.link_add_flags() 65 66