summaryrefslogtreecommitdiff
path: root/Yacs++/data/fact.py
blob: 5404f62a9ec3bcc57e6b1a2cbb503852797d9625 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import os
from module_generator import Generator,Module,Service
from module_generator import CPPComponent, PYComponent

MACH=os.uname()[0]+'_'+os.uname()[4]
HOME=os.getenv("HOME")
VERSION5=os.getenv("VERSION5")
KERNEL=os.getenv("SALOME_KERNEL")
PREREQUISITES=os.getenv("SALOME_KERNEL")+"/../env_build.sh"
print "YACSGEN: install FACT component on "+MACH
print "         Salome kernel: "+KERNEL

context={"update":1,
	"makeflags":"-j2",
	"prerequisites":PREREQUISITES,
	"kernel":KERNEL
        }

#---------------
# Composant FACT
#---------------
FACT=CPPComponent("Composant_FACT",
	compodefs="""
#include "FACT.hxx"
static FACT fact_;
	""",
	services=[
		Service("runFACT",
			inport=[("a", "long"),],
			outport=[("b", "long"),],
			body="""
long bb;
fact_.run(a, bb);
b=bb;
			""",
		),
	],
        libs="-L"+VERSION5+"/Yacs++/lib/"+MACH+" -lYacs++" \
            " -L"+VERSION5+"/Skin++/lib/"+MACH+" -lSkin++" \
            " -L"+VERSION5+"/Donjon/lib/"+MACH+" -lDonjon" \
            " -L"+VERSION5+"/Dragon/lib/"+MACH+" -lDragon" \
            " -L"+VERSION5+"/Trivac/lib/"+MACH+" -lTrivac" \
            " -L"+VERSION5+"/Utilib/lib/"+MACH+" -lUtilib" \
            " -L"+VERSION5+"/Ganlib/lib/"+MACH+" -lGanlib" \
            " -lgfortran",
        includes="-I"+VERSION5+"/Yacs++/src" \
                " -I"+VERSION5+"/Skin++/src" \
                " -I"+VERSION5+"/Ganlib/src"
)

g=Generator(Module("couplage_module_fact",components=[FACT],prefix="./FACT_install"),context)
g.generate()
g.bootstrap()
g.configure()
g.make()
g.install()
g.make_appli("FACT_appli",
             restrict=["KERNEL","GUI","COMPONENT","YACS","CALCULATOR"])