LINUX.ORG.RU

Вышел LLVM/Clang 3.9

 ,


3

7

Что нового в LLVM:

  • разработчики отказались от поддержки autoconf в пользу CMake;
  • добавлена совместимость с ABI для GCC версии 5 и выше;
  • добавлен анализатор MemorySSA, который работает быстрее и точнее, чем MemoryDependenceAnalysis.
  • добавлена поддержка ThinLTO через ключ -flto=thin — по сравнению с обычным LTO кодогенерация намного быстрее, а итоговый код производительнее;
  • теперь возможно использование ключа -march=skylake-avx512, активирующего поддержку соответствующих процессоров Intel.
  • теперь присутствует полноценная поддержка ARM-архитектур Qualcomm's Kryo и Broadcom's Vulcan, начальная поддержка Cortex-R8 и ARMv8.2-A.
  • для бэкенда AMDGPU реализованы шейдеры OpenGL, буферы, атомарные счётчики, шейдерные расширения.

Что нового в Clang:

  • все возможности OpenCL 2.0 полностью реализованы;
  • полностью реализован ОpenMP 4.5 для CPU, ведётся работа над GPU-частью;
  • начато внедрение возможностей стандарта C++1z, которые активируются ключом -std=c++1z;
  • есть многочисленные изменения для ARM, MIPS и PowerPC.

>>> Подробности

Deleted

Проверено: Falcon-peregrinus ()
Последнее исправление: DeadEye (всего исправлений: 1)
Ответ на: комментарий от Deleted

Автотулз более нативен. Cmake генерирует проекты под IDE.

Autotools это стандарт. Более удобен для пользователя чем CMake.

./configure --help

И всё ясно:

--disable-FEATURE
--enable-FEATURE[=ARG]
Some influential environment variables:
...

Это GNU Coding Standards, в который входит Standard Targets for Users:

make install
make uninstall
make install DESTDIR=~/mydir #staged install
make dist
make clean
make distclean

и другие.

Netbeans создаёт проект на основе Makefile, значит этого достаточно.

Для разработчика использующего autotools тоже всё просто.

В windows достаточно среды MinGW. Все утилиты которые могут вызываться в Makefile сгенерированным automake: awk cat cmp cp diff echo egrep expr false grep install-info ln ls mkdir mv printf pwd rm rmdir sed sleep sort tar test touch tr true.

С точки зрения кроссплатформенности в любой системе для сборки достаточно posix shell, make, cc/c++, и этих утилит.

На windows сборка обычно медленнее в основном из-за того что создание короткоживущих процессов медленнее, и эти процессы требуют больше минимальной памяти.

Как я понял, компания которая начала разработку CMake, использовала в своем продукте TCL(отличный язык для этих целей), но создали какой-то свой странный который трудно запомнить потому что нет стройной логики его создания.

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

Для разработчика использующего autotools тоже всё просто.

А как вы кросс-компилируете util-linux?

Почему autotools при кросс-компиляции пытается подхватить библиотеки с хостовой системы?

--

Autotools or qmake? (комментарий) :)

В windows достаточно среды MinGW. Все утилиты которые могут вызываться в Makefile сгенерированным automake: awk cat cmp cp diff echo egrep expr false grep install-info ln ls mkdir mv printf pwd rm rmdir sed sleep sort tar test touch tr true.

Угу, а cmake она не нужна. И тулзы не нужны. И тулчейн божет быть MSVC'шный.

Пробовал собирать на винде проект с ворохом разных зависимостей типа Qt, ffmpeg и poppler? Я пробовал. Btw, всё что нужно сделать с cmake на винде — правильно прописать путь для поиска собранных модулей.

Stil ★★★★★
()
Ответ на: комментарий от tp_for_my_bunghole

Netbeans создаёт проект на основе Makefile, значит этого достаточно.

Для разработчика использующего autotools тоже всё просто.

В windows достаточно среды MinGW.

Нефть никогда не будет ниже 80$ за баррель. Недвижимость всегда растёт. Земля плоская.

fluorite ★★★★★
()
Ответ на: комментарий от fluorite

Нефть никогда не будет ниже 80$ за баррель. Недвижимость всегда растёт. Земля плоская.

C++ никогда не умрёт. Продолжительность компиляции/сборки не имеет значения.

http://yosefk.com/c fqa/defective.html

tp_for_my_bunghole
()
Ответ на: комментарий от Stil

Пробовал собирать на винде проект с ворохом разных зависимостей типа Qt, ffmpeg и poppler?

а зачем их собирать под виндой?

ananas ★★★★★
()
Ответ на: комментарий от tp_for_my_bunghole

Для разработчика использующего autotools тоже всё просто.

