diff --git a/src/tools/package.jam b/src/tools/package.jam index ff9dd0eb0..e44f851bf 100644 --- a/src/tools/package.jam +++ b/src/tools/package.jam @@ -39,14 +39,19 @@ import property ; rule install ( name : requirements * : binaries * : libraries * : headers * ) { - local install-source-root = [ property.select - : $(requirements) ] ; # If is not specified, all headers are installed # to prefix/include, no matter what their relative path is. Sometimes # that's what needed. - + local install-source-root + = [ property.select : $(requirements) ] ; requirements = [ property.change $(requirements) : ] ; + # + local install-header-subdir + = [ property.select : $(requirements) ] ; + install-header-subdir = /$(install-header-subdir:G=) ; + install-header-subdir ?= "" ; + requirements = [ property.change $(requirements) : ] ; # First, figure out all locations. local prefix = [ option.get prefix : "" ] ; @@ -77,7 +82,8 @@ rule install ( name : requirements * : binaries * : libraries * : headers * ) on LIB ; stage.install $(name)-headers : $(headers) : $(requirements) - $(include-locate) $(install-source-root) ; + $(include-locate)$(install-header-subdir) + $(install-source-root) ; alias $(name) : $(name)-bin $(name)-lib $(name)-headers ; local c = [ project.current ] ;