aboutsummaryrefslogtreecommitdiff
path: root/build2/bin
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-04-11 07:57:19 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-04-11 07:57:19 +0200
commit0342dc2fcdd78ef28a4e59d84193a3807068d726 (patch)
treee750c3062d6ff54f0d409fe1a25984b7e78592c8 /build2/bin
parent5f7c3f923de106f9d204a8f3500274731ae84fd9 (diff)
New configuration logic, iteration 1
Diffstat (limited to 'build2/bin')
-rw-r--r--build2/bin/module2
-rw-r--r--build2/bin/module.cxx25
2 files changed, 13 insertions, 14 deletions
diff --git a/build2/bin/module b/build2/bin/module
index 765eb2c..44dfbc7 100644
--- a/build2/bin/module
+++ b/build2/bin/module
@@ -16,7 +16,7 @@ namespace build2
{
extern "C" bool
bin_init (
- scope&, scope&, const location&, unique_ptr<module>&, bool, bool);
+ scope&, scope&, const location&, unique_ptr<module_base>&, bool, bool);
}
}
diff --git a/build2/bin/module.cxx b/build2/bin/module.cxx
index 5b1d8ca..866bab2 100644
--- a/build2/bin/module.cxx
+++ b/build2/bin/module.cxx
@@ -34,7 +34,7 @@ namespace build2
bin_init (scope& r,
scope& b,
const location&,
- unique_ptr<module>&,
+ unique_ptr<module_base>&,
bool first,
bool)
{
@@ -47,17 +47,16 @@ namespace build2
{
auto& v (var_pool);
- // @@ OVR
+ // Note: some overridable, some not.
//
+ v.insert<path> ("config.bin.ar", true);
+ v.insert<path> ("config.bin.ranlib", true);
- v.insert<path> ("config.bin.ar");
- v.insert<path> ("config.bin.ranlib");
-
- v.insert<string> ("config.bin.lib");
- v.insert<strings> ("config.bin.exe.lib");
- v.insert<strings> ("config.bin.liba.lib");
- v.insert<strings> ("config.bin.libso.lib");
- v.insert<dir_paths> ("config.bin.rpath");
+ v.insert<string> ("config.bin.lib", true);
+ v.insert<strings> ("config.bin.exe.lib", true);
+ v.insert<strings> ("config.bin.liba.lib", true);
+ v.insert<strings> ("config.bin.libso.lib", true);
+ v.insert<dir_paths> ("config.bin.rpath", true);
v.insert<string> ("bin.lib");
v.insert<strings> ("bin.exe.lib");
@@ -65,7 +64,7 @@ namespace build2
v.insert<strings> ("bin.libso.lib");
v.insert<dir_paths> ("bin.rpath");
- v.insert<string> ("bin.libprefix");
+ v.insert<string> ("bin.libprefix", true);
}
// Register target types.
@@ -158,8 +157,8 @@ namespace build2
// This one is optional and we merge it into bin.rpath, if any.
// See the cxx module for details on merging.
//
- if (const value& v = config::optional (r, "config.bin.rpath"))
- b.assign ("bin.rpath") += cast<dir_paths> (v);
+ b.assign ("bin.rpath") += cast_null<dir_paths> (
+ config::optional (r, "config.bin.rpath"));
// config.bin.ar
// config.bin.ranlib