View | Details | Raw Unified | Return to bug 1562
Collapse All | Expand All

(-)a/waf-tools/boost.py (-2 / +12 lines)
 Lines 233-238   def boost_get_libs(self, *k, **kw): Link Here 
233
			name = name[3:]
233
			name = name[3:]
234
		return name[:name.rfind('.')]
234
		return name[:name.rfind('.')]
235
235
236
        found_libs = []
236
	libs = []
237
	libs = []
237
	for lib in Utils.to_list(k and k[0] or kw.get('lib', None)):
238
	for lib in Utils.to_list(k and k[0] or kw.get('lib', None)):
238
		py = (lib == 'python') and '(-py%s)+' % kw['python'] or ''
239
		py = (lib == 'python') and '(-py%s)+' % kw['python'] or ''
 Lines 247-258   def boost_get_libs(self, *k, **kw): Link Here 
247
			self.to_log('Trying pattern %s' % pattern)
248
			self.to_log('Trying pattern %s' % pattern)
248
			file = find_lib(re.compile(pattern), files)
249
			file = find_lib(re.compile(pattern), files)
249
			if file:
250
			if file:
251
                                found_libs.append (lib)
250
				libs.append(format_lib_name(file.name))
252
				libs.append(format_lib_name(file.name))
251
				break
253
				break
252
		else:
254
		else:
253
			self.fatal('lib %s not found in %s' % (lib, path.abspath()))
255
			self.fatal('lib %s not found in %s' % (lib, path.abspath()))
254
256
255
	return path.abspath(), libs
257
	return path.abspath(), libs, found_libs
256
258
257
259
258
@conf
260
@conf
 Lines 293-299   def check_boost(self, *k, **kw): Link Here 
293
	self.start_msg('Checking boost libs')
295
	self.start_msg('Checking boost libs')
294
	try:
296
	try:
295
		suffix = params.get('static', 'ST') or ''
297
		suffix = params.get('static', 'ST') or ''
296
		path, libs = self.boost_get_libs(**params)
298
		path, libs, found_libs = self.boost_get_libs(**params)
297
	except WafError:
299
	except WafError:
298
		self.end_msg("not found", 'YELLOW')
300
		self.end_msg("not found", 'YELLOW')
299
		raise
301
		raise
 Lines 301-306   def check_boost(self, *k, **kw): Link Here 
301
	#path, libs = self.boost_get_libs(**params)
303
	#path, libs = self.boost_get_libs(**params)
302
	self.env['%sLIBPATH_%s' % (suffix, var)] = [path]
304
	self.env['%sLIBPATH_%s' % (suffix, var)] = [path]
303
	self.env['%sLIB_%s' % (suffix, var)] = libs
305
	self.env['%sLIB_%s' % (suffix, var)] = libs
306
        self.env['%s_FOUND_LIBS' % var] = found_libs
307
308
        if kw.get('require_all', True):
309
                if found_libs != Utils.to_list(k and k[0] or kw.get('lib', None)):
310
                        required_libs = Utils.to_list(k and k[0] or kw.get('lib', None))
311
                        not_found = [lib for lib in required_libs if lib not in found_libs]
312
                        self.fatal('boost libraries %s not found' % (str(not_found)))
313
304
	self.end_msg('ok')
314
	self.end_msg('ok')
305
	if Logs.verbose:
315
	if Logs.verbose:
306
		Logs.pprint('CYAN', '	path : %s' % path)
316
		Logs.pprint('CYAN', '	path : %s' % path)

Return to bug 1562