Improvements.

Scripts to install dependencies.
This commit is contained in:
Éder F. Zulian
2017-12-07 12:53:21 +01:00
parent 3f7bd04b56
commit 5b4d1bebfd
3 changed files with 92 additions and 31 deletions

View File

@@ -20,28 +20,38 @@ Configure git on your machine. Some basic configurations follow:
``` bash
$ git config --global user.name "FirstName OtherNames LastName"
$ git config --global user.email email@example.com
$ git config --global user.email user@rhrk.uni-kl.de
$ git config --global credential.helper cache --timeout=3600
$ git config --global color.ui auto
```
Clone the repository.
In **user@rhrk.uni-kl.de** replace the word **user** in order to get your
own RHRK email account.
Login using your **git.rhrk** account. Fork the repository by clicking in
**Fork** in the upper-right corner of this page.
Now clone **your fork** of the official repository into a local folder in
computer. Replace the word **user** with your own RHRK user name. Note that it
appears two times in the line below.
``` bash
$ git clone --recursive https://<user>@git.rhrk.uni-kl.de/EIT-Wehn/dram.vp.system.git
$ git clone --recursive https://user@git.rhrk.uni-kl.de/user/dram.vp.system.git
```
The *--recursive* flag tells git to initialize all submodules within the
repository. **DRAMPower** [2] and **tinyxml** are examples third party
repositories that were embedded within the source tree as submodules.
It is possible to work with a **fork** of the official codebase. In that case,
after pushing changes into your fork you should create a **pull request** in
order to get your changes merged into to the official codebase.
Now you can implement, test, commit and push features into your **fork** of
the official repository.
``` bash
$ git clone --recursive https://<user>@git.rhrk.uni-kl.de/<user>/dram.vp.system.git
```
When you consider your work stable enough to be merged into the official
repository it is time to open a **pull request** using the web interface of
git.rhrk.uni-kl.de.
Your changes will be reviewed and finally integrated to the official
repository.
After cloning go to the project directory.
@@ -50,10 +60,10 @@ $ cd dram.vp.system
```
When working with a fork, the official repository must be added as a remote for
your fork.
your fork. Replace the word **user** with your own RHRK user name.
``` bash
$ git remote add upstream https://<user>@git.rhrk.uni-kl.de/EIT-Wehn/dram.vp.system.git
$ git remote add upstream https://user@git.rhrk.uni-kl.de/EIT-Wehn/dram.vp.system.git
$ git remote -v
```
@@ -65,10 +75,6 @@ $ git fetch upstream
$ git checkout master
$ git merge upstream/master
$ git push origin HEAD
```
You may need to update your submodules.
```bash
$ git submodule update --init --recursive
```
@@ -79,33 +85,34 @@ They are:
- SystemC 2.3.1 and TLM 2.0
The sources can be downloaded from [this](http://accellera.org/downloads/standards/systemc).
You can use [getsysc.sh](./getsysc.sh). First read and understand the script
than execute it.
For installation instructions see the installation notes file contained in
the release package.
``` bash
$ bash getsysc.sh
```
Alternatively, you can use [getsysc.sh](./getsysc.sh). First read and
understand the script than execute it.
Alternatively, the sources can be downloaded from [here](http://accellera.org/downloads/standards/systemc).
- qwt-6.1.3
For installation instructions see the installation notes file contained in the release package.
```bash
$ svn checkout svn://svn.code.sf.net/p/qwt/code/branches/qwt-6.1
$ cd qwt-6.1
$ qmake qwt.pro
$ make
$ sudo make install
```
- qwt-6.1
For further information refer to [this](http://qwt.sourceforge.net/)
You can use [getqwt.sh](./getqwt.sh). First read and understand the script
than execute it.
```bash
$ bash getqwt.sh
```
For further information refer to [this](http://qwt.sourceforge.net/)
- python3.5 or 3.6
In Debian like distros:
```bash
$ sudo apt-get install python3.5
$ sudo apt-get install python3.5-dev
$ sudo apt-get install python3.5 python3.5-dev
```
- Others

44
getqwt.sh Executable file
View File

@@ -0,0 +1,44 @@
#!/usr/bin/env bash
# Copyright (c) 2017, University of Kaiserslautern
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
# OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Author: Éder F. Zulian
dest=$HOME/qwt-6.1
svn checkout svn://svn.code.sf.net/p/qwt/code/branches/qwt-6.1 $dest
cd $dest
qmake qwt.pro
make
sudo make install
# Add env. variables to ~/.bashrc
echo "LIBQWT_HOME=/usr/local/qwt-6.1.4-svn/lib" >> ~/.bashrc
echo "LIBQWT_HEADERS=/usr/local/qwt-6.1.4-svn/include" >> ~/.bashrc

View File

@@ -32,6 +32,8 @@
#
# Author: Éder F. Zulian
set -x
dest=$HOME
sysc=systemc-2.3.1a
sysctarball=$sysc.tar.gz
@@ -77,3 +79,11 @@ nj=`expr $np - 1`
make -j$nj
make check -j$nj
make install
# Add env. variables to ~/.bashrc
arch=$(uname -m | sed 's/x86_//;s/i[3-6]86/32/')
echo "# SystemC home" >> ~/.bashrc
echo "SYSTEMC_HOME=$dest/$sysc" >> ~/.bashrc
echo "# SystemC target architecture" >> ~/.bashrc
echo "SYSTEMC_TARGET_ARCH=linux$arch" >> ~/.bashrc
echo "LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\${SYSTEMC_HOME}/lib-$arch" >> ~/.bashrc