# btrfs subvolume create ~/public_html/code/llvm/ # docker run -t -v ~/public_html/code/llvm/:/output/llvm -v /tmp/images:/images -v $PWD:/scripts:ro codebrowser /bin/bash /scripts/update-llvm.sh MODULE=llvm OUTPUTDIR=/output/$MODULE WOBOQ_PATH=/woboq_codebrowser #Python 3 need to be the default mkdir $HOME/bin ln -s /usr/bin/python3 $HOME/bin/python export PATH=$HOME/bin:$PATH LLVMDIR=$HOME/llvm cd $HOME git clone --depth 1 https://github.com/llvm/llvm-project llvm rm -r $OUTPUTDIR cd $LLVMDIR rm -r llvm_build REV=`git describe --always` PROJECTS=`ls -d */ | sed "s|^\(.*\)/$|-p \\1:$PWD/\\1:$REV |g"| tr -d '\n'` echo $PROJECTS mkdir llvm_build cd llvm_build cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_C_COMPILER=/llvm/bin/clang -DCMAKE_CXX_COMPILER=/llvm/bin/clang++ $LLVMDIR/llvm -DLLVM_ENABLE_PROJECTS=all make -j4 clang-tablegen-targets cd $LLVMDIR mkdir -p $OUTPUTDIR time $WOBOQ_PATH/generator/codebrowser_generator -a -b llvm_build/ -o $OUTPUTDIR $PROJECTS #skip the clang/test/ because it is likely to cause a crash time find -type f | grep -v "clang/test/" | egrep -i "\\.(c$|s$|cpp|cc|cxx|qml|qdoc|m$|mm|h$|hpp|hxx|hh|td)" | \ xargs $WOBOQ_PATH/generator/codebrowser_generator -b llvm_build/ -o $OUTPUTDIR $PROJECTS date $WOBOQ_PATH/indexgenerator/codebrowser_indexgenerator $OUTPUTDIR touch $OUTPUTDIR/refs/index.html $OUTPUTDIR/fnSearch/index.html mksquashfs $OUTPUTDIR /images/$MODULE.sqs -no-xattrs -all-root -no-progress -noappend