fc

Fortran support

waflib.Tools.fc.fc_hook(self, node)[source]

Binds the Fortran file extensions create waflib.Tools.fc.fc instances

waflib.Tools.fc.modfile(conf, name)[source]

Configuration Method bound to waflib.Configure.ConfigurationContext

Turns a module name into the right module file name. Defaults to all lower case.

waflib.Tools.fc.get_fortran_tasks(tsk)[source]

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
class waflib.Tools.fc.fc(*k, **kw)[source]

Bases: waflib.Task.Task

Fortran tasks can only run when all fortran tasks in a current task 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

scan()[source]

Fortran dependency scanner

runnable_status()[source]

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

class waflib.Tools.fc.fcprogram(*k, **kw)[source]

Bases: waflib.Tools.ccroot.link_task

Links Fortran programs

class waflib.Tools.fc.fcshlib(*k, **kw)[source]

Bases: waflib.Tools.fc.fcprogram

Links Fortran libraries

class waflib.Tools.fc.fcstlib(*k, **kw)[source]

Bases: waflib.Tools.ccroot.stlink_task

Links Fortran static libraries (uses ar by default)

class waflib.Tools.fc.fcprogram_test(*k, **kw)[source]

Bases: waflib.Tools.fc.fcprogram

Custom link task to obtain compiler outputs for Fortran configuration tests

runnable_status()[source]

This task is always executed

exec_command(cmd, **kw)[source]

Stores the compiler std our/err onto the build context, to bld.out + bld.err

waflib.Tools.fc.conf(f)

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
waflib.Tools.fc.extension(*k)

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')

Previous topic

ifort

Next topic

fc_config

This Page