cppdefault.c (cpp_EXEC_PREFIX): New variable.
* cppdefault.c (cpp_EXEC_PREFIX): New variable. * cppdefault.h (cpp_PREFIX): Document. (cpp_PREFIX_len): Likewise. (cpp_EXEC_PREFIX): New variable. * Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX. * c-incpath.c (add_standard_paths): Correct logic for relocating paths within prefix. From-SVN: r122843
This commit is contained in:
parent
91b0b94a04
commit
6d4817e374
@ -1,3 +1,13 @@
|
||||
2007-03-12 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* cppdefault.c (cpp_EXEC_PREFIX): New variable.
|
||||
* cppdefault.h (cpp_PREFIX): Document.
|
||||
(cpp_PREFIX_len): Likewise.
|
||||
(cpp_EXEC_PREFIX): New variable.
|
||||
* Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX.
|
||||
* c-incpath.c (add_standard_paths): Correct logic for relocating
|
||||
paths within prefix.
|
||||
|
||||
2007-03-12 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.md (fixuns_trunc<mode>hi2): Implement from
|
||||
|
@ -3210,6 +3210,7 @@ PREPROCESSOR_DEFINES = \
|
||||
-DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
|
||||
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
|
||||
-DPREFIX=\"$(prefix)\" \
|
||||
-DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc\" \
|
||||
@TARGET_SYSTEM_ROOT_DEFINE@
|
||||
|
||||
cppdefault.o: cppdefault.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
|
||||
|
@ -167,11 +167,26 @@ add_standard_paths (const char *sysroot, const char *iprefix,
|
||||
else if (!p->add_sysroot && relocated
|
||||
&& strncmp (p->fname, cpp_PREFIX, cpp_PREFIX_len) == 0)
|
||||
{
|
||||
/* If the compiler is relocated, and this is a configured
|
||||
prefix relative path, then we use gcc_exec_prefix instead
|
||||
of the configured prefix. */
|
||||
str = concat (gcc_exec_prefix, p->fname
|
||||
+ cpp_PREFIX_len, NULL);
|
||||
static const char *relocated_prefix;
|
||||
/* If this path starts with the configure-time prefix,
|
||||
but the compiler has been relocated, replace it
|
||||
with the run-time prefix. The run-time exec prefix
|
||||
is GCC_EXEC_PREFIX. Compute the path from there back
|
||||
to the toplevel prefix. */
|
||||
if (!relocated_prefix)
|
||||
{
|
||||
char *dummy;
|
||||
/* Make relative prefix expects the first argument
|
||||
to be a program, not a directory. */
|
||||
dummy = concat (gcc_exec_prefix, "dummy", NULL);
|
||||
relocated_prefix
|
||||
= make_relative_prefix (dummy,
|
||||
cpp_EXEC_PREFIX,
|
||||
cpp_PREFIX);
|
||||
}
|
||||
str = concat (relocated_prefix,
|
||||
p->fname + cpp_PREFIX_len,
|
||||
NULL);
|
||||
str = update_path (str, p->component);
|
||||
}
|
||||
else
|
||||
|
@ -112,6 +112,7 @@ const size_t cpp_GCC_INCLUDE_DIR_len = 0;
|
||||
/* The configured prefix. */
|
||||
const char cpp_PREFIX[] = PREFIX;
|
||||
const size_t cpp_PREFIX_len = sizeof PREFIX - 1;
|
||||
const char cpp_EXEC_PREFIX[] = STANDARD_EXEC_PREFIX;
|
||||
|
||||
/* This value is set by cpp_relocated at runtime */
|
||||
const char *gcc_exec_prefix;
|
||||
|
@ -52,8 +52,16 @@ extern const struct default_include cpp_include_defaults[];
|
||||
extern const char cpp_GCC_INCLUDE_DIR[];
|
||||
extern const size_t cpp_GCC_INCLUDE_DIR_len;
|
||||
|
||||
/* The configure-time prefix, i.e., the value supplied as the argument
|
||||
to --prefix=. */
|
||||
extern const char cpp_PREFIX[];
|
||||
/* The length of the configure-time prefix. */
|
||||
extern const size_t cpp_PREFIX_len;
|
||||
/* 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. */
|
||||
extern const char *gcc_exec_prefix;
|
||||
|
||||
/* Return true if the toolchain is relocated. */
|
||||
|
Loading…
Reference in New Issue
Block a user