1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
Author: Patrick McDermott <patrick.mcdermott@libiquity.com>
Subject: Add another search directory to gcc driver
diff -Naurp src.orig/gcc/gcc.c src/gcc/gcc.c
--- src.orig/gcc/gcc.c 2018-02-09 01:44:06.000000000 -0500
+++ src/gcc/gcc.c 2019-05-02 19:28:55.475950656 -0400
@@ -1496,6 +1496,8 @@ static const char *const standard_libexe
static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX;
static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
+static const char *const user_tooldir_prefix = USER_TOOLDIR_PREFIX;
+
/* For native compilers, these are well-known paths containing
components that may be provided by the system. For cross
compilers, these paths are not used. */
@@ -4304,6 +4306,16 @@ process_command (unsigned int decoded_op
PREFIX_PRIORITY_LAST, 0, 0);
}
+ add_prefix (&exec_prefixes,
+ concat (user_tooldir_prefix, dir_separator_str, NULL),
+ 0, PREFIX_PRIORITY_LAST, 0, 0);
+ add_prefix (&startfile_prefixes,
+ concat (user_tooldir_prefix, dir_separator_str, NULL),
+ 0, PREFIX_PRIORITY_LAST, 0, 0);
+ add_prefix (&include_prefixes,
+ concat (user_tooldir_prefix, dir_separator_str, NULL),
+ 0, PREFIX_PRIORITY_LAST, 0, 0);
+
/* COMPILER_PATH and LIBRARY_PATH have values
that are lists of directory names with colons. */
diff -Naurp src.orig/gcc/Makefile.in src/gcc/Makefile.in
--- src.orig/gcc/Makefile.in 2018-03-09 10:24:44.000000000 -0500
+++ src/gcc/Makefile.in 2019-05-02 19:05:56.069075629 -0400
@@ -666,6 +666,7 @@ gcc_tooldir = @gcc_tooldir@
build_tooldir = $(exec_prefix)/$(target_noncanonical)
# Directory in which the compiler finds target-independent g++ includes.
gcc_gxx_include_dir = @gcc_gxx_include_dir@
+gcc_gxx_tool_include_dir = $(gcc_gxx_include_dir)/$(target_noncanonical)
gcc_gxx_include_dir_add_sysroot = @gcc_gxx_include_dir_add_sysroot@
# Directory to search for site-specific includes.
local_includedir = $(local_prefix)/include
@@ -2186,6 +2187,7 @@ DRIVER_DEFINES = \
-DDEFAULT_TARGET_MACHINE=\"$(target_noncanonical)\" \
-DSTANDARD_BINDIR_PREFIX=\"$(bindir)/\" \
-DTOOLDIR_BASE_PREFIX=\"$(libsubdir_to_prefix)$(prefix_to_exec_prefix)\" \
+ -DUSER_TOOLDIR_PREFIX=\"$(user_tooldir_prefix)\" \
-DACCEL_DIR_SUFFIX=\"$(accel_dir_suffix)\" \
@TARGET_SYSTEM_ROOT_DEFINE@ \
$(VALGRIND_DRIVER_DEFINES) \
@@ -2873,7 +2875,7 @@ PREPROCESSOR_DEFINES = \
-DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
-DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
- -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
+ -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_tool_include_dir)\" \
-DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
-DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
-DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
diff -Naurp src.orig/Makefile.def src/Makefile.def
--- src.orig/Makefile.def 2017-11-28 05:35:37.000000000 -0500
+++ src/Makefile.def 2019-05-02 19:23:36.588174507 -0400
@@ -229,6 +229,8 @@ flags_to_pass = { flag= sysconfdir ; };
flags_to_pass = { flag= tooldir ; };
flags_to_pass = { flag= build_tooldir ; };
flags_to_pass = { flag= target_alias ; };
+flags_to_pass = { flag= user_tooldir_prefix ; };
+flags_to_pass = { flag= gcc_gxx_tool_include_dir ; };
// Build tools
flags_to_pass = { flag= AWK ; };
diff -Naurp src.orig/Makefile.in src/Makefile.in
--- src.orig/Makefile.in 2017-11-28 05:35:37.000000000 -0500
+++ src/Makefile.in 2019-05-02 19:24:29.804137725 -0400
@@ -737,6 +737,8 @@ BASE_FLAGS_TO_PASS = \
"tooldir=$(tooldir)" \
"build_tooldir=$(build_tooldir)" \
"target_alias=$(target_alias)" \
+ "user_tooldir_prefix=$(user_tooldir_prefix)" \
+ "gcc_gxx_tool_include_dir=$(gcc_gxx_tool_include_dir)" \
"AWK=$(AWK)" \
"BISON=$(BISON)" \
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
|