|
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.