Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кроссплатформенные билд-системы, Boost.Build, CMake, SCons, Waf, etc. 
:(
    Опции темы
Любитель
Дата 2.12.2007, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Цитата(JackYF @  2.12.2007,  10:10 Найти цитируемый пост)
Пока что - не лежит душа.

Ну, на вкус и цвет... Просто мне питон нравился всегда. И его удачное применение - считаю это хорошо smile

Цитата(JackYF @  2.12.2007,  10:10 Найти цитируемый пост)
вызов компилятора я не увидел

Речь шла про опции smile

А так - можно и вызвать. Хотя лучше в таком случае создать свой tool (см ${WAF_DIR}/wafadmin/Tools), зарегить и цевильно его использовать. Просто тулы - это несколько больший уровень абстракции, чем простой вызов. Например, они предоставляют набор опций. Скажем, для любой программы, использующий C/C++ (стандартная текущая вафоская поставка поддерживает gcc/g++ и msvc, доступен параметр (при сборке) -d (--debug-level) со значениями ultradebug, debug, release, optimized. По waf --help выполненному в папочке с нужным wscript в числе прочего увидим эту опцию.

Ещё большоё преимущество над всеми мэйк-обёртками - это некоторое повышение скорости сборки (в том числе более прогрессивное распараллеливание сборки). Про автотулзы я вообще молчу. Когда создание config.h и мэйкфайла идёт больше, чем сборка самой программы - чисто идеологически раздражает.

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


--------------------
PM MAIL ICQ Skype   Вверх
JackYF
Дата 2.12.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 7
Всего: 162



Цитата(Любитель @  2.12.2007,  11:27 Найти цитируемый пост)
Про автотулзы я вообще молчу. Когда создание config.h и мэйкфайла идёт больше, чем сборка самой программы - чисто идеологически раздражает.

да, поэтому я и не люблю autotools.


Цитата(Любитель @  2.12.2007,  11:27 Найти цитируемый пост)
В последнее время, появилось много (неплохих) билд-систем. Так что, каждый может выбрать для себя, пожалуй. 

возможно. Я придирчив.

Цитата(Любитель @  2.12.2007,  11:27 Найти цитируемый пост)
Речь шла про опции

ну дык опции сборки я указываю при вызове компилятора, не так ли?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Любитель
Дата 2.12.2007, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Цитата(JackYF @  2.12.2007,  11:51 Найти цитируемый пост)
ну дык опции сборки я указываю при вызове компилятора, не так ли?

Просто есть уже тул-интеграторы для компиляторов C/C++ вообщем и конкретные - для gcc/g++ и msvc (только что глянул - ещё оказывается и для сановского компилера тоже). Вызываемая строка строится там так:
Цитата

${CXX} ${CXXFLAGS} ${CPPFLAGS} ${_CXXINCFLAGS} ${_CXXDEFFLAGS} ${CXX_SRC_F}${SRC} ${CXX_TGT_F}${TGT}


Все ${...} можно задать через conf.env.

Если принципиально не нравиться - можно любую команду выполнить вручную. В вафоском модуле Runner есть небольшой враппер exec_command для фулл-портабельного выполнения команд. Некоторые билд-тулы юзают его непосредственно. Большинство искользуют более высокий уровень абстракции - класс Action.


--------------------
PM MAIL ICQ Skype   Вверх
bsa
Дата 2.12.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



У всех этих билдеров есть одна общая проблема - на целевой системе надо что-то ставить! В одном случае это питон+scons/waf, в другом cmake, в третьем boost.build... А вот с autotools этой проблемы нет - если у вас есть минимальный набор UNIX утилит, то configure заработает и скажет, что надо доустановить. Хотя, некоторые недоразвитые ОС данных утилит в штатной поставке не имеют (более того, даже полнофункциональных аналогов), но это уже на совести их авторов.
PM   Вверх
JackYF
Дата 2.12.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 7
Всего: 162



Что ж, ясно smile Главное, что теперь я знаю об этой системе и буду принимать во внимание.

Авось выучу питон, тогда будет легче smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Любитель
Дата 2.12.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Цитата(bsa @  2.12.2007,  12:29 Найти цитируемый пост)
если у вас есть минимальный набор UNIX утилит, то configure заработает и скажет, что надо доустановить

Для waf поставляется configure-обёртка, которая чекает питон и (затем) ваф.

Добавлено через 3 минуты и 29 секунд
Тем более, как где-то было правильно замечено - питон на никсах становится таким же стандартным скрипт-языком, как и перл. То есть и мэйка может в готовой поставке не быть smile И это нормально - для недеволперской среды. А для девелоперов/пэкеджеров установка билд-системы - это нормально.


--------------------
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0806 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.