X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Fboost%2Ftools%2Fbuild%2Fsrc%2Ftools%2Fcommon.jam;h=26a8270e991d09bc4c3a5d919ca866dabfd0667c;hb=92f5a8d42d07f9929ae4fa7e01342fe8d96808a8;hp=e8d0e911c2be97fe65086eb5de0344be516bf90b;hpb=a0324939f9d0e1905d5df8f57442f09dc70af83d;p=ceph.git diff --git a/ceph/src/boost/tools/build/src/tools/common.jam b/ceph/src/boost/tools/build/src/tools/common.jam index e8d0e911c..26a8270e9 100644 --- a/ceph/src/boost/tools/build/src/tools/common.jam +++ b/ceph/src/boost/tools/build/src/tools/common.jam @@ -19,6 +19,7 @@ import path ; import sequence ; import toolset ; import virtual-target ; +import numbers ; if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ] { @@ -409,7 +410,7 @@ local rule check-tool-aux ( command ) # Checks that a tool can be invoked by 'command'. If command is not an absolute -# path, checks if it can be found in 'path'. If comand is an absolute path, +# path, checks if it can be found in 'path'. If command is an absolute path, # check that it exists. Returns 'command' if ok or empty string otherwise. # local rule check-tool ( xcommand + ) @@ -428,6 +429,7 @@ local rule check-tool ( xcommand + ) # - OPTIONS for compile to the value of in $(options) # - OPTIONS for compile.c to the value of in $(options) # - OPTIONS for compile.c++ to the value of in $(options) +# - OPTIONS for compile.asm to the value of in $(options) # - OPTIONS for compile.fortran to the value of in $(options) # - OPTIONS for link to the value of in $(options) # @@ -453,6 +455,9 @@ rule handle-options ( toolset : condition * : command * : options * ) toolset.flags $(toolset).compile.c++ OPTIONS $(condition) : [ feature.get-values : $(options) ] : unchecked ; + toolset.flags $(toolset).compile.asm OPTIONS $(condition) : + [ feature.get-values : $(options) ] : unchecked ; + toolset.flags $(toolset).compile.fortran OPTIONS $(condition) : [ feature.get-values : $(options) ] : unchecked ; @@ -917,6 +922,7 @@ local rule toolset-tag ( name : type ? : property-set ) { case darwin : tag += clang-darwin ; case linux : tag += clang ; + case win : tag += clangw ; } } case como* : tag += como ; @@ -951,7 +957,7 @@ local rule toolset-tag ( name : type ? : property-set ) case tru64cxx* : tag += tru ; case vacpp* : tag += xlc ; } - local version = [ MATCH "([0123456789]+)[.]([0123456789]*)" + local version = [ MATCH "([0123456789]+)[.]?([0123456789]*)" : $(properties) ] ; # For historical reasons, vc6.0 and vc7.0 use different naming. if $(tag) = vc @@ -966,6 +972,19 @@ local rule toolset-tag ( name : type ? : property-set ) version = 7 ; } } + + # From GCC 5, versioning changes and minor becomes patch + if $(tag) = gcc && $(version[1]) && [ numbers.less 4 $(version[1]) ] + { + version = $(version[1]) ; + } + + # Ditto, from Clang 4 + if ( $(tag) = clang || $(tag) = clangw ) && $(version[1]) && [ numbers.less 3 $(version[1]) ] + { + version = $(version[1]) ; + } + # On intel, version is not added, because it does not matter and it is the # version of vc used as backend that matters. Ideally, we should encode the # backend version but that would break compatibility with V1.