|
2.3, Аноним (-), 00:08, 16/08/2017 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Хипсторы ниосилили make?
Скорее './configure &&'make && make DESTDIR="/I/Wanted/Install/Here" install' слишком "жирный" подход.
| |
|
3.26, Michael Shigorin (ok), 07:21, 16/08/2017 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Скорее './configure &&'make && make DESTDIR="/I/Wanted/Install/Here" install'
> слишком "жирный" подход.
Ну если запускать всё, что эти два make выведут -- "то я за себя не отвечаю" (ц) Незнайка. Зачем Вы вписали эти две обратные кавычки?
| |
|
|
3.63, X4asd (ok), 11:34, 16/08/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Скорее cmake
meson и cmake -- это системы для одной и той же целевой ниши.
самые прямые конкуренты.
оба ориентированы на C/C++ (в основном.. а всё остальное собирают плохо).
оба собирают через ninja.
оба выдумыли свой не-тьюрингполный язык описания структур. (даже учитывая что meson написан на Python и они могли бы интерпретировать Python в качестве DSL, но не стали)
выигрыш meson перед cmake в основном оказался в том что в cmake идиотские и совершенно неадекватные ключи командной строки.
ещё можно добавить что meson более дружественна к pkg-config -- а значит и более дружественна к экосистеме программ GNU/Linux
| |
|
4.67, user (??), 12:15, 16/08/2017 [^] [^^] [^^^] [ответить]
| +5 +/– |
>ninja
Это тот самый, где "для сборки ninja нужен ninja, возьмите бинарик с нашего сайта"? Пусть сами таким пользуются.
| |
|
5.85, Аноним (-), 14:32, 16/08/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Это тот самый, где "для сборки ninja нужен ninja, возьмите бинарик с нашего сайта"? Пусть сами таким пользуются.
адепты раста и явки недоумевают.
"для сборки rust нужен rust, возьмите бинарник с нашего сайта".
"для сборки jdk нужен jdk, возьмите бинарник с нашего сайта".
| |
|
|
7.108, Аноним (-), 21:17, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
> моя довольна - для сборки clang C нужен C++ компилятор ;-)
Тут важно, что 1. подойдёт ЛЮБОЙ С++ компилятор (так что можно использовать тот, к которому есть доверие), 2. C++ компилятор есть практически везде (так что не надо ставить строго определённую версию ОС и софта, а можно воспользоваться уже установленной), 3. C++ компиляторов существует больше одной реализации (так что если одна из них помрёт, clang всё равно можно будет собрать).
В случае с растом и явой эти три пункта неприменимы.
| |
|
8.109, . (?), 21:27, 16/08/2017 [^] [^^] [^^^] [ответить] | –1 +/– | ну, не то чтоб совсем любой, кажется, нужен любой 11й , что сильно сужает выбор... текст свёрнут, показать | |
|
|
|
5.127, Ordu (ok), 11:26, 18/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ты в курсе, что для сборки gnu make нужен gnu make? В мире тулчейнов -- это нормальная ситуация.
| |
|
6.129, пох (?), 16:05, 18/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Ты в курсе, что для сборки gnu make нужен gnu make?
не, не нужен - bsd make собирается.
| |
|
|
4.70, Аноним (-), 12:39, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
> оба собирают через ninja.
cmake работает с разными бекендами, в том числе с make от рождения.
> в cmake идиотские и совершенно неадекватные ключи командной строки
Попытался вспомнить, когда мне приходилось использовать хоть один ключ кроме -D, и не смог. Нет, когда-то точно использовал -L, но уже не помню, когда.
> meson более дружественна к pkg-config
cmake тоже прекрасно умеет работать с pkg-config, правда разработчики cmake его почему-то не любят и используют крайне редко.
| |
|
5.79, Аноним (-), 13:07, 16/08/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> в cmake идиотские и совершенно неадекватные ключи командной строки
> Попытался вспомнить, когда мне приходилось использовать хоть один ключ кроме -D
Фишка в том, что в cmake практически все настраивается через ключ -D, включая все опции определенные внутри проекта
| |
|
4.86, Аноним (-), 14:34, 16/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Пользуюсь CMAKE, удобно конечно. Но бывают весьма нетривиальные вещи, иногда проще было бы описать руками процесс сборки.
В частности, некоторые пакеты, подключаются не через стандартные
if(PostgreSQL_FOUND)
include_directories(${PostgreSQL_INCLUDE_DIRS})
link_directories(${PostgreSQL_LIBRARIES})
endif(PostgreSQL_FOUND)
А вот таким способом... :(
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB REQUIRED glib-2.0>=2.40)
pkg_check_modules(GTOP REQUIRED libgtop-2.0>=2.28)
include_directories(${GLIB_INCLUDE_DIRS})
include_directories(${GTOP_INCLUDE_DIRS})
| |
|
5.89, пох (?), 15:07, 16/08/2017 [^] [^^] [^^^] [ответить] | +/– | руки отвалятся, все так описывать здесь у тебя - if то есть нашли - хорошо, по... большой текст свёрнут, показать | |
|
|
|
|
3.55, Аноним (-), 10:20, 16/08/2017 [^] [^^] [^^^] [ответить]
| +12 +/– |
А кто они?
Только хипстеры умеют так ломать программы, чтобы обратной совместимости вообще никакой не было.
| |
|
4.69, user (??), 12:39, 16/08/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
Они сделали свою обратную совместимость со смузями и покемонами!
| |
|
5.90, хипстор (?), 15:07, 16/08/2017 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Они сделали свою обратную совместимость со смузями и покемонами!
последняя версия без спиннера не собирается
| |
|
|
|
2.25, Michael Shigorin (ok), 07:19, 16/08/2017 [^] [^^] [^^^] [ответить]
| +11 +/– |
Именно.
Что характерно, все эти "предельно читаемые и дружественные пользователю правила сборки, задаваемые на неусложнённом предметно-ориентированном языке" на практике выливаются в то, что для бутстрапа таких поделий оказывается нужен ещё один язык с гораздо более развесистыми, чем make, сборочными зависимостями, а время приходится гробить всего лишь чуточку иным способом -- например, на выявление детских багов подобных "инноваций" (привет, scons!).
И об этом кричит уже одно количество таких поделий.
Ну а gnu make manual читается достаточно легко. :)
| |
|
3.48, Аноним (-), 09:37, 16/08/2017 [^] [^^] [^^^] [ответить]
| –6 +/– |
> Ну а gnu make manual читается достаточно легко.
Понимаешь… есть такие, гм, кодеры, которые читают мануалы, а в оставшееся время говорят об этом. А есть такие, которые время тратят на проектирование и написание полезных штук.
inb4 покормил
| |
|
|
5.51, Аноним (-), 09:58, 16/08/2017 [^] [^^] [^^^] [ответить]
| –5 +/– |
Мануалы, которые никак не облегчают порог вхождения и кривую обучения, попутно отбирая самое ценное, что у разработчика есть — время — плохие, негодные, и должны быть преданы огню.
Есть некий сорт снобизма в изыскивании аргументов против систем, облегчающих жизнь разработчика, но в сущности они защищают элитизм и сакральные знания осиливших.
| |
|
6.53, Andrey Mitrofanov (?), 10:13, 16/08/2017 [^] [^^] [^^^] [ответить]
| +9 +/– |
> самое ценное, что у разработчика есть — время — плохие, негодные,
> и должны быть преданы огню.
Короче, "смузи не ждёт", да?
| |
6.57, Аноним (-), 10:28, 16/08/2017 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Мануалы, которые никак не облегчают порог вхождения и кривую обучения, попутно отбирая самое ценное, что у разработчика есть — время — плохие, негодные, и должны быть преданы огню.
Ны дык разработчики, которые не читают мануалов потом и оставляют за собой тонны дерьма. Посему они должны быть преданы огню.
| |
|
7.66, Борщдрайвен бигдата (?), 12:00, 16/08/2017 [^] [^^] [^^^] [ответить]
| –4 +/– |
…не читатель?
Ну что за привычка, выдумать себе образцово-слабый тезис, и красиво его опровергнуть.
Ещё раз, на пальцах. «Плохие мануалы, отнимающие время и усилия на их вкуривание» не имеют ничего общего с «плохие разработчики, мануалов не читающие», и вот почему.
Если приспичит, и нет альтернатив, придется всё же жрать что дают, и читать многостраничную лабуду, тут без вариантов. Но с наличием альтернативы ситуация меняется.
Со всякими вспомогательными утилитами вида сборочных систем сходная ситуация. Доведу, пожалуй, до абсурда. Можно потратить часы (и даже дни) для заучивания вывода man javac. Можно за пять минут написать build.gradle.
В первом варианте время разработчика тратится неэффективно. Во втором обратную связь получить гораздо быстрее.
| |
|
|
|
4.84, Аноним (-), 14:27, 16/08/2017 [^] [^^] [^^^] [ответить]
| +6 +/– |
> которые время тратят на проектирование и написание полезных штук.
> на проектирование
*широченная улыбка*
| |
|
|
|
1.2, Аноним (-), 00:07, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Объясните, плз., с чего бы это вдруг make так тормозит (судя по предпосылке авторов проекта) ?
| |
|
2.24, Аноним (-), 07:17, 16/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Тут скорее не make, а связка autotools+make. meson - аналог autotools. autotools - по сути нечто подобное sh-скриптам, там тормоза будут, понятное дело. А если ещё учесть, какое количество костылей туда обычно добавляется для совместимости со старыми версиями...
А касательно make, то это аналог ninja. По работе я пробовал делать сборку одного и того же проекта через make (-j cpus_count+1) и ninja. По ощущениям слегка быстрее ninja, но замеров не проводил.
| |
|
3.27, Michael Shigorin (ok), 07:24, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Тут скорее не make, а связка autotools+make. meson - аналог autotools.
> autotools - по сути нечто подобное sh-скриптам, там тормоза будут, понятное дело.
Там тормоза не от скриптов, а от тестов. Если "обойтись" без сборки и запуска тестов, результат быстро скатится к "работает только на linux/intel, ну, может, ещё freebsd/arm" (хотя куда же без винды и макоси, как я мог забыть).
> А если ещё учесть, какое количество костылей туда обычно добавляется для
> совместимости со старыми версиями...
Здесь бы хорошо смотрелась парочка примеров, как мне кажется. :)
| |
|
4.41, anonymous yet another (?), 08:47, 16/08/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Если "обойтись" без сборки и запуска тестов, результат быстро скатится к "работает только на linux/intel, ну, может, ещё freebsd/arm"
Результаты этих тестов в подавляющем большинстве случаев не используются внутри проекта. А время на них потрачено много.
Ну и: автор либо знает как выкручиваться и выкручивается (о, я на OS/360! значит, ... ), либо все "и так работает", либо "платформа не поддерживается". --- в любом случае смысл в этих тестах в целом отсутствует.
| |
|
5.91, пох (?), 15:20, 16/08/2017 [^] [^^] [^^^] [ответить] | –2 +/– | точнее, они используются, но там и так, куда их авторскрипты напихают - то есть ... большой текст свёрнут, показать | |
|
6.92, user (??), 15:48, 16/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
>user-editable makefile
В простейших случаях можно сделать несколько целей, например min/max/default.
| |
6.93, user (??), 15:50, 16/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
>паническая боязнь сделать user-editable makefile
1. могут быть конфликты при обновлении
2. если хочешь отправить свои патчи, оттуда придётся это выколупывать
| |
|
7.96, пох (?), 16:29, 16/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> 1. могут быть конфликты при обновлении
могут, но мерж обычно справляется, я даже не всегда замечаю вовремя.
А когда не справляется - поверь, makefile легче чинить чем сложный .am
> если хочешь отправить свои патчи, оттуда придётся это выколупывать
тогда это фиговые патчи - раз ты патчил специфический вариант сборки, ты запросто мог сломать неспецифический. А для тестирования - что configure перезапускать в отдельной помойке, что makefile сказать revert. (а, ну да, тестировать же немодно, фигак-фигак, в CI/CT, если что, через 17 минут откатит как было. Это, что характерно, в системе, настраиваемой через makefile ;)
| |
|
|
|
4.54, пох (?), 10:18, 16/08/2017 [^] [^^] [^^^] [ответить] | –2 +/– | которые, кстати, не нужны Миша, а ты много видел auto-хернь-прожектов, работающ... большой текст свёрнут, показать | |
|
5.94, user (??), 15:52, 16/08/2017 [^] [^^] [^^^] [ответить]
| –3 +/– |
минусуют те, кто никогда не собирал софт, потому что в дистрибутиве он отсутствует/древний/кривой
| |
|
6.97, пох (?), 16:30, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
> минусуют те, кто никогда не собирал софт, потому что в дистрибутиве он
> отсутствует/древний/кривой
или те кто знают, как работает configure и "зачем собирать тесты". (не, минус не мой)
| |
|
5.100, Аноним (-), 18:17, 16/08/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Затем, что имелись в виду не тесты, а проверки способностей компилятора/системы/библиотек. Каждый раз их _тебе_ собирать, впрочем, не обязательно: просто не запускай ещё раз ./configure.
| |
|
6.101, yet another anonymous (?), 18:36, 16/08/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Затем, что имелись в виду не тесты, а проверки способностей компилятора/системы/библиотек. ...
Есть наблюдение, что в подавляющем большинстве случаев, результаты этих тестов или не используются или бесполезны. А вот вреда от них (ну, по крайней мере, проблем) огребается весьма прилично.
И таки да, уговаривать сборку на первоосновах (make) сильно проще, чем с наслоениями в виде autotools/CMake/SCons/btjam/.... Теперь ещё meson до кучи.
| |
|
|
4.83, Andrey Mitrofanov (?), 14:11, 16/08/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> сборки и запуска тестов, результат быстро скатится к "работает только на
> linux/intel,
То есть Поттеринг -- как дома. Good!
| |
4.111, ayava (?), 22:42, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
>> Тут скорее не make, а связка autotools+make. meson - аналог autotools.
>> autotools - по сути нечто подобное sh-скриптам, там тормоза будут, понятное дело.
> Там тормоза не от скриптов, а от тестов. Если "обойтись" без
> сборки и запуска тестов, результат быстро скатится к "работает только на
> linux/intel, ну, может, ещё freebsd/arm" (хотя куда же без винды и
> макоси, как я мог забыть).
>> А если ещё учесть, какое количество костылей туда обычно добавляется для
>> совместимости со старыми версиями...
> Здесь бы хорошо смотрелась парочка примеров, как мне кажется. :)
Мишка, тыж сможешь по-джедайски ускорить сборку месы хотя-б на процетов 20?
| |
|
3.58, Аноним (-), 10:38, 16/08/2017 [^] [^^] [^^^] [ответить] | +2 +/– | Вы, к Вашемы большому счастью, не имеете ни малейшего понятия, что такое autotoo... большой текст свёрнут, показать | |
|
|
1.4, Аноним (-), 00:09, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
сколько мегабайт зависимостей надо, чтобы собрать "привет <censored>"?
| |
1.5, ZloySergant (ok), 00:11, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +12 +/– |
Ага, зашибись.
>The main design point of Meson is that every moment a developer spends writing or debugging build definitions is a second wasted. So is every second spent waiting for the build system to actually start compiling code.
И из ихнего же Фака:
>Why can't I specify target files with a wildcard?
>...
>One of the main requirements of Meson is that it must be fast. This means that a no-op build in a tree of 10 000 source files must take no more than a fraction of a second. This is only possible because Meson knows the exact list of files to check. If any target is specified as a wildcard glob, this is no longer possible. ...
>>The main backend of Meson is Ninja, which does not support wildcard matches either, and for the same reasons.
>>Because of this, all source files must be specified explicitly.
UPD. *сарказм* Хто хочет вручную описывать 10k файлов системе сборки? А придется.
| |
|
2.17, виндотролль (ok), 05:47, 16/08/2017 [^] [^^] [^^^] [ответить]
| +14 +/– |
ждем новость «Представлен первый выпуск утилиты automeson для генерации сценариев для системы сборки meson»
| |
2.22, Аноним (-), 06:59, 16/08/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
На самом деле маска на файлы даёт очень не предсказуемые баги на разных этапах работы любой системы сборки. CMake тот же разрешает glob но предупреждает что дальнейшие проблемы чисто ваши.
| |
|
3.44, dhamp (?), 09:17, 16/08/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
>На самом деле маска на файлы даёт очень не предсказуемые баги на разных этапах работы любой системы сборки.
Примеры багов будут или сказания и былины ?
| |
|
4.122, Аноним (-), 05:56, 17/08/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Интеграции с IDE. Выполнение макросов/функций/вызов внешних скриптов со списком файлов что получается по маске. Пересборка проекта без clean, сборка отдельных компонентов если в зависимых частях были заюзаны маски и файлы изменены. Туча их.
Если вы спрашиваете примеры значит вы не занимаетесь разработкой. Как наступите на первые грабли приходите доложите.
| |
|
5.130, Аноним (-), 18:51, 18/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
>Пересборка проекта без clean
Чтобы новые файлы подхватились по маске нужно вообще сносить всю builddir и запускать cmake с нуля
| |
|
6.132, dhamp (?), 11:15, 19/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
>>Пересборка проекта без clean
> Чтобы новые файлы подхватились по маске нужно вообще сносить всю builddir и
> запускать cmake с нуля
Вообще то нет.
| |
|
5.131, dhamp (?), 11:14, 19/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Интеграции с IDE
QtCreator + cmake - у _меня_ проблем нет.
У всех разное представление о том что должно выполняться в "этой" интеграции c IDE. Так что спорить об этом считаю просто бессмысленным.
>Пересборка проекта без clean, cборка отдельных компонентов если в зависимых частях были заюзаны маски и файлы изменены.
Пересборка без clean не возможна как бы. А досборка изменившихся файлов + линковка выполняется нормально как для all так и для любой другой промежуточной цели.
>Если вы спрашиваете примеры значит вы не занимаетесь разработкой.
Ок, видимо работадатель платит мне за раcпитие чая на работе, вам же сквозь экран монитора лучше видно.
| |
|
|
|
2.33, YetAnotherOnanym (ok), 07:52, 16/08/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
> So is every second spent waiting for the build system to actually start compiling code
Гы. Время, пока configure шарится по директориям и ищет либы - это потерянное, а время, пока сс компилирует - не потерянное.
| |
2.40, Аноним (-), 08:45, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
> UPD. *сарказм* Хто хочет вручную описывать 10k файлов системе сборки? А придется.
Там предлагается вызывать внешний скрипт для вывод списка файлов, удовлетворяющего определённым условиям. Но при таком подходе вся хвалёная производительность теряется. И вообще, не факт, что Meson существенно быстрее autotools, так как все тесты у них приводятся с запуском ninja, т.е. весь прирост скорости в основном благодаря ninja. С тем же успехом можно cmake с ninja использовать и получить аналогичную производительность.
| |
|
3.73, Аноним (-), 12:48, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
> не факт, что Meson существенно быстрее autotools, так как все тесты
> у них приводятся с запуском ninja, т.е. весь прирост скорости в
> основном благодаря ninja. С тем же успехом можно cmake с ninja
> использовать и получить аналогичную производительность.
Пишешь как будто autotools и cmake работают с одинаковой скоростью.
| |
|
|
3.117, ayava (?), 23:22, 16/08/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В русском языке нет слов "ихнего".
В русском языке нет слова "anonymous". Жопа есть, а слова нет )
| |
|
|
1.6, Аноним (-), 00:36, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
А если сравнить по скорости c cmake. У него тоже есть генератор для ninja.
| |
|
2.10, Аноним (-), 01:36, 16/08/2017 [^] [^^] [^^^] [ответить]
| +4 +/– |
Да, нечего тут сравнивать. Meson - это хипстерский cmake на питоне. Пройдет время и он либо превратиться в аналог cmake (наберет все его возможности и станет таким же сложным) либо авторы его забросят, либо начнут писать новую, более правильную (и несовместимую) версию.
Тут https://www.youtube.com/watch?v=bsXLMQ6WgIk про то, как нужно использовать cmake в современном стиле, а не в привычном виде а-ля v2.8.12.
| |
|
3.30, anonymous (??), 07:31, 16/08/2017 [^] [^^] [^^^] [ответить]
| –7 +/– |
Это все хорошо, но только когда CMake 3.9 появится на Ubuntu 12.04? Ответ - никогда. LTS тормозят внедрение таких подходов.
| |
|
4.32, Аноним (-), 07:36, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
Соберите из исходников, там нет никаких сложностей. У меня для этого скрипт написан.
| |
|
5.42, anonymous (??), 08:48, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
Если ваш проект только для внутренних нужд - нет проблем. Если проект - библиотека, от которой зависит сборка других проектов, устанавливаемых в систему пользователя, то такой подход не приемлем. С точки зрения пакаджера дистрибутива, конечно же.
| |
5.45, Andrey Mitrofanov (?), 09:20, 16/08/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Соберите из исходников, там нет никаких сложностей. У меня для этого скрипт
> написан.
Ммм? Скрипт для сборки системы сборки? Мы все умрём.
| |
|
6.47, Аноним (-), 09:30, 16/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну Gentoo довольно давно существует. И не кто там не умер еще
| |
6.52, Алех (?), 09:59, 16/08/2017 [^] [^^] [^^^] [ответить]
| +4 +/– |
Не бойся! Мы пережили компилятор компилятора, а скрипт сборки системы сборки это фигня
| |
|
|
4.43, Аноним (-), 08:57, 16/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
А когда появится Meson 0.42 на ubuntu 12.04?
Пока сами не принесете..
cmake кстати собрать не очень сложно. В нем очень мало зависимостей. И он прекрасно работает с cpack. Весь процесс
git clone https://github.com/Kitware/CMake
cd CMake/
mkdir b
cd b
cmake ..
make -j9
cpack -G DEB .
sudo dpkg -i cmake-3.9.20170816-g131af-Linux-x86_64.deb
| |
|
|
6.75, Аноним (-), 12:52, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
Так деплоится-то уже собранный пакет. Хотя зачем cpack — не понимаю, бекпортировать пакет из testing/sid гораздо проще и безопаснее.
| |
|
|
4.110, ayava (?), 22:39, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
12.04 + 5y = ваш дистр протух => под него не появится ничего нового от слова "совсем".
| |
|
|
|
1.9, Аноним (-), 01:20, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Всем вышеотметившимся "кукарекалам":
Я к нему скептически относился, мол хипсторы атакуют, нафик нужно, "комикс_про_14_стандартов.jpg" итд итп
но на практике внезапно оказался удобным
из зависимостей - "только" питон3 + ninja для самой сборки
по использованию нечто среднее между стандартным configure и смаке
конфигурить надо в отдельной директории, а не в самих сырцах
аля meson --prefix=/usr/local итп
опции проекта передаются через -D как в cmake
итого
meson --prefix=/usr/local -Denable-somelib -Ddisable-another-lib
кросскомпиляция искаробочная, работает прекрасно, надо создать файлег с подсказками (хто у нас cc итп) и передать meson-у , тоже типа как у cmake -DCMAKE_TOOLCHAIN_FILE
из минусов:
документации и примеров "маловато будет"
| |
|
2.23, Аноним (-), 07:05, 16/08/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
>[оверквотинг удален]
> конфигурить надо в отдельной директории, а не в самих сырцах
> аля meson --prefix=/usr/local итп
> опции проекта передаются через -D как в cmake
> итого
> meson --prefix=/usr/local -Denable-somelib -Ddisable-another-lib
> кросскомпиляция искаробочная, работает прекрасно, надо создать файлег с подсказками (хто
> у нас cc итп) и передать meson-у , тоже типа как
> у cmake -DCMAKE_TOOLCHAIN_FILE
> из минусов:
> документации и примеров "маловато будет"
/usr/local? Главное чтобы он умел в RPATH генерировать переносимые бинарники не привязанные к конкретному каталогу. Нужно быть мазохистом чтобы отлаживать свой проект в /usr/local.
| |
2.28, Michael Shigorin (ok), 07:27, 16/08/2017 [^] [^^] [^^^] [ответить]
| +6 +/– |
> из зависимостей - "только" питон3
Знали бы Вы, сколько копать до возможности сборки этого самого py3 при раскрутке на новой архитектуре... хотя, видимо, догадываетесь, раз кавычки поставили ;-)
| |
|
3.49, Аноним (-), 09:40, 16/08/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Новость о сборочной системе на py3
> сказания о раскрутке оного py3 на новой архитектуре
Сова порвется, не натягивай. Пожалуйста.
| |
3.106, Аноним (-), 20:03, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
знаю
у меня свой наколенная недо-ось есть, для малинок
всё кросскомпилится
так что _оба_ питона надо собирать по 2 раза ...
| |
3.112, ayava (?), 22:45, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
>> из зависимостей - "только" питон3
> Знали бы Вы, сколько копать до возможности сборки этого самого py3 при
> раскрутке на новой архитектуре... хотя, видимо, догадываетесь, раз кавычки поставили ;-)
Эльбрусы покорять - это вам не комментами плеваться.
| |
|
|
1.13, Аноним (-), 04:46, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Рукожопы ниосиляторы
pip install Meson
Collecting Meson
Downloading meson-0.42.0.tar.gz (1.0MB)
100% |████████████████████████████████| 1.0MB 607kB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-wKfiQB/Meson/setup.py", line 20, in <module>
from mesonbuild.coredata import version
File "mesonbuild/coredata.py", line 16, in <module>
from pathlib import PurePath
ImportError: No module named pathlib
| |
|
2.15, Anonymissimus (?), 05:30, 16/08/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Питон версии < 3.4? Ну что поделать, опять мировой заговор рукожопов обломал сурового аналитега
| |
|
3.133, Аноним (-), 08:11, 28/08/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Питон версии < 3.4? Ну что поделать, опять мировой заговор рукожопов обломал
> сурового аналитега
Питон как обычно демонстрирует чудеса совместимости. Поэтому теперь до того как собрать программу - придется поставить 2 сборочные системы (ninja и meson) и произвести раскопки правильной версии питона. А через полгода окажется что версия питона в системе опять не та.
| |
|
2.80, Аноним (-), 13:40, 16/08/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Рукожопы ниосиляторы
> pip install Meson
Яснопонятно.
> root@localhost / # pip install
пофиксил, а то не все сходу смогут оценить нерукожопность осилятора.
| |
|
|
2.18, Аноним (-), 06:01, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
А чего ты так радуешься-то? Пользователю сборочной тулзы по большому счёту пофигу, чем собирать. Какие команды прописаны в README, те он и вобъёт в консоль. А программер волен сам решать, чем будет собираться его проект.
| |
2.29, Michael Shigorin (ok), 07:30, 16/08/2017 [^] [^^] [^^^] [ответить]
| +5 +/– |
> Ура наконец-то подох Autotols ...
На автокрапе ещё будет написана система сборки того утилизатора, в аппаратный /dev/null которого уйдёт последний мазон :] почти (ц)
| |
|
3.113, ayava (?), 22:50, 16/08/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Ура наконец-то подох Autotols ...
> На автокрапе ещё будет написана система сборки того утилизатора, в аппаратный /dev/null
> которого уйдёт последний мазон :] почти (ц)
Михаил, займитесь уже делом. Когда новорожденный удав будет уже ютиться на горах Кавказа?
| |
|
4.121, Аноним (-), 02:48, 17/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
На их собственной вики написано, что к реальной работе его лучше не подпускать.
| |
|
|
|
1.19, Аноним (-), 06:35, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> использующей вместо утилиты make инструментарий Ninja
А типа cmake так не может? :) Школотроны
| |
1.31, Michael Shigorin (ok), 07:31, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> - Поддержка Pkgconfig для обработки дополнительных cflags
Это точно анонс версии 0.42, а не 0.001prealpha? Очень яркий штрих, между прочим.
| |
|
|
3.82, Аноним (-), 13:53, 16/08/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
Грешновато троллить убогих. Он и так на жабе пишет, так тут ещё и мезоном в голову прилетело.
| |
|
4.114, ayava (?), 22:53, 16/08/2017 [^] [^^] [^^^] [ответить]
| –4 +/– |
> Грешновато троллить убогих. Он и так на жабе пишет, так тут ещё
> и мезоном в голову прилетело.
Эй, благородные, сделайте мне Sweethome 3D без жабы, ну или альтернативой поделитесь.
| |
|
|
|
1.35, Servo (?), 08:01, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> По сравнению с Autotools время сборки GTK+ сократилось в три раза.
> сборка Mesa при помощи Meson оказалась в 4 раза быстрее при первом запуске и в 10 раз быстрее при повторном.
Это просто фантастика какая-то. Если всё действительно так, как описывают разработчики, то пожелаю проекту удачи и долгих лет процветания!
| |
|
2.46, ZloySergant (ok), 09:25, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
>Это просто фантастика какая-то. Если всё действительно так, как описывают разработчики, то пожелаю проекту удачи и долгих лет процветания!
Собирал одну из git-версий aseprite (еще когда можно было и ниндзей и обычным мэйком) ради интереса обеими. Разницы особой не заметил.
| |
|
3.76, anonymous (??), 12:52, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
>>Это просто фантастика какая-то. Если всё действительно так, как описывают разработчики, то пожелаю проекту удачи и долгих лет процветания!
> Собирал одну из git-версий aseprite (еще когда можно было и ниндзей и
> обычным мэйком) ради интереса обеими. Разницы особой не заметил.
У aseprite почти нет проверок API компиляцией (он все зависимости из third_party перекомпилит скорее), когда как сборка Mesa и GTK - сама суть проверки возможностей системного окружения.
| |
|
2.128, Alex (??), 15:11, 18/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
Я очень сильно подозреваю, что разрабы gtk+ не осилили non-recursive automake (или им просто лень)
| |
|
|
|
3.103, yet another anonymous (?), 18:48, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Что-то мне подсказывает, что это отсылки к pkg-config.
Это гипотеза. Чтобы проверить --- надо рыть. ;)
А pkg-config в случае как cross-build, так и текущей разработки использовать сложно.
| |
|
4.120, Ordu (ok), 02:41, 17/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Это гипотеза. Чтобы проверить --- надо рыть. ;)
Да, это гипотеза. Но мне неинтересно её проверять. Кому интересно, тот пускай и занимается этим.
> А pkg-config в случае как cross-build, так и текущей разработки использовать сложно.
Именно поэтому не помешало бы все эти сложности инкапсулировать.
| |
|
|
|
1.39, Андрей (??), 08:38, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Состоялся релиз сборочной системы Meson 0.42, использующей вместо утилиты make инструментарий Ninja.
На питоне. Так в чём отличие от waf? Потому что waf не гномовцы@RedHat придумали?
> Сборочная система Meson c большим интересом была воспринята некоторыми крупными открытыми проектами.
Так они же тоже в RedHat, так что неудивительно.
> Предельно читаемые и дружественные пользователю правила сборки, задаваемые на неусложнённом предметно-ориентированном языке.
Только бы не вышло, как с cmake: мало шаблонов как с autotools. В результате каждый придумывает свой стиль, и быстро разобраться выходит даже сложнее.
> Поддержка повторяемых сборок, при которых запуск сборки в разных окружениях приводит к идентичному результату;
А нынче часто собирают без -jX? Или они каким-то чудом и порядок при параллельной компиляции могут сделать воспроизводимым без потерь производительности?
Вобщем, с тормозным стартом autotools, конечно, надо что-то делать. Но он тормозной, потому что там куча проверок да ещё и с отдельной компиляцией на каждый. Не понимаю, как это можно честно ускорить, не выбросив тесты?
Вот make - да, ускоряется ninja, но тут уже meson не причём.
| |
1.60, Аноним (-), 11:00, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Почему-то захотелось увидеть make переписанный на лисп с идеальной структурой оформления кода и данных.
| |
|
2.104, yet another anonymous (?), 18:50, 16/08/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Почему-то захотелось увидеть make переписанный на лисп с идеальной структурой оформления
> кода и данных.
В make функции на scheme добавили :)
| |
2.115, ayava (?), 22:56, 16/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Почему-то захотелось увидеть make переписанный на лисп с идеальной структурой оформления
> кода и данных.
Ты ляг поспать и увидишь.
| |
|
1.68, Аноним (-), 12:27, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Ну если разработчик, не осилил сборочный инструментарий это его проблема. У каждого свое понятие удобства и эффективности. Да и разнообразие, это хорошо
| |
|
2.102, пох (?), 18:46, 16/08/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ну если разработчик, не осилил сборочный инструментарий это его проблема.
не-е-е, ребята - это ВАША проблема. Потому что вам с результатами его неосиляторства жить - или придется переписать весь мир самим.
| |
|
1.105, annual slayer (?), 19:15, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
какое-то шило на мыло -- и тот и другой выдумывают свои языки для описания правил сборки
я не могу найти ни одной логической причины не использовать guile/lua/python/js вместо
в текущем виде больше похоже на очередную попытку редхата тянуть на себя одеяло
| |
|