October 23, 2024

Установка Hikari-LLVM15 версии 18.1.8 и компиляция LLVM на Ubuntu

1. Клонирование репозитория:

В терминале выполните команду для клонирования нужной версии Hikari-LLVM15:

git clone --branch llvm-18.1.8rel --recursive https://github.com/61bcdefg/Hikari-LLVM15.git
Эта команда клонирует репозиторий с определённой веткой и загружает все необходимые подмодули.

2. Обновление системы и установка зависимостей:

Выполните обновление списка пакетов и установите необходимые инструменты для сборки:

sudo apt-get update
sudo apt-get install build-essential cmake ninja-build python3
build-essential включает компиляторы и библиотеки для сборки пакетов, cmake управляет процессом сборки, ninja-build — это высокопроизводительная система сборки, а python3 потребуется для скриптов конфигурации.

3. Создание директории для сборки:

Перейдите в директорию, куда вы клонировали репозиторий Hikari-LLVM15:

cd Hikari-LLVM15
Эта директория будет использоваться для хранения файлов сборки.

4. Переход в папку проекта:

Перейдите в директорию, куда вы клонировали репозиторий Hikari-LLVM15:

cd Hikari-LLVM15

5. Создание директории для сборки:

Создайте папку для сборочных файлов, чтобы изолировать их от исходников:

mkdir build

6. Переход в директорию сборки:

Перейдите в только что созданную папку build:

cd build

7. Конфигурация сборки:

Запустите команду конфигурации CMake с использованием Ninja, указывая, какие цели (архитектуры) компилировать:

cmake -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" ../llvm

-G Ninja: указывает использовать систему сборки Ninja.
-DCMAKE_BUILD_TYPE=MinSizeRel: минимизирует размер релизной сборки.
-DLLVM_ENABLE_PROJECTS="clang": включает Clang, который необходим для компиляции и анализа C/C++ кода.
-DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64": компилируются целевые архитектуры X86, ARM и AArch64.

8. Запуск сборки:

После успешной конфигурации выполните команду для сборки всех компонентов:

ninja
ninja — это быстрая и эффективная система сборки, которая ускорит процесс компиляции.