Index: doxygen.jam =================================================================== --- doxygen.jam (revision 46525) +++ doxygen.jam (working copy) @@ -37,6 +37,7 @@ import alias ; import common ; import modules ; +import quote ; # Use to specify extra configuration paramters. These get translated # into a doxyfile which configures the building of the docs. @@ -199,30 +200,47 @@ for local param in [ feature.get-values : $(properties) ] { local namevalue = [ regex.match ([^=]*)=(.*) : $(param) ] ; - text += "$(namevalue[1]) = $(namevalue[2])" ; + local value = [ quote.double-quote $(namevalue[2]) ] ; + text += "$(namevalue[1]) = $(value)" ; if $(namevalue[1]) = OUTPUT_DIRECTORY { - output-dir = "$(namevalue[2])" ; + output-dir = $(value) ; } } if ! $(output-dir) { - output-dir = [ on $(target) return $(LOCATE) ] ; + output-dir = [ quote.double-quote [ on $(target) return $(LOCATE) ] ] ; text += "OUTPUT_DIRECTORY = $(output-dir)" ; } - local headers = "" ; + # Doxygen generates LaTex by default. So disable it unconditionally, + # or at least until someone needs, and hence writes support for, LaTex + # output. + text += "GENERATE_LATEX = NO" ; + + local first = true ; + + local current = "" ; + for local source in $(sources:G=) { - headers = "$(headers) $(source)" ; + if $(first) + { + first = ; + local quoted_source = [ quote.double-quote $(source) ] ; + current = "INPUT = $(quoted_source)" ; + } + else + { + text += "$(current) \\" ; + local quoted_source = [ quote.double-quote $(source) ] ; + current = " $(quoted_source)" ; + } } - # Doxygen generates LaTex by default. So disable it unconditionally, - # or at least until someone needs, and hence writes support for, LaTex - # output. - text += "GENERATE_LATEX = NO" ; - text += "INPUT = $(headers) " ; + text += $(current) ; + print.output $(target) plain ; print.text $(text) : true ; } @@ -278,8 +296,10 @@ = [ path.join [ path.pwd ] $(source-path) $(source:B) ] ; local real-source = [ path.native [ path.join [ path.native $(collect-path) ] index.xml ] ] ; - xsltproc.xslt $(target) : $(real-source) $(collect-xsl-dir:S=.xsl) - : doxygen.xml.path=$(collect-path) + local real-collect-path + = [ regex.replace $(collect-path) " " "%%20" ] ; + xsltproc.xslt $(target) : "$(real-source)" "$(collect-xsl-dir:S=.xsl)" + : doxygen.xml.path=$(real-collect-path) ; }