summaryrefslogtreecommitdiff
path: root/install.sh
blob: 04e7efbcbc91a92e88571b8d19217de3fccecc5a (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#!/bin/bash 
#===============================================================================
#
#          FILE: install.sh
# 
#         USAGE: ./install.sh 
# 
#   DESCRIPTION: It is installation script for ngspice and ghdl work (nghdl). 
# 
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: Fahim Khan , fahim.elex@gmail.com
#  ORGANIZATION: FreeEDA, FOSSEE group at IIT Bombay
#       CREATED: Tuesday 02 December 2014 17:01
#      REVISION:  ---
#===============================================================================

ngspice="ngspice-26"
src_loc=".FreeEDA"
config_file="config.ini"
cur_dir=`pwd`

#Will be used to take backup of any file
sysdate="$(date)"
timestamp=`echo $sysdate|awk '{print $3"_"$2"_"$6"_"$4 }'`



#Checking if ngspice-26 directory is already present in Home directory
if [ -d $HOME/$ngspice ];then
        echo "$ngspice directory already exist taking its backup"
        mv $HOME/$ngspice $HOME/$ngspice.$timestamp
fi


#Extracting Ngspice to Home Directory
tar -xzvf $ngspice.tar.gz -C $HOME

if [ "$?" == 0 ];then 
    echo "Ngspice extracted sucessfuly to $HOME "
    #change to ngspice-26 directory
    cd $HOME/$ngspice
    #Make local install directory
    mkdir -p install_dir
    #Make release directory for build
    mkdir -p release
    #Change to release directory
    cd release
    echo "Installing Ngspice....."
    echo "------------------------------------"  
    sleep 5
    ../configure --enable-xspice --disable-debug  --prefix=$HOME/$ngspice/install_dir/ --exec-prefix=$HOME/$ngspice/install_dir/    
    make
    make install
    if [ "$?" == 0 ];then
        echo "Ngspice Installed sucessfully"
    else 
        echo "There was some error in installing ngspice"
    fi

else 
    echo "Unable to extract ngspice tar file"
    exit 1;
fi




#Creating directory to put source 
if [ -d "$HOME/$src_loc" ];then
    echo "(.)FreeEDA directory already in $HOME,removing it and copying new code"
    rm -rf ~/$src_loc
    mkdir -p ~/$src_loc
else
    mkdir -p ~/$src_loc
fi

#Change to current directory
cd $cur_dir
cp -rv src/* ~/$src_loc/

#Creating config.ini file and adding configuration information

cd ~/$src_loc/
touch $config_file

echo "[NGSPICE]" >> $config_file
echo "NGSPICE_HOME = $HOME/$ngspice" >> $config_file
echo "DIGITAL_MODEL = %(NGSPICE_HOME)s/src/xspice/icm/ghdl" >> $config_file
echo "RELEASE = %(NGSPICE_HOME)s/release" >> $config_file


## Creating softlink 
cd /usr/local/bin
if [[ -L nghdl ]];then
    echo "Symlink was already present"
    sudo unlink nghdl
    sudo ln -sf ~/$src_loc/ngspice_ghdl.py nghdl

else
    echo "Creating synmlink"
    sudo ln -sf ~/$src_loc/ngspice_ghdl.py nghdl
fi