다음을 통해 공유


LLVM 기능 선택

라이브러리 설치

llvm을 예로 살펴보겠습니다. 다음을 사용하여 설치할 수 있습니다.

> vcpkg install llvm

또는 다음을 사용하는 매니페스트를 통해 다음을 수행합니다.

{
  "dependencies": ["llvm"]
}

이제 llvm이 설치되면 다음을 실행할 수 있습니다.

> installed\x86-windows\bin\llc.exe --version

다음이 표시됩니다.

  Registered Targets:
    x86    - 32-bit X86: Pentium-Pro and above
    x86-64 - 64-bit X86: EM64T and AMD64

추가 기능 설치

그러나 llvm은 ARM에서 SPARC, SystemZ에 이르기까지 더 많은 대상을 지원합니다. 그러나 현재 설치에는 ARM이 대상으로 포함되지 않습니다. 따라서 vcpkg를 사용하여 다른 LLVM 대상을 설치하는 방법을 알아야 합니다. llvm 포트는 "target-*" 기능을 통해 이를 허용합니다.

이렇게 하면 다음을 수행합니다.

> vcpkg search llvm

다음을 확인할 수 있습니다.

llvm                 10.0.0#6         The LLVM Compiler Infrastructure
llvm[clang]                           Build C Language Family Front-end.
llvm[clang-tools-extra]               Build Clang tools.
...
llvm[target-all]                      Build with all backends.
llvm[target-amdgpu]                   Build with AMDGPU backend.
llvm[target-arm]                      Build with ARM backend.
...

설치 기능 구문을 사용하여 이러한 대상을 설치할 수 있습니다.

> vcpkg install llvm[target-arm] # Installs LLVM with the ARM target
{
  "dependencies": [{ "name": "llvm", "features": ["target-arm"] }]
}

기본 기능 옵트아웃

llvm 포트에는 사용자가 원하지 않을 수 있는 몇 가지 기본 기능이 포함되어 있습니다. 예를 들어 clang 이 기능은 기본값입니다. 즉 vcpkg install llvm , clang를 빌드하고 설치합니다. LLVM을 백 엔드로 사용하는 컴파일러를 작성하는 경우 clang를 설치하는 데 관심이 없을 수 있으며, 특수 core 한 "기능"으로 기본 기능을 사용하지 않도록 설정하여 이 작업을 수행할 수 있습니다.

> vcpkg install llvm[core,target-arm] # removing the default-feature with "core" also removes all of the default targets you get

또는 매니페스트 파일에서:

{
  "dependencies": [{
    "name": "llvm",
    "default-features": false,
    "features": ["target-arm"]
  }]
}