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