The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Разработчики Qt представили инструментарий для сборки проект..., opennews (??), 16-Фев-12, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


37. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok), 17-Фев-12, 14:39 
> Используйте Premake

а ты бы почитал причины, по которым «генераторы makefile-сов» были забракованы, что ли. сам по себе premake хорош, но вот формой не подходит.

Ответить | Правка | Наверх | Cообщить модератору

38. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от annulenemail (?), 17-Фев-12, 16:24 
Если ты про пункт "Build directly from tool", то он полон взаимоисключающих параграфов. Во-первых, идет речь про вызовы CMake изнутри мейкфалов, чем Premake не грешит, да и вообще генерация мейкфайлов сама по себе не предполагает этой антифичи. (Для каких-то кастомных шагов это может быть допустимо, но CMake делает из этого систему) Во-вторых, далее следует фраза "Waf is better in this respect, but both lack a proper set of backends for project generations (Vcproj, XCode, Makefiles etc).".

Вобщем, на мой взгляд, реальные причины - "не JavaScript" и "не наши имена в копирайтах".

Ответить | Правка | Наверх | Cообщить модератору

39. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok), 17-Фев-12, 17:40 
> Если ты про пункт "Build directly from tool"

нет, я про то, что make не видит проект, раскиданый по каталогам, как одно целое. уж кто только не ругался на рекурсивные вызовы make в подкаталогах. это пытаются полечить костылями разной степени уродливости, но нафэйхоа? намного проще не использовать make.

Ответить | Правка | Наверх | Cообщить модератору

40. "Разработчики Qt представили инструментарий для сборки..."  +1 +/
Сообщение от annulenemail (ok), 17-Фев-12, 17:51 
Совершенно бессмысленный аргумент. В той статье написано, что рекурсивный мейк не нужен. Так генерите нерекурсивные мейкфалы, и будет вам Щастье. Нет, блин, все пытаются свой мейк для этого написать.

Из всех проектов по замене мейка внимания заслуживает только ninja.

Ответить | Правка | Наверх | Cообщить модератору

41. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok), 17-Фев-12, 17:55 
> Совершенно бессмысленный аргумент.

это туда, в нокию.

> В той статье написано, что рекурсивный мейк не нужен.

им осталось сделать ещё жажок и убрать слово «рекурсивный».

> Нет, блин, все пытаются свой мейк для этого написать.

далеко не только для этого, сия фича — просто вкусный бонус.

> Из всех проектов по замене мейка внимания заслуживает только ninja.

у make обнаружился Фатальный Недостаток, ага. это я намекаю, что «замена make» не нужна, равно как и сам make. а нинзя — это не пришей системе шлейф какой-то.

Ответить | Правка | Наверх | Cообщить модератору

42. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от annulenemail (ok), 17-Фев-12, 18:11 
Интересная логическая цепочка: "рекурсиный мейк не нужен" - "так не используй его через ж^W^W рекурсивно" - "да наплевать, все равно мейк не нужен".
Ответить | Правка | Наверх | Cообщить модератору

44. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok), 17-Фев-12, 19:09 
> Интересная логическая цепочка: «рекурсиный мейк не нужен» — "так не используй его
> через ж^W^W рекурсивно" — «да наплевать, все равно мейк не нужен».

вообще-то «make не нужен» — это моя аксиома. понятно, что отсда следует, что не нужен никакой.

Ответить | Правка | Наверх | Cообщить модератору

43. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от annulenemail (ok), 17-Фев-12, 18:18 
У ninja цель совершенно четкая - отделить построение DAG целей сборки и их выполнение от любых "конфигурационных" действий, чем страдает мейк. Конфигуратор делает свою работу, а нинзя - свою.


Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

45. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok), 17-Фев-12, 19:12 
> У ninja цель совершенно четкая — отделить построение DAG целей сборки и
> их выполнение от любых «конфигурационных» действий, чем страдает мейк. Конфигуратор делает
> свою работу, а нинзя — свою.

это мы уже проходили, autocrap называется. для больших проектов конфигуратор может генерить что угодно вообще, а для средних и мелких лучше иметь возможность обойтись одним инструментом. впрочем, если кто-то не может жить без конфигураторов (которые иногда больше, чем исходники всего проекта), то кто я такой, чтобы запрещать?

Ответить | Правка | Наверх | Cообщить модератору

47. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от Michael Shigorinemail (ok), 17-Фев-12, 19:31 
> нет, я про то, что make не видит проект, раскиданый по каталогам,
> как одно целое. уж кто только не ругался на рекурсивные вызовы
> make в подкаталогах.

Виденная критика была местами крива сама по себе.  Впрочем, обстоятельно сейчас не расскажу.

Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

48. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok), 17-Фев-12, 19:43 
> Виденная критика была местами крива сама по себе.  Впрочем, обстоятельно сейчас
> не расскажу.

ну, кое-как, с матами и воплями оно костылится.

так же, как костылится просчёт зависимостей (уж простейшие-то include система может и сама просканировать, я что, дятел — долбить ей это или костыли дёргать?).

а уж про «проект — это все *.c в каталоге исходников» (опять же, с просчётом зависимостей и ты пы)… не, не будем о грустном.

тот же Jam делает подобное несколькими строками. и вообще мал, реактивен (в плане скорости), удобен. для проектов среднего уровня можно его использовать и как конфигуратор заодно. да-да, я фанат jam'а, если кто ещё не заметил. и ниасилятор всего остального.

Ответить | Правка | Наверх | Cообщить модератору

50. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от annulenemail (ok), 17-Фев-12, 20:08 
Просчет зависимостей делает компилятор и генерерует .d файлы, достаточно его об это попросить. Костылить ничего не надо, достаточно использовать в мейкфайлах инклуды вместо рекурсивных вызовов.
Ответить | Правка | Наверх | Cообщить модератору

52. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok), 17-Фев-12, 20:20 
> Просчет зависимостей делает компилятор и генерерует .d файлы

это неудобно, хотя и точнее, чем можно сделать в билд-системе. и медленней, кстати.

помимо прочего, на свете есть не только два языка и один компилятор.

> Костылить ничего не надо, достаточно использовать в мейкфайлах инклуды вместо
> рекурсивных вызовов.

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

ну право, это бессмысленный спор: не предназначен make для ручного написания, если более-менее сложный проект собираешь. да, мэйкфайлы можно генерировать — но не проще ли тогда сделать ещё один логичный шаг и обучить генератор оставшимся функциям? ещё раз ткну пальцем в сторону jam, как весьма неплохой реализации билд-системы.

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

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру