aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2')
-rw-r--r--libbuild2/bash/target.cxx4
-rw-r--r--libbuild2/context.cxx2
-rw-r--r--libbuild2/context.hxx3
-rw-r--r--libbuild2/scope.cxx4
-rw-r--r--libbuild2/target.hxx8
-rw-r--r--libbuild2/target.txx11
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;
}
}