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