Index: build/property.jam =================================================================== --- build/property.jam (revision 48386) +++ build/property.jam (working copy) @@ -609,8 +609,8 @@ local best = [ sequence.select-highest-ranked $(matches) : $(match-ranks) ] ; if $(best[2]) - { - errors.error "Ambiguous key" ; + { + errors.error "Ambiguous key for" $(properties) ; } local original = $(self.value.$(best)) ; if $(value) Index: tools/types/obj.jam =================================================================== --- tools/types/obj.jam (revision 48386) +++ tools/types/obj.jam (working copy) @@ -1,5 +1,9 @@ # Copyright David Abrahams 2004. Distributed under the Boost # Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -type OBJ : obj : : NT CYGWIN ; -type OBJ : o ; + +import type ; + +type.register OBJ : o obj ; +type.set-generated-target-suffix OBJ : windows : obj ; +type.set-generated-target-suffix OBJ : cygwin : obj ; Index: tools/types/exe.jam =================================================================== --- tools/types/exe.jam (revision 48386) +++ tools/types/exe.jam (working copy) @@ -1,5 +1,9 @@ # Copyright David Abrahams 2004. Distributed under the Boost # Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -type EXE : exe : : NT CYGWIN ; -type EXE ; + +import type ; + +type.register EXE ; +type.set-generated-target-suffix EXE : windows : "exe" ; +type.set-generated-target-suffix EXE : cygiwn : "exe" ; Index: tools/types/lib.jam =================================================================== --- tools/types/lib.jam (revision 48386) +++ tools/types/lib.jam (working copy) @@ -7,23 +7,25 @@ type.register LIB ; -if [ os.on-unix ] -{ - type.set-generated-target-prefix LIB : : "lib" ; -} +type.set-generated-target-prefix LIB : : "lib" ; +type.set-generated-target-prefix LIB : windows : "" ; +type.set-generated-target-prefix LIB : cygwin : "" ; -type STATIC_LIB : lib a : LIB : NT CYGWIN ; -type STATIC_LIB : a : LIB : MACOSX ; -type STATIC_LIB : a : LIB ; +# FIXME: should not register both extensions on both +# platforms. +type.register STATIC_LIB : a lib : LIB ; + +type.set-generated-target-suffix STATIC_LIB : windows : lib ; +type.set-generated-target-suffix STATIC_LIB : cygwin : lib ; type.set-generated-target-prefix STATIC_LIB : : lib ; type IMPORT_LIB : : STATIC_LIB ; type.set-generated-target-suffix IMPORT_LIB : : lib ; type.set-generated-target-prefix IMPORT_LIB : : "" ; -type SHARED_LIB : dll : LIB : NT CYGWIN ; -type SHARED_LIB : dylib : LIB : MACOSX ; -type SHARED_LIB : so : LIB ; +type.register SHARED_LIB : so dll dylib : LIB ; +type.set-generated-target-suffix SHARED_LIB : windows : dll ; +type.set-generated-target-suffix SHARED_LIB : darwin : dylib ; type SEARCHED_LIB : : LIB ; # This is needed so that when we create a target of SEARCHED_LIB