From 0f9ce1c7022e5fa572886c9a9bda3a7e5c466314 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sun, 21 Aug 2016 13:26:28 +0200 Subject: Implement searching for b in bpkg's exec directory as last resort This way if we run /opt/build2/bin/bpkg it will be able to find b in /opt/build2/bin/ without PATH. --- bpkg/utility | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'bpkg/utility') diff --git a/bpkg/utility b/bpkg/utility index 85cf1ca..a09cac5 100644 --- a/bpkg/utility +++ b/bpkg/utility @@ -78,11 +78,22 @@ namespace bpkg // The process command line is printed for verbosity >= 2 (essential // command lines). // + // If fallback is specified, then this directory is searched for the + // executable as a last resort. + // void - run (const char* args[]); + run (const char* args[], const dir_path& fallback = dir_path ()); inline void - run (cstrings& args) {run (args.data ());} + run (cstrings& args, const dir_path& fallback = dir_path ()) + { + run (args.data (), fallback); + } + + // Directory extracted from argv[0] (i.e., this process' recall directory) + // or empty if there is none. Can be used as a search fallback. + // + extern dir_path exec_dir; // Run build2, mapping verbosity levels. If quiet is true, then run build2 // quiet if our verbosity level is 1. Common vars (cvars) are set on the -- cgit v1.1