PyXMake Developer Guide: PyXMake.VTL.gfortran Namespace Reference

| PyXMake Developer Guide 1.0 PyXMake

Loading...
Searching...
No Matches
Functions | Variables
PyXMake.VTL.gfortran Namespace Reference

## Functions
| main (BuildID, files=VTL.GetSourceCode(0), command=VTL.GetBuildCommand(2), libs=VTL.GetLinkDependency(0, 2, __arch), source=os.path.join(__mcd_core_path,"src"), include=[os.path.join(__mcd_core_path,"include", Utility.GetPlatform(), __arch, x) for x in VTL.GetIncludeDirectory(__mcd_core_path, 0, 4, __arch)], dependency=os.path.join(__mcd_core_path,"lib", Utility.GetPlatform(), __arch), make=[os.path.join(__mcd_core_path,"include", Utility.GetPlatform(), __arch), os.path.join(__mcd_core_path,"lib", Utility.GetPlatform(), __arch)], architecture=__arch, scratch=VTL.Scratch, verbosity=2, incremental=False, **kwargs)

## Variables
| parser = argparse.ArgumentParser(description="Build a static Fortran library remotely on the current machine")
| _ = sys.argv[1]
| args
| make_opt = args.make[0]
str | BuildID = "bbeam"
| box_source = os.path.join(__mcd_core_path,"external","boxbeam")
list | box_make
| files
| source = os.path.join(__mcd_core_path,"external","toms")
| include
| make
| libs
| beos_source = os.path.join(__mcd_core_path,"external",BuildID)
list | beos_make = [None, os.path.join(__mcd_core_path,"lib",Utility.GetPlatform(),__arch)]
| command
| incremental
list | dam_make
| dam_replace
| replace
list | disp_make
list | BuildIDs = [os.path.splitext(x)[0].lower() for x in VTL.GetSourceCode(6)]
list | srcfile = [x for x in VTL.GetSourceCode(6) if x.startswith(BuildID)]
str | style = False
bool | combine = True
| pchip_replace = collections.OrderedDict([('rand',"pchip_rand"), ('RAND',"pchip_rand"), ('subroutine timestamp ( )','subroutine timestamp ( ) BIND(C, NAME="pchip_timestamp")')])
| Name mangling without changing the original source code.

## Detailed Description

    Triple-use minimum working example for PyXMake. This script can be
    executed in three different ways in varying levels of accessibility

    @note: Compile a static Fortran library using Mingw64/GFortran on windows.
    Created on 20.03.2018

    @version:  1.0
    ----------------------------------------------------------------------------------------------
    @requires:
          - PyXMake

    @change:
          - Added 3rd party dependencies to build process. Requires
            PyCODAC in PYTHONPATH.

    @author: garb_ma                                      [DLR-FA,STM Braunschweig]
    ----------------------------------------------------------------------------------------------

## Function Documentation

## ◆ main()

PyXMake.VTL.gfortran.main | ( |  | BuildID,
|  |  | files = VTL.GetSourceCode(0),
|  |  | command = VTL.GetBuildCommand(2),
|  |  | libs = VTL.GetLinkDependency(0, 2, __arch),
|  |  | source = os.path.join(__mcd_core_path,"src"),
|  |  | include = [os.path.join(__mcd_core_path,"include",Utility.GetPlatform(),__arch, x) for x in VTL.GetIncludeDirectory(__mcd_core_path, 0, 4, __arch)],
|  |  | dependency = os.path.join(__mcd_core_path,"lib",Utility.GetPlatform(),__arch),
|  |  | make = [os.path.join(__mcd_core_path,"include",Utility.GetPlatform(),__arch), os.path.join(__mcd_core_path,"lib",Utility.GetPlatform(),__arch)],
|  |  | architecture = __arch,
|  |  | scratch = VTL.Scratch,
|  |  | verbosity = 2,
|  |  | incremental = False,
|  | ** | kwargs )

    Main function to execute the script.

Definition at line 54 of file gfortran.py.

## Variable Documentation

## ◆ _

PyXMake.VTL.gfortran._ = sys.argv[1]
| protected

Definition at line 113 of file gfortran.py.

## ◆ args

PyXMake.VTL.gfortran.args

Definition at line 114 of file gfortran.py.

## ◆ beos_make

PyXMake.VTL.gfortran.beos_make = [None, os.path.join(__mcd_core_path,"lib",Utility.GetPlatform(),__arch)]

Definition at line 133 of file gfortran.py.

## ◆ beos_source

