in pack.py [0:0]
def find_main_binary():
bin_name = 'kinesis_producer'
if platform.system() == 'Windows':
bin_name += '.exe'
matches = []
for root, dirnames, filenames in os.walk('bin'):
for filename in fnmatch.filter(filenames, bin_name):
matches.append(os.path.join(root, filename))
paths = [f.split(os.sep) for f in matches]
release = [p for p in paths if p[-2] == 'release']
if len(release) > 1:
if len(sys.argv) < 2:
fatal('Error: You appear to have release targets built with more than one ' +
'toolset, please specify which you want to use as the first argument.\n' +
'We detected the following:\n' + '\n'.join([' ' + p[1] for p in release]))
else:
release = [p for p in release if p[1].find(sys.argv[1]) == 0]
if len(release) > 1:
fatal('The toolset name ' + sys.argv[1] + ' is ambiguous. It matches ' +
'the following:\n' + '\n'.join([' ' + p[1] for p in release]))
elif len(release) == 0:
fatal('The toolset name ' + sys.argv[1] + ' does not match any folder ' +
'in ./bin, did you build the release target with that toolset?')
elif len(release) == 0:
fatal('Error: You don\'t seem to have a release target built. Build the ' +
'release target with "./b2 release -j 8 --toolset=...\"')
return release[0]