Changeset c101fe1 for waflib/Tools/ccroot.py
- Timestamp:
- Nov 13, 2013, 1:00:56 PM (10 years ago)
- Branches:
- feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
- Children:
- d3066e2
- Parents:
- 54e74f0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
waflib/Tools/ccroot.py
r54e74f0 rc101fe1 3 3 # WARNING! Do not edit! http://waf.googlecode.com/git/docs/wafbook/single.html#_obtaining_the_waf_file 4 4 5 import os 5 import os,re 6 6 from waflib import Task,Utils,Node,Errors 7 7 from waflib.TaskGen import after_method,before_method,feature,taskgen_method,extension … … 71 71 pattern='%s' 72 72 folder,name=os.path.split(target) 73 if self.__class__.__name__.find('shlib')>0: 74 if self.env.DEST_BINFMT=='pe'and getattr(self.generator,'vnum',None): 75 name=name+'-'+self.generator.vnum.split('.')[0] 73 if self.__class__.__name__.find('shlib')>0 and getattr(self.generator,'vnum',None): 74 nums=self.generator.vnum.split('.') 75 if self.env.DEST_BINFMT=='pe': 76 name=name+'-'+nums[0] 77 elif self.env.DEST_OS=='openbsd': 78 pattern='%s.%s.%s'%(pattern,nums[0],nums[1]) 76 79 tmp=folder+os.sep+pattern%name 77 80 target=self.generator.path.find_or_declare(tmp) … … 198 201 if getattr(y,'export_includes',None): 199 202 self.includes.extend(y.to_incnodes(y.export_includes)) 203 if getattr(y,'export_defines',None): 204 self.env.append_value('DEFINES',self.to_list(y.export_defines)) 200 205 for x in names: 201 206 try: … … 274 279 return 275 280 self.implib_install_task=self.bld.install_as('${LIBDIR}/%s'%implib.name,implib,self.env) 281 re_vnum=re.compile('^([1-9]\\d*|0)[.]([1-9]\\d*|0)[.]([1-9]\\d*|0)$') 276 282 @feature('cshlib','cxxshlib','dshlib','fcshlib','vnum') 277 283 @after_method('apply_link','propagate_uselib_vars') … … 280 286 return 281 287 link=self.link_task 288 if not re_vnum.match(self.vnum): 289 raise Errors.WafError('Invalid version %r for %r'%(self.vnum,self)) 282 290 nums=self.vnum.split('.') 283 291 node=link.outputs[0] … … 292 300 v=self.env.SONAME_ST%name2 293 301 self.env.append_value('LINKFLAGS',v.split()) 294 self.create_task('vnum',node,[node.parent.find_or_declare(name2),node.parent.find_or_declare(name3)]) 302 if self.env.DEST_OS!='openbsd': 303 self.create_task('vnum',node,[node.parent.find_or_declare(name2),node.parent.find_or_declare(name3)]) 295 304 if getattr(self,'install_task',None): 296 305 self.install_task.hasrun=Task.SKIP_ME 297 306 bld=self.bld 298 307 path=self.install_task.dest 299 t1=bld.install_as(path+os.sep+name3,node,env=self.env,chmod=self.link_task.chmod) 300 t2=bld.symlink_as(path+os.sep+name2,name3) 301 t3=bld.symlink_as(path+os.sep+libname,name3) 302 self.vnum_install_task=(t1,t2,t3) 308 if self.env.DEST_OS=='openbsd': 309 libname=self.link_task.outputs[0].name 310 t1=bld.install_as('%s%s%s'%(path,os.sep,libname),node,env=self.env,chmod=self.link_task.chmod) 311 self.vnum_install_task=(t1,) 312 else: 313 t1=bld.install_as(path+os.sep+name3,node,env=self.env,chmod=self.link_task.chmod) 314 t2=bld.symlink_as(path+os.sep+name2,name3) 315 t3=bld.symlink_as(path+os.sep+libname,name3) 316 self.vnum_install_task=(t1,t2,t3) 303 317 if'-dynamiclib'in self.env['LINKFLAGS']: 304 318 try: … … 342 356 return Task.SKIP_ME 343 357 @conf 344 def read_shlib(self,name,paths=[] ):345 return self(name=name,features='fake_lib',lib_paths=paths,lib_type='shlib' )358 def read_shlib(self,name,paths=[],export_includes=[],export_defines=[]): 359 return self(name=name,features='fake_lib',lib_paths=paths,lib_type='shlib',export_includes=export_includes,export_defines=export_defines) 346 360 @conf 347 def read_stlib(self,name,paths=[] ):348 return self(name=name,features='fake_lib',lib_paths=paths,lib_type='stlib' )361 def read_stlib(self,name,paths=[],export_includes=[],export_defines=[]): 362 return self(name=name,features='fake_lib',lib_paths=paths,lib_type='stlib',export_includes=export_includes,export_defines=export_defines) 349 363 lib_patterns={'shlib':['lib%s.so','%s.so','lib%s.dylib','lib%s.dll','%s.dll'],'stlib':['lib%s.a','%s.a','lib%s.dll','%s.dll','lib%s.lib','%s.lib'],} 350 364 @feature('fake_lib')
Note: See TracChangeset
for help on using the changeset viewer.