From 96e9e8868b0b02f8142053de1a788ba10dde366b Mon Sep 17 00:00:00 2001 From: Fahim Date: Mon, 7 Sep 2015 12:21:04 +0530 Subject: Rename install.sh to install-nghdl.sh --- doc/readme.md | 2 +- install-nghdl.sh | 181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ install.sh | 181 ------------------------------------------------------- readme.md | 2 +- 4 files changed, 183 insertions(+), 183 deletions(-) create mode 100755 install-nghdl.sh delete mode 100755 install.sh diff --git a/doc/readme.md b/doc/readme.md index e68c373..7aa0c6e 100644 --- a/doc/readme.md +++ b/doc/readme.md @@ -25,7 +25,7 @@ for that model it will actually call the ghdl to get the result. ##How to install? 1. Clone this repository. -2. Run `./install.sh` It will install ngspice from source code and put it in $HOME. +2. Run `./install-nghdl.sh` It will install ngspice from source code and put it in $HOME. ##Few words about installed code structure. diff --git a/install-nghdl.sh b/install-nghdl.sh new file mode 100755 index 0000000..18e0497 --- /dev/null +++ b/install-nghdl.sh @@ -0,0 +1,181 @@ +#!/bin/bash +#=============================================================================== +# +# FILE: install-nghdl.sh +# +# USAGE: ./install-nghdl.sh +# +# DESCRIPTION: It is installation script for ngspice and ghdl work (nghdl). +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Fahim Khan , fahim.elex@gmail.com +# ORGANIZATION: eSim, FOSSEE group at IIT Bombay +# CREATED: Tuesday 02 December 2014 17:01 +# REVISION: --- +#=============================================================================== + +ngspice="ngspice-26" +src_loc=".esim-nghdl" +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 }'` + + +#All functions goes here +function addghdlPPA +{ + echo "Adding ghdl PPA to install latest ghdl version" + sudo add-apt-repository ppa:pgavin/ghdl + sudo apt-get update +} + +function installDependency +{ + echo "Installing ghdl.................................." + sudo apt-get install ghdl + echo "Installing flex.................................." + sudo apt-get install flex + echo "Installing bison................................." + sudo apt-get install bison +} + +echo "Enter proxy details if you are connected to internet thorugh proxy" + +echo -n "Is your internet connection behind proxy? (y/n): " +read getProxy +if [ $getProxy == "y" -o $getProxy == "Y" ];then + echo -n 'Proxy hostname :' + read proxyHostname + + echo -n 'Proxy Port :' + read proxyPort + + echo -n username@$proxyHostname:$proxyPort : + read username + + echo -n 'Password :' + read -s passwd + + unset http_proxy + unset https_proxy + unset HTTP_PROXY + unset HTTPS_PROXY + unset ftp_proxy + unset FTP_PROXY + + export http_proxy=http://$username:$passwd@$proxyHostname:$proxyPort + export https_proxy=http://$username:$passwd@$proxyHostname:$proxyPort + export HTTP_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort + export HTTPS_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort + export ftp_proxy=http://$username:$passwd@$proxyHostname:$proxyPort + export FTP_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort + + echo "Install with proxy" + #Calling functions + addghdlPPA + installDependency + +elif [ $getProxy == "n" -o $getProxy == "N" ];then + echo "Install without proxy" + + #Calling functions + addghdlPPA + installDependency + + if [ $? -ne 0 ];then + echo -e "\n\n\nERROR: Unable to install required packages. Please check your internet connection.\n\n" + exit 0 + fi + +else + echo "Please select the right option" + exit 0 + +fi + +#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 "(.)esim-nghdl 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/ + +#Copying LICENSE file +cp LICENSE ~/$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 + + diff --git a/install.sh b/install.sh deleted file mode 100755 index 0aec668..0000000 --- a/install.sh +++ /dev/null @@ -1,181 +0,0 @@ -#!/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: eSim, FOSSEE group at IIT Bombay -# CREATED: Tuesday 02 December 2014 17:01 -# REVISION: --- -#=============================================================================== - -ngspice="ngspice-26" -src_loc=".esim-nghdl" -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 }'` - - -#All functions goes here -function addghdlPPA -{ - echo "Adding ghdl PPA to install latest ghdl version" - sudo add-apt-repository ppa:pgavin/ghdl - sudo apt-get update -} - -function installDependency -{ - echo "Installing ghdl.................................." - sudo apt-get install ghdl - echo "Installing flex.................................." - sudo apt-get install flex - echo "Installing bison................................." - sudo apt-get install bison -} - -echo "Enter proxy details if you are connected to internet thorugh proxy" - -echo -n "Is your internet connection behind proxy? (y/n): " -read getProxy -if [ $getProxy == "y" -o $getProxy == "Y" ];then - echo -n 'Proxy hostname :' - read proxyHostname - - echo -n 'Proxy Port :' - read proxyPort - - echo -n username@$proxyHostname:$proxyPort : - read username - - echo -n 'Password :' - read -s passwd - - unset http_proxy - unset https_proxy - unset HTTP_PROXY - unset HTTPS_PROXY - unset ftp_proxy - unset FTP_PROXY - - export http_proxy=http://$username:$passwd@$proxyHostname:$proxyPort - export https_proxy=http://$username:$passwd@$proxyHostname:$proxyPort - export HTTP_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort - export HTTPS_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort - export ftp_proxy=http://$username:$passwd@$proxyHostname:$proxyPort - export FTP_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort - - echo "Install with proxy" - #Calling functions - addghdlPPA - installDependency - -elif [ $getProxy == "n" -o $getProxy == "N" ];then - echo "Install without proxy" - - #Calling functions - addghdlPPA - installDependency - - if [ $? -ne 0 ];then - echo -e "\n\n\nERROR: Unable to install required packages. Please check your internet connection.\n\n" - exit 0 - fi - -else - echo "Please select the right option" - exit 0 - -fi - -#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 "(.)esim-nghdl 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/ - -#Copying LICENSE file -cp LICENSE ~/$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 - - diff --git a/readme.md b/readme.md index 391412f..df4764d 100644 --- a/readme.md +++ b/readme.md @@ -25,7 +25,7 @@ for that model it will actually call the ghdl to get the result. ##How to install? 1. Clone this repository. -2. Run `./install.sh` It will install ngspice from source code and put it in $HOME. +2. Run `./install-nghdl.sh` It will install ngspice from source code and put it in $HOME. ##Few words about installed code structure. -- cgit