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