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