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