Здравствуйте, vovkos, Вы писали:
V>Мотивация создания такова.
V>Официальный сайт LLVM готовые сборки предлагает, но количество доступных конфигураций до слёз мало. LLVM большой и собирается долго, последние версии -- по 40-50 минут на средних-по-больнице машинах. При этом в большинстве бесплатных облачных сервисов непрерывной интеграции стоит жёсткий лимит на время сборки (ещё бы!) -- и эти факты ну никак не сочетаются друг с другом. Впрочем, даже если бы лимита и не было, не хочется каждый раз иметь эту часовую задержку до начала тестирования собственно вашего проекта.
Релиз LLVM/Clang-4.0.0 состоялся 13 марта 2017г —
https://www.opennet.ru/opennews/art.shtml?num=46181
На FreeBSD 11-STABLE LLVM/Clang-4.0.0 сейчас системный компилятор:
% cc --version
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)
Target: x86_64-unknown-freebsd11.0
Thread model: posix
InstalledDir: /usr/bin
От порта
devel/llvm40 во FreeBSD сейчас зависит графическая подсистема 2D/3D-акселерации
Mesa/DRI-17.0.3.
Состав компилятора из порта, собранного с отличными от дефолтных опциями:
% pkg info llvm40
llvm40-4.0.0_2
Name : llvm40
Version : 4.0.0_2
Installed on : Sun Apr 2 13:07:23 2017 MSK
Origin : devel/llvm40
Architecture : FreeBSD:11:amd64
Prefix : /usr/local
Categories : devel lang
Licenses : LLVM
Maintainer : brooks@FreeBSD.org
WWW : http://llvm.org/
Comment : LLVM and Clang
Options :
CLANG : on
COMPILER_RT : on
DOCS : off
EXTRAS : off
GOLD : off
LIT : off
LLD : on
LLDB : off
OPENMP : on
Shared Libs required:
libedit.so.0
libxml2.so.2
Shared Libs provided:
libLLVM-4.0.so
libLTO.so.4
libclang.so.4
libomp.so
libclang_rt.dyndd-x86_64.so
libclang_rt.asan-x86_64.so
Annotations :
Flat size : 974MiB
Description :
The LLVM Project is a collection of modular and reusable compiler and
toolchain technologies.
This port includes Clang (a C/C++/Objective-C compiler), LLD (a linker),
LLDB (a debugger), an OpenMP runtime library, and the LLVM infrastructure
these are built on.
WWW: http://llvm.org/
Саму систему и почти всё ПО из портов можно собрать им или системным LLVM/Clang. (Надо пояснить, что есть
GCC 5.4.0 для тех портов, которые не поддерживают сборку Clang — это примерно 1111 портов.)
Дополнительный плюс использования LLVM/Clang — это оптимизация кода на этапе компоновки (LTO, Link-time optimization) с помощью линковщика LLD, которая показывает неплохие результаты быстродействия и качества результирующего кода.
И переход FreeBSD с GNU ld на LLVM LLD в скором времени:
% ld --version
GNU ld 2.17.50 [FreeBSD] 2007-07-03
Copyright 2007 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.