mirror of
https://github.com/hermitcore/libhermit.git
synced 2025-03-09 00:00:03 +01:00
92 lines
3.6 KiB
Bash
Executable file
92 lines
3.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
OS_NAME=$1
|
|
OS_VERSION=$2
|
|
|
|
if [ "$OS_NAME" = "centos" ]; then
|
|
|
|
# Clean the yum cache
|
|
yum -y clean all
|
|
yum -y clean expire-cache
|
|
|
|
# First, install all the needed packages.
|
|
yum install -y wget gettext flex bison binutils gcc gcc-c++ texinfo kernel-headers rpm-build kernel-devel boost-devel cmake git tar gzip make autotools
|
|
|
|
wget http://checkinstall.izto.org/files/source/checkinstall-1.6.2.tar.gz
|
|
tar xzvf checkinstall-1.6.2.tar.gz
|
|
cd checkinstall-1.6.2
|
|
./configure
|
|
make
|
|
make install
|
|
cd ..
|
|
rm -rf checkinstall*
|
|
|
|
mkdir -p build
|
|
cd build
|
|
../configure --target=x86_64-hermit --prefix=/opt/hermit --disable-shared --disable-nls --disable-gdb --disable-libdecnumber --disable-readline --disable-sim --disable-libssp --enable-tls --disable-multilib
|
|
make
|
|
checkinstall -R -y --exclude=build --pkggroup=main --maintainer=stefan@eonerc.rwth-aachen.de --pkgsource=https://hermitcore.org --pkgname=newlib-hermit --pkgversion=2.30.51 --pkglicense=GPL2 make install
|
|
|
|
else
|
|
|
|
export DEBIAN_FRONTEND="noninteractive"
|
|
|
|
apt-get -qq update
|
|
apt-get install -y qemu-system-x86 cmake wget curl gnupg checkinstall gawk dialog apt-utils flex bison binutils texinfo gcc g++ libmpfr-dev libmpc-dev libgmp-dev libisl-dev packaging-dev build-essential libtool autotools-dev autoconf pkg-config apt-transport-https nasm rpm
|
|
|
|
echo "deb [trusted=yes] https://dl.bintray.com/hermitcore/$OS_NAME $OS_VERSION main" | tee -a /etc/apt/sources.list
|
|
apt-get -qq update
|
|
apt-get install -y --allow-unauthenticated -o Dpkg::Options::="--force-overwrite" binutils-hermit newlib-hermit pte-hermit gcc-hermit libomp-hermit
|
|
#apt-get install -y --allow-unauthenticated -o Dpkg::Options::="--force-overwrite" binutils-hermit newlib-hermit pte-hermit gcc-hermit-bootstrap
|
|
export PATH=/opt/hermit/bin:$PATH
|
|
|
|
mkdir -p build
|
|
cd build
|
|
cmake -DTOOLCHAIN_BIN_DIR=/opt/hermit/bin -DCMAKE_INSTALL_PREFIX=/opt/hermit -DBOOTSTRAP=true ..
|
|
make hermit-bootstrap
|
|
#checkinstall -D -y --exclude=build --pkggroup=main --maintainer=stefan@eonerc.rwth-aachen.de --pkgsource=https://hermitcore.org --pkgname=libhermit --pkgversion=0.2.11 --pkglicense=BSD make hermit-bootstrap-install
|
|
make hermit-bootstrap-install
|
|
rm -rf *
|
|
cmake -DTOOLCHAIN_BIN_DIR=/opt/hermit/bin -DCMAKE_INSTALL_PREFIX=/opt/hermit ..
|
|
make -j1 package
|
|
|
|
cd ..
|
|
mkdir -p tmp
|
|
dpkg-deb -R build/libhermit-0.2.11-all.deb tmp
|
|
#dpkg-deb -R build/libhermit_0.2.11-1_amd64.deb tmp
|
|
rm -rf build/*.deb build/_CPack_Packages
|
|
|
|
#exit 0
|
|
|
|
fi
|
|
|
|
TDIR=/work/build/local_prefix/opt/hermit/x86_64-hermit/extra
|
|
FILES="$TDIR/tests/hello $TDIR/tests/hellof $TDIR/tests/hello++ $TDIR/tests/thr_hello $TDIR/tests/pi $TDIR/benchmarks/stream $TDIR/benchmarks/basic $TDIR/tests/signals $TDIR/tests/test-malloc $TDIR/tests/test-malloc-mt $TDIR/tests/argv_envp"
|
|
PROXY=/work/build/local_prefix/opt/hermit/bin/proxy
|
|
|
|
for f in $FILES; do echo "check $f..."; HERMIT_ISLE=qemu HERMIT_CPUS=1 HERMIT_KVM=0 HERMIT_VERBOSE=1 timeout --kill-after=5m 5m $PROXY $f || exit 1; done
|
|
|
|
for f in $FILES; do echo "check $f..."; HERMIT_ISLE=qemu HERMIT_CPUS=2 HERMIT_KVM=0 HERMIT_VERBOSE=1 timeout --kill-after=5m 5m $PROXY $f || exit 1; done
|
|
|
|
# test echo server at port 8000
|
|
HERMIT_ISLE=qemu HERMIT_CPUS=1 HERMIT_KVM=0 HERMIT_VERBOSE=1 HERMIT_APP_PORT=8000 $PROXY $TDIR/tests/server &
|
|
sleep 10
|
|
curl http://127.0.0.1:8000/help
|
|
sleep 1
|
|
curl http://127.0.0.1:8000/hello
|
|
sleep 1
|
|
|
|
# kill server
|
|
kill $!
|
|
|
|
# test connection via netio
|
|
#wget http://web.ars.de/wp-content/uploads/2017/04/netio132.zip
|
|
#unzip netio132.zip
|
|
#HERMIT_ISLE=qemu HERMIT_CPUS=2 HERMIT_KVM=0 HERMIT_VERBOSE=1 HERMIT_APP_PORT=18767 $PROXY $TDIR/benchmarks/netio &
|
|
#sleep 1
|
|
#chmod a+rx bin/linux-x86_64
|
|
#bin/linux-x86_64 -t -b 4k localhost
|
|
#sleep 1
|
|
|
|
# kill server
|
|
#kill $!
|