cppdefault.h 2.72 KB
Newer Older
1
/* CPP Library.
2
   Copyright (C) 1986-2019 Free Software Foundation, Inc.
3 4 5 6
   Contributed by Per Bothner, 1994-95.
   Based on CCCP program by Paul Rubin, June 1986
   Adapted to ANSI C, Richard Stallman, Jan 1987

7 8 9 10
   This program is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by the
   Free Software Foundation; either version 3, or (at your option) any
   later version.
11

12 13 14 15
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
16

17 18 19
   You should have received a copy of the GNU General Public License
   along with this program; see the file COPYING3.  If not see
   <http://www.gnu.org/licenses/>.  */
20

21 22
#ifndef GCC_CPPDEFAULT_H
#define GCC_CPPDEFAULT_H
23 24 25 26 27 28 29 30 31 32 33 34 35

/* This is the default list of directories to search for include files.
   It may be overridden by the various -I and -ixxx options.

   #include "file" looks in the same directory as the current file,
   then this list.
   #include <file> just looks in this list.

   All these directories are treated as `system' include directories
   (they are not subject to pedantic warnings in some cases).  */

struct default_include
{
36 37
  const char *const fname;	/* The name of the directory.  */
  const char *const component;	/* The component containing the directory
38
				   (see update_path in prefix.c) */
39 40
  const char cplusplus;		/* Only look here if we're compiling C++.  */
  const char cxx_aware;		/* Includes in this directory don't need to
41 42
				   be wrapped in extern "C" when compiling
				   C++.  */
43
  const char add_sysroot;	/* FNAME should be prefixed by
44
				   cpp_SYSROOT.  */
45 46 47 48 49
  const char multilib;		/* FNAME should have appended
				   - the multilib path specified with -imultilib
				     when set to 1,
				   - the multiarch path specified with
				     -imultiarch, when set to 2.  */
50 51 52 53 54 55
};

extern const struct default_include cpp_include_defaults[];
extern const char cpp_GCC_INCLUDE_DIR[];
extern const size_t cpp_GCC_INCLUDE_DIR_len;

56 57
/* The configure-time prefix, i.e., the value supplied as the argument
   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 62 63 64 65
/* The configure-time execution prefix.  This is typically the lib/gcc
   subdirectory of cpp_PREFIX.  */
extern const char cpp_EXEC_PREFIX[];
/* The run-time execution prefix.  This is typically the lib/gcc
   subdirectory of the actual installation.  */
66 67 68 69 70
extern const char *gcc_exec_prefix;

/* Return true if the toolchain is relocated.  */
bool cpp_relocated (void);

71
#endif /* ! GCC_CPPDEFAULT_H */