makepkg.conf

April 10, 2025 · View on GitHub

Универсальный makepkg для Arch Linux с агрессивными флагами оптимизации.

Функционал:

  • makepkg.conf - профили без флагов на безопасность
  • makepkg-safe.conf - профили с добавлением флагов на безопасность
  • Профиль clang+polly+lld
  • Профиль clang+lld
  • Профиль clang+lld
  • Профиль gcc+ld
  • Профиль gcc+ld

Установка:

sudo cp makepkg.conf /etc/makepkg.conf - перезапишется ваш стандартный makepkg.conf, но вы можете переместить makepkg.conf в любое удобное вам место.

Использование:

  1. Установка зависимостей для clang и gcc:

sudo pacman -S llvm clang lld polly

  1. Если хотите использовать clang или gcc, вам нужно экспортировать один из профилей:

export USE_COMPILER=clang

export USE_COMPILER=gcc

  1. Дальше вы можете использовать один из профилей на выбор clang или gcc:

export PROFILE=clang-polly - использование clang+lld+polly

export PROFILE=clang - использование clang+lld

export PROFILE=clang-stable - использование clang+lld с менее агрессивными флагами

export PROFILE=gcc - использование gcc+ld

export PROFILE=gcc-stable - использование gcc+ld с менее агрессивными флагами

  1. Соответственно вы можете собирать пакет для Arch Linux:

makepkg -sric

makepkg -sric --config /путь/makepkg.conf - если вы переместили makepkg.conf в другое место, то укажите путь к нему

Если у вас будут какие-то проблемы при сборке на clang, пожалуйста, не пишите мне об этом. Но если имеются проблемы при сборке на gcc или возникли какие-то проблемы при использовании(или регрессии в производительности), то напишите об этом в issue или в Telegram: https://t.me/Terromur

Так же приветствуются предложения по добавлению флагов на ещё большую оптимизацию, но не приветствую по добавлению флагов на безопасность.

Так же из моих наработок для сборки с агрессивной оптимизацией: https://github.com/Terromur/PKGBUILDs