def check_fortran_verbose_flag(conf):
    code = """\
       program main
       end
"""
    conf.start_message("Checking for verbose flag")
    if not conf.builders["ctasks"].configured:
        raise ValueError("'ctasks'r needs to be configured first!")
    if sys.platform == "win32":
        conf.end_message("none needed")
        conf.env[FC_VERBOSE_FLAG] = []
        return True
    for flag in ["-v", "--verbose", "-V", "-verbose"]:
        old = copy.deepcopy(conf.env["F77_LINKFLAGS"])
        try:
            conf.env["F77_LINKFLAGS"].append(flag)
            ret = conf.builders["fortran"].try_program("check_fc_verbose", code)
            if not ret:
                continue
            stdout = conf.get_stdout(conf.last_task)
            if ret and is_output_verbose(stdout):
                conf.end_message(flag)
                conf.env[FC_VERBOSE_FLAG] = flag
                return True
        finally:
            conf.env["F77_LINKFLAGS"] = old
    conf.end_message("failed !")
    conf.fail_configuration("")
    return False
示例#2
0
文件: fconftests.py 项目: dagss/yaku
def check_fortran_verbose_flag(conf):
    code = """\
       program main
       end
"""
    conf.start_message("Checking for verbose flag")
    if not conf.builders["ctasks"].configured:
        raise ValueError("'ctasks'r needs to be configured first!")
    if sys.platform == "win32":
        conf.end_message("none needed")
        conf.env[FC_VERBOSE_FLAG] = []
        return True
    for flag in ["-v", "--verbose", "-V", "-verbose"]:
        old = copy.deepcopy(conf.env["F77_LINKFLAGS"])
        try:
            conf.env["F77_LINKFLAGS"].append(flag)
            ret = conf.builders["fortran"].try_program("check_fc_verbose", code)
            if not ret:
                continue
            stdout = conf.get_stdout(conf.last_task)
            if ret and is_output_verbose(stdout):
                conf.end_message(flag)
                conf.env[FC_VERBOSE_FLAG] = flag
                return True
        finally:
            conf.env["F77_LINKFLAGS"] = old
    conf.end_message("failed !")
    return False
示例#3
0
文件: fconftests.py 项目: dagss/Bento
def check_fortran_verbose_flag(conf):
    code = """\
       program main
       end
"""
    conf.start_message("Checking for verbose flag")
    for flag in ["-v", "--verbose", "-V"]:
        old = copy.deepcopy(conf.env["LINKFLAGS"])
        try:
            conf.env["LINKFLAGS"].append(flag)
            ret = create_fprogram_conf_taskgen(conf,
                    "check_fc_verbose", code)
            stdout = conf.stdout_cache[conf.last_task.signature()]
            if ret and is_output_verbose(stdout):
                conf.end_message(flag)
                conf.env[FC_VERBOSE_FLAG] = flag
                return True
        finally:
            conf.env["LINKFLAGS"] = old
    return False