PyXMake Developer Guide 1.0
PyXMake
Loading...
Searching...
No Matches
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.