Changeset ff9d555 in rtems-docs


Ignore:
Timestamp:
02/25/17 04:05:09 (7 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
5, master
Children:
9260c98
Parents:
c1dddac
Message:

Add a check for Sphinx extensions.

Minor clean up of the configure messages.

Do not re-check sphinx in the nested configures.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • common/waf.py

    rc1dddac rff9d555  
    135135
    136136
     137def check_sphinx_extension(ctx, extension):
     138    def run_sphinx(bld):
     139        rst_node = bld.srcnode.make_node('testbuild/contents.rst')
     140        rst_node.parent.mkdir()
     141        rst_node.write('.. COMMENT test sphinx\n')
     142        bld(rule = bld.kw['rule'], source = rst_node)
     143
     144    ctx.start_msg("Checking for '%s'" % (extension))
     145    try:
     146        ctx.run_build(fragment = 'xx',
     147                      rule = "${BIN_SPHINX_BUILD} -b html -D extensions=%s -C . out" % (extension),
     148                      build_fun = run_sphinx,
     149                      env = ctx.env)
     150    except ctx.errors.ConfigurationError:
     151        ctx.end_msg('not found (see README.txt)', 'RED')
     152        ctx.fatal('The configuration failed')
     153    ctx.end_msg('found')
     154
     155
    137156def cmd_configure(ctx):
    138     ctx.find_program("sphinx-build", var="BIN_SPHINX_BUILD", mandatory = True)
    139     ctx.find_program("aspell", var = "BIN_ASPELL", mandatory = False)
    140 
    141     ctx.start_msg("Checking if Sphinx is at least %s.%s" % sphinx_min_version)
    142     ver = check_sphinx_version(ctx, sphinx_min_version)
    143     ctx.end_msg("yes (%s)" % ".".join(map(str, ver)))
    144 
    145     ctx.start_msg("Sphinx Verbose: ")
    146     if 'SPHINX_VERBOSE' not in ctx.env:
    147         ctx.env.append_value('SPHINX_VERBOSE', ctx.options.sphinx_verbose)
    148     level = sphinx_verbose(ctx)
    149     if level == '-Q':
    150         level = 'quiet'
    151     ctx.end_msg(level)
     157    check_sphinx = not ctx.env.BIN_SPHINX_BUILD
     158    if check_sphinx:
     159        ctx.find_program("sphinx-build", var="BIN_SPHINX_BUILD", mandatory = True)
     160        ctx.find_program("aspell", var = "BIN_ASPELL", mandatory = False)
     161
     162        ctx.start_msg("Checking if Sphinx is at least %s.%s" % sphinx_min_version)
     163        ver = check_sphinx_version(ctx, sphinx_min_version)
     164        ctx.end_msg("yes (%s)" % ".".join(map(str, ver)))
     165
     166        ctx.start_msg("Checking Sphinx Verbose ")
     167        if 'SPHINX_VERBOSE' not in ctx.env:
     168            ctx.env.append_value('SPHINX_VERBOSE', ctx.options.sphinx_verbose)
     169            level = sphinx_verbose(ctx)
     170            if level == '-Q':
     171                level = 'quiet'
     172            ctx.end_msg(level)
     173        #
     174        # Check extensions.
     175        #
     176        check_sphinx_extension(ctx, 'sphinx.ext.autodoc')
     177        check_sphinx_extension(ctx, 'sphinx.ext.coverage')
     178        check_sphinx_extension(ctx, 'sphinx.ext.doctest')
     179        check_sphinx_extension(ctx, 'sphinx.ext.graphviz')
     180        check_sphinx_extension(ctx, 'sphinx.ext.intersphinx')
     181        check_sphinx_extension(ctx, 'sphinx.ext.mathjax')
     182        check_sphinx_extension(ctx, 'sphinxcontrib.bibtex')
    152183
    153184    #
     
    165196                ctx.env.append_value('PDFLATEXFLAGS', '-shell-escape')
    166197            latex.configure_tests(ctx)
    167         else:
    168             ctx.msg('Check for Tex packages', 'skipping, already checked')
    169198        ctx.env.BUILD_PDF = 'yes'
    170199
Note: See TracChangeset for help on using the changeset viewer.