parameters: (name, env=None)
return_statement: return None
docstring: Ensures that a program exists
  
  	:type name: string
  	:param name: path to the program
  	:param env: configuration object
  	:type env: :py:class:`waflib.ConfigSet.ConfigSet`
  	:return: path of the program or None
  	:raises: :py:class:`waflib.Errors.WafError` if the folder cannot be added.
docstring_summary: Ensures that a program exists
docstring_tokens: Ensures that a program exists
function: def check_exe(name, env=None):
  	"""
  	Ensures that a program exists
  
  	:type name: string
  	:param name: path to the program
  	:param env: configuration object
  	:type env: :py:class:`waflib.ConfigSet.ConfigSet`
  	:return: path of the program or None
  	:raises: :py:class:`waflib.Errors.WafError` if the folder cannot be added.
  	"""
  	if not name:
  		raise ValueError('Cannot execute an empty string!')
  	def is_exe(fpath):
  		return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
  
  	fpath, fname = os.path.split(name)
  	if fpath and is_exe(name):
  		return os.path.abspath(name)
  	else:
  		env = env or os.environ
  		for path in env['PATH'].split(os.pathsep):
  			path = path.strip('"')
  			exe_file = os.path.join(path, name)
  			if is_exe(exe_file):
  				return os.path.abspath(exe_file)
  	return None
function_tokens: def check_exe ( name , env = None ) : if not name : raise ValueError ( 'Cannot execute an empty string!' ) def is_exe ( fpath ) : return os . path . isfile ( fpath ) and os . access ( fpath , os . X_OK ) fpath , fname = os . path . split ( name ) if fpath and is_exe ( name ) : return os . path . abspath ( name ) else : env = env or os . environ for path in env [ 'PATH' ] . split ( os . pathsep ) : path = path . strip ( '"' ) exe_file = os . path . join ( path , name ) if is_exe ( exe_file ) : return os . path . abspath ( exe_file ) return None