編譯llvm和lnt

Following script can be used to download&build llvm

#!/bin/sh -x
export LLVM_DIR=$PWD

# check out llvm
cd $LLVM_DIR
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm

# check out clang
cd $LLVM_DIR/llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang

# Check out extra Clang tools: (optional)
cd $LLVM_DIR/llvm/tools/clang/tools
svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra

# Checkout LLD linker
cd $LLVM_DIR/llvm/tools
svn co http://llvm.org/svn/llvm-project/lld/trunk lld

# Check out Compiler-RT (optional):
cd $LLVM_DIR/llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt

# Checkout Libomp
cd $LLVM_DIR/llvm/projects
svn co http://llvm.org/svn/llvm-project/openmp/trunk openmp

# Check out libcxx: (only required to build and run Compiler-RT tests on OS X, optional otherwise)
cd $LLVM_DIR/llvm/projects
svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx
svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi
svn co http://llvm.org/svn/llvm-project/test-suite/trunk test-suite

# Build LLVM and Clang:
cd $LLVM_DIR
mkdir build
cd build
cmake -G "Unix Makefiles" ../llvm
#cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=prefix=./install_ ../llvm
make
or
make -j8
(8 is core number, you can select the appropriate number based on your hardware)

# This builds both LLVM and Clang for debug mode.
# Note: For subsequent Clang development, you can just run make clang.
#make install

echo "finished"



#following two command may need to be executed before downloading/compiling lnt:

#installl git subversion
sudo apt-get install git subversion
#eay_install
sudo apt-get install python-setuptools python-dev build-essential


Following script can be used to download&build/run lnt

#/bin/sh -x

curdir=$PWD
export LNT_ROOT=$curdir

sudo easy_install virtualenv
mkdir $curdir/mysandbox
SANDBOX_ROOT=$curdir/mysandbox
virtualenv $SANDBOX_ROOT
source $SANDBOX_ROOT/bin/activate

cd $LNT_ROOT
svn co http://llvm.org/svn/llvm-project/lnt/trunk $LNT_ROOT/lnt
#$SANDBOX_ROOT/bin/python $LNT_ROOT/lnt/setup.py develop
python $LNT_ROOT/lnt/setup.py develop

cd $LNT_ROOT
mkdir $LNT_ROOT/testresult

svn co http://llvm.org/svn/llvm-project/test-suite/trunk ./llvm-test-suite
# to make use of clang build in llvm, add path to PATH
export PATH=$curdir/../llvm/build/bin:$PATH
#lnt runtest nt --sandbox testresult --cc clang --test-suite  llvm-test-suite
lnt runtest nt \
    --sandbox $LNT_ROOT/testresult \
    --cc clang \
    --test-suite $LNT_ROOT/llvm-test-suite
#if yacc is not available, please: sudo apt-get install flex bison


# commit data to server
lnt create ./myperfdb
lnt import --commit=1 ./myperfdb ./testresult/test-2017-02-20_16-25-46/report.json
lnt runserver --hostname=10.169.24.106 --port=8000 myperfdb

echo "finished"



submit other data to server:

lnt importreport --machine=MACHINE1 --order=123 --testsuite=nts 1.txt 1.json
lnt submit --commit=1 http://10.169.24.106:8000/submitRun 1.json

Example input file (1.txt):

    foo.exec 123
    bar.size 456
    foo/bar/baz.size 789details can be seen in lnt/docs/importing_data.rst



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章