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