1 //===--- DependencyOutputOptions.h ------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_CLANG_FRONTEND_DEPENDENCYOUTPUTOPTIONS_H
11 #define LLVM_CLANG_FRONTEND_DEPENDENCYOUTPUTOPTIONS_H
18 /// DependencyOutputOptions - Options for controlling the compiler dependency
20 class DependencyOutputOptions {
22 unsigned IncludeSystemHeaders : 1; ///< Include system header dependencies.
23 unsigned ShowHeaderIncludes : 1; ///< Show header inclusions (-H).
24 unsigned UsePhonyTargets : 1; ///< Include phony targets for each
25 /// dependency, which can avoid some 'make'
27 unsigned AddMissingHeaderDeps : 1; ///< Add missing headers to dependency list
29 /// The file to write dependency output to.
30 std::string OutputFile;
32 /// The file to write header include output to. This is orthogonal to
33 /// ShowHeaderIncludes (-H) and will include headers mentioned in the
34 /// predefines buffer. If the output file is "-", output will be sent to
36 std::string HeaderIncludeOutputFile;
38 /// A list of names to use as the targets in the dependency file; this list
39 /// must contain at least one entry.
40 std::vector<std::string> Targets;
42 /// \brief The file to write GraphViz-formatted header dependencies to.
43 std::string DOTOutputFile;
46 DependencyOutputOptions() {
47 IncludeSystemHeaders = 0;
48 ShowHeaderIncludes = 0;
50 AddMissingHeaderDeps = 0;
54 } // end namespace clang