midori/waf-modules/wafadmin/Tools/ar.py

27 lines
716 B
Python
Raw Normal View History

2013-10-24 03:26:27 +00:00
#! /usr/bin/env python
# encoding: utf-8
import os,sys
import Task,Utils
from Configure import conftest
ar_str='${AR} ${ARFLAGS} ${AR_TGT_F}${TGT} ${AR_SRC_F}${SRC}'
cls=Task.simple_task_type('static_link',ar_str,color='YELLOW',ext_in='.o',ext_out='.bin',shell=False)
cls.maxjobs=1
cls.install=Utils.nada
old=cls.run
def wrap(self):
try:os.remove(self.outputs[0].abspath(self.env))
except OSError:pass
return old(self)
setattr(cls,'run',wrap)
def detect(conf):
conf.find_program('ar',var='AR')
conf.find_program('ranlib',var='RANLIB')
conf.env.ARFLAGS='rcs'
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')
conftest(find_ar)