![]() |
PyXMake Developer Guide 1.0
PyXMake
|
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. | |
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] ----------------------------------------------------------------------------------------------
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.
|
protected |
Definition at line 113 of file gfortran.py.
PyXMake.VTL.gfortran.args |
Definition at line 114 of file gfortran.py.
PyXMake.VTL.gfortran.beos_make = [None, os.path.join(__mcd_core_path,"lib",Utility.GetPlatform(),__arch)] |
Definition at line 133 of file gfortran.py.
PyXMake.VTL.gfortran.beos_source = os.path.join(__mcd_core_path,"external",BuildID) |
Definition at line 132 of file gfortran.py.
PyXMake.VTL.gfortran.box_make |
Definition at line 126 of file gfortran.py.
PyXMake.VTL.gfortran.box_source = os.path.join(__mcd_core_path,"external","boxbeam") |
Definition at line 125 of file gfortran.py.
str PyXMake.VTL.gfortran.BuildID = "bbeam" |
Definition at line 124 of file gfortran.py.
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.
PyXMake.VTL.gfortran.combine = True |
Definition at line 170 of file gfortran.py.
PyXMake.VTL.gfortran.command |
Definition at line 134 of file gfortran.py.
PyXMake.VTL.gfortran.dam_make |
Definition at line 140 of file gfortran.py.
PyXMake.VTL.gfortran.dam_replace |
Definition at line 142 of file gfortran.py.
PyXMake.VTL.gfortran.disp_make |
Definition at line 153 of file gfortran.py.
PyXMake.VTL.gfortran.files |
Definition at line 128 of file gfortran.py.
PyXMake.VTL.gfortran.include |
Definition at line 128 of file gfortran.py.
PyXMake.VTL.gfortran.incremental |
Definition at line 135 of file gfortran.py.
PyXMake.VTL.gfortran.libs |
Definition at line 128 of file gfortran.py.
list PyXMake.VTL.gfortran.make |
Definition at line 128 of file gfortran.py.
int PyXMake.VTL.gfortran.make_opt = args.make[0] |
Definition at line 116 of file gfortran.py.
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.
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.
PyXMake.VTL.gfortran.replace |
Definition at line 149 of file gfortran.py.
PyXMake.VTL.gfortran.source = os.path.join(__mcd_core_path,"external","toms") |
Definition at line 128 of file gfortran.py.
list PyXMake.VTL.gfortran.srcfile = [x for x in VTL.GetSourceCode(6) if x.startswith(BuildID)] |
Definition at line 165 of file gfortran.py.
str PyXMake.VTL.gfortran.style = False |
Definition at line 167 of file gfortran.py.