GithubHelp home page GithubHelp logo

mtygesen / verifydtapn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tapaal/verifydtapn

0.0 0.0 0.0 6.09 MB

Verification engine for TAPAAL that uses the discrete semantics and supports EF, AG, EG and AF queries also for nets with weighted arcs but only with closed intervals.

Home Page: https://www.tapaal.net

C++ 97.97% CMake 1.80% HiveQL 0.02% q 0.21%

verifydtapn's Introduction

verifydtapn

As a temporary solution, run cmake (see below) twice:

cmake -DCMAKE_BUILD_TYPE=Prebuild ..
make
cmake -DCMAKE_BUILD_TYPE=Release ..
make

Linux

To compile verifydtapn:

sudo apt update
sudo apt install flex bison libboost-all-dev libsparsehash-dev cmake build-essential

mkdir build && cd build
cmake ..
make

Max OS X

Install xcode through App Store.

Install cmake, gcc, boost and google-sparsehash, for example using homebrew as follows:

brew install cmake gcc boost google-sparsehash 

Set the correct gcc compiler

export CC=gcc-11
export CXX=g++-11

If your flex and bison point to a wrong binary, run the cmake with the folowing switches where the desired path is set:

cmake -DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison -DFLEX_EXECUTABLE=/usr/local/opt/flex/bin/flex ..
cmake -DBISON_EXECUTABLE=/opt/homebrew/opt/bison/bin/bison -DFLEX_EXECUTABLE=/opt/homebrew/opt/flex/bin/flex   ..

Windows (Cross Compile)

Install MinGW64

sudo apt install mingw-w64-x86-64-dev mingw-w64-tools g++-mingw-w64-x86-64

Setup Build Env

TARGET=x86_64-w64-mingw32
ADDRM=64
MTUNE=generic

CORES=$(nproc || 1)

export CC=x86_64-w64-mingw32-gcc
export CXX=x86_64-w64-mingw32-g++

export PREFIX=$(mktemp -d -p .) #Or set it to path where libs are saved
export PREFIX=$(realpath $PREFIX)

Download and compile Boost

BOOST=boost_1_72_0
VER=${BOOST#boost_}
VER=${VER//_/.}
wget -nv "https://boostorg.jfrog.io/artifactory/main/release/$VER/source/$BOOST.tar.bz2"
tar xf $BOOST.tar.bz2

cd $BOOST
CC= CXX= ./bootstrap.sh --prefix="$PREFIX" --without-icu
cat > win$ADDRM-config.jam << EOF
using gcc : m : $CXX
        :
;
EOF

./b2 toolset=gcc-m target-os=windows cflags="-mtune=$MTUNE" cxxstd=17 cxxflags="-mtune=$MTUNE" address-model="$ADDRM" binary-format="pe" abi="ms" threading="multi" threadapi="win32" variant=release --user-config="win$ADDRM-config.jam" --prefix="$PREFIX" --without-mpi --without-python --without-coroutine --without-graph --without-graph_parallel --without-wave --without-context -sNO_BZIP2=1 -j$CORES install
cd ..

Download and build google sparsehash

sudo apt install unzip
wget https://github.com/sparsehash/sparsehash/archive/sparsehash-2.0.4.zip
unzip sparsehash-2.0.4.zip

cd sparsehash-sparsehash-2.0.4

./configure --prefix=$PREFIX CXXFLAGS=-std=c++11 --host win
make
make install

cd ..

Build verifydtapn

mkdir build-win && cd build-win
cmake ../ -DCMAKE_TOOLCHAIN_FILE=../toolchain-x86_64-w64-mingw32.cmake -DBOOST_ROOT=$PREFIX
CPATH=$PREFIX/include make

verifydtapn's People

Contributors

petergjoel avatar srba avatar jakobht avatar mortenjacobsen avatar yrke avatar cmoesgaard avatar peterhaahrtaankvist avatar mads256h avatar tand00 avatar mtygesen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.