Статическая сборка llvm-ar - PullRequest
1 голос
/ 09 июля 2020

Я пытаюсь скомпилировать 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 вместо системного по умолчанию.

...