<chapter id="features">
<title
>Можливості скрипту</title>

<sect1 id="features-overview">
<title
>Огляд можливостей</title>

<para
>Серед можливостей &kdesrc-build;: </para>

<itemizedlist>

<listitem
><para
>Ви можете вказати програмі, що слід виконати фальшиву послідовність операцій. Якщо ви передасте параметр <option
>--pretend</option
> або <option
>-p</option
> до рядка команди, скрипт надасть вам докладний опис команд, які потрібно виконати скрипту, без справжнього виконання команд. Втім, якщо ви ще ніколи не запускали &kdesrc-build;, вам варто спочатку віддати команду <command
>kdesrc-build <option
><link linkend="cmdline-metadata-only"
>--metadata-only</link
></option
></command
>, інакше <option
>--pretend</option
> не працюватиме як слід. <tip
><para
>Якщо вам потрібні ще докладніші пояснення щодо дій &kdesrc-build;, спробуйте скористатися параметром <option
>--debug</option
>. </para
></tip>

</para
></listitem>

<listitem
><para
>&kdesrc-build; надає вам змогу швидко отримувати код модулів. Якщо код модуля, який ви отримуєте, вже було отримано раніше, &kdesrc-build; отримає лише дані внесків, яких ще не було на вашому комп'ютері. </para>

<tip
><para
>Загалом, для початкового отримання модуля Git не потрібно виконувати ніяких попередніх дій, оскільки за будь-яких умов доведеться отримувати весь вміст сховища Git. Тому серверу доволі просто визначити, що саме ви бажаєте отримати.</para
></tip>

<para
>Це пришвидшить роботу і полегшить вам отримання з анонімних серверів kde.org.</para>
</listitem>

<listitem
><para
>Додаткове пришвидшення можна отримати, якщо почати процес збирання модуля одразу після того, як вихідні коди цього модуля буде отримано. (Ця можливість доступна починаючи з версії 1.6) </para
></listitem>

<listitem
><para
>Чудова підтримка збирання бібліотеки &Qt; (якщо програмне забезпечення &kde;, яке ви намагаєтеся зібрати, залежить від найсвіжішої версії &Qt;, доступу до пакунків якої у вашому дистрибутиві ще не передбачено). </para
></listitem>

<listitem
><para
>&kdesrc-build; не потребує наявності графічного інтерфейсу для роботи. Отже, ви можете збирати програмне забезпечення &kde; без потреби у переходу до графічного середовища. </para
></listitem>

<listitem
><para
>Підтримка встановлення типових параметрів для всіх модулів (зокрема параметрів компіляції і налаштування). Крім того, такі параметри, зазвичай, можна змінити для окремих модулів.</para>

<para
>Крім того, &kdesrc-build; <link linkend="kdesrc-build-std-flags"
>додасть стандартні прапорці</link
>, потрібні для зберігання повідомлень про труднощі і помилки: вам не доведеться копіювати їх для пошуку у мережі власноруч. Варто зауважити, що це не стосується (нетипових) наборів інструментів, якщо вказано, наприклад, за допомогою <link linkend="conf-cmake-toolchain"
>cmake-toolchain</link
> </para
></listitem>

<listitem
><para
>&kdesrc-build; може отримувати певні <link linkend="using-branches"
>гілки або версії</link
> модуля. Ви можете вказати для отримання навіть окрему <link linkend="conf-revision"
>версію</link
> певного модуля. </para
></listitem>

<listitem
><para
>&kdesrc-build; може автоматично перемикати каталог вихідних кодів для отримання з іншого сховища, гілки або випуску. Цю дію буде виконано автоматично, якщо ви зміните параметр, який вказує якою має бути адреса &url; сховища, але вам доведеться скористатися параметром <link linkend="cmdline-src-only"
>--src-only</link
>, щоб надати змогу &kdesrc-build; дізнатися про те, що скрипту можна виконувати таке перемикання. </para
></listitem>

<listitem
><para
>&kdesrc-build; може <link linkend="partial-builds"
>отримувати лише частини модуля</link
> у тих випадках, коли вам потрібна лише одна програма з великого модуля. </para
></listitem>

<listitem
><para
>Для розробників: &kdesrc-build; <link linkend="ssh-agent-reminder"
>нагадає вам</link
> про те, що ви використовуєте git+ssh://, але <application
>ssh-agent</application
> не запущено, оскільки таке використання призведе до повторних запитів на пароль від &ssh;. </para
></listitem>

<listitem
><para
>Можливість <link linkend="deleting-build-dir"
>вилучення каталогу збирання</link
> модуля після його встановлення для економії місця за рахунок збільшення наступного часу збирання. </para
></listitem>

<listitem
><para
>Адреси каталогів, які використовуються &kdesrc-build; можна налаштувати (навіть для окремих модулів). </para
></listitem>

<listitem
><para
>Можливість використання &sudo;, або іншої вказаної користувачем команди для <link linkend="root-installation"
>встановлення модулів</link
>, призначеної для того, щоб &kdesrc-build; не потрібно було запускати від імені привілейованого користувача. </para
></listitem>

<listitem
><para
>&kdesrc-build; типово запускається зі <link linkend="build-priority"
>зниженими правами доступу</link
>, це надає вам змогу використовувати &kdesrc-build; під час роботи з іншими програмами. </para
></listitem>

<listitem
><para
>Підтримка використання <link linkend="using-branches"
>випусків і гілок</link
> &kde;. </para
></listitem>

<listitem
><para
>Передбачено підтримку <link linkend="resuming"
>поновлення збирання</link
> з вказаного модуля. Ви навіть можете <link linkend="ignoring-modules"
>ігнорувати певні модулі</link
> тимчасово для вказаного сеансу збирання. </para
></listitem>

<listitem
><para
>&kdesrc-build; покаже <link linkend="build-progress"
>поступ збирання</link
> за використання &cmake;, і завжди стежитиме за часом процесу збирання, отже ви знатимете про тривалість збирання. </para
></listitem>

<listitem
><para
>Постачається з вбудованим набором типових параметрів, щоб відповідають збиранню базового середовища &kde; для одного користувача з анонімного сховища коду. </para
></listitem>

<listitem
><para
>Використання тильди у параметрах налаштування. Наприклад, ви можете вказати: <programlisting
>install-dir ~/kde/usr</programlisting>
</para
></listitem>

<listitem
><para
>Автоматичне встановлення системи збирання з каталогом вихідних кодів, який відрізняється від каталогу збирання, що забезпечить чистоту каталогу вихідних кодів. </para
></listitem>

<listitem
><para
>Ви можете вказати загальні параметри, які буде застосовано до всіх отриманих модулів, крім того, ви можете визначити параметри для окремих модулів. </para
></listitem>

<listitem
><para
>Примусове повне повторне збирання: для цього слід запустити &kdesrc-build; з параметром <option
>--refresh-build</option
>. </para
></listitem>

<listitem
><para
>Ви можете вказати значення різноманітних змінних середовища, які буде використано під час збирання, зокрема <envar
>DO_NOT_COMPILE</envar
> і <envar
>CXXFLAGS</envar
>. </para
></listitem>

<listitem
><para
>Запис команд до журналу. Журнали датуватимуться і нумеруватимуться так, що у вас завжди буде журнал запуску скрипту. Крім того, буде створено символічне посилання з назвою latest, яке завжди вказуватиме на найсвіжіший запис журналу у каталозі журналу. </para
></listitem>

</itemizedlist>

</sect1
>&kdesrc-build-logging; </chapter>
