summaryrefslogtreecommitdiff
path: root/gcc/cppdefault.c
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@codesourcery.com>2006-11-20 17:15:27 +0000
committerCarlos O'Donell <carlos@gcc.gnu.org>2006-11-20 17:15:27 +0000
commit76642aabbd91c89cfae1c3ba2fa61785b6fbabd6 (patch)
tree97ba2bb27388441e1c8a03a879e691c010485917 /gcc/cppdefault.c
parent9d691ba7501c741571edc1618c434316b1eb0170 (diff)
cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and gcc_exec_prefix.
gcc/ 2006-11-20 Carlos O'Donell <carlos@codesourcery.com> Mark Mitchell <mark@codesourcery.com> * cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and gcc_exec_prefix. (cpp_relocated): New function. * cppdefault.h: Declare cpp_PREFIX, cpp_PREFIX_len, gcc_exec_prefix and cpp_relocated. * Makefile.in (PREPROCESSOR_DEFINES): Add -DPREFIX option. * c-incpath.c (add_standard_paths): Call cpp_relocated. If relocated, replace configured prefix with gcc_exec_prefix. Co-Authored-By: Mark Mitchell <mark@codesourcery.com> From-SVN: r119017
Diffstat (limited to 'gcc/cppdefault.c')
-rw-r--r--gcc/cppdefault.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
index d040558b54c..c72cb390aba 100644
--- a/gcc/cppdefault.c
+++ b/gcc/cppdefault.c
@@ -96,3 +96,31 @@ const size_t cpp_GCC_INCLUDE_DIR_len = sizeof GCC_INCLUDE_DIR - 8;
const char cpp_GCC_INCLUDE_DIR[] = "";
const size_t cpp_GCC_INCLUDE_DIR_len = 0;
#endif
+
+/* The configured prefix. */
+const char cpp_PREFIX[] = PREFIX;
+const size_t cpp_PREFIX_len = sizeof PREFIX - 1;
+
+/* This value is set by cpp_relocated at runtime */
+const char *gcc_exec_prefix;
+
+/* Return true if the toolchain is relocated. */
+bool
+cpp_relocated (void)
+{
+ static int relocated = -1;
+
+ /* A relocated toolchain ignores standard include directories. */
+ if (relocated == -1)
+ {
+ /* Check if the toolchain was relocated? */
+ GET_ENVIRONMENT (gcc_exec_prefix, "GCC_EXEC_PREFIX");
+ if (gcc_exec_prefix)
+ relocated = 1;
+ else
+ relocated = 0;
+ }
+
+ return relocated;
+}
+