diff --git a/src/tools/common.jam b/src/tools/common.jam
index 901175ce2..8df9d53d6 100644
--- a/src/tools/common.jam
+++ b/src/tools/common.jam
@@ -751,37 +751,34 @@ actions hard-link
#
rule format-name ( format * : name : type ? : property-set )
{
- if [ type.is-derived $(type) LIB ]
+ local result = "" ;
+ for local f in $(format)
{
- local result = "" ;
- for local f in $(format)
+ switch $(f:G)
{
- switch $(f:G)
- {
- case :
+ case :
result += $(name:B) ;
-
- case :
+
+ case :
result += [ join-tag $(f:G=) : [ toolset-tag $(name) : $(type) :
- $(property-set) ] ] ;
-
- case :
+ $(property-set) ] ] ;
+
+ case :
result += [ join-tag $(f:G=) : [ threading-tag $(name) : $(type)
- : $(property-set) ] ] ;
-
- case :
+ : $(property-set) ] ] ;
+
+ case :
result += [ join-tag $(f:G=) : [ runtime-tag $(name) : $(type) :
- $(property-set) ] ] ;
-
- case :
+ $(property-set) ] ] ;
+
+ case :
local key = [ MATCH : $(f:G) ] ;
local version = [ $(property-set).get <$(key)> ] ;
version ?= $(key) ;
- version = [ MATCH "^([^.]+)[.]([^.]+)[.]?([^.]*)" : $(version) ]
- ;
+ version = [ MATCH "^([^.]+)[.]([^.]+)[.]?([^.]*)" : $(version) ] ;
result += [ join-tag $(f:G=) : $(version[1])_$(version[2]) ] ;
- case :
+ case :
local key = [ MATCH : $(f:G) ] ;
local p0 = [ MATCH <($(key))> : [ $(property-set).raw ] ] ;
if $(p0)
@@ -793,14 +790,13 @@ rule format-name ( format * : name : type ? : property-set )
}
}
- case * :
+ case * :
result += $(f:G=) ;
- }
}
- result = [ virtual-target.add-prefix-and-suffix $(result:J=) : $(type) :
- $(property-set) ] ;
- return $(result) ;
}
+ result = [ virtual-target.add-prefix-and-suffix $(result:J=) : $(type) :
+ $(property-set) ] ;
+ return $(result) ;
}