How to setup VaRA¶
This is a quick guide on how to setup VaRA either with our automatic setup or manually.
Manual Installation¶
VaRA can be automatically set up with vara-buildsetup from the tool suite. If you want to manually install llvm and VaRA see the following instructions.
Linux¶
To create your own setup or integrate VaRA into LLVM, follow these instructions. First, clone our modified version of llvm’s monorepo or patch our modifications into your version of llvm-project.
cd where-you-want-llvm-to-live
git clone git@github.com:se-sic/vara-llvm-project.git vara-llvm-project
cd vara-llvm-project
git submodule init && git submodule update --recursive
Second, checkout the VaRA repository as vara into vara-llvm-project.
git clone https://github.com/se-sic/VaRA.git vara
git submodule init && git submodule update --recursive
Third, to complete the setup link the prepared VaRA build scripts into a build folder.
cd vara-llvm-project
mkdir build
ln -s vara/utils/vara/builds build/build_cfg
After the setup, you find prepared build scripts in the build folder to automatically configure a llvm + vara.
cd vara-llvm-project/build
./build_cfg/build-{TYPE}.sh
cd {TYPE}
cmake --build .
builds
├── build-opt.sh # Normal, optimized release build
├── build-dev.sh # Development build
├── build-dev-san.sh # Development build with ASAN and UBSAN
├── build-dbg.sh # Special debug build with extra debug info
└── build-PGO.sh # Clang PGO bootstrap [Experimental]
Additional setup information