LLVM build 2021 - shijunjing/edk2 GitHub Wiki
Set default compiler as gcc-10
jshi19@ub2-uefi-b01:~/llvm/llvm-project/_build_minsizerel$ sudo update-alternatives --config gcc
There are 5 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/gcc-5 200 auto mode
* 1 /usr/bin/gcc-10 100 manual mode
2 /usr/bin/gcc-5 200 manual mode
3 /usr/bin/gcc-7 100 manual mode
4 /usr/bin/gcc-8 100 manual mode
5 /usr/bin/gcc-9 100 manual mode
jshi19@ub2-uefi-b01:~/llvm/llvm-project$ sudo update-alternatives --config g++
There are 4 choices for the alternative g++ (providing /usr/bin/g++).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/g++-10 100 auto mode
* 1 /usr/bin/g++-10 100 manual mode
2 /usr/bin/g++-5 100 manual mode
3 /usr/bin/g++-7 100 manual mode
4 /usr/bin/g++-9 100 manual mode
Switch to branch main from master:
jshi19@ub2-uefi-b01:~/llvm/llvm-project$ git checkout main
jshi19@ub2-uefi-b01:~/llvm/llvm-project$ git status
On branch main
Your branch is up to date with 'origin/main'.
jshi19@ub2-uefi-b01:~/llvm/llvm-project$ mkdir _build_minsizerel/
jshi19@ub2-uefi-b01:~/llvm/llvm-project$ mkdir _install_minsizerel/
jshi19@ub2-uefi-b01:~/llvm/llvm-project/_build_minsizerel$ cmake ../llvm -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="MinSizeRel" -DLLVM_TARGETS_TO_BUILD="X86" -DCMAKE_VERBOSE_MAKEFILE=ON -DLLVM_ENABLE_PROJECTS="clang;lld" -DCMAKE_INSTALL_PREFIX=../_install_minsizerel
jshi19@ub2-uefi-b01:~/llvm/llvm-project/_build_minsizerel$ make -j $(getconf _NPROCESSORS_ONLN)
jshi19@ub2-uefi-b01:~/llvm/llvm-project/_build_minsizerel$ make install -j $(getconf _NPROCESSORS_ONLN)
How to fix 'Wine Mono not installed': https://www.youtube.com/watch?v=RSM4wygz39Q
jshi19@ub2-uefi-b01:~/wksp_efi/edkrepo/ServerGen2/Intel$ sudo apt-get install winetricks
jshi19@ub2-uefi-b01:~/wksp_efi/edkrepo$ wget https://dl.winehq.org/wine/wine-mono/6.1.0/wine-mono-6.1.0-x86.msi
jshi19@ub2-uefi-b01:~/wksp_efi/edkrepo/ServerGen2/Intel$ winetricks uninstaller
Install necessary python module to build ME
$ python3 -m pip install yapsy
$ python3 -m pip install crcmod
Build BaseTool with Clang:
jshi19@ub2-uefi-b01:~/wksp_efi/edk2-3$ make -C BaseTools/ CXX=llvm