diff options
Diffstat (limited to 'libbuild2')
-rw-r--r-- | libbuild2/bash/target.cxx | 4 | ||||
-rw-r--r-- | libbuild2/context.cxx | 2 | ||||
-rw-r--r-- | libbuild2/context.hxx | 3 | ||||
-rw-r--r-- | libbuild2/scope.cxx | 4 | ||||
-rw-r--r-- | libbuild2/target.hxx | 8 | ||||
-rw-r--r-- | libbuild2/target.txx | 11 |
6 files changed, 13 insertions, 19 deletions
diff --git a/libbuild2/bash/target.cxx b/libbuild2/bash/target.cxx index 7313316..386842b 100644 --- a/libbuild2/bash/target.cxx +++ b/libbuild2/bash/target.cxx @@ -20,8 +20,8 @@ namespace build2 &file::static_type, &target_factory<bash>, nullptr, /* fixed_extension */ - &target_extension_var<var_extension, bash_ext_def>, - &target_pattern_var<var_extension, bash_ext_def>, + &target_extension_var<bash_ext_def>, + &target_pattern_var<bash_ext_def>, nullptr, &file_search, false diff --git a/libbuild2/context.cxx b/libbuild2/context.cxx index 1e744c4..b1b45eb 100644 --- a/libbuild2/context.cxx +++ b/libbuild2/context.cxx @@ -861,6 +861,4 @@ namespace build2 vector_view<opspec>&, bool, const location&); - - const char var_extension[10] = "extension"; } diff --git a/libbuild2/context.hxx b/libbuild2/context.hxx index a947ca3..59c70e3 100644 --- a/libbuild2/context.hxx +++ b/libbuild2/context.hxx @@ -525,9 +525,6 @@ namespace build2 vector_view<opspec>&, bool lifted, const location&); - - //@@ CTX TMP - LIBBUILD2_SYMEXPORT extern const char var_extension[10]; // "extension" } #include <libbuild2/context.ixx> diff --git a/libbuild2/scope.cxx b/libbuild2/scope.cxx index ab81333..298c1b0 100644 --- a/libbuild2/scope.cxx +++ b/libbuild2/scope.cxx @@ -801,12 +801,12 @@ namespace build2 // dt->default_extension = ext && dt->fixed_extension == nullptr - ? &target_extension_var<var_extension, nullptr> + ? &target_extension_var<nullptr> : nullptr; dt->pattern = dt->fixed_extension != nullptr ? nullptr /*&target_pattern_fix<???>*/ : - dt->default_extension != nullptr ? &target_pattern_var<var_extension, nullptr> : + dt->default_extension != nullptr ? &target_pattern_var<nullptr> : nullptr; // There is actually a difference between "fixed fixed" (like man1{}) and diff --git a/libbuild2/target.hxx b/libbuild2/target.hxx index f1c9d5f..b0d46e9 100644 --- a/libbuild2/target.hxx +++ b/libbuild2/target.hxx @@ -1806,14 +1806,14 @@ namespace build2 string&, optional<string>&, const location&, bool); - // Get the extension from the variable or use the default if none set. If - // the default is NULL, then return NULL. + // Get the extension from the `extension` variable or use the default if + // none set. If the default is NULL, then return NULL. // - template <const char* var, const char* def> + template <const char* def> optional<string> target_extension_var (const target_key&, const scope&, const char*, bool); - template <const char* var, const char* def> + template <const char* def> bool target_pattern_var (const target_type&, const scope&, string&, optional<string>&, const location&, diff --git a/libbuild2/target.txx b/libbuild2/target.txx index 8b17383..17c38c8 100644 --- a/libbuild2/target.txx +++ b/libbuild2/target.txx @@ -90,12 +90,11 @@ namespace build2 target_extension_var_impl (const target_type& tt, const string& tn, const scope& s, - const char* var, const char* def) { // Include target type/pattern-specific variables. // - if (auto l = s.find (s.ctx.var_pool[var], tt, tn)) + if (auto l = s.find (*s.ctx.var_extension, tt, tn)) { // Help the user here and strip leading '.' from the extension. // @@ -106,17 +105,17 @@ namespace build2 return def != nullptr ? optional<string> (def) : nullopt; } - template <const char* var, const char* def> + template <const char* def> optional<string> target_extension_var (const target_key& tk, const scope& s, const char*, bool) { - return target_extension_var_impl (*tk.type, *tk.name, s, var, def); + return target_extension_var_impl (*tk.type, *tk.name, s, def); } - template <const char* var, const char* def> + template <const char* def> bool target_pattern_var (const target_type& tt, const scope& s, @@ -144,7 +143,7 @@ namespace build2 // Use empty name as a target since we only want target type/pattern- // specific variables that match any target ('*' but not '*.txt'). // - if ((e = target_extension_var_impl (tt, string (), s, var, def))) + if ((e = target_extension_var_impl (tt, string (), s, def))) return true; } } |