aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2/cc')
-rw-r--r--libbuild2/cc/common.cxx16
-rw-r--r--libbuild2/cc/compile-rule.cxx6
-rw-r--r--libbuild2/cc/init.cxx2
-rw-r--r--libbuild2/cc/utility.hxx8
4 files changed, 10 insertions, 22 deletions
diff --git a/libbuild2/cc/common.cxx b/libbuild2/cc/common.cxx
index 99de66e..cf6d546 100644
--- a/libbuild2/cc/common.cxx
+++ b/libbuild2/cc/common.cxx
@@ -465,20 +465,8 @@ namespace build2
{
// This is import.
//
- name n (cn);
- auto rp (s.find_target_type (n, location ())); // Note: changes name.
- const target_type* tt (rp.first);
- optional<string>& ext (rp.second);
-
- if (tt == nullptr)
- fail << "unknown target type '" << n.type << "' in library " << n;
-
- // @@ OUT: for now we assume out is undetermined, just like in
- // search (name, scope).
- //
- dir_path out;
-
- prerequisite_key pk {n.proj, {tt, &n.dir, &out, &n.value, ext}, &s};
+ name n (cn), o; // Note: find_prerequisite_key() changes name.
+ prerequisite_key pk (s.find_prerequisite_key (n, o, location ()));
xt = search_library_existing (a, sysd, usrd, pk);
if (xt == nullptr)
diff --git a/libbuild2/cc/compile-rule.cxx b/libbuild2/cc/compile-rule.cxx
index a8916cf..8b082cc 100644
--- a/libbuild2/cc/compile-rule.cxx
+++ b/libbuild2/cc/compile-rule.cxx
@@ -696,8 +696,8 @@ namespace build2
continue;
// A dependency on a library is there so that we can get its
- // *.export.poptions, modules, etc. This is the library
- // meta-information protocol. See also append_lib_options().
+ // *.export.poptions, modules, etc. This is the library metadata
+ // protocol. See also append_lib_options().
//
if (pi == include_type::normal &&
(p.is_a<libx> () ||
@@ -4871,7 +4871,7 @@ namespace build2
//
// For (direct) library prerequisites, check their prerequisite bmi{}s
// (which should be searched and matched with module names discovered;
- // see the library meta-information protocol for details).
+ // see the library metadata protocol for details).
//
// For our own bmi{} prerequisites, checking if each (better) matches
// any of the imports.
diff --git a/libbuild2/cc/init.cxx b/libbuild2/cc/init.cxx
index 8d66376..2a0dbd2 100644
--- a/libbuild2/cc/init.cxx
+++ b/libbuild2/cc/init.cxx
@@ -399,7 +399,7 @@ namespace build2
// We only support root loading (which means there can only be one).
//
- if (&rs != &bs)
+ if (rs != bs)
fail (loc) << m << " module must be loaded in project root";
// We want to order the loading to match what user specified on the
diff --git a/libbuild2/cc/utility.hxx b/libbuild2/cc/utility.hxx
index fa9f165..017765b 100644
--- a/libbuild2/cc/utility.hxx
+++ b/libbuild2/cc/utility.hxx
@@ -41,10 +41,10 @@ namespace build2
//
// The reason we pass scope and not the target is because this function is
// called not only for exe/lib but also for obj as part of the library
- // meta-information protocol implementation. Normally the bin.*.lib values
- // will be project-wide. With this scheme they can be customized on the
- // per-directory basis but not per-target which means all exe/lib in the
- // same directory have to have the same link order.
+ // metadata protocol implementation. Normally the bin.*.lib values will be
+ // project-wide. With this scheme they can be customized on the per-
+ // directory basis but not per-target which means all exe/lib in the same
+ // directory have to have the same link order.
//
lorder
link_order (const scope& base, otype);