]> Creatis software - creaToolsTools.git/blob - Linux/scripts/LocalFunctions.sh
b9694a04ad60758178c800bd1268aab87ac80b32
[creaToolsTools.git] / Linux / scripts / LocalFunctions.sh
1 # ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
4 #                        pour la Santé)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 #
7 #  This software is governed by the CeCILL-B license under French law and 
8 #  abiding by the rules of distribution of free software. You can  use, 
9 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
10 #  license as circulated by CEA, CNRS and INRIA at the following URL 
11 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
12 #  or in the file LICENSE.txt.
13 #
14 #  As a counterpart to the access to the source code and  rights to copy,
15 #  modify and redistribute granted by the license, users are provided only
16 #  with a limited warranty  and the software's author,  the holder of the
17 #  economic rights,  and the successive licensors  have only  limited
18 #  liability. 
19 #
20 #  The fact that you are presently reading this means that you have had
21 #  knowledge of the CeCILL-B license and that you accept its terms.
22 # ------------------------------------------------------------------------  
23
24 #!/bin/bash -e
25
26
27
28 ##########################################
29 # check that $1 is one of $2, $3, ...
30 function checkVal  {
31     local val=$1
32     shift
33     for x in $* ; do
34         if [ "$val" == "$x" ] ; then
35             echo "true"
36             return
37         fi
38     done
39     echo "false"
40 }
41
42 ###########################################
43 function bigDisplay {
44     echo " ================================================================================================"
45     echo " ================================================================================================"
46     echo " ======= $1"                                       
47     echo " ================================================================================================"
48     echo " ================================================================================================"
49 }
50
51 ###########################################
52 function checkDistrib {
53     local OS=$1
54     if [ "`checkVal $OS MacOS Fedora Ubuntu Mandriva`" == "false" ] ; then
55         echo "Operating System not supported: $OS"
56         echo "Currently supported system: Fedora Ubuntu MacOS"
57         exit 1
58     fi
59 }
60
61 ###########################################
62 function getDistrib {
63     local OS=`uname`
64
65       if [ "$OS" == Darwin ] ; then OS=MacOS;
66     elif [ "$OS" == Linux  ] ; then OS=`awk 'NR==1{print $1}' /etc/system-release`
67     else OS=""
68     fi
69 # checkDistrib $OS
70     echo $OS
71 }
72
73 ###########################################
74 function getDistribVersion {
75     local DISTRIB=`getDistrib`
76
77       if [ "$DISTRIB" == MacOS ] ; then OSVesion=VOID_Darwin_EED;
78     elif [ "$DISTRIB" == Fedora  ] ; then OSVersion=`awk 'NR==1{print $3}' /etc/system-release`
79     elif [ "$DISTRIB" == Ubuntu  ] ; then OSVersion=`awk 'NR==1{print $2}' /etc/issue`
80     else OSVersion="VOID_EED"
81     fi
82     echo $OSVersion
83 }
84
85 ###########################################
86 function getDownloadCommand {
87     local DISTRIB=`getDistrib`
88
89       if [ "$DISTRIB" == MacOS ] ; then downloadCommand=curl;
90     elif [ "$DISTRIB" == Fedora  ] ; then downloadCommand='aria2c -x 16'
91     elif [ "$DISTRIB" == Ubuntu  ] ; then downloadCommand=wget
92     else downloadCommand="VOID_EED"
93     fi
94     echo $downloadCommand
95 }
96
97 ###########################################
98 function getncore {
99     if [ `uname` == Darwin ] ; then # MacOS
100         system_profiler | grep Processor | awk '$1=="Number" {print $4}'
101     else
102         cat /proc/cpuinfo | grep processor | wc -l
103     fi
104 }
105
106 ###########################################
107 function getbashrc {
108     if [ ! -f $HOME/.bashrc ] ; then
109         touch $HOME/.bashrc
110     fi
111     echo $HOME/.bashrc
112
113
114 #    # Do it, while we are under user, not under root! # JPR
115 #    if [ -f $HOME/.bashrc ] ; then
116 #        echo $HOME/.bashrc
117 #    else
118 #        if [ -f $HOME/.profile ] ; then
119 #            echo $HOME/.profile
120 #        else
121 #            echo "=============== BIG TROUBLE : neither $HOME/.bashrc nor $HOME/.profile file found" > /dev/stderr
122 #            echo "=============== You'd better abort the program and (try to) fix the issue" > /dec/stderr
123 #            read a # just to let the user time enough to read the message...
124 #        fi
125 #    fi
126 }
127
128
129 ###########################################
130 function printconfig {
131     echo
132     echo "Current Configuration:"
133     echo "  Operating System                           : $OperatingSystem"
134     echo "  Number of Cores                            : $corenumber"   
135     echo "  Name of the Generation Directory           : $generationdir"
136     echo "  Install Prefix for Third Party Libraries   : $installPrefixThird"   
137     echo "  Install Prefix for CreaTools               : $installPrefix"
138     echo "  Boolean for Doc Generation                 : $docgeneration"
139     echo "  Where do you want to get source files from : $sourcesFrom"
140     echo "  Login User Name                            : $loginUserName"
141     echo "  Login Group Name                           : $loginGroupName"
142     echo "  Build type                                 : $buildType"          
143     echo "  Gdcm version                               : $gdcmVersion"
144     echo "  ITK version                                : $ITKVersion"
145     echo
146 }
147
148