]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
feat: Add support for undocumented GCC/Clang --include option
authorJoel Rosdahl <joel@rosdahl.net>
Fri, 22 Dec 2023 12:41:17 +0000 (13:41 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Fri, 22 Dec 2023 13:27:57 +0000 (14:27 +0100)
Note: Clang accepts a concatenated argument (--includefoo.h) but GCC
does not.

Closes #1324.

src/argprocessing.cpp
src/compopt.cpp

index 82b136465ef39f6c436f8766043a92e64bc57e9a..93046e13a9b00c8b5441ed421b1c39338f8fbcd0 100644 (file)
@@ -440,7 +440,7 @@ process_option_arg(const Context& ctx,
   if (arg == "-Xclang" && i + 1 < args.size()
       && (args[i + 1] == "-emit-pch" || args[i + 1] == "-emit-pth"
           || args[i + 1] == "-include-pch" || args[i + 1] == "-include-pth"
-          || args[i + 1] == "-include"
+          || args[i + 1] == "-include" || args[i + 1] == "--include"
           || args[i + 1] == "-fno-pch-timestamp")) {
     if (compopt_affects_compiler_output(args[i + 1])) {
       state.compiler_only_args.push_back(args[i]);
index 5943e3fab8c812106bc06301dd18e94dcd98c805..3b268f6d94fd5e9dc91853f379a7f58662b0b2c9 100644 (file)
@@ -56,8 +56,9 @@ const CompOpt compopts[] = {
   {"--compiler-options", AFFECTS_CPP | TAKES_ARG},     // nvcc
   {"--config", TAKES_ARG},                             // Clang
   {"--gcc-toolchain=", TAKES_CONCAT_ARG | TAKES_PATH}, // Clang
-  {"--libdevice-directory", AFFECTS_CPP | TAKES_ARG},  // nvcc
-  {"--output-directory", AFFECTS_CPP | TAKES_ARG},     // nvcc
+  {"--include", AFFECTS_CPP | TAKES_ARG | TAKES_CONCAT_ARG | TAKES_PATH},
+  {"--libdevice-directory", AFFECTS_CPP | TAKES_ARG}, // nvcc
+  {"--output-directory", AFFECTS_CPP | TAKES_ARG},    // nvcc
   {"--param", TAKES_ARG},
   {"--save-temps", TOO_HARD},
   {"--save-temps=cwd", TOO_HARD},