| 1 | Search path environment variables for cross-compilers. See the discussion
|
| 2 | at <http://gcc.gnu.org/ml/gcc/2013-02/msg00124.html>.
|
| 3 |
|
| 4 | Note: Touch 'C_INCLUDE_PATH' et al. rather than 'CPATH', as discussed
|
| 5 | at <http://bugs.gnu.org/22186>.
|
| 6 |
|
| 7 | |
| 8 | |
| 9 | @@ -461,8 +461,8 @@ register_include_chains (cpp_reader *pfile, const char *sysroot,
|
| 10 | int stdinc, int cxx_stdinc, int verbose)
|
| 11 | {
|
| 12 | static const char *const lang_env_vars[] =
|
| 13 | - { "C_INCLUDE_PATH", "CPLUS_INCLUDE_PATH",
|
| 14 | - "OBJC_INCLUDE_PATH", "OBJCPLUS_INCLUDE_PATH" };
|
| 15 | + { "CROSS_C_INCLUDE_PATH", "CROSS_CPLUS_INCLUDE_PATH",
|
| 16 | + "CROSS_OBJC_INCLUDE_PATH", "CROSS_OBJCPLUS_INCLUDE_PATH" };
|
| 17 | cpp_options *cpp_opts = cpp_get_options (pfile);
|
| 18 | size_t idx = (cpp_opts->objc ? 2: 0);
|
| 19 |
|
| 20 | @@ -473,7 +473,7 @@ register_include_chains (cpp_reader *pfile, const char *sysroot,
|
| 21 |
|
| 22 | /* CPATH and language-dependent environment variables may add to the
|
| 23 | include chain. */
|
| 24 | - add_env_var_paths ("CPATH", BRACKET);
|
| 25 | + add_env_var_paths ("CROSS_CPATH", BRACKET);
|
| 26 | add_env_var_paths (lang_env_vars[idx], SYSTEM);
|
| 27 |
|
| 28 | target_c_incpath.extra_pre_includes (sysroot, iprefix, stdinc);
|
| 29 | diff --git a/gcc/system.h b/gcc/system.h
|
| 30 | index 42bc509..af3b9ad 100644
|
| 31 | |
| 32 | |
| 33 | @@ -1063,4 +1063,6 @@ helper_const_non_const_cast (const char *p)
|
| 34 | /* Get definitions of HOST_WIDE_INT and HOST_WIDEST_INT. */
|
| 35 | #include "hwint.h"
|
| 36 |
|
| 37 | +#define LIBRARY_PATH_ENV "CROSS_LIBRARY_PATH"
|
| 38 | +
|
| 39 | #endif /* ! GCC_SYSTEM_H */
|
| 40 | diff --git a/gcc/tlink.c b/gcc/tlink.c
|
| 41 | index bc358b8..ad6242f 100644
|
| 42 | |
| 43 | |
| 44 | @@ -458,7 +458,7 @@ recompile_files (void)
|
| 45 | file *f;
|
| 46 |
|
| 47 | putenv (xstrdup ("COMPILER_PATH="));
|
| 48 | - putenv (xstrdup ("LIBRARY_PATH="));
|
| 49 | + putenv (xstrdup (LIBRARY_PATH_ENV "="));
|
| 50 |
|
| 51 | while ((f = file_pop ()) != NULL)
|
| 52 | {
|
| 53 | diff --git a/gcc/gcc.c b/gcc/gcc.c
|
| 54 | index adbf0c4..70448c6 100644
|
| 55 | |
| 56 | |
| 57 | @@ -3853,7 +3853,7 @@ process_command (unsigned int decoded_options_count,
|
| 58 | }
|
| 59 |
|
| 60 | temp = getenv (LIBRARY_PATH_ENV);
|
| 61 | - if (temp && *cross_compile == '0')
|
| 62 | + if (temp)
|
| 63 | {
|
| 64 | const char *startp, *endp;
|
| 65 | char *nstore = (char *) alloca (strlen (temp) + 3);
|