Посчитай сколько файлов тебе нужно создать чтобы собрать простой проект. Для cmake только 1.

pftBest ★★★★
()
Ответ на: комментарий от pftBest

Посчитай сколько файлов тебе нужно создать чтобы собрать простой проект. Для cmake только 1.

для autotools - всего два. вот только для сборки cmake-проекта требуется еще и cmake в системе, а для сборки autotools-проекта - только posix shell. продолжаем мериться дальше?

ananas ★★★★★
()
Ответ на: комментарий от ananas

два. configure.ac и makefile.am

Там же было о простом проекте и я показал, как сгенерировать configure.ac с помощью autoscan, т.е. писать его руками не надо было (только инициализацию automake потом добавить).

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Ты же его редактировал, значит он нужен. Если всякие логи я могу кинуть в гитигнор, то этот файл придется коммитить вместе с иходниками, без него у пользователя ничего не соберется.

pftBest ★★★★
()
Ответ на: комментарий от xaizek

сгенерированный зачастую требует правки

ananas ★★★★★
()
Ответ на: комментарий от pftBest

Это да. Я думал, речь о том, сколько руками надо делать, чтобы начать использовать.

xaizek ★★★★★
()
Ответ на: комментарий от ananas

а для сборки autotools-проекта - только posix shell.

... и, ЕМНИП, набор утилит (в нынешнем линуксе — coreutils).

AlexM ★★★★★
()
Ответ на: комментарий от AlexM

и, ЕМНИП, набор утилит (в нынешнем линуксе — coreutils).

в общем то, что bsd-шники называют базовой системой. которая, в принципе, гарантированно должна быть у пользователя

ananas ★★★★★
()
Ответ на: комментарий от anonymous

Что не мешает крупным дистрам не устанавливать эти пакеты по-умолчанию

??? ты вообще о чем? эти - это какие?

ananas ★★★★★
()
Ответ на: комментарий от ananas

эти - это какие?

Например make, например gcc, без этого и не соберешь autotools проект на такой «базовой» системе

anonymous
()
Ответ на: комментарий от anonymous

Например make, например gcc, без этого и не соберешь autotools проект на такой «базовой» системе

любитель все довести до абсурда?

ananas ★★★★★
()
Ответ на: комментарий от ananas

Любитель указать на бред «искаропке» когда речь идёт о сборке и ты один хрен не один ворох говна ещё поставишь.

anonymous
()
Ответ на: комментарий от ananas

для autotools - всего два. вот только для сборки cmake-проекта требуется еще и cmake в системе, а для сборки autotools-проекта - только posix shell. продолжаем мериться дальше?

Я пишу на Компонентном Паскале и читая проблемы со сборкой проектов мне становится смищно. А со мной мерится не надо, так как я весь модульный и компонентный. Ещё, я не знаю, что такое система сборки cmake и autotools. Ибо вся эта ваша хуита сборочная система по сравнению со средой BlackBox CB каменный век.

Си плюс-плюснутые лохи страдайте дальше.

anonymous
()
Ответ на: комментарий от pftBest

Посчитай сколько файлов тебе нужно создать чтобы собрать простой проект. Для cmake только 1.

Для autotools 2, configure.ac и Makefile.ac;

configure.ac:

AC_INIT([Tutorial Program], 1.0)
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_CONFIG_FILES(Makefile)
AC_OUTPUT

Makefile.ac:

bin_PROGRAMS = prog_name			
prog_name_SOURCES = main.c

Комманды:

> aclocal
> autoconf
> automake --add-missing --foreign

Если это сложно для разработчика который должен писать программы на C++, то надо остановиться и подумать что вообще делать. Простые принципы текстовых макро. Libtool требует чтения как и git в начале.

CMake не представляет почти никакой контекстной помощи в командной строке проекта. Какой-то мусор показывает. Но во время сборки красивенько, цвета.

У CMake есть хорошие свойства, но для закрытых проектов. Стандарта нет. Как настраивать сборку обычно знают только разработчики.

tp_for_my_bunghole
()
Последнее исправление: tp_for_my_bunghole (всего исправлений: 2)
Ответ на: комментарий от anonymous

поздравляю тебя, шарик, ты - балбес. если действительно не понимаешь, о чем речь - не стоит встревать, за умного сойдешь. иначе - толсто, и ты сам знаешь, куда и с какой скоростью идти

ananas ★★★★★
()
Ответ на: комментарий от anonymous

да хоть на суахили или функционально-эльфийском. твои поделки все равно никто, кроме тебя, не собирает. потому и проблем нет

ananas ★★★★★
()
Ответ на: комментарий от ananas

Зачем ты агришься на просто толстенного тролля? У него уже был почти провал. Никто целый день на него не реагировал, а ты пришёл и покормил.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.