docs: def clean_build(self, arch=None):
          '''Deletes all the build information of the recipe.
  
          If arch is not None, only this arch dir is deleted. Otherwise
          (the default) all builds for all archs are deleted.
  
          By default, this just deletes the main build dir. If the
          recipe has e.g. object files biglinked, or .so files stored
          elsewhere, you should override this method.
  
          This method is intended for testing purposes, it may have
          strange results. Rebuild everything if this seems to happen.
  
          '''
          if arch is None:
              base_dir = join(self.ctx.build_dir, 'other_builds', self.name)
          else:
              base_dir = self.get_build_container_dir(arch)
          dirs = glob.glob(base_dir + '-*')
          if exists(base_dir):
              dirs.append(base_dir)
          if not dirs:
              warning('Attempted to clean build for {} but found no existing '
                      'build dirs'.format(self.name))
  
          for directory in dirs:
              if exists(directory):
                  info('Deleting {}'.format(directory))
                  shutil.rmtree(directory)
  
          # Delete any Python distributions to ensure the recipe build
          # doesn't persist in site-packages
          shutil.rmtree(self.ctx.python_installs_dir)