hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
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
From fe42d6f7b739e8d42811bf46bcccfafa728847a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mathias=20De=20Mar=C3=A9?= <mathias.de_mare@nokia.com>
Date: Mon, 19 Sep 2016 10:38:13 +0200
Subject: [PATCH] Convert argument to '--sysroot' option to relative path
 
Previously, only the argument to '--sysroot=' was converted.
This changeset adds support for '--sysroot'.
 
Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com>
---
 ccache.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 
diff --git a/ccache.c b/ccache.c
index 8ffadcc..76139b9 100644
--- a/ccache.c
+++ b/ccache.c
@@ -2407,6 +2407,21 @@ cc_process_args(struct args *args, struct args **preprocessor_args,
             free(option);
             continue;
         }
+        // Alternate form of specifying sysroot without =
+        if (str_eq(argv[i], "--sysroot")) {
+            if (i == argc-1) {
+                cc_log("Missing argument to %s", argv[i]);
+                stats_update(STATS_ARGS);
+                result = false;
+                goto out;
+            }
+            args_add(stripped_args, argv[i]);
+            char *relpath = make_relative_path(x_strdup(argv[i+1]));
+            args_add(stripped_args, relpath);
+            i++;
+            free(relpath);
+            continue;
+        }
         if (str_startswith(argv[i], "-Wp,")) {
             if (str_eq(argv[i], "-Wp,-P")
                 || strstr(argv[i], ",-P,")
-- 
2.8.3