xref: /dragonfly/contrib/gcc-4.7/gcc/cppdefault.h (revision cfd1aba3)
1 /* CPP Library.
2    Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
3    1999, 2000, 2003, 2004, 2006, 2007, 2012 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 
35 struct 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 appended
47 				   - the multilib path specified with -imultilib
48 				     when set to 1,
49 				   - the multiarch path specified with
50 				     -imultiarch, when set to 2.  */
51 };
52 
53 extern const struct default_include cpp_include_defaults[];
54 extern const char cpp_GCC_INCLUDE_DIR[];
55 extern const size_t cpp_GCC_INCLUDE_DIR_len;
56 
57 /* The configure-time prefix, i.e., the value supplied as the argument
58    to --prefix=.  */
59 extern const char cpp_PREFIX[];
60 /* The length of the configure-time prefix.  */
61 extern const size_t cpp_PREFIX_len;
62 /* The configure-time execution prefix.  This is typically the lib/gcc
63    subdirectory of cpp_PREFIX.  */
64 extern const char cpp_EXEC_PREFIX[];
65 /* The run-time execution prefix.  This is typically the lib/gcc
66    subdirectory of the actual installation.  */
67 extern const char *gcc_exec_prefix;
68 
69 /* Return true if the toolchain is relocated.  */
70 bool cpp_relocated (void);
71 
72 #endif /* ! GCC_CPPDEFAULT_H */
73