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 ;