cppdefault.h 2.7 KB

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