fortran support
Bind the typical Fortran file extensions to the creation of a waflib.Tools.fc.fc instance
Configuration Method bound to waflib.Configure.ConfigurationContext
Turn a module name into the right module file name. Defaults to all lower case.
Obtain all other fortran tasks from the same build group. Those tasks must not have the attribute ‘nomod’ or ‘mod_fortran_done’
Bases: waflib.Task.Task
The fortran tasks can only run when all fortran tasks in the current group are ready to be executed This may cause a deadlock if another fortran task is waiting for something that cannot happen (circular dependency) in this case, set the ‘nomod=True’ on those tasks instances to break the loop
Bases: waflib.Tools.ccroot.link_task
Link fortran programs
Bases: waflib.Tools.fc.fcprogram
Link fortran libraries
Bases: waflib.Tools.fc.fcprogram
Custom link task to obtain the compiler outputs for fortran configuration tests
Bases: waflib.Tools.ccroot.stlink_task
Link fortran static libraries (uses ar by default)
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 |
---|
Decorator: register a task generator method that will be executed when the object attribute ‘feature’ contains the corresponding key(s):
from waflib.Task import feature
@feature('myfeature')
def myfunction(self):
print('that is my feature!')
def build(bld):
bld(features='myfeature')
Parameters: | k (list of string) – feature names |
---|
Decorator: register a task generator method which will be executed before the functions of given name(s):
from waflib.TaskGen import feature, before
@feature('myfeature')
@before_method('fun2')
def fun1(self):
print('feature 1!')
@feature('myfeature')
def fun2(self):
print('feature 2!')
def build(bld):
bld(features='myfeature')
Parameters: | k (list of string) – method names |
---|
Decorator: register a task generator method which will be executed after the functions of given name(s):
from waflib.TaskGen import feature, after
@feature('myfeature')
@after_method('fun2')
def fun1(self):
print('feature 1!')
@feature('myfeature')
def fun2(self):
print('feature 2!')
def build(bld):
bld(features='myfeature')
Parameters: | k (list of string) – method names |
---|
Decorator: register 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')
Features defined in this module: