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

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 Intel Fortran. 
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.ifort.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 ifort.py.

Variable Documentation

◆ _

PyXMake.VTL.ifort._ = sys.argv[1]
protected

Definition at line 113 of file ifort.py.

◆ args

PyXMake.VTL.ifort.args

Definition at line 114 of file ifort.py.

◆ beos_make

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

Definition at line 133 of file ifort.py.

◆ beos_source

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

Definition at line 132 of file ifort.py.

◆ box_make

PyXMake.VTL.ifort.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 ifort.py.

◆ box_source

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

Definition at line 125 of file ifort.py.

◆ BuildID

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

Definition at line 124 of file ifort.py.

◆ BuildIDs

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

Definition at line 160 of file ifort.py.

◆ combine

PyXMake.VTL.ifort.combine = True

Definition at line 167 of file ifort.py.

◆ command

PyXMake.VTL.ifort.command

Definition at line 134 of file ifort.py.

◆ dam_make

PyXMake.VTL.ifort.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 139 of file ifort.py.

◆ disp_make

PyXMake.VTL.ifort.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 150 of file ifort.py.

◆ files

PyXMake.VTL.ifort.files

Definition at line 128 of file ifort.py.

◆ include

PyXMake.VTL.ifort.include

Definition at line 128 of file ifort.py.

◆ incremental

PyXMake.VTL.ifort.incremental

Definition at line 135 of file ifort.py.

◆ libs

PyXMake.VTL.ifort.libs

Definition at line 128 of file ifort.py.

◆ make

list PyXMake.VTL.ifort.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 ifort.py.

◆ make_opt

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

Definition at line 116 of file ifort.py.

◆ parser

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

Definition at line 110 of file ifort.py.

◆ pchip_replace

PyXMake.VTL.ifort.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 177 of file ifort.py.

◆ replace

PyXMake.VTL.ifort.replace

Definition at line 190 of file ifort.py.

◆ source

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

Definition at line 128 of file ifort.py.

◆ srcfile

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

Definition at line 162 of file ifort.py.

◆ style

str PyXMake.VTL.ifort.style = False

Definition at line 164 of file ifort.py.