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