import common ;
BOOST_VERSION_TAG = 1_34_1 ;
layout = versioned ;
rule tag ( name : type ? : property-set )
{
if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB SEARCHED_LIB
{
if $(layout) = versioned
{
local result = [ common.format-name
-$(BOOST_VERSION_TAG)
-$(BUILD_ID)
: $(name) : $(type) : $(property-set) ] ;
# Optionally add version suffix.
# On NT, library with version suffix won't be recognized
# by linkers. On CYGWIN, we get strage duplicate symbol
# errors when library is generated with version suffix.
# On OSX, version suffix is not needed -- the linker expets
# libFoo.1.2.3.dylib format.
# AIX linkers don't accept version suffixes either.
if $(type) = SHARED_LIB &&
! ( [ $(property-set).get ] in windows cygwin darwin aix )
{
result = $(result).$(BOOST_VERSION) ;
}
return $(result) ;
}
else
{
return [ common.format-name
-$(BUILD_ID)
: $(name) : $(type) : $(property-set) ] ;
}
}
}
exe a : a.cpp program_options ;
lib program_options : : program-options @tag ;