summaryrefslogtreecommitdiff
path: root/tools/build/src/build/property_set.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build/src/build/property_set.py')
-rw-r--r--tools/build/src/build/property_set.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/build/src/build/property_set.py b/tools/build/src/build/property_set.py
index 6b3643045f..37fe466313 100644
--- a/tools/build/src/build/property_set.py
+++ b/tools/build/src/build/property_set.py
@@ -12,9 +12,10 @@ from b2.util.utility import *
import property, feature
import b2.build.feature
from b2.exceptions import *
+from b2.build.property import get_abbreviated_paths
from b2.util.sequence import unique
from b2.util.set import difference
-from b2.util import cached
+from b2.util import cached, abbreviate_dashed
from b2.manager import get_manager
@@ -41,7 +42,7 @@ def create (raw_properties = []):
else:
x = [property.create_from_string(ps) for ps in raw_properties]
x.sort()
- x = unique (x)
+ x = unique(x, stable=True)
# FIXME: can we do better, e.g. by directly computing
# hash value of the list?
@@ -350,7 +351,10 @@ class PropertySet:
if p.feature().implicit():
components.append(p.value())
else:
- components.append(p.feature().name() + "-" + p.value())
+ value = p.feature().name() + "-" + p.value()
+ if property.get_abbreviated_paths():
+ value = abbreviate_dashed(value)
+ components.append(value)
self.as_path_ = '/'.join (components)