1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
#! /usr/bin/env python
# encoding: utf-8
#! /usr/bin/env python
# encoding: utf-8
# Thomas Nagy, 2006-2008 (ita)
# Ralf Habacker, 2006 (rh)
"ar and ranlib"
import os, sys
import Action
ar_str = '${AR} ${ARFLAGS} ${TGT} ${SRC} && ${RANLIB} ${RANLIBFLAGS} ${TGT}'
# FIXME
if sys.platform == "win32":
ar_str = '${AR} s${ARFLAGS} ${TGT} ${SRC}'
Action.simple_action('ar_link_static', ar_str, color='YELLOW', prio=101)
def detect(conf):
comp = conf.find_program('ar', var='AR')
if not comp: return
ranlib = conf.find_program('ranlib', var='RANLIB')
if not ranlib: return
v = conf.env
v['AR'] = comp
v['ARFLAGS'] = 'r'
v['RANLIB'] = ranlib
v['RANLIBFLAGS'] = ''
def find_ar(conf):
v = conf.env
conf.check_tool('ar')
if not v['AR']: conf.fatal('ar is required for static libraries - not found')
def find_cpp(conf):
v = conf.env
cpp = None
if v['CPP']: cpp = v['CPP']
elif 'CPP' in os.environ: cpp = os.environ['CPP']
if not cpp: cpp = conf.find_program('cpp', var='CPP')
if not cpp: cpp = v['CC']
if not cpp: cpp = v['CXX']
v['CPP'] = cpp
|