// file      : build/search -*- C++ -*-
// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd
// license   : MIT; see accompanying LICENSE file

#ifndef BUILD_SEARCH
#define BUILD_SEARCH

#include <build/types>

namespace build
{
  class target;
  class prerequisite_key;

  // Search for an existing target in this prerequisite's scope.
  //
  target*
  search_existing_target (const prerequisite_key&);

  // Search for an existing file in the specified list of search paths.
  //
  target*
  search_existing_file (const prerequisite_key&, const dir_paths&);

  // Create a new target in this prerequisite's scope.
  //
  target&
  create_new_target (const prerequisite_key&);
}

#endif // BUILD_SEARCH