def find_main_binary()

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]