From d730f40440e213bc08cce4587439960c80ad9aa5 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 8 Oct 2019 09:33:45 +0200 Subject: Redo bin pattern as PATH-like search paths rather than fallback directory Also, unlike the fallback directory, the search paths are searched first rather than last. --- libbuild2/cc/guess.cxx | 11 +++++------ libbuild2/cc/guess.hxx | 6 +++--- 2 files changed, 8 insertions(+), 9 deletions(-) (limited to 'libbuild2/cc') diff --git a/libbuild2/cc/guess.cxx b/libbuild2/cc/guess.cxx index 1952796..e218539 100644 --- a/libbuild2/cc/guess.cxx +++ b/libbuild2/cc/guess.cxx @@ -2059,7 +2059,7 @@ namespace build2 // still want to try the target in case we could not pre-guess (think // x86_64-w64-mingw32-c++). // - // BTW, for GCC we also get gcc-{ar,ranlib} (but not -ld) which add + // BTW, for GCC we also get gcc-{ar,ranlib} (but not gcc-ld) which add // support for the LTO plugin though it seems more recent GNU binutils // (2.25) are able to load the plugin when needed automatically. So it // doesn't seem we should bother trying to support this on our end (one @@ -2068,9 +2068,8 @@ namespace build2 // It's also normal for native (i.e., non-cross-compiler) builds of GCC // and Clang to not have binutils installed in the same directory and // instead relying on the system ones. In this case, if the compiler is - // specified with the absolute path, the pattern will be the fallback - // search directory (though it feels like it should be checked first - // rather than last). + // specified with the absolute path, the pattern will be the search + // path. // if (r.bin_pattern.empty ()) { @@ -2103,7 +2102,7 @@ namespace build2 } // If we could not derive the pattern, then see if we can come up with a - // fallback search directory. + // search path. // if (r.bin_pattern.empty ()) { @@ -2152,7 +2151,7 @@ namespace build2 } } - return path (apply_pattern (s, &pat)); + return path (apply_pattern (s, pat)); } } } diff --git a/libbuild2/cc/guess.hxx b/libbuild2/cc/guess.hxx index a8784fc..bf6a5e6 100644 --- a/libbuild2/cc/guess.hxx +++ b/libbuild2/cc/guess.hxx @@ -158,9 +158,9 @@ namespace build2 // // The bin_pattern is the binutils program pattern that could sometimes be // derived for some toolchains. For example, i686-w64-mingw32-*. If the - // pattern could not be derived, then it could contain a fallback search - // directory, in which case it will end with a directory separator but - // will not contain '*'. + // pattern could not be derived, then it could alternatively contain + // search paths (similar to the PATH environment variable), in which case + // it will end with a directory separator but will not contain '*'. // struct compiler_info { -- cgit v1.1