Index: doxygen.jam =================================================================== --- doxygen.jam (revision 38602) +++ 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. @@ -212,17 +213,40 @@ text += "OUTPUT_DIRECTORY = $(output-dir)" ; } - local headers = "" ; - for local source in $(sources:G=) + # Translate into command line flags. + for local param in [ feature.get-values : $(properties) ] { - headers = "$(headers) $(source)" ; + local namevalue = [ regex.match ([^=]*)=(.*) : $(param) ] ; + text += "$(namevalue[1]) = $(namevalue[2])" ; } # 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) " ; + + local first = true ; + + local current = "" ; + + for local source in $(sources:G=) + { + if $(first) + { + first = ; + local quoted_source = [ quote.quote_string $(source) ] ; + current = "INPUT = $(quoted_source)" ; + } + else + { + text += "$(current) \\" ; + local quoted_source = [ quote.quote_string $(source) ] ; + current = " $(quoted_source)" ; + } + } + + text += $(current) ; + print.output $(target) plain ; print.text $(text) : true ; } @@ -278,8 +302,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) ; }