Salome HOME
temporary fix to retrieve environment variable for ptscotch/scotch until bug fix...
[tools/sat_salome.git] / products / env_scripts / scotch.py
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 import os.path
5 def set_env(env, prereq_dir, version):
6   SCOTCH_HPC=False
7   #SCOTCH_HPC=env.get('SCOTCH_HPC') == '1'
8   if SCOTCH_HPC: 
9     env.set('SCOTCH_ROOT_DIR', prereq_dir)
10     env.set('PTSCOTCH_ROOT_DIR', prereq_dir)
11     env.set('PTSCOTCHDIR', prereq_dir)
12     env.set('SCOTCHDIR', prereq_dir)
13     env.set('PTSCOTCH_INCLUDE_DIR',os.path.join(prereq_dir,'include'))
14   else:
15     env.set('SCOTCHDIR', prereq_dir)
16     env.set('SCOTCH_ROOT_DIR', prereq_dir)
17
18 def set_nativ_env(env):
19   SCOTCH_HPC=False
20
21   #SCOTCH_HPC=env.get('SCOTCH_HPC') == '1'
22   if SCOTCH_HPC:
23     prereq_dir='/usr'
24     prereq_inc='/usr/include'
25     prereq_lib= None
26     try:
27       import distro
28       if any(distribution in distro.name().lower() for distribution in ["centos", "fedora"]) :
29         prereq_dir='/usr'
30         prereq_inc= '/usr/include/openmpi-x86_64'
31         prereq_lib='/usr/lib64/openmpi/lib'
32       elif any(distribution in distro.name().lower() for distribution in ["debian", "ubuntu"]) :
33         prereq_dir='/usr'
34         prereq_inc='/usr/include/scotch-long'
35         prereq_lib='/usr/lib/x86_64-linux-gnu/scotch-long'
36       else:
37         print("Unimplemented distribution (1): {}".format(distro.name.lower()))
38     except:
39         import platform
40         if any(distribution in platform.linux_distribution()[0].lower() for distribution in ["centos", "fedora"]) :
41             prereq_dir='/usr'
42             prereq_inc= '/usr/include/openmpi-x86_64'
43             prereq_lib='/usr/lib64/openmpi/lib'
44         else:
45           print("Unimplemented distribution (2): {}".format(platform.linux_distribution()[0].lower()))
46
47     env.set('SCOTCH_ROOT_DIR', prereq_dir)
48     env.set('PTSCOTCH_ROOT_DIR', prereq_dir)
49     env.set('PTSCOTCHDIR', prereq_dir)
50     env.set('PTSCOTCH_INCLUDE_DIR', prereq_inc)
51     if prereq_lib is not None:
52         env.prepend('LD_LIBRARY_PATH', prereq_lib)
53   else:
54     prereq_dir='/usr'
55     env.set('SCOTCH_ROOT_DIR', prereq_dir)