Cmake 静态构建llvm ar

Cmake 静态构建llvm ar,cmake,llvm,Cmake,Llvm,我正试图从llvm静态编译llvm ar(仅此而已),因为我需要一个静态ar实现用于另一个目的。AFAICS官方的LLVM构建文档没有讨论这种用法,只讨论了使用共享libs构建的选项,默认情况下该选项是禁用的。向CLAGS或CMake选项LLVM CFLAGS添加-static,根本不会改变构建过程 这是我现在正在运行的构建过程: cmake-DLLVM\u ENABLE\u PROJECTS=llvm ar-G“Unix生成文件”。/llvm make-j3llvm-ar 然后构建一个动态l

我正试图从llvm静态编译
llvm ar
(仅此而已),因为我需要一个静态ar实现用于另一个目的。AFAICS官方的LLVM构建文档没有讨论这种用法,只讨论了使用共享libs构建的选项,默认情况下该选项是禁用的。向CLAGS或CMake选项LLVM CFLAGS添加
-static
,根本不会改变构建过程

这是我现在正在运行的构建过程:

cmake-DLLVM\u ENABLE\u PROJECTS=llvm ar-G“Unix生成文件”。/llvm
make-j3llvm-ar
然后构建一个动态llvm ar:

$ ldd bin/llvm-ar
    linux-vdso.so.1 (0x00007fff46154000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007faa84536000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007faa84319000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007faa840ef000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007faa83d66000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007faa839c8000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007faa837b0000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faa833bf000)
    /lib64/ld-linux-x86-64.so.2 (0x00007faa87163000)

如何使此目标静态编译?我还希望使用
musl gcc
而不是系统默认值进行构建。

确保环境变量
LIBRARY\u PATH
包括您想要使用的库,而不是您不想要的库。确保环境变量
LIBRARY\u PATH
包括您想要使用的库,而不是您不想要的库。