PyXMake.VTL.gfortran.beos_source = os.path.join(__mcd_core_path,"external",BuildID)

Definition at line 132 of file gfortran.py.

## ◆ box_make

PyXMake.VTL.gfortran.box_make

Initial value:
1= [os.path.join(__mcd_core_path,"include",Utility.GetPlatform(),__arch,"boxbeam"),
2 os.path.join(__mcd_core_path,"lib",Utility.GetPlatform(),__arch)]

Definition at line 126 of file gfortran.py.

## ◆ box_source

PyXMake.VTL.gfortran.box_source = os.path.join(__mcd_core_path,"external","boxbeam")

Definition at line 125 of file gfortran.py.

## ◆ BuildID

str PyXMake.VTL.gfortran.BuildID = "bbeam"

Definition at line 124 of file gfortran.py.

## ◆ BuildIDs

list PyXMake.VTL.gfortran.BuildIDs = [os.path.splitext(x)[0].lower() for x in VTL.GetSourceCode(6)]

Definition at line 163 of file gfortran.py.

## ◆ combine

PyXMake.VTL.gfortran.combine = True

Definition at line 170 of file gfortran.py.

## ◆ command

PyXMake.VTL.gfortran.command

Definition at line 134 of file gfortran.py.

## ◆ dam_make

PyXMake.VTL.gfortran.dam_make

Initial value:
1= [os.path.join(__mcd_core_path,"include",Utility.GetPlatform(),__arch,BuildID),
2 os.path.join(__mcd_core_path,"lib",Utility.GetPlatform(),__arch)]

Definition at line 140 of file gfortran.py.

## ◆ dam_replace

PyXMake.VTL.gfortran.dam_replace

Initial value:
1= collections.OrderedDict([('(valueLogical .NE. saveTo)',"(valueLogical .NEQV. saveTo)"), #@UndefinedVariable
2 ('EOF(unit)',"IS_IOSTAT_END(iostat)")])

Definition at line 142 of file gfortran.py.

## ◆ disp_make

PyXMake.VTL.gfortran.disp_make

Initial value:
1= [os.path.join(__mcd_core_path,"include",Utility.GetPlatform(),__arch,BuildID),
2 os.path.join(__mcd_core_path,"lib",Utility.GetPlatform(),__arch)]

Definition at line 153 of file gfortran.py.

## ◆ files

PyXMake.VTL.gfortran.files

Definition at line 128 of file gfortran.py.

## ◆ include

PyXMake.VTL.gfortran.include

Definition at line 128 of file gfortran.py.

## ◆ incremental

PyXMake.VTL.gfortran.incremental

Definition at line 135 of file gfortran.py.

## ◆ libs

PyXMake.VTL.gfortran.libs

Definition at line 128 of file gfortran.py.

## ◆ make

list PyXMake.VTL.gfortran.make

Initial value:
1= [os.path.join(__mcd_core_path,"include",Utility.GetPlatform(),__arch, "toms"),
2 os.path.join(__mcd_core_path,"lib",Utility.GetPlatform(),__arch)]

Definition at line 128 of file gfortran.py.

## ◆ make_opt

int PyXMake.VTL.gfortran.make_opt = args.make[0]

Definition at line 116 of file gfortran.py.

## ◆ parser

PyXMake.VTL.gfortran.parser = argparse.ArgumentParser(description="Build a static Fortran library remotely on the current machine")

Definition at line 110 of file gfortran.py.

## ◆ pchip_replace

PyXMake.VTL.gfortran.pchip_replace = collections.OrderedDict([('rand',"pchip_rand"), ('RAND',"pchip_rand"), ('subroutine timestamp ( )','subroutine timestamp ( ) BIND(C, NAME="pchip_timestamp")')])

Name mangling without changing the original source code.

Rename procedures to avoid conflicts in final software. Update: Rename explicitly to avoid linking errors using GCC/GFortran.

Definition at line 180 of file gfortran.py.

## ◆ replace

PyXMake.VTL.gfortran.replace

Definition at line 149 of file gfortran.py.

## ◆ source

PyXMake.VTL.gfortran.source = os.path.join(__mcd_core_path,"external","toms")

Definition at line 128 of file gfortran.py.

## ◆ srcfile

list PyXMake.VTL.gfortran.srcfile = [x for x in VTL.GetSourceCode(6) if x.startswith(BuildID)]

Definition at line 165 of file gfortran.py.

## ◆ style

str PyXMake.VTL.gfortran.style = False

Definition at line 167 of file gfortran.py.