GCC Middle and Back End API Reference
cppdefault.h
Go to the documentation of this file.
1 /* CPP Library.
2  Copyright (C) 1986-2013 Free Software Foundation, Inc.
3  Contributed by Per Bothner, 1994-95.
4  Based on CCCP program by Paul Rubin, June 1986
5  Adapted to ANSI C, Richard Stallman, Jan 1987
6 
7  This program is free software; you can redistribute it and/or modify it
8  under the terms of the GNU General Public License as published by the
9  Free Software Foundation; either version 3, or (at your option) any
10  later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; see the file COPYING3. If not see
19  <http://www.gnu.org/licenses/>. */
20 
21 #ifndef GCC_CPPDEFAULT_H
22 #define GCC_CPPDEFAULT_H
23 
24 /* This is the default list of directories to search for include files.
25  It may be overridden by the various -I and -ixxx options.
26 
27  #include "file" looks in the same directory as the current file,
28  then this list.
29  #include <file> just looks in this list.
30 
31  All these directories are treated as `system' include directories
32  (they are not subject to pedantic warnings in some cases). */
33 
34 struct default_include
35 {
36  const char *const fname; /* The name of the directory. */
37  const char *const component; /* The component containing the directory
38  (see update_path in prefix.c) */
39  const char cplusplus; /* Only look here if we're compiling C++. */
40  const char cxx_aware; /* Includes in this directory don't need to
41  be wrapped in extern "C" when compiling
42  C++. */
43  const char add_sysroot; /* FNAME should be prefixed by
44  cpp_SYSROOT. */
45  const char multilib; /* FNAME should have appended
46  - the multilib path specified with -imultilib
47  when set to 1,
48  - the multiarch path specified with
49  -imultiarch, when set to 2. */
50 };
51 
52 extern const struct default_include cpp_include_defaults[];
53 extern const char cpp_GCC_INCLUDE_DIR[];
54 extern const size_t cpp_GCC_INCLUDE_DIR_len;
55 
56 /* The configure-time prefix, i.e., the value supplied as the argument
57  to --prefix=. */
58 extern const char cpp_PREFIX[];
59 /* The length of the configure-time prefix. */
60 extern const size_t cpp_PREFIX_len;
61 /* The configure-time execution prefix. This is typically the lib/gcc
62  subdirectory of cpp_PREFIX. */
63 extern const char cpp_EXEC_PREFIX[];
64 /* The run-time execution prefix. This is typically the lib/gcc
65  subdirectory of the actual installation. */
66 extern const char *gcc_exec_prefix;
67 
68 /* Return true if the toolchain is relocated. */
69 bool cpp_relocated (void);
70 
71 #endif /* ! GCC_CPPDEFAULT_H */