Я пытаюсь скомпилировать llvm-ar
(и только это) из LLVM статически, потому что мне нужна реализация stati c ar для другой цели. AFAICS официальная документация по сборке LLVM не обсуждает это использование, а только возможность сборки с общими библиотеками, которая в любом случае отключена по умолчанию. Добавление -static
в CLAGS или параметр CMake LLVM CFLAGS вообще не меняет процесс сборки.
Это процесс сборки, который я выполняю прямо сейчас:
cmake -DLLVM_ENABLE_PROJECTS=llvm-ar -G "Unix Makefiles" ../llvm
make -j3 llvm-ar
который затем строит динамический c 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
вместо системного по умолчанию.