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