Fortran support
Binds the Fortran file extensions create waflib.Tools.fc.fc instances
Configuration Method bound to waflib.Configure.ConfigurationContext
Turns a module name into the right module file name. Defaults to all lower case.
Obtains all fortran tasks from the same build group. Those tasks must not have the attribute ‘nomod’ or ‘mod_fortran_done’
Returns: | a list of waflib.Tools.fc.fc instances |
---|
Bases: waflib.Task.Task
Fortran tasks can only run when all fortran tasks in the current group are ready to be executed This may cause a deadlock if some fortran task is waiting for something that cannot happen (circular dependency) Should this ever happen, set the ‘nomod=True’ on those tasks instances to break the loop
Sets the mod file outputs and the dependencies on the mod files over all Fortran tasks executed by the main thread so there are no concurrency issues
Bases: waflib.Tools.ccroot.link_task
Links Fortran programs
Bases: waflib.Tools.fc.fcprogram
Links Fortran libraries
Bases: waflib.Tools.ccroot.stlink_task
Links Fortran static libraries (uses ar by default)
Bases: waflib.Tools.fc.fcprogram
Custom link task to obtain compiler outputs for Fortran configuration tests
Stores the compiler std our/err onto the build context, to bld.out + bld.err
Decorator that registers a task generator method which will be invoked during the processing of source files for the extension given:
from waflib import Task
class mytask(Task):
run_str = 'cp ${SRC} ${TGT}'
@extension('.moo')
def create_maa_file(self, node):
self.create_task('mytask', node, node.change_ext('.maa'))
def build(bld):
bld(source='foo.moo')
Decorator: attach new configuration functions to waflib.Build.BuildContext and waflib.Configure.ConfigurationContext. The methods bound will accept a parameter named ‘mandatory’ to disable the configuration errors:
def configure(conf):
conf.find_program('abc', mandatory=False)
Parameters: | f (function) – method to bind |
---|