LLVM 을 Windows Visual Studio Community 2015에서 build
여기 내용은 ref. 1의 내용을 직접 해보면서 정리한 내용이다. 정확한 내용은 ref. 1을 보자.여기서 ref. 1 과 다른 부분은 을 이용해서 표시했다.
LLVM 을 구성하는 3가지 project
- LLVM Suite : 다음 것들을 포함한다.
- assembler,
- disassembler,
- bitcode analyzer,
- bitcode optimizer
- basic regression tests : CLang 과 LLVM tools 의 테스트에 사용할 수 있다.
- LLVM 을 사용하는 데 필요한 tools / libraries/ header files
- CLang : C, C++, Object-C, Object C++ 의 "소스코드"를 CLang 이 compile 해서 LLVM bitcode 를 만들어 준다.
source code ---> LLVM bitcode 를 하는데, 이것을 위한 tool 이 CLang 이다.
- Test Suite : Windows 에서 실행되지 않는다.
directory 구조 / tool chain 등에 대한 추가적인 정보는 ref. 2 에서 알 수 있다.
필요 조건
- Visual Studio 2015 가 구동될 수 있는 system.
- 대략 3GB 이상의 HDD : The LLVM source tree + object files + libraries + executables
- Visual Studio 2015 버전 이상의 Visual Studio : 여기선 Visual Studio 2015 Community 를 사용할 것이다.
- CMake build system : 아래 "CMake 설치" 참조
- LLVM test 를 실행하기 위해서 python 2.7 이상이 필요
- GnuWin32 tools
- LLVM source tree 의 path 에는 space 가 있으면 안된다.
소스 받기
svn 으로 되어 있다. svn 을 설치하기 귀찮은 관계로 여기서는 git 을 이용한다.- GitHub - llvm-mirror/llvm
- GitHub - llvm-mirror/clang : clang source 는 따로 다운받아야 한다.
c:\a\programming\llvm> git clone http://llvm.org/git/llvm.git c:\a\programming\llvm> cd tools c:\a\programming\llvm\tools> git clone http://llvm.org/git/clang.git
- 소스를 받는데에만 약 95분정도가 소요됐다.(llvm source : 60분 / clang source : 35분)
- 빠르게 하려면 한번에 받아서 unzip 하는 것이 나을 듯 하다.
Visual Studio 2015 실행
Visual C++ toolchain 이 필요해서 미리 한번 실행해서 tool chain 을 설치해야 한다.12시 51분에 시작
CMake 설치
https://cmake.org/download/ 에서 download 하면 된다. 여기서는- cmake-3.7.1-win64-x64.msi
CMake 실행
이제 CMake GUI를 실행해 보자.- c:\Program Files\CMake\bin\cmake-gui.exe
절차
- Where is the source code : llvm 을 download 받았던 path, 즉, .git 이 있는 그 folder 를 지정해 준다.
- Where to build the binaries : 이것은 CMake 로 만들어질 output file 이 어디에 두느냐 이다. 여기서는 binary 를 만드는 것은 아니고, sln file 등을 만들어준다.
불확실하지만, path 는 llvm source root 안으로 잡아야 한다. 외부로 잡았었는데, *GenRegisterInfo 가 include 되는 곳에서 error 가 발생했다.(그런데 뭔가 필자의 설정 문제 같기도 해서 잘 모르겠다.) - Configure : configure 버튼을 누르면 가운데 화면에 빨간색 바탕으로 변수들이 나온다. 이 변수들의 설정을 원하는대로 변경하고, Generate 버튼을 누르면 .sln + .proj 파일들이 만들어진다. ref. 1 의 이야기로는 default 값으로 generate 해도 별 문제 없다고 한다.
이 때 CLANG_* 변수들이 보인다면, CLANG 에 대한 project 도 같이 만들어진다. 보이지 않는다면, clang source 가 없는 것일 것이다. - CMAKE_INSTALL_PREFIX : 이 값은 LLVM 을 compile 해서 나오는 binary 를 저장할 path 를 지정해 주는 것이다. default 는 그림과 같다.
- Generate : 이것을 누르면 .sln + .proj 파일들을 만들어준다.
clang source 없이 llvm source 만 설정했을 때 |
clang source 를 추가했을 때 |
LLVM.sln
이제 LLVM.sln 을 열자. "where to build the binaries" 를 "c:\a\programming\llvm\llvm\build\" 로 설정했다면 아래 경로에 LLVM.sln 이 있다.- c:\a\programming\llvm\llvm\build\LLVM.sln
Build
모든 project 를 build 하려면, "ALL_BUILD" 또는 "INSTALL" 을 Build하면 된다.참고로, clang source 는 llvm 을 이용하기 때문에 2개의 source 가 같은 시점이어야 한다. 내 경우는 llvm 만 먼저 설치후에 나중에 며칠 지나서 clang source 를 받아서 build 했는데, 그랬더니 struct 등이 맞지 않아서 error 가 많이 났다.
INSTALL 은 ALL_BUILD 를 실행하고, libs, header 등도 같이 CMAKE_INSTALL_PREFIX 폴더에 copy 해 준다.
compile 시간
- CPU : i3-2100 CPU@3.10GHz
- RAM : 8GB
- DISK : SATA3(6Gb/s), 7200RPM, 16MB
- compile 시간 :
- 약 65분(CLang 을 제외한 경우),
- CLang 을 포함하면 최소 2시간정도
INSTALL
기본적으로 아래 경로에 실행파일이 만들어진다.- <.sln file directory>\Debug\bin
만약 install 을 실행한 경우라면, 위의 path 에서 만들어진 binary file 들은 CMAKE_INSTALL_PREFIX 에 정의한 path 로 복사된다.
- c:\Program Files (x86)\LLVM
See Also
References
- Getting Started with the LLVM System using Microsoft Visual Studio — LLVM 4.0 documentation
- Getting Started with the LLVM System — LLVM 4.0 documentation
댓글 없음:
댓글 쓰기