diff options
author | David Robillard <d@drobilla.net> | 2019-03-17 17:31:03 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2019-03-17 18:14:27 +0100 |
commit | 3be2dd998b16725d596f0ab8b376691ec12a9acc (patch) | |
tree | 59603e6135700e9b9f129409a55ad44a580d7427 /waflib/Tools/fc.py | |
parent | a13822206d4dfd2088468558b36befcf32adeb89 (diff) | |
parent | adeace4871fcf37ba7c8d7c2707e90b5ae2c9f3a (diff) | |
download | machina-master.tar.gz machina-master.tar.bz2 machina-master.zip |
Diffstat (limited to 'waflib/Tools/fc.py')
-rw-r--r-- | waflib/Tools/fc.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/waflib/Tools/fc.py b/waflib/Tools/fc.py index d9e8d8c..fd4d39c 100644 --- a/waflib/Tools/fc.py +++ b/waflib/Tools/fc.py @@ -28,10 +28,24 @@ def modfile(conf, name): Turns a module name into the right module file name. Defaults to all lower case. """ - return {'lower' :name.lower() + '.mod', - 'lower.MOD' :name.lower() + '.MOD', - 'UPPER.mod' :name.upper() + '.mod', - 'UPPER' :name.upper() + '.MOD'}[conf.env.FC_MOD_CAPITALIZATION or 'lower'] + if name.find(':') >= 0: + # Depending on a submodule! + separator = conf.env.FC_SUBMOD_SEPARATOR or '@' + # Ancestors of the submodule will be prefixed to the + # submodule name, separated by a colon. + modpath = name.split(':') + # Only the ancestor (actual) module and the submodule name + # will be used for the filename. + modname = modpath[0] + separator + modpath[-1] + suffix = conf.env.FC_SUBMOD_SUFFIX or '.smod' + else: + modname = name + suffix = '.mod' + + return {'lower' :modname.lower() + suffix.lower(), + 'lower.MOD' :modname.lower() + suffix.upper(), + 'UPPER.mod' :modname.upper() + suffix.lower(), + 'UPPER' :modname.upper() + suffix.upper()}[conf.env.FC_MOD_CAPITALIZATION or 'lower'] def get_fortran_tasks(tsk): """ |