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