diff --git a/src/tools/boostbook.jam b/src/tools/boostbook.jam index 90abf410c..47f8a326c 100644 --- a/src/tools/boostbook.jam +++ b/src/tools/boostbook.jam @@ -330,7 +330,8 @@ rule format-catalog-path ( path ) { if [ os.name ] = CYGWIN { - result = [ path.make $(path:W) ] ; + local native-path = [ path.native $(path) ] ; + result = [ path.make $(native-path:W) ] ; } } return [ regex.replace $(result) " " "%20" ] ; diff --git a/src/tools/xsltproc.jam b/src/tools/xsltproc.jam index 7521bf0d3..acd2bac12 100644 --- a/src/tools/xsltproc.jam +++ b/src/tools/xsltproc.jam @@ -55,7 +55,7 @@ rule .is-cygwin ( xsltproc ) [ path.join [ path.parent $(file) ] xsltproc ] ] ; if [ os.name ] = CYGWIN { - cygdir = $(dir:W) ; + dir = $(dir:W) ; } local command = "\"$(xsltproc)\" \"$(dir)\\test.xsl\" \"$(dir)\\test.xml\" 2>&1" ; @@ -120,6 +120,11 @@ local rule .xsltproc ( target : source stylesheet : properties * : dirname ? : a CATALOG = [ common.variable-setting-command XML_CATALOG_FILES : $(catalog:T) ] ; } + if [ os.on-windows ] && ! [ is-cygwin ] + { + action = $(action).windows ; + } + $(action) $(target) : $(source) ; } @@ -135,6 +140,11 @@ rule xslt-dir ( target : source stylesheet : properties * : dirname ) return [ .xsltproc $(target) : $(source) $(stylesheet) : $(properties) : $(dirname) : xslt-xsltproc-dir ] ; } +actions xslt-xsltproc.windows +{ + $(CATALOG) "$(NAME:E=xsltproc)" $(FLAGS) --xinclude -o "$(<)" "$(STYLESHEET:W)" "$(>:W)" +} + actions xslt-xsltproc bind STYLESHEET { @@ -142,6 +152,12 @@ actions xslt-xsltproc bind STYLESHEET } +actions xslt-xsltproc-dir.windows bind STYLESHEET +{ + $(CATALOG) "$(NAME:E=xsltproc)" $(FLAGS) --xinclude -o "$(<:D)/" "$(STYLESHEET:W)" "$(>:W)" +} + + actions xslt-xsltproc-dir bind STYLESHEET { $(CATALOG) "$(NAME:E=xsltproc)" $(FLAGS) --xinclude -o "$(<:D)/" "$(STYLESHEET:T)" "$(>:T)"