aboutsummaryrefslogtreecommitdiff
path: root/build2/target.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/target.hxx')
-rw-r--r--build2/target.hxx20
1 files changed, 12 insertions, 8 deletions
diff --git a/build2/target.hxx b/build2/target.hxx
index e167211..4c0efbe 100644
--- a/build2/target.hxx
+++ b/build2/target.hxx
@@ -1539,14 +1539,18 @@ namespace build2
// any time but any subsequent updates must set the same path. Or, in
// other words, once the path is set, it never changes.
//
- // A set empty path may signify special unknown/undetermined/unreal
- // location (for example, a binless library or an installed import library
- // -- we know the DLL is there, just not exactly where). In this case you
- // would also normally set its mtime. We used to return a pointer to
- // properly distinguish between not set and empty but that proved too
- // tedious. Note that this means there could be a race between path and
- // mtime (unless you lock the target in some other way; see file_rule) so
- // for this case it makes sense to set the timestamp first.
+ // An empty path may signify special unknown/undetermined/unreal location
+ // (for example, a binless library or an installed import library -- we
+ // know the DLL is there, just not exactly where). In this case you would
+ // also normally set its mtime.
+ //
+ // We used to return a pointer to properly distinguish between not set and
+ // empty but that proved too tedious to work with. So now we return empty
+ // path both when not set (which will be empty_path so you can distinguish
+ // the two case if you really want to) and when set to empty. Note that
+ // this means there could be a race between path and mtime (unless you
+ // lock the target in some other way; see file_rule) so in this case it
+ // makes sense to set the timestamp first.
//
const path_type&
path () const;